Çağrı Merkezi

agent

6 uç · /api/callcenter/v1/agent

İ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/callcenter/v1/agent/home

Agent home

Oturum
İstek
curl -X GET "https://{slug}.call.blesyum.app/api/callcenter/v1/agent/home" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/callcenter/v1/agent/live

`GET /api/callcenter/v1/agent/live` — WS payload'ının AYNISI, tek seferlik HTTP olarak.

Oturum

İki işi var. (1) **Dürüst degrade:** WS kurulamazsa (proxy WS'i yutuyor, ağ kısıtlı) ekran boş kalmaz, istemci buradan yoklar — sahte-canlı göstermek yerine daha yavaş ama gerçek veri. (2) **Test edilebilirlik:** `WebSocketUpgrade` extractor'ı gerçek TCP-upgrade istediği için `oneshot` ile sürülemez; payload'ın kiracı/temsilci izolasyonu bu uçtan HTTP ile doğrulanır.

İstek
curl -X GET "https://{slug}.call.blesyum.app/api/callcenter/v1/agent/live" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/callcenter/v1/agent/presence

SF7-live D2 — agent KENDİ presence'ını değiştirir (ready/not-ready). FSM: çağrıdayken (ringing/

Oturum

on-call) reddedilir → 409; geçersiz gerekçe → 400. `AgentCtx.agent_id` (yalnız kendi durumu).

İstek
curl -X POST "https://{slug}.call.blesyum.app/api/callcenter/v1/agent/presence" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/callcenter/v1/agent/softphone

`POST /api/callcenter/v1/agent/softphone` — ajanın aktif extension'ını bulur, `sip_password`'ü

Oturum

açar, kısa-ömürlü TURN cred üretir ve WebRTC softphone'un register olması için gereken her şeyi döner. Config (`AppState.webrtc`) yoksa 503; ajanın atanmış aktif extension'ı yoksa 409.

İstek
curl -X POST "https://{slug}.call.blesyum.app/api/callcenter/v1/agent/softphone" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/callcenter/v1/agent/stream

`GET /api/callcenter/v1/agent/stream?ticket=X` — ticket tüket → (tenant, agent) → WS upgrade.

Oturum

Ticket yok/geçersiz/expired/tekrar/**yanlış akış** → 401 (upgrade YOK).

İstek
curl -X GET "https://{slug}.call.blesyum.app/api/callcenter/v1/agent/stream" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/callcenter/v1/agent/stream/ticket

`POST /api/callcenter/v1/agent/stream/ticket` — temsilci akışı için kısa-ömürlü, tek-kullanımlık

Oturum

ticket. Tam 3-kapıdan geçmiş `AgentCtx` gerektirir; ticket **agent_id'yi taşır**, böylece soket kimin durumunu yayacağını istemciye sormaz. Ayrı izin YOK — bilinçli: temsilci yalnızca KENDİ durumunu alır, izin verecek bir "başkasının verisi" yoktur. `require_agent` (agent düzlemi) zaten kapıdır.

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