예약 일괄 취소
/public/v1/messages200groupIds 를 한 트랜잭션으로 취소하고 홀드를 푼다 (최대 1,000개). 조건은 단건 취소와 같다(발송 서버 제출 전). 취소하지 못한 건은 실패가 아니라 skipped 에 사유와 함께 담긴다. groupIds 는 요청 본문(JSON)으로 보낸다.
알아 둘 것
groupIds를 요청 본문(JSON) 에 담아 보냅니다. 한 번에 최대 1,000개입니다. 쓰시는 HTTP 라이브러리가 DELETE 요청에 본문을 실어 보내는지 확인해 주세요.- 취소할 수 있는 건은 한꺼번에 처리됩니다. 취소 조건은 단건 예약 취소와 같습니다 — 발송 서버에 제출되기 전의 예약 발송만 취소됩니다.
- 취소하지 못한 건이 섞여 있어도 요청은 실패하지 않습니다. 그 건들은
skipped에 사유와 함께 담깁니다 —ALREADY_SUBMITTED(이미 제출돼 취소 불가) ·ALREADY_CANCELED(이미 취소됨) ·NOT_RESERVED(즉시 발송 건) ·NOT_FOUND(없는 ID, 다른 회사의 ID, 모의발송 ID). ALREADY_CANCELED는 성공으로 다뤄도 됩니다. 같은 요청을 다시 보내도 안전합니다.
요청 본문
- groupIdsstring[]필수
취소할 발송 그룹 ID (1~1,000개 · 중복은 하나로)
예: ["grp_01J...","grp_01K..."]
응답
아래는 200 응답의 실제 모양입니다. 자동 생성된 스펙이 그리는 것은 data 안쪽뿐이라, 그것만 보고 짜면 값을 찾지 못합니다.
- successboolean필수
성공 응답에서는 항상 `true` 입니다.
예: true
- messagestring필수
사람이 읽는 설명. 성공에는 기본 문구가 실리므로 분기 근거로 쓰지 마세요.
예: "Request processed successfully"
- dataPublicCancelManyResponse필수
요청 결과 본문
- canceledCountnumber필수
취소된 그룹 수
예: 998
- canceledMessageCountnumber필수
취소된 메시지 건수 (수신자 수 합)
예: 998
- releasedHoldAmountnumber필수
해제된 홀드 포인트 합
예: 12974
- canceledstring[]필수
취소된 그룹 ID
- skippedPublicCancelSkipped[]필수
취소하지 않은 그룹과 사유
- timestampstring필수date-time
응답을 만든 시각 (KST)
- methodstring필수
요청 메서드. 요청을 그대로 되비춰 줍니다.
예: "POST"
- pathstring필수
요청 경로
예: "/public/v1/messages/alimtalk"
- correlationIdstring필수
요청 추적 ID. **문의할 때 이 값을 함께 알려 주세요** — 서버 로그를 이 값으로 찾습니다.
에러
실패 응답도 봉투에 담겨 오고, 숫자 code 로 원인이 갈립니다. 이 호출에서 볼 수 있는 코드는 다음과 같습니다.