B2B

catalog

18 uç · /api/b2b/v1/catalog

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

GET /admin/catalog/bundles — bundle listesi.

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

POST /admin/catalog/bundles — bundle + kalemleri oluştur (atomik).

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

GET /admin/catalog/bundles/{id} — paket + kalemleri.

OturumYol parametresi: id

Düzenleme ekranının kalem listesini doldurabilmesi için ŞART: kalemler bugüne dek hiçbir uçtan okunamıyordu (liste yalnız paket başlıklarını veriyordu).

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

PATCH /admin/catalog/bundles/{id} — paketi düzenle (kalemler dâhil, ATOMİK).

OturumYol parametresi: id

Paket oluşturulabiliyor ve silinebiliyordu ama **düzenlenemiyordu**: bir ürünün miktarını değiştirmek ya da paketi geçici kapatmak için paketi silip yeniden kurmak gerekiyordu. Doğrulama create ile aynı kurallardan geçer ve `fixed` fiyatlama kuralı **birleştirilmiş** durum üzerinden bakılır: `pricing`'i `fixed`'e çevirip `fixed_price` vermemek, iki alanın tek tek geçerli olduğu ama BİRLİKTE geçersiz olan bir paket üretirdi.

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

DELETE /admin/catalog/bundles/{id} — bundle + kalemleri (cascade).

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

Bundle pdf

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

PUT /admin/catalog/overlay/{product_ref} — overlay upsert (unique(tenant,product_ref)).

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

DELETE /admin/catalog/overlay/{product_ref}.

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

GET /admin/catalog/relations?product_ref=… — bir ürünün ilişkileri.

Oturum

**2026-08-17'de eklendi.** İlişki eklenip silinebiliyordu ama hiçbir uçtan OKUNAMIYORDU: panel bir ürünün hangi ürünlerle ilişkilendirildiğini gösteremiyor, dolayısıyla yanlış eklenmiş bir ilişki (id'si bilinmediğinden) silinemiyordu. Süzgeç ZORUNLUDUR: ilişki bir ürüne aittir, "tüm ilişkiler" listesi hiçbir ekranın işine yaramaz.

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

POST /admin/catalog/relations — ürün ilişkisi ekle.

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

DELETE /admin/catalog/relations/{id}.

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

GET /admin/catalog/visibility — kuralları listele.

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

POST /admin/catalog/visibility — görünürlük kuralı oluştur (enum doğrulaması ön-yapılır).

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

PUT /admin/catalog/visibility/{id} — kuralı güncelle.

OturumYol parametresi: id

Neden gerekliydi: uç yokken bir kuralın önceliğini ya da etkisini değiştirmenin tek yolu SİL + YENİDEN OLUŞTUR'du. Bu, kuralı bir an için ORTADAN KALDIRIR (arada gelen bayi isteği yanlış görünürlükle cevaplanır) ve kaydın kimliğini/denetim izini koparır.

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

DELETE /admin/catalog/visibility/{id}.

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

Public-katalog örnek uç — `require_b2b_public` kapısından geçer (tenant+lisans

Herkese açık

zorunlu, session opsiyonel). Anonim ziyaretçi de 200 alır; oturum varsa `authenticated:true`. Gerçek katalog (BF4) bu düzleme eklenir.

İstek
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/catalog/info" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/b2b/v1/catalog/products

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

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

GET /api/b2b/v1/catalog/products/{ref} (require_b2b_public) — misafir ürün detayı.

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