통화 단건 조회

View as Markdown

특정 통화의 상세 정보를 조회합니다.

Authentication

AuthorizationBearer

API Key를 Bearer 토큰으로 전달

Path parameters

accountIdstringRequired

계정 ID

callIdstringRequired

통화 ID

Response

통화 정보

callIdstringOptional
statusenumOptional

통화 상태. 진행 중: queued(발신 대기) / ringing(벨) / in-progress(통화 중). 종료 상태(실제 종료 사유): completed(응답 후 정상 종료) / no-answer(벨은 울렸으나 무응답, Timeout 초과로 발신 취소) / busy(통화중) / rejected(수신 거절) / canceled(응답 전 발신 측 취소) / failed(시스템·망 오류). completed 만이 통화가 실제로 연결됐음을 의미합니다.

tostringOptional
fromstringOptional
directionenumOptional
durationinteger or nullOptional

통화 시간 (초)

accountIdstringOptional
answeredByenum or nullOptional

AMD(MachineDetection) 결과. MachineDetection 을 켠 발신 통화에만 값이 있으며, 사람 응답=human, 자동응답기/음성사서함=machine, 판정 불가=unknown. 미사용 시 null.

recordingUrlstring or nullOptional

녹음 다운로드 경로 (녹음이 있는 통화만)

hangupCausestring or nullOptional

통화 종료 사유. status 가 왜 그렇게 끝났는지를 구분합니다. 종료 전이거나 사유 미상이면 null.

네 갈래로 나뉩니다 — 번호 자체가 문제라 재시도해도 소용없는 것(invalid_number 등), 일시적이라 재시도 가치가 있는 것(no_answer·user_busy 등), 번호가 아니라 계정 문제인 것(concurrency_limit_exceeded·subscription_inactive 등), ClawOps 측 오류 (app_error·call_stuck).

종료 사유로 통화를 필터링하려면 Calls API를 참고하세요. 여기 값을 나열하지 않는 이유: 사유가 늘 때마다 spec·문서·대시보드가 각각 갱신돼야 하는데 한 곳만 빠지면 조용히 어긋난다(실제로 그렇게 어긋난 적이 있다).

hangupCauseQ850integer or nullOptional

통신망 Q.850 cause code. 1·5·28=결번, 16=정상해제, 17=통화중, 18/19/20=무응답, 21=거절, 38=망장애. 사유 미상이면 null.

sipResponseCodeinteger or nullOptional

종료를 유발한 SIP 응답코드 (404=없는 번호, 486=통화중, 500=망 오류 등). 응답코드 없이 끝났으면 null.

hangupSourceenum or nullOptional

종료 책임 주체. carrier(통신망) / callee(수신자) / caller(발신자) / app·system(ClawOps 측 오류 — 이 경우 재시도를 권장합니다).

transferTostring or nullOptional

전환 대상 번호. 읽기 전용 — 값을 지정하는 요청 필드는 없고 실제로 일어난 전환의 결과가 기록됩니다. 전환이 없었으면 null.

에이전트 전환과 SIP REFER 전환에서만 채워집니다(VoiceML <Dial> 은 제외 — 그 결과는 DialCallStatus 로 받습니다).

전체 설명은 통화 전환 결과 가 정본입니다.

transferStatusenum or nullOptional

전환 결과(읽기 전용, 전환이 없었으면 null).

completed(연결 후 정상 종료) / no-answer(대상이 받지 않음) / busy(통화중) / canceled(연결 전에 취소·중단) / failed(그 외 실패 — 사유는 transferHangupCauseQ850 · transferSipResponseCode · transferReasonText).

종료된 전환의 결과만 담습니다. 진행 중 상태는 transfers[].status 또는 Status Callback 의 transfer 이벤트로 보세요.

transferDurationinteger or nullOptional

전환 통화 시간(초) — 대상이 받은 시점부터 그 전환 leg 가 끝날 때까지의 관측값입니다. 연결되지 못한 전환은 null.

⚠️ 과금 초가 아닙니다. 과금 대상 초는 transfers[].billableDuration 입니다.

transferHangupCauseQ850integer or nullOptional

전환 leg 의 통신망 Q.850 cause (예: 16=정상해제, 17=통화중, 19=무응답, 21=거절, 38=망장애). 통신망이 SIP 5xx 로 보낸 실패의 실제 사유로 교정된 값. 사유 미상이면 null.

transferSipResponseCodeinteger or nullOptional

전환 leg 의 실제 SIP 응답코드 (예 500). 사유 미상이면 null.

transferReasonTextstring or nullOptional

전환 실패 원본 진단 텍스트. 사유 미상이면 null.

transferslist of objectsOptional

전환 leg 정본 체인(sequence 순). 다단계/재시도 전환의 전체 이력을 제공한다. 단건 조회에만 포함되며(리스트 응답엔 생략), 전환이 없었던 통화는 빈 배열.

위 transfer* 단일 필드는 이 체인에서 파생한 하위호환용 대표 leg 다 — 종료된 leg 중 completed 우선, 동률이면 sequence 최대. 전체 시도는 이 배열로 본다.

dateCreateddatetimeOptional
dateUpdateddatetime or nullOptional

통화 종료 시각

Errors

401
Unauthorized Error
403
Forbidden Error
404
Not Found Error