B2B

products

8 uç · /api/b2b/v1/products

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

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

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

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

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

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

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

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

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

POST /api/b2b/v1/admin/products/{id}/images — ürün görseli yükle.

OturumYol parametresi: id

Ham baytlar validate_upload'dan geçer (magic-byte tip + boyut; uzantı/Content-Type yalanı REDDEDİLİR — portal marka varlıklarıyla aynı politika) ve portal namespace'ine yazılır, yani GET /portal/assets/{key} ile herkese açık sunulur. **Ürün görselleri zaten herkese açık katalogda görünür** (misafir gezinme açıkken bile), gizli nesne değildir. Uç yalnız URL DÖNDÜRÜR; overlay'e yazmaz. Sıralama/silme ekranın işidir ve tek yazar upsert_overlay'dir (iki yazar olsaydı biri diğerinin listesini ezerdi).

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

GET — ürünün stok künyesi.

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

PUT — takip bayrağı ve/veya eldeki adet.

OturumYol parametresi: id

🔴 ERP bağlıyken **409** döner. Gizlemek yetmez: paneli atlayan bir istemci yine yazardı ve ERP'nin sayısıyla panelinki sessizce ayrışırdı ("gizlemek yetmez" dersi).

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