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.
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/bundles" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idDü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).
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/bundles/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idPaket 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.
curl -X PATCH "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/bundles/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/bundles/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}product_refcurl -X PUT "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/overlay/<product_ref>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}product_refcurl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/overlay/<product_ref>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}**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.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/relations" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/relations/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/visibility" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idNeden 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.
curl -X PUT "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/visibility/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}idcurl -X DELETE "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/catalog/visibility/<id>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}zorunlu, session opsiyonel). Anonim ziyaretçi de 200 alır; oturum varsa `authenticated:true`. Gerçek katalog (BF4) bu düzleme eklenir.
curl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/catalog/info" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}refcurl -X GET "https://{slug}.b2b.blesyum.app/api/b2b/v1/catalog/products/<ref>" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}