CRM

livechat

1 uç · /api/crm/v1/livechat

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

POST/api/crm/v1/livechat/widget-secret

Widget HMAC gizli anahtarını ver; yoksa ÜRET ve sakla.

Oturum

── NEDEN VAR (2026-08-19) ─────────────────────────────────────────────────── Panelin Canlı Sohbet → Güvenlik ekranında "Gizli anahtarı kopyala" düğmesi vardı ve **boş dize kopyalıyordu**: değeri `data.server.widget_hmac_secret`ten okuyordu, oysa anahtar `lc.widget_hmac_secret`te yaşar ve `admin_server()` o alanı ASLA üretmez. Üstelik anahtarı YARATAN bir kod da yoktu; yani "Kimlik doğrulamasını zorunlu kıl" şalterini açan kiracıda HMAC doğrulaması hiçbir zaman başarılı olamıyordu (`verify_widget_hmac("")`) — dış veri sessizce yok sayılıyordu ve bunun nedenini söyleyen hiçbir ekran yoktu. ⚠ Anahtar SECRET_KEYS'tedir: depoya `settings::save` ile yazılır (at-rest mühürlenir) ve `settings::get_secret` ile çözülerek okunur. `settings::load` ile ham okumak MÜHÜRLÜ metni verir — doğrulama tarafı da bu yüzden `get_secret`e taşındı (`widget_auth::load_widget_secret`). ⚠ Yetki `crm.settings.update`: salt-okur ayar yetkisi olan kullanıcı sırları zaten `settings_payload`ta redakte görür; buradan açık okuyabilseydi o redaksiyonun bir anlamı kalmazdı.

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