reserved_at 으로 예약해 둔 건을 취소해요. 예약 작업을 지우고 상태를 취소로 바꿔 이중 발송을 막아요.
취소할 수 있는 상태
접수(READY) 상태인 건만 취소돼요. 예약 건이 대상이지만, 즉시 발송도 아직 전송 작업이 집어가기 전이라 READY 로 남아 있으면 취소돼요. 이미 전송 단계에 들어갔으면 3023 으로 거부돼요.
| 상태 | 취소 |
|---|---|
| 접수 (예약 대기) | 가능해요 |
| 전송 중·성공·실패 | 거부돼요 (3023) |
| 이미 취소됨 | 거부돼요 |
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
receipt_id |
String | 필수 | 발송 접수 id (경로 파라미터). 발송 응답의 receipt_id 예요 |
코드 예제
curl -X DELETE "https://message.bootapi.com/alimtalk/send/68b0f2a1c3d4e5f6a7b8c9d0" \
-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_send_cancel(receipt_id: '68b0f2a1c3d4e5f6a7b8c9d0')
puts response.data[:status]ruby응답
{
"receipt_id": "68b0f2a1c3d4e5f6a7b8c9d0",
"ref_id": "order-20260827-0001",
"to": "01012345678",
"status": "canceled"
}json취소하면 발송결과 웹훅의 예약 취소(303) 이벤트가 발생해요.
에러 코드
| 코드 | error_code | 메시지 | 대처 방법 |
|---|---|---|---|
3023 |
SEND_NOT_CANCELABLE |
취소 불가 상태 | 이미 전송에 들어갔어요. 발송 결과를 확인해요 |
3025 |
MESSAGE_RECEIPT_NOT_FOUND |
발송 기록 없음 | receipt_id 가 맞는지, 이 프로젝트의 건인지 확인해요 |
채널을 해지하기 전에 예약을 정리해요
연동 해지 전에 남은 예약 건이 있다면 먼저 취소해 두는 편이 깔끔해요.
