Blesyum Core

brand

6 uç · /api/v1/brand

İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 6 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.

GET/api/v1/brand

GET /api/v1/brand — marka yönetim ekranının okuduğu her şey: ham kolonlar

Oturum

(formun mevcut değerleri) + çözülmüş görünüm (canlı önizleme) + yetki.

İstek
curl -X GET "https://api.blesyum.com/api/v1/brand" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PUT/api/v1/brand

PUT /api/v1/brand — doğrulanmış alanları **canlıya** yaz (taslak yok).

Oturum

Yanıt çözülmüş görünümü geri verir: panel kaydettiği anda gerçek paleti alır ve önizlemeyi kendi hesaplamak zorunda kalmaz (iki taraf ayrışırsa müşteri kaydettiğinden başka bir renk görürdü).

İstek
curl -X PUT "https://api.blesyum.com/api/v1/brand" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/brand/asset/{slot}

POST /api/v1/brand/asset/{slot} — marka görselini yükle (logo, koyu logo,

OturumYol parametresi: slot

işaret, favicon, OG görseli) ve ilgili kolonu **canlıya** yaz. SVG kabul edilir ama **temizlenerek** saklanır ve `Content-Disposition: attachment` ile servis edilir: bir SVG çalıştırılabilir belgedir, aynı köken altında satır-içi gösterilmesi saklı XSS olurdu.

İstek
curl -X POST "https://api.blesyum.com/api/v1/brand/asset/<slot>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/v1/brand/asset/{slot}

DELETE /api/v1/brand/asset/{slot} — görseli kaldır (idempotent).

OturumYol parametresi: slot
İstek
curl -X DELETE "https://api.blesyum.com/api/v1/brand/asset/<slot>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/brand/by-host/{host}

GET /api/v1/brand/by-host/{host} — **PUBLIC**. Müşteriye açık yüzeylerin

OturumYol parametresi: host

(vitrin, bayi portalı, modül giriş ekranı) markayı oturum OLMADAN çözdüğü uç. Tanınmayan host da 200 döner (`configured: false`): 404 dönmek, markası olmayan bir kiracının vitrinini hata sayfasına çevirirdi. Marka zaten halka açık bir veridir — giriş ekranında zaten boyanıyor.

İstek
curl -X GET "https://api.blesyum.com/api/v1/brand/by-host/<host>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/brand/palette

GET /api/v1/brand/palette?primary=…&secondary=…&accent=… — **SALT hesap**,

Oturum

DB'ye yazmaz. Neden bir uç: paleti panelin kendi hesaplaması, müşterinin ÖNİZLEMEDE gördüğü renkle modüllerde gördüğü rengin ayrışması demekti. Türetme tek motorda kalır (`blesyum_branding::color`), panel yalnız sorar ve gösterir.

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