개별 메시지 결과

get/public/v1/messages/{groupId}/details200

수신번호는 마스킹된다. 커서 페이지네이션.

알아 둘 것

  • 수신번호는 **마스킹되어** 내려옵니다. 원본 번호는 어떤 경우에도 응답에 실리지 않습니다.
  • 커서 페이지네이션입니다 — `nextCursor` 가 null 이 될 때까지 이어서 부르세요.
  • 실패 건만 보려면 `filter=FAILED` 를 쓰면 됩니다.

파라미터

이름위치필수설명
groupId경로필수발송 그룹 ID (접수 응답의 groupId)
filter쿼리선택필터 (전체·실패만)ALLFAILED
limit쿼리선택페이지 크기 (기본 100 · 최대 1000)
cursor쿼리선택다음 페이지 커서

요청 본문

이 호출에는 본문이 없습니다.

응답

아래는 200 응답의 실제 모양입니다. 자동 생성된 스펙이 그리는 것은 data 안쪽뿐이라, 그것만 보고 짜면 값을 찾지 못합니다.

  • successboolean필수

    성공 응답에서는 항상 `true` 입니다.

    예: true

  • messagestring필수

    사람이 읽는 설명. 성공에는 기본 문구가 실리므로 분기 근거로 쓰지 마세요.

    예: "Request processed successfully"

  • dataPublicGroupDetailsResponse필수

    요청 결과 본문

    • listPublicMessageDetailItem[]필수

      건별 결과

    • nextCursorstring필수null 가능

      다음 페이지 커서 · null 이면 끝

  • timestampstring필수date-time

    응답을 만든 시각 (KST)

  • methodstring필수

    요청 메서드. 요청을 그대로 되비춰 줍니다.

    예: "POST"

  • pathstring필수

    요청 경로

    예: "/public/v1/messages/alimtalk"

  • correlationIdstring필수

    요청 추적 ID. **문의할 때 이 값을 함께 알려 주세요** — 서버 로그를 이 값으로 찾습니다.

에러

실패 응답도 봉투에 담겨 오고, 숫자 code 로 원인이 갈립니다. 이 호출에서 볼 수 있는 코드는 다음과 같습니다.

코드HTTP키설명
8620401PUBLIC_API_KEY_REQUIREDAPI 키가 필요합니다. Authorization: Bearer {key} 또는 X-Api-Key 헤더로 전달해 주세요.
8621401PUBLIC_API_KEY_INVALID유효하지 않은 API 키입니다.
8622401PUBLIC_API_KEY_SUSPENDED정지된 API 키입니다. 콘솔에서 상태를 확인해 주세요.
8623401PUBLIC_API_KEY_EXPIRED만료된 API 키입니다.
8624403PUBLIC_IP_BLOCKED허용되지 않은 IP 에서의 호출입니다. 국외 IP 는 예외 없이 차단됩니다.
8628429PUBLIC_RATE_LIMITED호출 한도를 초과했습니다. 잠시 후 다시 시도해 주세요.
8629404PUBLIC_MESSAGE_GROUP_NOT_FOUND발송 그룹을 찾을 수 없습니다.
6950404SEND_RESULT_NOT_FOUND발송 내역을 찾을 수 없습니다.
6951400SEND_RESULT_FILTER_NOT_SUPPORTED지원하지 않는 필터입니다.
6952400SEND_RESULT_CURSOR_INVALID페이지 커서가 유효하지 않습니다. 처음부터 다시 조회해 주세요.

여기서 바로 실행

get

요청은 그대로 나가지만 샌드박스 키로는 이 API 를 쓸 수 없습니다 — 응답으로 8626 이 돌아옵니다. 어떤 모양으로 막히는지 확인하는 자리이고, 실제 조회·취소는 라이브 키로 직접 호출해 주세요.

요청 (전체)

# 성공 응답은 200 입니다.
# 응답은 봉투에 싸여 옵니다 — 알맹이는 data 안에 있습니다.
curl -X GET 'https://api.directalk.io/public/v1/messages/grp_01HQZX8N2K4M7P9R3T5V6W8Y0A/details?filter=ALL&limit=100' \
  -H 'Authorization: Bearer dk_live_xxxxxxxxxxxxxxxxxxxxxxxx'

응답 200

{
  "success": true,
  "message": "Request processed successfully",
  "data": {
    "list": [
      {
        "seq": 0,
        "phoneMasked": "문자열",
        "status": "문자열",
        "statusCode": "문자열",
        "finalMessageType": "문자열",
        "sentAt": "문자열",
        "resultAt": "문자열"
      }
    ],
    "nextCursor": "문자열"
  },
  "timestamp": "2026-08-25T14:32:10.482+09:00",
  "method": "GET",
  "path": "/public/v1/messages/grp_01HQZX8N2K4M7P9R3T5V6W8Y0A/details",
  "correlationId": "c7f1a2b4-9e30-4d15-8a6c-2f0b7d9e1c34"
}

실패 응답 예시

{
  "success": false,
  "message": "API 키가 필요합니다. Authorization: Bearer {key} 또는 X-Api-Key 헤더로 전달해 주세요.",
  "code": 8620,
  "timestamp": "2026-08-25T14:32:10.482+09:00",
  "method": "GET",
  "path": "/public/v1/messages/grp_01HQZX8N2K4M7P9R3T5V6W8Y0A/details",
  "correlationId": "c7f1a2b4-9e30-4d15-8a6c-2f0b7d9e1c34"
}