B2B

dealers

13 uç · /api/b2b/v1/dealers

İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 13 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/admin/dealers

GET /api/b2b/v1/admin/marketplace/bindings

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

POST /api/b2b/v1/admin/marketplace/bindings

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

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

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

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

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

DELETE /api/b2b/v1/admin/marketplace/bindings/{id}

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

POST /api/b2b/v1/admin/dealers/{id}/erp-sync — başarısız/atlanmış senkronu ELLE tekrar dene.

OturumYol parametresi: id

Ayrı bir uç olmasının sebebi: senkron ERP'ye bağlıdır ve ERP dün ölü, bugün ayakta olabilir. Kullanıcıya "bayiyi sil, yeniden aç" dedirtmek yerine tek düğme verilir. Koda göre upsert olduğu için kaç kez basılırsa basılsın çift cari doğmaz.

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

GET /api/b2b/v1/admin/dealers/{id}/invitations — PERSONEL: bekleyen davetler.

OturumYol parametresi: id

dealer_list_invitations_handlerin staff-analoğu; yukarıdaki AYNI dealer_id süzme gerekçesi burada da geçerlidir.

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

POST /api/b2b/v1/admin/dealers/{id}/invitations — staff (b2b.dealers.manage) bayiye davet.

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

POST /api/b2b/v1/admin/dealers/{id}/status

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

GET /api/b2b/v1/admin/dealers/{id}/users — PERSONEL: bir bayinin kullanıcıları.

OturumYol parametresi: id

team_members_handlerin staff-analoğu, İKİ farkla: 1. İzin b2b.dealers.view (çekirdek RBAC) — bayi-düzlemi USERS_MANAGE değil. 2. **dealer_id AÇIKÇA süzülür.** Bayi-düzleminde bu süzme RLS'ten bedava gelir (dealer-kapsamlı tx yalnız kendi satırlarını görür); staff tx TÜM bayileri görür → where du.dealer_id = $1 OLMAZSA uç bütün kiracının bayi kullanıcılarını dökerdi. Bu satır bir performans ayarı değil, izolasyon sınırı.

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

POST /api/b2b/v1/admin/dealers/{id}/users — staff (b2b.dealers.manage) ELLE bayi kullanıcısı.

OturumYol parametresi: id

Davet ucunun yanında durur, onun yerine geçmez: davet kişinin kendi parolasını belirlemesini bekler; bu uç hesabı ANINDA açar. Parola e-postayla GÖNDERİLMEZ — yanıtta bir kez döner ve panelde bir kez gösterilir (çekirdek members/create deseni).

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

PATCH /api/b2b/v1/admin/dealers/{id}/users/{user_id}

OturumYol parametresi: iduser_id

Ad · telefon · e-posta · kullanıcı kodu · sipariş görünürlüğü · durum.

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

POST /api/b2b/v1/admin/dealers/{id}/users/{user_id}/reset-password

OturumYol parametresi: iduser_id

Yeni geçici parola üretir (ya da personelin verdiğini kullanır), açık oturumları ve güvenilen cihazları İPTAL EDER, must_change_passwordı açar. Parola yanıtta BİR KEZ döner ve panelde bir kez gösterilir — çekirdek member_reset_password ile aynı sözleşme. (Çekirdek ayrıca e-posta gönderir; burada e-posta hattı bayi kullanıcıları için henüz kurulu değil, bu yüzden ekran tek kanal ve panel bunu AÇIKÇA söyler.)

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