AI 통화만 있을 때
에이전트가 처음부터 끝까지 응대한 통화예요. 통화 이벤트 네 가지만 와요.call_ended는 통화가 끊긴 직후 와요. 녹음 URL은 들어 있지만 비용과 분석 결과는 없어요.call_analyzed는 요금 확정과 분석이 끝난 뒤 와요. 보통 몇 초에서 몇 분 뒤예요.
개인정보 마스킹을 켰을 때
개인정보 마스킹을 켜도 종료 이벤트는 바로 와요. 가린 내용은 분석 이벤트에 담겨요.- 종료 이벤트:
chat_ended의transcript는 빈 배열이고,call_ended의transcript도 비어 있을 수 있어요. - 분석 이벤트:
call_analyzed와chat_analyzed는 가린 내용을 보내요. 대화 내용, 요약, 도구 호출 인자와 결과가 가려져요. - 원문 그대로인 필드: 추출 항목과 전화번호 필드는 원문을 유지해요.
- 가리기에 실패한 필드: 원문 대신 비워 둬요.
즉시 전환했을 때
에이전트가 통화를 넘기는 즉시 빠져요. 전환 뒤 통화는 vox.ai 밖에서 이어지므로 상담사 통화 이벤트가 오지 않아요.call_ended는 통화를 넘기는 순간 와요.disconnection_reason은call_transfer이고, 스크립트와 녹음에는 에이전트 구간만 담겨요.call_analyzed는 고객과 상담사의 통화가 끝난 뒤에 와요. 전환 뒤 생긴 통신료까지 더해 요금이 확정되기 때문이에요.
안내 후 전환했을 때
에이전트가 상담사에게 상황을 전한 뒤 고객과 상담사를 연결해요. 상담사 구간이 상담사 통화로 기록되어 이벤트 여섯 가지가 모두 와요.operator_call_started는 상담사에게 상황을 다 전하고 고객과 상담사가 연결되는 순간 와요. 상담사가 받지 않으면 오지 않고 에이전트가 응대를 이어가요.call_ended는 곧이어 에이전트가 빠질 때 와요. 상담사 구간이 진행 중이어도 오고, 늘operator_call_started다음에 와요.mid_call은 상담사 통화 중 고객이나 상담사의 발화가 확정될 때마다 와요. AI 구간의call_ended뒤에도 이어져요. 페이로드는 상담사 통화의mid_call에 있어요.operator_call_ended는 상담사 구간이 끝날 때,call_analyzed는 요금이 확정된 뒤 와요. 두 이벤트의 도착 순서는 보장되지 않아요.
순서 규칙
- AI 구간은
call_started,mid_call,call_ended순서로 와요. 상담사 구간은operator_call_started뒤 발화마다mid_call이 오고, 끝나면operator_call_ended가 와요. call_analyzed는 요금이 확정된 뒤에 와요. 전환된 통화는 고객과 상담사의 통화가 끝나야 요금이 확정되므로 그만큼 늦어져요.- 같은 이벤트가 두 번 이상 올 수 있어요.
mid_call은 한 통화에서 여러 번 오므로 통화 ID만으로 중복을 거르면 발화가 빠져요. 이벤트별 중복 제거 키는 전달 보장과 재시도에 있어요.
문제가 생겼을 때
call_analyzed가 한참 뒤에 와요
call_analyzed가 한참 뒤에 와요
전환된 통화라면 고객과 상담사의 통화가 끝날 때까지 기다리세요. 요금이 확정된 뒤에 분석을 시작하기 때문이에요. 개인정보 마스킹을 켠 에이전트의 통화는 가리기가 끝난 뒤에 와서 더 늦어요.
disconnection_reason이 call_transfer인데 상담사 통화 이벤트가 없어요
disconnection_reason이 call_transfer인데 상담사 통화 이벤트가 없어요
상담사 구간까지 웹훅으로 받으려면 안내 후 전환으로 바꾸세요. 즉시 전환으로 넘긴 통화는 전환 뒤 통화가 vox.ai 밖에서 이어져 기록되지 않아요.