B2B

dealer

64 uç · /api/b2b/v1/dealer

İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 64 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.

GET/api/b2b/v1/dealer/account/balance

Get balance

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/account/balance" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/account/open-items

GET /dealer/account/open-items — açık faturalar (oldest-first) + bakiye + yaşlandırma kovaları.

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/account/open-items" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/account/risk

Get risk

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/account/risk" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/account/settle

POST /api/b2b/v1/admin/marketplace/charges/{id}/settle

Oturum
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/account/settle" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/account/settlements/{id}/allocations

GET /dealer/account/settlements/{id}/allocations — bir settlement'ın fatura-başı dökümü (bayi-RLS).

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/account/settlements/<id>/allocations" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/announcements

`GET /dealer/announcements` — YALNIZ yayında olanlar.

Oturum

Pencere süzgeci SQL'de (`now()` sunucunun saati): istemciye bırakılsa süresi geçmiş kampanya bayinin sapmalı cihazında canlı görünürdü.

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/announcements" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/cart

GET /dealer/cart — aktif sepet görünümü (yoksa boş; sepet OLUŞTURMAZ).

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/cart" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/b2b/v1/dealer/cart

DELETE /dealer/cart — sepeti boşalt (tüm kalemleri sil; sepet aktif kalır).

Oturum
İstek
curl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/cart" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/cart/items

POST /dealer/cart/items — kalem ekle/ayarla (MUTLAK qty; upsert). Fiyat snapshot'ı yenilenir.

Oturum
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/cart/items" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/b2b/v1/dealer/cart/items/{product}

DELETE /dealer/cart/items/{product} — kalemi sepetten çıkar (yoksa 404).

OturumYol parametresi: product
İstek
curl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/cart/items/<product>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/catalog

List catalog

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/catalog" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/catalog/{ref}

Get catalog item

OturumYol parametresi: ref
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/catalog/<ref>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/catalog/facets

GET /api/b2b/v1/dealer/catalog/facets — bayinin GÖREBİLDİĞİ ürünler üzerinden facet sayaçları.

Oturum

İzin: `list_catalog` ile AYNI (`CATALOG_VIEW`) — facet listenin metadata'sıdır, ayrı bir yetki düzlemi değildir (daha gevşek bir kapı listeyi baypas eden bir yan-kanal olurdu).

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/catalog/facets" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/catalog/resolve

GET /api/b2b/v1/admin/marketplace/resolve/{kind} — the resolved active provider for a kind.

Oturum
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/catalog/resolve" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/checkout

POST /dealer/checkout — sepetten sipariş oluştur (atomik).

Oturum
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/checkout" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/checkout/pay

POST /dealer/checkout/pay — sipariş için kart ödemesi (server-otoriter tutar).

Oturum
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/checkout/pay" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/checkout/validate

GET /dealer/checkout/validate — yazımsız sipariş-hazırlık raporu.

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/checkout/validate" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/documents

GET /api/b2b/v1/dealer/documents — bayinin belgeleri (yeni→eski, **keyset** sayfalı).

Oturum

`invoice.view`. Sözleşme: `?after=&limit=&doc_type=&from=&to=&open_only=` → `{documents, party_linked, next_cursor, limit, remaining_available}`.

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/documents" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/documents/{id}/pdf

GET /api/b2b/v1/dealer/documents/{id}/pdf — belgenin PDF kopyası (stream). `invoice.view`.

OturumYol parametresi: id

**404 tek sebep-bağımsız yanıt:** başka bayinin belgesi, başka tenant'ın belgesi, taslak belge, **iptal edilmiş belge**, izinli-tür-dışı belge ve olmayan belge AYNI 404'ü alır → varlık oracle'ı yok. Yanıt `no-store`: bayiye özel mali belge ara katmanda ASLA önbelleklenmemeli. **Satırlar sessizce düşmez:** motorun tek sayfaya sığdıramadığı satırlar hem PDF içinde bir bildirim satırıyla ([`build_pdf_lines`]) hem de `x-document-line-count` / `x-document-lines-rendered` başlıklarıyla açıkça söylenir.

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/documents/<id>/pdf" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/favorites

GET /dealer/favorites — bayi-kullanıcının favorileri (product_ref listesi).

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/favorites" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/favorites

POST /dealer/favorites — favori ekle (idempotent; unique(tenant,dealer_user,product)).

Oturum
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/favorites" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/b2b/v1/dealer/favorites/{product}

DELETE /dealer/favorites/{product} — favoriden çıkar.

OturumYol parametresi: product
İstek
curl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/favorites/<product>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/home

Bayi-düzlemi kökü (`require_dealer` → [`principal::DealerCtx`]). Gerçek portal rotaları

Oturum

(sepet/sipariş/profil — BF1 ileri + BF4+) bu düzleme eklenir; şimdilik kimliğin kanıtı.

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/home" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/invitations

GET /api/b2b/v1/dealer/invitations — bayinin BEKLEYEN (süresi geçmemiş) davetleri.

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/invitations" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/invitations

POST /api/b2b/v1/dealer/invitations — dealer_admin (users.manage) KENDİ bayisine davet.

Oturum
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/invitations" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/b2b/v1/dealer/invitations/{id}

DELETE /api/b2b/v1/dealer/invitations/{id} — bayi KENDİ pending davetini iptal eder

OturumYol parametresi: id

(staff `revoke_dealer_invitation`ından farkı: dealer_id kapsam filtresi — başka bayinin davet id'si 404).

İstek
curl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/invitations/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/invitations/{id}/resend

POST /api/b2b/v1/dealer/invitations/{id}/resend — bayi KENDİ bekleyen davetini yeniden gönderir

OturumYol parametresi: id

(dealer_id kapsam filtresi: başka bayinin daveti 404; dealer-plane revoke ile simetrik). Rate-limit'li.

İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/invitations/<id>/resend" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/orders

GET /api/b2b/v1/ext/orders — sipariş başlıkları. Scope: `b2b:orders.read`.

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/orders

Place order

Oturum
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/orders/{id}

GET /dealer/orders/{id} — sipariş detayı (satırlar + statü geçmişi/takip + SEVKİYATLAR).

OturumYol parametresi: id

Sahiplik doğrulanır.

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/orders/{id}/approve

POST /api/b2b/v1/admin/applications/{id}/approve (b2b.dealers.approve).

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<id>/approve" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/orders/{id}/reject

POST /api/b2b/v1/admin/applications/{id}/reject (b2b.dealers.approve).

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<id>/reject" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/orders/{id}/reorder

POST /dealer/orders/{id}/reorder — geçmiş siparişi GÜNCEL fiyatla sepete ekle. Görünmeyen/

OturumYol parametresi: id

fiyatlanamaz/MOQ-uymayan ürünler ATLANIR + raporlanır (kısmi reorder). ORDER_CREATE.

İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<id>/reorder" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/orders/{order_id}/returns

POST /dealer/orders/{order_id}/returns — bayi iade talebi (RETURN_CREATE).

OturumYol parametresi: order_id
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<order_id>/returns" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/orders/{ref}/status

Order status

OturumYol parametresi: ref
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<ref>/status" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/orders/pending-approvals

GET /dealer/orders/pending-approvals — bu bayinin onay bekleyen (submitted) siparişleri.

Oturum

dealer-RLS zaten bayiye kısıtlar; ORDER_APPROVE izni gerekir.

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/pending-approvals" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/payment-methods

GET /dealer/payment-methods — kayıtlı kartları listele (token YOK).

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payment-methods" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/payment-methods

POST /dealer/payment-methods — kart ekle. PAN→PSP→token; token+gösterim sealed saklanır.

Oturum
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payment-methods" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/b2b/v1/dealer/payment-methods/{id}

DELETE /dealer/payment-methods/{id} — kartı kaldır (PSP token iptali best-effort + DB sil).

OturumYol parametresi: id
İstek
curl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payment-methods/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/payment-methods/{id}/default

POST /dealer/payment-methods/{id}/default — varsayılan kartı değiştir.

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payment-methods/<id>/default" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/payment-terms

`GET /dealer/payment-terms` — bayi KENDİ koşulunu görür (değiştiremez).

Oturum

Tanımlı değilse `null` döner: "peşin" varsaymak, vadeli çalışan bayiye yanlış bilgi vermek olurdu (varsayılan bir gerçek değil, bir tahmindir).

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payment-terms" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/payments/{id}/threeds/complete

POST /dealer/payments/{id}/threeds/complete — 3DS finalize.

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payments/<id>/threeds/complete" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/permissions

Bayinin etkin bayi-portalı izinleri (frontend UI'ı buna göre gösterir/gizler). Yalnız

Oturum

`b2b.dealer_role_permissions`'tan; `core.user_roles`'a dokunmaz.

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/permissions" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/pricing/coupon/validate

GET /pricing/coupon/validate — kupon doğrula (consume YOK).

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/pricing/coupon/validate" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/pricing/explain

GET /pricing/explain — tam 7-katman iz (audit yazılır).

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/pricing/explain" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/pricing/quote

POST /pricing/quote — çok-satır sepet ön-fiyatı + MOQ/MOV.

Oturum
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/pricing/quote" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/products/{ref}/price

Get price

OturumYol parametresi: ref
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/products/<ref>/price" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/products/{ref}/stock

Get stock

OturumYol parametresi: ref
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/products/<ref>/stock" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/profile

GET /api/b2b/v1/admin/dealers/{id}

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/profile" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PATCH/api/b2b/v1/dealer/profile

PATCH /api/b2b/v1/dealer/profile (require_dealer; dealer_write seam).

Oturum
İstek
curl -X PATCH "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/profile" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/quotes

`GET /dealer/quotes` — bayinin kendi teklifleri (dealer-RLS → başkasınınki görünmez).

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/quotes" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/quotes

`POST /dealer/quotes` — bayi teklif ister (`b2b_portal.order.create`).

Oturum

Teklif İSTEMEK sipariş vermeye en yakın eylemdir: aynı izin istenir. Yalnız katalog görebilen (ama sipariş veremeyen) kullanıcı fiyat sorup satıcıyı meşgul edemez.

İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/quotes" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/quotes/{id}

`GET /dealer/quotes/{id}`.

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/quotes/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/quotes/{id}/accept

`POST /dealer/quotes/{id}/accept` — teklifi kabul et → SİPARİŞ oluştur.

OturumYol parametresi: id

Sipariş satırları teklifin DONMUŞ fiyatıyla kurulur (yeniden fiyatlama YOK, dosya başı sözleşmesi). Sipariş `submitted` doğar: satıcının onay politikası (risk/always) normal akıştaki gibi işler — teklif verilmiş olması onay kuralını atlamaz.

İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/quotes/<id>/accept" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/b2b/v1/dealer/quotes/{id}/reject

`POST /dealer/quotes/{id}/reject` — bayi teklifi reddeder.

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/quotes/<id>/reject" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/returns

GET /dealer/returns — bayinin iadeleri (dealer-RLS; keyset sayfalı + sunucu filtreli).

Oturum

Sözleşme: `?after=&limit=&status=&q=&date_from=&date_to=` → `{items, next_cursor}`; parametresiz → eski düz dizi (geriye uyum).

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/returns" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/returns/{id}

GET /dealer/returns/{id} — iade detayı (PD-1; başlık + satırlar). Dealer-RLS → başka

OturumYol parametresi: id

bayinin iadesi 404 (sızıntı-güvenli).

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/returns/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/roles

GET /api/b2b/v1/dealer/roles — davet/rol-değiştir formu için rol seçenekleri (users.manage).

Oturum

dealer_roles tenant-RLS (dealer_id kolonu yok) → dealer tx'inden okunur (rbac çözümüyle aynı yol).

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/roles" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/targets

`GET /dealer/targets` — bayi KENDİ hedeflerini ve gerçekleşmesini görür.

Oturum

Bayiye hedefini göstermek işin yarısıdır; primi de görmesi satışı yönlendirir. Dealer-RLS yalnız kendi satırlarını verir.

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/targets" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/dealer/team/members

GET /api/b2b/v1/dealer/team/members — bayinin ekibi (users.manage).

Oturum
İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/team/members" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PATCH/api/b2b/v1/dealer/team/members/{user_id}

PATCH /api/b2b/v1/dealer/team/members/{user_id} — rol değiştir ve/veya askıya-al/aktifleştir.

OturumYol parametresi: user_id
İstek
curl -X PATCH "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/team/members/<user_id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/b2b/v1/dealer/team/members/{user_id}

DELETE /api/b2b/v1/dealer/team/members/{user_id} — üyeyi ekipten çıkar (+ paired

OturumYol parametresi: user_id

core.tenant_users temizliği, staff kimliği KORUNUR — BF1 remove semantiği dealer-scoped).

İstek
curl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/team/members/<user_id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
Bu sayfa işine yaradı mı?