개발자

GET/v3/cdrs

계정 통화 기록 조회

지원되는 기본 기간의 수신·발신 기록을 가져오고 보고서 작성 시의 제한 사항을 확인합니다.

이 페이지의 내용
  1. 계정 통화 기록 가져오기
  2. 요청
  3. 기본 보고 기간
  4. 응답
  5. 기록 필드
  6. 오류 및 보고서 작성 시의 제한 사항

계정 통화 기록 가져오기

사용 중인 API 계정의 수신 또는 발신 통화 기록을 조회합니다. 이 기록에는 비공개 통화 정보와 청구 정보가 포함됩니다. 허가된 서버 측 작업 흐름 내에서 처리하고 불필요한 로그 기록이나 공유를 피하세요.

이 레거시 엔드포인트는 현재 기본 날짜 범위가 고정되어 있으며 페이지 나누기를 제공하지 않습니다. 다른 보고 기간이나 대량의 과거 데이터 내보내기가 필요하면 포털의 통화 내역 조회·내보내기 기능을 사용하세요. 이 엔드포인트의 사용자 지정 날짜 매개변수는 안정적으로 작동하지 않습니다.

요청

활성화된 API 계정을 사용하여 해당 계정에 허용된 출발지 IP 주소에서 HTTPS로 인증하세요. 예제에서는 환경 변수에 저장된 인증 정보를 사용합니다. 지원되는 기본 기간 요청에는 본문이 필요하지 않습니다.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  https://api.multitel.net/v3/cdrs
통화 기록 요청 경로
경로조회 범위
/v3/cdrs기본 날짜 범위 내의 계정 수신 기록입니다.
/v3/cdrs/{number}번호가 지정한 번호와 정확히 일치하는 수신 기록입니다. 보유 번호 목록에서 사용하는 전체 자릿수의 번호를 지정하는 것이 좋습니다.
/v3/cdrs/all/outbound기본 날짜 범위 내의 계정 발신 기록입니다. 발신 처리 분기는 첫 번째 경로 인수를 무시합니다. 여기서 all은 자리표시자이며, 수신 기록을 위한 와일드카드가 아닙니다.

방향을 지정할 때는 위에 표시된 inbound 또는 outbound를 정확히 사용하세요. 발신 처리 분기에는 번호별 필터가 구현되어 있지 않습니다. 해당 경로에 번호를 추가해도 발신 결과의 범위가 좁혀지지 않습니다.

기본 보고 기간

조회 기간은 서버의 달력 날짜를 기준으로 오늘로부터 30일 전의 자정에 시작하여 오늘이 시작되는 자정에 끝납니다. 따라서 오늘의 나머지 시간은 포함되지 않습니다. 현재 시각을 끝점으로 하는 최근 720시간의 이동 기간이 아닙니다.

현재 구현에서는 date_from/date_to 폼 필드를 안정적으로 지원하지 않습니다. 사용자 지정 날짜를 전달하면 파티션 연도 변수가 설정되지 않은 상태로 남습니다. 실제 운영 보고서에는 이 필드를 사용하지 마세요. 대안으로 사용할 수 있는 쿼리 문자열 날짜 지정이나 페이지 나누기 매개변수도 구현되어 있지 않습니다.

응답

일부 수신 필드만 보여 주는 예시입니다. 가상의 데이터이며 반환되는 전체 기록이 아닙니다.

{
  "status": {
    "code": "200",
    "msg": "",
    "results": 1
  },
  "response": [
    {
      "number": "12025550123",
      "callerid": "12025550124",
      "disposition": "ANSWERED",
      "billseconds": "60",
      "billcost": "0.0100",
      "callsid": "11111111111111111111111111111111",
      "date_created": "2026-10-01 12:00:00 UTC"
    }
  ]
}

response는 목록입니다. 공통 응답 구조에는 행 수를 나타내는 status.results가 포함될 수 있습니다. 결과 코드는 문자열일 수 있습니다. 기록이 없으면 성공을 나타내는 빈 목록 대신 API 코드 404와 No entries found 메시지가 반환됩니다.

기록 필드

주요 반환 필드
필드의미
number, callerid수신 조회 필드에 포함되는 수신 번호와 발신자 식별 정보입니다.
calling, called, callerid발신 조회 필드에 포함되는 발신 측·수신 측 식별 정보입니다. 발신자 번호를 근거로 가입자의 신원이 확인되었다고 판단하지 마세요.
disposition, billseconds, billcost저장된 통화 처리 결과, 과금 대상 통화 시간 및 저장된 청구 금액입니다. 값은 레거시 데이터베이스의 문자열 형식일 수 있습니다.
callsid관련 기록을 연결하는 데 사용하는 저장된 통화 UUID입니다.
date_created끝에 UTC 문자열이 붙는 날짜·시간 문자열이며, ISO8601 타임스탬프 형식임이 보장되지는 않습니다. 반환된 형식을 명시적으로 지정하여 파싱하세요.
기타 필드수신 기록에는 실패·비용·채널·품질·발신지 진단 정보도 포함되며, 발신 기록에는 착신 지역 진단 정보가 포함됩니다. 전체 응답에는 인프라 정보가 포함될 수 있으므로 비공개 정보로 취급해야 합니다.

이 엔드포인트는 명시적인 정렬이나 페이지 나누기를 추가하지 않습니다. 결과가 최신순이거나 행 순서가 일정하거나 증분 동기화 커서가 있다고 가정하지 마세요. 반환되는 청구 필드는 저장된 통화 기록이며, 향후 통화에 대한 견적이 아닙니다.

오류 및 보고서 작성 시의 제한 사항

HTTP 상태와 JSON의 status.code/status.msg를 모두 확인하세요. 선택한 계정·기간에 기록이 없으면 API 코드 404가 반환됩니다. 인증 및 출발지 IP 제한도 적용됩니다. 페이지 나누기가 없는 대규모 보고서 요청이나 안정적으로 작동하지 않는 사용자 지정 날짜 요청은 실패할 수 있습니다. 전체 테이블을 반복해서 폴링하는 방식은 증분 내보내기 전략이 아닙니다.

검토한 핸들러에는 읽기 쿼리가 포함되어 있으며, 계정 잔액 차감이나 통화 시작은 수행하지 않습니다. 기록이 반환되었다고 해서 사람이 응답했다는 사실이 입증되지는 않습니다. 보고 목적에 맞게 저장된 통화 처리 결과와 통화 시간을 해석하세요.