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.
idcurl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/dealers/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idAyrı 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.
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"{
"data": "…",
"trace_id": "01JC…"
}id`dealer_list_invitations_handler`in staff-analoğu; yukarıdaki AYNI `dealer_id` süzme gerekçesi burada da geçerlidir.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/dealers/<id>/invitations" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/dealers/<id>/invitations" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/dealers/<id>/status" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}id`team_members_handler`in 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ı.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/dealers/<id>/users" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idDavet 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).
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/dealers/<id>/users" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}iduser_idAd · telefon · e-posta · kullanıcı kodu · sipariş görünürlüğü · durum.
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"{
"data": "…",
"trace_id": "01JC…"
}iduser_idYeni 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.)
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"{
"data": "…",
"trace_id": "01JC…"
}