발송 상태와 실패 사유를 목록으로 확인해요. 유료 알림톡만 조회되고 무료 커머스 알림톡은 포함되지 않아요.
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
template_code |
String | 선택 | 템플릿 코드로 걸러요 |
status |
String | 선택 | requested·success·failed·canceled. 그 밖의 값은 오류 없이 무시돼 전체가 조회돼요 |
ref_id |
String | 선택 | 발송할 때 넘긴 멱등 키 |
to |
String | 선택 | 수신번호 (하이픈 무관, 정확 매칭) |
s_at |
String | 선택 | 조회 시작 시각 (ISO8601). 접수 시각(created_at) 기준이에요 — 예약 시각·발송 시각이 아니에요 |
e_at |
String | 선택 | 조회 종료 시각 (ISO8601) |
page |
Integer | 선택 | 페이지 번호 (기본 1) |
limit |
Integer | 선택 | 페이지 크기 (기본 20, 최대 100) |
조회 기간에 상한이 있어요
기본은 최근 30일, 최대 폭은 92일 이에요. 92일을 넘겨 요청하면 오류가 아니라 시작일을 당겨서 잘라 응답해요. 실제로 적용된 구간은 응답의 period 로 확인해요. 날짜로 해석되지 않는 값을 보내도 오류 없이 기본 30일로 조회해요.
코드 예제
curl -X GET "https://message.bootapi.com/alimtalk/messages?status=failed&limit=20" \
-H "Authorization: Basic {base64(client_key:secret_key)}"bashrequire 'bootpay'
commerce = BootpayStore::RestClient.new(client_key: 'your-commerce-client-key', secret_key: 'your-commerce-secret-key')
response = commerce.alimtalk_message_list(status: 'failed', limit: 20)
puts response.data[:count]ruby응답
{
"list": [
{
"receipt_id": "68b0f2a1c3d4e5f6a7b8c9d0",
"ref_id": "order-20260827-0001",
"to": "01012345678",
"template_code": "G_RESTOCK_NOTICE_user",
"status": "success",
"error_code": null,
"error_message": null,
"reserved_at": null,
"executed_at": "2026-08-27T10:00:03+09:00",
"delivered_at": "2026-08-27T10:00:05+09:00",
"created_at": "2026-08-27T10:00:00+09:00"
}
],
"count": 1,
"page": 1,
"per": 20,
"period": {
"from": "2026-07-28T10:00:00+09:00",
"to": "2026-08-27T10:00:00+09:00"
}
}json| 필드 | 설명 |
|---|---|
| status | requested·success·failed·canceled |
| error_code · error_message | 실패 사유 (벤더 코드) |
| executed_at | 전송을 시도한 시각 |
| delivered_at | 전달이 확인된 시각 |
| period | 실제로 적용된 조회 구간 |
시각 필드 형식은 응답의 시각 형식을 먼저 봐요.
수신번호는 마스킹하지 않아요
가맹점이 직접 보낸 번호라 그대로 돌려줘요.
상태가 requested 에서 안 바뀐다면
상태는 벤더 결과 동기화로 확정돼요. 접수 직후에는 requested 로 보이고 잠시 뒤 success 나 failed 로 바뀌어요. 폴링 대신 발송결과 웹훅을 걸면 확정 시점에 바로 받을 수 있어요.
