본문으로 건너뛰기

메시지 발송

POST
/messages/v4/send-many/detail

하나 이상의 메시지를 발송하는 API입니다. 만 건을 초과하는 메시지 발송이 필요한 경우 그룹 메시지 API를 사용하는 것을 권장합니다.

  • 발신번호는 사전 등록 필수 → 발신번호 관리
  • 발송 내역 확인 → 문자발송 내역
  • 데이터 보관기간: 6개월 (생성일 기준)
  • 발송할 수 있는 메시지가 없을 경우 자세한 에러 내역을 결과로 반환
  • 6개월이 지난 내역은 조회 불가능

메시지 타입별 비교

구분내용 길이 제한필수 필드선택 필드주요 특징autoTypeDetect 조건
SMS (단문)
90 byte
(한글 45자)
messages.from
messages.to
messages.text
없음
일반 문자 메시지
text 필드가 90byte 이하일 경우
LMS (장문)
2,000 byte
(한글 1,000자)
messages.from
messages.to
messages.text
messages.subject
장문 문자 메시지
(수신자 데이터 통신 필요)
text 필드가 90byte를 초과하거나
subject 필드가 있을 경우
MMS (사진 문자)
2,000 byte
(한글 1,000자)
messages.from
messages.to
messages.text
messages.imageId
messages.subject
이미지 첨부 가능
(수신자 데이터 통신 필요)
이미지: JPG, 최대 200KB
imageId 필드가 있을 경우
카카오 알림톡 (ATA)
한글 1,000자
(변수 치환 후 기준)
messages.to
kakaoOptions.pfId
kakaoOptions.templateId
from
text
subject

[kakaoOptions]
disableSms
title
buttons
variables
replacements
사전 등록된 템플릿 사용
변수 치환 가능
실패 시 문자 대체 발송 가능
해당 없음
카카오 친구톡 (CTA)
1,000자
messages.to
messages.text
kakaoOptions.pfId
from
subject

[kakaoOptions]
buttons
disableSms
adFlag
replacements
수신자가 채널 친구여야 함
템플릿 없이 자유로운 내용 작성
광고 발송 가능 (adFlag)
해당 없음
카카오 이미지 친구톡 (CTI)
400자
messages.to
messages.text
kakaoOptions.pfId
kakaoOptions.imageId
from
subject

[kakaoOptions]
buttons
disableSms
adFlag
replacements
친구톡에 이미지 첨부

[이미지]
JPG/PNG
최대 500KB
특정 사이즈 제약 있음
해당 없음

카카오톡 알림톡(ATA)

사전에 등록된 템플릿 내용으로 알림톡을 발송하게 됩니다.
알림톡의 경우 템플릿으로 내용을 미리 정해놓지만 변수(치환문구)를 포함할 수 있어 발송할 때에도 내용을 지정해야 합니다.
본문 이외에도 강조 표기문구, 아이템 리스트, 부가정보 등을 모두 합하여 변수 치환 후 1,000자를 넘을 수 없습니다.

messages.kakaoOptions.disableSmsfalse 로 설정했을 경우 알림톡이 발송에 실패하게 됐을 때 문자로(SMS, LMS, MMS)로 대체 발송됩니다.

대체 발송이 될 경우 알림톡 가격은 환불되고 각 문자 타입에 맞는 금액이 차감됩니다.


템플릿 변수 설정 방법

messages.kakaoOptions.variables 파라미터를 사용하면 템플릿의 변수만 간단히 지정할 수 있습니다.

인터랙티브 예제를 통해 카카오 알림톡 템플릿의 변수 설정 방법을 직접 체험해보세요!

  • 카카오 알림톡 미리보기: 각 항목을 클릭하여 내용을 수정할 수 있습니다
  • JSON 데이터: 변수 값이 실시간으로 반영됩니다
  • 양방향 동기화: 왼쪽에서 수정하면 오른쪽 JSON이 업데이트되고, JSON을 직접 수정해도 왼쪽 미리보기가 변경됩니다
알림톡 도착

안녕하세요,고객님!

회원 유형
가입일
회원 ID

🎉 가입 혜택


친구톡 (CTA)

친구톡은 수신자가 발송하는 채널에 친구가 추가되어 있을 경우에만 성공적으로 전송되며 친구가 아닌 대상에게 발송할 경우 발송에 실패하고 가격은 환불됩니다. 대체발송을 허용할 경우 친구가 아닌 사용자에게도 문자(SMS, LMS)로 다시 발송됩니다. 본문은 1,000자를 넘길 수 없습니다.

알림톡과 다르게 사전에 템플릿을 등록할 필요 없이 원하는 내용을 바로 작성하여 전송할 수 있으며 광고도 보낼 수 있습니다.
광고성 친구톡을 보낼 경우 messages.kakaoOptions.adFlag 필드를 true로 설정해야 합니다.


이미지 친구톡 (CTI)

친구톡과 동일하지만 이미지를 첨부하여 보낼 수 있으며 가격이 다릅니다. 본문은 400자를 넘을 수 없습니다.

  • 이미지 타입: kakao
  • 권장 크기: 720px * 720px
  • 크기 제한: 가로 500px 미만 또는 가로:세로 비율이 2:1 미만 또는 3:4 초과시 업로드 불가
  • 용량 제한: 최대 500KB
  • 파일 형식: JPG, PNG

Body Params

NameTypeRequiredDescription
messages
Array<Object>
O
발송할 메시지 내용
scheduledDate
date
-
메시지 예약 날짜. 날짜가 지정되면 해당 시간에 메시지가 발송됩니다. 만약 현재 시간보다 이전으로 지정하면 즉시 발송됩니다. 예약 즉시 일일발송량에 영향을 주며 잔액은 발송 시 차감됩니다.
strict
boolean
-
엄격 검사 여부. 기본값: `false`
- 유요하지 않은 문자 검사(아닐 시 자체적으로 삭제).
- LMS 나 MMS에서 제목 여부 검사. (아닐 시 문자 내용에서 제목을 구함).
- 템플릿을 발송 전 검사(아닐 시 발송 후 실패).
agent
Object
-
에이전트
allowDuplicates
boolean
-
중복 수신번호 허용 여부. 기본값: `false`
showMessageList
boolean
-
응답에 메시지도 포함시킬지 선택 여부.

Response

NameTypeShould ReturnDescription
failedMessageList
Array<Object>
O
등록 실패된 메시지 목록. 여기 목록에 포함되어 있는 메시지는 발송되지 않은 메시지입니다.
groupInfo
Object
O
발송 요청한 메시지들의 그룹 정보

Structures

{6 properties
"messages":
[1 items...]
{16 properties...}
"to": "string",
"from": "string",
"text": "string",
"type": "string",
"country": "string",
"subject": "string",
"imageId": "string",
"kakaoOptions":
{17 properties...}
"pfId": "string",
"templateId": "string",
"senderKey": "string",
"title": "string",
"adFlag": "boolean",
"templateCode": "string",
"buttonName": "string",
"buttonUrl": "string",
"disableSms": "boolean",
"imageId": "string",
"variables":
{3 properties...}
"#{홍길동}": "string",
"#{010-0000-0000}": "string",
"#{2021년 6월 17일}": "string"
}
,
"quickReplies":
[1 items...]
{8 properties...}
"name": "string",
"linkType": "string",
"linkMo": "string",
"linkPc": "string",
"linkAnd": "string",
"linkIos": "string",
"chatExtra": "string",
"targetOut": "boolean"
}
]
,
"highlight":
{1 properties...}
"title": "string"
}
,
"header": "string",
"item":
{2 properties...}
"list":
[1 items...]
{1 properties...}
"description": "string"
}
]
,
"summary":
{1 properties...}
"description": "string"
}
}
,
"buttons":
[1 items...]
{8 properties...}
"buttonName": "string",
"buttonType": "string",
"linkMo": "string",
"linkPc": "string",
"linkAnd": "string",
"linkIos": "string",
"chatExtra": "string",
"targetOut": "boolean"
}
]
,
"bms":
{1 properties...}
"targeting": "string"
}
}
,
"naverOptions":
{5 properties...}
"talkId": "string",
"templateId": "string",
"disableSms": "boolean",
"variables":
{3 properties...}
"#{홍길동}": "string",
"#{010-0000-0000}": "string",
"#{2021년 6월 17일}": "string"
}
,
"buttons":
[1 items...]
{7 properties...}
"buttonCode": "string",
"buttonName": "string",
"buttonType": "string",
"linkMo": "string",
"linkPc": "string",
"linkAnd": "string",
"linkIos": "string"
}
]
}
,
"rcsOptions":
{9 properties...}
"brandId": "string",
"templateId": "string",
"copyAllowed": "boolean",
"variables":
{3 properties...}
"{{홍길동}}": "string",
"{{010-0000-0000}}": "string",
"{{2021년 6월 17일}}": "string"
}
,
"mmsType": "string",
"commercialType": "boolean",
"disableSms": "boolean",
"additionalBody":
[1 items...]
{4 properties...}
"title": "string",
"description": "string",
"imageId": "string",
"buttons":
[1 items...]
{12 properties...}
"buttonType": "string",
"buttonName": "string",
"link": "string",
"latitude": "string",
"longitude": "string",
"label": "string",
"query": "string",
"title": "string",
"startTime": "date",
"endTime": "date",
"text": "string",
"phone": "string"
}
]
}
]
,
"buttons":
[1 items...]
{12 properties...}
"buttonType": "string",
"buttonName": "string",
"link": "string",
"latitude": "string",
"longitude": "string",
"label": "string",
"query": "string",
"title": "string",
"startTime": "date",
"endTime": "date",
"text": "string",
"phone": "string"
}
]
}
,
"faxOptions":
{1 properties...}
"fileIds":
[1 items...]
{
}
]
}
,
"voiceOptions":
{6 properties...}
"voiceType": "string",
"headerMessage": "string",
"tailMessage": "string",
"replyRange": "number",
"counselorNumber": "string",
"variables":
{
}
}
,
"customFields":
{1 properties...}
"key": "string"
}
,
"autoTypeDetect": "boolean",
"hint":
{
}
,
"replacements":
[1 items...]
{4 properties...}
"to": "string",
"from": "string",
"text": "string",
"customFields":
{1 properties...}
"key": "string"
}
}
]
}
]
,
"scheduledDate": "date",
"strict": "boolean",
"agent":
{3 properties...}
"appId": "string",
"osPlatform": "string",
"sdkVersion": "string"
}
,
"allowDuplicates": "boolean",
"showMessageList": "string"
}
{2 properties
"failedMessageList":
[1 items...]
{8 properties...}
"to": "string",
"from": "string",
"type": "string",
"country": "string",
"messageId": "string",
"statusCode": "string",
"statusMessage": "string",
"accountId": "string"
}
]
,
"groupInfo":
{28 properties...}
"count":
{9 properties...}
"total": "number",
"sentTotal": "number",
"sentFailed": "number",
"sentSuccess": "number",
"sentPending": "number",
"sentReplacement": "number",
"refund": "number",
"registeredFailed": "number",
"registeredSuccess": "number"
}
,
"countForCharge":
{23 properties...}
"sms":
{2 properties...}
"82": "number",
"101": "number"
}
,
"lms":
{2 properties...}
"82": "number",
"101": "number"
}
,
"mms":
{2 properties...}
"82": "number",
"101": "number"
}
,
"ata":
{2 properties...}
"82": "number",
"101": "number"
}
,
"cta":
{2 properties...}
"82": "number",
"101": "number"
}
,
"cti":
{2 properties...}
"82": "number",
"101": "number"
}
,
"nsa":
{2 properties...}
"82": "number",
"101": "number"
}
,
"rcs_sms":
{2 properties...}
"82": "number",
"101": "number"
}
,
"rcs_lms":
{2 properties...}
"82": "number",
"101": "number"
}
,
"rcs_mms":
{2 properties...}
"82": "number",
"101": "number"
}
,
"rcs_tpl":
{2 properties...}
"82": "number",
"101": "number"
}
,
"rcs_itpl":
{2 properties...}
"82": "number",
"101": "number"
}
,
"rcs_ltpl":
{2 properties...}
"82": "number",
"101": "number"
}
,
"fax":
{2 properties...}
"82": "number",
"101": "number"
}
,
"voice":
{2 properties...}
"82": "number",
"101": "number"
}
,
"bms_text":
{2 properties...}
"82": "number",
"101": "number"
}
,
"bms_image":
{2 properties...}
"82": "number",
"101": "number"
}
,
"bms_wide":
{2 properties...}
"82": "number",
"101": "number"
}
,
"bms_wide_item_list":
{2 properties...}
"82": "number",
"101": "number"
}
,
"bms_carousel_feed":
{2 properties...}
"82": "number",
"101": "number"
}
,
"bms_premium_video":
{2 properties...}
"82": "number",
"101": "number"
}
,
"bms_commerce":
{2 properties...}
"82": "number",
"101": "number"
}
,
"bms_carousel_commerce":
{2 properties...}
"82": "number",
"101": "number"
}
}
,
"balance":
{5 properties...}
"requested": "number",
"replacement": "number",
"additional": "number",
"refund": "number",
"sum": "number"
}
,
"point":
{5 properties...}
"requested": "number",
"replacement": "number",
"additional": "number",
"refund": "number",
"sum": "number"
}
,
"app":
{3 properties...}
"profit":
{23 properties...}
"sms": "number",
"lms": "number",
"mms": "number",
"ata": "number",
"cta": "number",
"cti": "number",
"nsa": "number",
"rcs_sms": "number",
"rcs_lms": "number",
"rcs_mms": "number",
"rcs_tpl": "number",
"rcs_itpl": "number",
"rcs_ltpl": "number",
"fax": "number",
"voice": "number",
"bms_text": "number",
"bms_image": "number",
"bms_wide": "number",
"bms_wide_item_list": "number",
"bms_carousel_feed": "number",
"bms_premium_video": "number",
"bms_commerce": "number",
"bms_carousel_commerce": "number"
}
,
"app": "string",
"version": "string"
}
,
"serviceMethod": "string",
"sdkVersion": "string",
"osPlatform": "string",
"log":
[1 items...]
{7 properties...}
"createAt": "date",
"message": "string",
"oldBalance": "number",
"newBalance": "number",
"oldPoint": "number",
"newPoint": "number",
"totalPrice": "number"
}
]
,
"status": "string",
"dateSent": "date",
"scheduledDate": "date",
"dateCompleted": "date",
"isRefunded": "boolean",
"flagUpdated": "boolean",
"prepaid": "boolean",
"strict": "boolean",
"masterAccountId": "string",
"allowDuplicates": "boolean",
"_id": "string",
"accountId": "string",
"apiVersion": "string",
"customFields":
{1 properties...}
"key": "string"
}
,
"hint": "string",
"groupId": "string",
"price":
{1 properties...}
"82":
{23 properties...}
"sms": "number",
"lms": "number",
"mms": "number",
"ata": "number",
"cta": "number",
"cti": "number",
"nsa": "number",
"rcs_sms": "number",
"rcs_lms": "number",
"rcs_mms": "number",
"rcs_tpl": "number",
"rcs_itpl": "number",
"rcs_ltpl": "number",
"fax": "number",
"voice": "number",
"bms_text": "number",
"bms_image": "number",
"bms_wide": "number",
"bms_wide_item_list": "number",
"bms_carousel_feed": "number",
"bms_premium_video": "number",
"bms_commerce": "number",
"bms_carousel_commerce": "number"
}
}
,
"dateCreated": "date",
"dateUpdated": "date"
}
}