알림톡 다건 발송 접수
/public/v1/messages/alimtalk/batch200items 1개 = 발송 그룹 1개 (최대 500개 · 전체 수신자 10만 명 이하). 항목마다 단건 발송과 같은 검증·접수를 독립으로 하므로 일부만 실패할 수 있고, 결과는 results 에 요청 순서대로 담긴다. 재시도 시 중복 접수는 항목별 idempotencyKey 로 막는다 (Idempotency-Key 헤더는 쓰지 않는다). 요청 형식 오류는 전체 400. 샌드박스 키면 항목별 모의발송.
알아 둘 것
items한 개가 발송 그룹 한 개입니다. 한 번에 최대 500개, 모든 항목의 수신자 수 합계는 10만 명까지입니다.- 항목마다 따로 접수합니다. 일부 항목이 실패해도 나머지는 접수되고, 응답은 200 입니다 — 각 항목의 성공 여부는
results[].success와results[].error로 확인하세요. 위 에러 코드 중 접수 단계 코드는results[].error.code로 옵니다. results는 요청한items와 같은 순서입니다.- 재시도로 중복 접수되지 않게 하려면 항목마다
idempotencyKey를 넣으세요. 같은 키·같은 내용이면 새로 접수하지 않고 기존groupId를 돌려줍니다. 같은 키에 다른 내용이면 그 항목이 6929 로 실패합니다. - 요청 형식이 틀리면(필수 필드 누락, 항목 수·수신자 합계 초과, 항목 간
idempotencyKey중복) 어느 항목도 접수하지 않고 요청 전체가 400 으로 거절됩니다.
요청 본문
- itemsPublicSendAlimtalkBatchItem[]필수
발송 항목 (최대 500개 · 항목 1개 = 발송 그룹 1개 · 전체 수신자 합 100,000명 이하)
- recipientsPublicRecipientDto[]필수
수신자 목록 (번호 + 수신자별 변수)
- removeDuplicatesboolean선택null 가능
번호 중복 제거 여부 · 기본 false (의도한 중복은 유지, 중복 시 앞의 수신자가 남는다)
예: false
- variablesobject선택null 가능
전 수신자 공통 변수값 · 같은 키는 수신자별 값이 우선한다 · 키 규칙은 recipients[].variables 와 같다
예: {"회사명":"타이탄즈"}
- scheduledAtstring선택null 가능
예약 시각 (ISO8601) · 생략하면 즉시 발송
예: "2026-08-20T10:00:00+09:00"
- tagsstring[]선택null 가능
태그 (최대 3개)
예: ["API"]
- channelIdstring필수
카카오 채널 검색용 ID (@ 유무 무관)
예: "@우리브랜드"
- templateCodestring필수
카카오 템플릿 코드 (승인건만 · 콘솔 템플릿 상세에서 확인)
예: "TPL_ORDER_01"
- fallbackPublicFallbackDto선택null 가능
대체발송
- idempotencyKeystring선택null 가능
항목별 멱등키 (최대 100자) · 같은 키·같은 본문으로 다시 보내면 새로 접수하지 않고 기존 groupId 를 돌려준다. 배치에서는 Idempotency-Key 헤더를 쓰지 않는다
예: "course-123-student-456-v2"
응답
아래는 200 응답의 실제 모양입니다. 자동 생성된 스펙이 그리는 것은 data 안쪽뿐이라, 그것만 보고 짜면 값을 찾지 못합니다.
- successboolean필수
성공 응답에서는 항상 `true` 입니다.
예: true
- messagestring필수
사람이 읽는 설명. 성공에는 기본 문구가 실리므로 분기 근거로 쓰지 마세요.
예: "Request processed successfully"
- dataPublicBatchAcceptResponse필수
요청 결과 본문
- acceptedCountnumber필수
접수된 항목 수
예: 499
- failedCountnumber필수
실패한 항목 수
예: 1
- totalHoldAmountnumber필수
접수된 항목의 홀드 포인트 합
예: 6487
- resultsPublicBatchItemResult[]필수
항목별 결과 (요청 items 순서)
- timestampstring필수date-time
응답을 만든 시각 (KST)
- methodstring필수
요청 메서드. 요청을 그대로 되비춰 줍니다.
예: "POST"
- pathstring필수
요청 경로
예: "/public/v1/messages/alimtalk"
- correlationIdstring필수
요청 추적 ID. **문의할 때 이 값을 함께 알려 주세요** — 서버 로그를 이 값으로 찾습니다.
에러
실패 응답도 봉투에 담겨 오고, 숫자 code 로 원인이 갈립니다. 이 호출에서 볼 수 있는 코드는 다음과 같습니다.