CRM

livechat

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

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

POST /api/crm/v1/livechat/install-instructions

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/livechat/install-instructions" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
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_secretten okuyordu, oysa anahtar lc.widget_hmac_secrette 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_secrete taşındı (widget_auth::load_widget_secret). ⚠ Yetki crm.settings.update: salt-okur ayar yetkisi olan kullanıcı sırları zaten settings_payloadta 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ı?