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.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/account/open-items" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/account/settlements/<id>/allocations" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}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ü.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/announcements" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/cart" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/cart/items" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}productcurl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/cart/items/<product>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}refBayiye GÖRÜNMEYEN ilişkili ürünler `visible=false` (UI gizleyebilir; erişim read-model ile aynı).
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/catalog/<ref>/related" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}İ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).
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/catalog/facets" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/catalog/resolve" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/checkout/pay" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/checkout/validate" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}`invoice.view`. Sözleşme: `?after=&limit=&doc_type=&from=&to=&open_only=` → `{documents, party_linked, next_cursor, limit, remaining_available}`.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/documents" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}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.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/documents/<id>/pdf" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/favorites" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/favorites" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}productcurl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/favorites/<product>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}(sepet/sipariş/profil — BF1 ileri + BF4+) bu düzleme eklenir; şimdilik kimliğin kanıtı.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/home" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/invitations" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/invitations" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}id(staff `revoke_dealer_invitation`ından farkı: dealer_id kapsam filtresi — başka bayinin davet id'si 404).
curl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/invitations/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}id(dealer_id kapsam filtresi: başka bayinin daveti 404; dealer-plane revoke ile simetrik). Rate-limit'li.
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/invitations/<id>/resend" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idSahiplik doğrulanır.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<id>/approve" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<id>/reject" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idfiyatlanamaz/MOQ-uymayan ürünler ATLANIR + raporlanır (kısmi reorder). ORDER_CREATE.
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<id>/reorder" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}order_idcurl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/<order_id>/returns" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}dealer-RLS zaten bayiye kısıtlar; ORDER_APPROVE izni gerekir.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/orders/pending-approvals" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payment-methods" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payment-methods" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payment-methods/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payment-methods/<id>/default" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}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).
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payment-terms" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/payments/<id>/threeds/complete" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}`b2b.dealer_role_permissions`'tan; `core.user_roles`'a dokunmaz.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/permissions" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/pricing/coupon/validate" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X PATCH "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/profile" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/quotes" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}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.
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/quotes" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idSipariş 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.
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/quotes/<id>/accept" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/quotes/<id>/reject" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}Sözleşme: `?after=&limit=&status=&q=&date_from=&date_to=` → `{items, next_cursor}`; parametresiz → eski düz dizi (geriye uyum).
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/returns" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idbayinin iadesi 404 (sızıntı-güvenli).
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/returns/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}dealer_roles tenant-RLS (dealer_id kolonu yok) → dealer tx'inden okunur (rbac çözümüyle aynı yol).
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/roles" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}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.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/targets" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/team/members" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}user_idcurl -X PATCH "https://{slug}.b2b.blesyum.app/api/b2b/v1/dealer/team/members/<user_id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}user_idcore.tenant_users temizliği, staff kimliği KORUNUR — BF1 remove semantiği dealer-scoped).
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"{
"data": "…",
"trace_id": "01JC…"
}