Skip to main content
모든 웹훅 본문에는 이 페이지의 이벤트 유형 중 하나를 값으로 갖는 type 필드가 있습니다. 엔드포인트를 구독할 때 events 배열에는 원하는 이벤트 유형을 포함해야 합니다(모든 이벤트를 구독하려면 비워 둡니다). 이러한 이벤트는 두 가지 전달 방식으로 전송됩니다.
  • 엔드포인트 전달은 항상 재시도가 적용되는 비차단 알림입니다. 모든 2xx로 응답합니다. 중복 제거에는 봉투의 event_id를 사용합니다.
  • 차단 교환은 레거시 단일 URL 웹훅에서만 실행됩니다. telephony.incoming / web.incoming 구성 요청(웹훅 모드 번호 및 위젯 키, 10초 제한 시간)과 웹훅 모드 도구 디스패치가 이에 해당합니다. 응답이 진행 중인 통화를 결정합니다.
아래 예제 페이로드는 전송 순서의 엔드포인트 봉투를 보여 줍니다(키는 data, event_id, type 순으로 알파벳순 정렬됨). 레거시 전달에는 event_id 없이 동일한 data가 포함됩니다.

통화 이벤트

telephony.incoming

수신 통화가 전화번호 중 하나에 도달하면 전송됩니다. 엔드포인트 전송은 번호가 에이전트로 구성되었는지 또는 웹훅으로 구성되었는지와 관계없이 모든 수신 통화에 대해 전송되는 fire-and-forget 알림입니다. 에이전트가 할당되지 않은 번호는 레거시 웹훅에서 추가로 차단형 구성 요청을 수신합니다. 전체 요청/응답 스키마는 telephony.incoming / web.incoming을 참조하세요.

telephony.complete

수신 또는 발신 전화 통화가 종료되면 전송됩니다. 비차단형입니다. 전체 트랜스크립트, 녹음 URL 및 청구 요약을 포함합니다. 페이로드 스키마는 telephony.complete / web.complete을 참조하세요.

telephony.tool

전화 통화가 함수 도구를 호출한 후 전송됩니다. 비차단형 감사 알림입니다. 이 이벤트가 전송될 때 도구는 이미 실행되어 있으며, 기본 제공 도구, 지식 베이스 도구, 앱 연결 도구 또는 MCP 도구가 아닌 자체 함수 도구에 적용됩니다.
response는 실행 결과입니다. 성공 시 {"status": <http status>, "response": <your endpoint's JSON>}이고, 실패 시 {"status": <status>, "error": "<message>"}입니다.

web.incoming

웹 위젯 세션 또는 빌더 마이크 테스트 통화가 시작될 때 전송되는 telephony.incoming의 웹 채널 대응 이벤트입니다. 엔드포인트 전송은 모든 웹 세션에 대한 fire-and-forget 알림입니다. mode="webhook"의 공개 키는 레거시 웹훅에서 추가로 차단형 구성 요청을 수신합니다. 이 차단형 요청은 형태가 다르며(origin_domain, publishable_key_prefix, 전화번호 없음), 자세한 내용은 telephony.incoming / web.incoming을 참조하세요.
from_number는 항상 리터럴 "web"입니다. 웹훅 모드 위젯 세션에서는 to_number가 비어 있습니다. 세션의 에이전트 번호는 구성 후 할당됩니다. 빌더 마이크 테스트 통화에서는 origin_domainpublishable_key_prefix가 비어 있습니다.

web.complete

웹 위젯 통화(direction: "web") 및 빌더 마이크 테스트 통화(direction: "test")를 처리하는 telephony.complete의 웹 채널 대응 이벤트입니다. 비차단형입니다. telephony.complete과 동일한 페이로드 형태에 origin_domain이 추가되며, from_number"web"으로 설정됩니다.
레거시 단일 URL 웹훅에서 빌더 마이크 테스트 통화는 역사적으로 telephony.complete로 보고됩니다. 해당 위치에서는 direction: "web" 통화만 web.complete 유형을 사용합니다. 엔드포인트 시스템은 웹 통화와 테스트 통화를 모두 web.*에 매핑합니다. 과거 페이로드에는 레거시 direction 값인 widget 또는 mic가 포함될 수 있습니다.

web.tool

telephony.tool의 웹 채널 대응 이벤트입니다. data에는 from_number / to_number 대신 origin_domain이 포함됩니다.

품질 이벤트

call.graded

통화의 AI 평가 실행이 완료될 때마다 전송됩니다. 차단하지 않습니다.
하나의 통화는 두 번 이상 평가될 수 있습니다. 녹음 파일을 사용할 수 있게 되면 빠른 휴리스틱 평가 뒤에 전체 모델 평가가 이어지는 경우가 많으며, 수동 재평가도 가능합니다. 완료된 각 실행은 자체 call.graded 이벤트를 전송합니다. 가장 최근의 graded_at을 권위 있는 값으로 처리하십시오.

issue.reported

이슈 보고서가 생성될 때 전송됩니다. 대시보드에서 사용자가 제출한 경우(source: "user") 또는 통화 평가에 의해 자동으로 생성된 경우(source: "system")가 해당합니다. 차단하지 않습니다.
통화를 재평가하면 시스템에서 생성한 이슈 보고서가 다시 생성되며, 재생성된 보고서에 대해 issue.reported가 다시 전송됩니다. 근본 문제당 하나의 알림만 받으려면 call_id + title을 기준으로 중복을 제거하십시오.

테스트 통화 이벤트

test-call.completed

테스트 통화 실행이 종료 상태인 completed 또는 failed에 도달하면 전송됩니다. 시작 시 실패하여 통화를 생성하지 못한 실행도 포함됩니다. 차단하지 않습니다. 일괄 CI 실행을 채팅 및 알림 시스템에 연결하는 데 유용합니다.

알림 이벤트

alert.triggered

개발자 웹훅으로 전달 채널이 활성화된 알림 규칙이 임계값을 넘을 때 전송됩니다. 비차단 방식입니다. 규칙은 한 번 실행된 후 쿨다운을 준수하므로, 지속적인 위반은 쿨다운 기간당 하나의 이벤트를 생성합니다.
규칙, 측정항목, 쿨다운, 이메일 및 Slack 채널을 만드는 방법은 알림 가이드를 참조하세요.

관련 항목

telephony.incoming / web.incoming

응답해야 하는 차단형 인바운드 통화 페이로드입니다.

telephony.complete / web.complete

통화 후 대화 기록 및 측정항목입니다.

웹훅 엔드포인트

이러한 이벤트의 일부에 URL을 구독시킵니다.

함수 도구

telephony.tool / web.tool 이벤트가 생성되는 방식입니다.