알림톡 단건 발송하기
전화번호와 알림톡 템플릿을 사용해 단건 알림톡을 발송하는 방법을 설명합니다. 블럭스 담당자에게 문의하여 발급받은 secret key를 사용해서 알림톡을 발송할 수 있습니다.
개요
- 캠페인 생성 없이 외부 시스템에서 직접 API를 호출하여 알림톡을 발송할 수 있습니다.
- 회원/비회원 구분 없이 전화번호만 있으면 발송할 수 있어 주문/배송/문의 등 거래성 알림에 적합합니다.
- 한 번의 호출로 한 명의 수신자에게 발송되며, 다수 수신자에게 발송하려면 호출을 반복하거나 캠페인을 사용하세요.
전제 조건
- 블럭스 콘솔에서 알림톡 템플릿을 등록하고 카카오 비즈메시지 심사 승인을 완료해야 합니다.
- 템플릿에 사용된 변수(
#{변수명})는 API 호출 시template_params로 전달해야 합니다. - 대체발송(SMS/LMS)을 사용하려면 다음 두 가지가 모두 필요합니다.
- API 호출 시
resendParameter를 함께 전달합니다. - 발신 프로필에 발송 실패 설정이 미리 등록돼 있어야 합니다. 설정 없이
resendParameter만 전달하면 발송이 거절되어 응답의status가failed로 반환됩니다. 설정이 필요하면 블럭스 담당자에게 문의해 주세요.
- API 호출 시
발송 API
엔드포인트
POST https://api.blux.ai/prod/applications/{APPLICATION_ID}/notifications/send-alimtalk
인증
요청 시 Authorization 헤더에 발급받은 secret key를 포함해야 합니다:
Authorization: {SECRET_KEY}
요청 본문
{
"alimtalk_template_id": "string",
"phone_number": "01012345678",
"template_params": {
"변수명": "값"
},
"resendParameter": {
"resendType": "LMS",
"resendTitle": "string",
"resendContent": "string",
"resendSendNo": "0212345678"
}
}
필드 설명
| 필드 | 타입 | 설명 |
|---|---|---|
alimtalk_template_id | string | (필수) 콘솔에서 등록한 알림톡 템플릿 ID |
phone_number | string | (필수) 수신자 전화번호. 숫자 사이 -/공백 허용 (예: 01012345678, 010-1234-5678) |
template_params | object | (필수) 템플릿 변수에 매핑될 값. 키는 템플릿의 #{변수명}과 일치해야 합니다. 본문뿐 아니라 부가정보(extra)·버튼 URL/스킴 등에 포함된 모든 변수를 빠짐없이 채워야 하며, 누락 시 400 Bad Request (InvalidBodyParams, details.missing_variables)가 반환됩니다 |
resendParameter | object | (선택) 알림톡 발송 실패 시 LMS로 대체 발송하기 위한 정보 |
↳ resendType | "SMS" | "LMS" | (선택) 대체 발송 채널 타입 |
↳ resendTitle | string | (선택) 대체 발송 제목 (LMS/MMS) |
↳ resendContent | string | (선택) 대체 발송 본문 |
↳ resendSendNo | string | (선택) 대체 발송 시 발신 번호 |
응답
성공 시 (HTTP 200 OK):
{
"notification_id": "65f0a8b1c4d3e2f1a0b9c8d7",
"status": "sent"
}
벤더(NHN)가 발송 요청을 거절한 경우에도 200 OK로 응답되며 status가 failed로 표시됩니다:
{
"notification_id": "65f0a8b1c4d3e2f1a0b9c8d7",
"status": "failed",
"error_code": "FAILED_TO_SEND_NHN_KAKAO",
"error_message": "..."
}
필드 설명
| 필드 | 타입 | 설명 |
|---|---|---|
notification_id | string | 발송 요청에 대해 생성된 알림 ID |
status | "sent" | "failed" | 벤더 발송 요청이 성공(sent)했는지 거절(failed)됐는지. 단말기 수신 결과는 결과 웹훅으로 별도 전달 |
error_code | string | status=failed인 경우만 포함. 거절 사유 코드 |
error_message | string | status=failed인 경우만 포함. 거절 사유 메시지 |
상태 코드
| 코드 | errorCode | 설명 |
|---|---|---|
200 OK | — | 벤더 발송 요청 완료. 결과는 응답 본문의 status로 확인 (sent / failed) |
400 Bad Request | (validation) | 필수 필드 누락, 전화번호 형식 오류 등 잘못된 값 전달 시 |
400 Bad Request | InvalidBodyParams | 템플릿이 요구하는 변수가 누락된 경우 (details.missing_variables 참고) |
400 Bad Request | ResourceNotFound | 알림톡 템플릿을 찾을 수 없는 경우 |
400 Bad Request | ResourceNotReady | 템플릿이 발송 가능한 상태(카카오 비즈메시지 심사 승인 완료)가 아닌 경우 |
400 Bad Request | UnAuthorized | 인증 실패 (secret key 오류) |
429 Too Many Requests | TooManyRequests | 호출 한도 초과 (발송 한도 참고) |
500 Internal Server Error | — | 서버 내부 오류 |