CRM

calls

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

İ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/internal/calls

BRIDGE-01 · Faz 1 — **Santral'den gelen çağrı.**

Dahili

POST /api/crm/v1/internal/calls. Oturum YOKTUR; kimlik paylaşılan BLESYUM_ENCRYPTION_KEYten türetilen HMAC'tir ve kiracı + çağrı imzanın İÇİNDEDİR (blesyum_telephony::CallEvent::canonical_payload). Durum kodları bilinçli: * **401** imza tutmadı — köprü bunu KALICI sayar, yeniden denemez. * **400** gövde çözülemedi ya da yön/sonuç kataloğa uymuyor. "2xx = çalıştı DEĞİLDİR" (V27): uydurma bir disposition sessizce geçseydi CRM'de anlamı olmayan bir konuşma doğar ve kimse fark etmezdi. * **404** kiracı yok/silinmiş — iletilecek bir defter kalmamıştır. * **200** işlendi (duplicate: true de bir başarıdır: mükerrer teslim hata değildir, köprü yanıtı kaybetmiş olabilir).

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/internal/calls" \
  -H "X-Blesyum-Internal: <imza>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/internal/calls/ringing

CALL-01 · Faz 3 — **çağrı ÇALIYOR / devam ediyor.**

Dahili

POST /api/crm/v1/internal/calls/ringing. Kimlik ve durum kodları [internal_call_ingest_h] ile AYNI doktrinde; iki farkı var: * **Sağlayıcı adı AYRI** (PROVIDER_CALLCENTER_RING) — çağrı köprüsü ya da screen-pop için üretilmiş bir imza burada GEÇMEZ. Aynı olsaydı imza bir kimlik değil, her kapıyı açan bir bilet olurdu. * **created: false bir BAŞARIDIR** — Santral aynı çağrı için birden çok hâl gönderir (ringing → talking → held) ve ikincisi yeni konuşma açmaz, var olanın hâlini günceller.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/internal/calls/ringing" \
  -H "X-Blesyum-Internal: <imza>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
Bu sayfa işine yaradı mı?