통화

통화 중 이벤트 스트림 (SSE)

Markdown으로 보기
GET
/v1/accounts/{accountId}/calls/{callId}/live-events/stream

관리형 에이전트 통화의 실시간 전사·키패드 이벤트를 Server-Sent Events 로 흘려보냅니다. 각 메시지는 id:(이벤트 ID) · event:(이벤트 이름) · data:(CallLiveEvent JSON) 입니다.

  • 연결하면 지난 이벤트를 먼저 보내고 이어서 새 이벤트를 보냅니다. Last-Event-ID 헤더(또는 after)를 주면 그 다음부터입니다.
  • 15초마다 : ping 주석을 보냅니다.
  • stream.ended 를 보낸 뒤 연결을 닫습니다. 에이전트 설정 liveEvents.events 가 빈 통화는 이벤트 없이 통화가 끝날 때 stream.ended(reason: no_events)로 닫힙니다.
  • 연결은 최대 60분입니다. 끊기면 Last-Event-ID 로 다시 연결하세요(브라우저 EventSource 는 자동으로 합니다).
  • 계정당 동시 연결 20, 통화당 5 를 넘으면 429 입니다.

Authorization

BearerAuth
AuthorizationBearer <token>

API Key를 Bearer 토큰으로 전달

In: header

Path Parameters

accountId*string
callId*string

Query Parameters

after?string

이 id 다음 이벤트부터 보냅니다. Last-Event-ID 헤더가 있으면 헤더가 우선합니다.

Match^[0-9]{1,19}$

Header Parameters

Last-Event-ID?string

SSE 재연결 커서. 마지막으로 받은 이벤트의 id.

Match^[0-9]{1,19}$

Response Body

text/event-stream

application/json

application/json

curl -X GET "https://example.com/v1/accounts/AC1a2b3c4d/calls/CA1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6/live-events/stream?after=18340" \  -H "Last-Event-ID: 18340"
"id: 18341\nevent: transcript.final\ndata: {\"id\":\"18341\",\"event\":\"transcript.final\",\"timestamp\":\"2026-10-21T06:50:59.300Z\",\"detail\":{\"utteranceId\":\"u3\",\"role\":\"agent\",\"text\":\"평일 오전 9시부터 오후 6시까지입니다.\"}}\n"
{
  "error": "string",
  "code": "recipient_blocked",
  "ip": "52.79.213.41",
  "processedAt": "2026-10-21T04:10:34.303Z",
  "blockers": [
    {
      "number": "07012340002",
      "code": "number_not_carrier_issued",
      "message": "이용증명원은 한국AI통신이 개통한 070·대표번호만 발급됩니다."
    }
  ]
}
{
  "error": "string",
  "code": "recipient_blocked",
  "ip": "52.79.213.41",
  "processedAt": "2026-10-21T04:10:34.303Z",
  "blockers": [
    {
      "number": "07012340002",
      "code": "number_not_carrier_issued",
      "message": "이용증명원은 한국AI통신이 개통한 070·대표번호만 발급됩니다."
    }
  ]
}