개요
이 페이지는 v2 통화 데이터 웹훅을 기준으로 설명합니다. 모든 v2 이벤트는{ "event", "webhook_version", "call" } 구조를 사용합니다.
통화 종료와 분석 완료는 별도 이벤트로 전송됩니다.
비용과 분석 결과는
call_analyzed에서 확인하세요.
call_ended에는 포함되지 않습니다.이벤트 생명주기
통화 데이터 웹훅은 통화 진행 상태와 분석 완료 상태를 나누어 전달합니다.call_analyzed는 통화 종료 후 비동기로 도착할 수 있습니다.
call_ended에서 비용, 분석 결과, duration_ms를 기대하지 마세요.공통 구조
통화 이벤트는 본문을
call 키에 담습니다.
단, sms_received는 예외로 본문을 sms 키에 담습니다.
자세한 내용은 sms_received를 참고하세요.call_started
mid_call
call_ended
call_ended에는 비용, 분석 결과, duration_ms가 포함되지 않습니다.
통화 시간은 end_at - start_at으로 계산하세요.
비용과 분석 결과는 call_analyzed에서 확인하세요.녹음 파일 다운로드
recording_url은 인증이 필요한 엔드포인트입니다. API 키로 녹음을 내려받는 방법과 파일 형식(스테레오 OGG, 채널 분리)은 통화 녹음에서 확인하세요.
스크립트 형식
transcript는 발화와 도구 호출 기록을 한 배열에 담습니다.
도구를 사용하지 않은 통화에는 agent와 user 항목만 포함될 수 있습니다.
transcript는 통화 데이터 저장 제외 설정이나 통화 처리 상태에 따라 null일 수 있습니다.call_analyzed
sms_received
sms_received는 워크스페이스 번호로 문자(SMS/MMS)를 수신할 때 전송됩니다.
워크스페이스 웹훅 전용이며 opt-in 설정을 켠 워크스페이스에만 전송됩니다.
본문 키는 통화 이벤트와 달리 call이 아니라 sms입니다.
첨부 파일 다운로드
file_key로 첨부 파일 원본을 받으려면 파일 다운로드 API를 호출하세요.
cURL
Content-Type은 저장된 MIME 타입(image/jpeg, image/png, image/gif)을 그대로 따릅니다.
같은 워크스페이스가 소유한 file_key만 받을 수 있습니다.
전체 파라미터는 v3 API 참조의 파일 > 파일 다운로드에서 확인하세요.
sms_received는 항상 v2 형식으로 전송됩니다. v1 형식은 없습니다.
서명 방식은 통화 데이터 웹훅과 동일합니다.
대시보드 설정 > 웹훅에서 수신 문자 웹훅 토글을 켜면 전송됩니다.
기본값은 꺼짐이고 켠 이후 수신분부터 전송됩니다.서버 구현 체크리스트
- 같은 통화의 같은 이벤트가 다시 도착할 수 있습니다. 중복 저장을 방지하세요.
- v2 수신 스키마에는 최상위
webhook_version필드를 포함하세요. call_ended에서 비용이나 분석 필드를 기대하지 마세요.- 분석 결과 저장, 후속 자동화, 비용 집계는
call_analyzed에서 실행하세요. - 통화 결과는
call_status와disconnection_reason을 함께 확인하세요. - 통화 시간은
end_at - start_at으로 계산하세요. sms_received는 본문 키가sms이므로call키를 무조건 읽는 핸들러는 별도로 분기하세요.
관련 문서
- 에이전트 단위 웹훅 — 설정 방법과 빠른 페이로드 예시
- 워크스페이스 단위 웹훅 — HMAC 서명 검증과 보안 설정
- 웹훅 개요 — 인바운드 웹훅과 통화 데이터 웹훅 구분
연관 검색어
연관 검색어
웹훅 스키마, webhook schema, call_analyzed, call_ended, mid_call, sms_received, 수신 문자 웹훅, inbound sms webhook, MMS 수신, attachments, 웹훅 페이로드, webhook payload, recording_url, 녹음 다운로드, recording download, 녹음 파일 URL