POST/messages/v4/send-many/detail
하나 이상의 메시지를 발송하는 API입니다. 만 건을 초과하는 메시지 발송이 필요한 경우 그룹 메시지 API를 사용하는 것을 권장합니다.
lightbulb
발송 내역 확인 → 문자발송 내역
데이터 보관기간: 12개월 (생성일 기준)
*메시지 발송 내역의 보관기간이 2026년 8월 20일부터 기존 6개월에서 12개월로 변경되었습니다.
다만, 보관기간 변경일을 기준으로 데이터의 보관기간이 적용되므로, 2026년 8월 20일 이전에 생성된 발송 내역과 이후 생성된 발송 내역의 보관기간이 다르게 적용될 수 있습니다.
발송할 수 있는 메시지가 없을 경우 자세한 에러 내역을 결과로 반환
데이터 보관 기간이 초과한 내역은 조회 불가능
POST/messages/v4/send-many/fast
대량 메시지를 빠르게 접수하는 FAST API입니다. 요청과 응답 형식은 /messages/v4/send-many/detail과 동일하여 경로만 변경해 사용할 수 있으며, 접수 성능이 중요한 대량·고빈도 발송에 권장합니다.
메시지 타입별 비교
| 구분 | 길이 제한 | 필수 필드 | 주요 특징 |
|---|
SMS (단문) | 90 byte (한글 45자) | from, to, text | 일반 문자 메시지 |
LMS (장문) | 2,000 byte (한글 1,000자) | from, to, text | 장문 문자 메시지 (수신자 데이터 통신 필요) |
MMS (사진문자) | 2,000 byte (한글 1,000자) | from, to, text, imageId | 이미지 첨부 (JPG, 최대 200KB) |
카카오 알림톡 (ATA) | 한글 1,000자 (변수 치환 후) | to, kakaoOptions.pfId, kakaoOptions.templateId | 사전 등록 템플릿 변수 치환 가능 |
카카오 브랜드 메시지 템플릿형 | 템플릿 기준 | to, kakaoOptions.pfId, kakaoOptions.templateId, kakaoOptions.bms.targeting | 브랜드 메시지 템플릿 기반 |
카카오 브랜드 메시지 자유형 | 타입별 상이 | to, kakaoOptions.pfId, kakaoOptions.bms.targeting, kakaoOptions.bms.chatBubbleType | 템플릿 없이 자유 발송 |
| RCS SMS | 100 byte | from, to, text, rcsOptions | RCS 단문 |
| RCS LMS | 1,300 자 | from, to, text, rcsOptions | RCS 장문 |
| RCS MMS | 1,300 자 | from, to, text, rcsOptions | RCS 이미지 첨부 |
| RCS 템플릿 | 템플릿 기준 | from, to, rcsOptions.templateId | RCS 템플릿 기반 |
네이버 스마트알림톡 (NSA) | 템플릿 기준 | to, naverOptions.talkId naverOptions.templateId | 네이버 템플릿 기반 |
자동 타입 감지
messages[].autoTypeDetect 필드가 true(기본값)일 때, 시스템이 자동으로 메시지 타입을 결정합니다.
| 조건 | 결정되는 타입 |
|---|
text 필드가 90byte 이하 | SMS |
text 필드가 90byte 초과 또는 subject 필드 존재 | LMS |
imageId 필드 존재 | MMS |
kakaoOptions.templateId 존재 (+ bms.targeting 없음) | 알림톡 (ATA) |
kakaoOptions.templateId + kakaoOptions.bms.targeting 존재 | BMS 템플릿형 |
| `kakaoOptions.bms.chatBubbleType 존재 | BMS 자유형 |
lightbulb
messages[].type 필드를 명시적으로 지정하면 autoTypeDetect를 무시하고 해당 타입으로 발송합니다.
Body Params
| Name | Type | REQ | Description |
|---|
| messages | Array<Object> | true | 발송할 메시지 내용 |
| to | String | true | 수신번호. 발송할 때는 숫자만 입력해야 됩니다. 해외로 발송할 경우 "+"(더하기) 기호와 국가 번호는 제외하고 입력해주세요. 국가번호는 country 필드에 입력해야 합니다. |
| from | String | | 발신번호. 사전 등록된 전화번호만 사용 가능합니다. 문자(SMS, LMS, MMS, FAX)를 보낼 때는 필수입니다. 알림톡, 친구톡을 보내는 경우에는 빈 값도 허용되지만 대체발송 시 문자 발송은 실패합니다. |
| text | String | | 메시지 내용 SMS: 90byte 제한 나머지: 2000byte 제한 |
| type | String | | • SMS: 단문 문자 • LMS: 장문 문자 • MMS: 사진 문자 • ATA: 알림톡 • CTA: 친구톡 • CTI: 친구톡 + 이미지 • NSA: 네이버 스마트 알림 • RCS_SMS: RCS 단문 문자 • RCS_LMS: RCS 장문 문자 • RCS_MMS: RCS 사진 문자 • RCS_TPL: RCS 템플릿 문자 • RCS_ITPL: RCS 이미지 템플릿 문자 • RCS_LTPL: RCS LMS 템플릿 문자 • FAX: 팩스 • VOICE: 보이스콜 • BMS_TEXT: 브랜드 메시지 텍스트형 • BMS_IMAGE: 브랜드 메시지 이미지형 • BMS_WIDE: 브랜드 메시지 와이드형 • BMS_WIDE_ITEM_LIST: 브랜드 메시지 와이드 아이템 리스트형 • BMS_CAROUSEL_FEED: 브랜드 메시지 캐러셀 피드형 • BMS_PREMIUM_VIDEO: 브랜드 메시지 프리미엄 비디오형 • BMS_COMMERCE: 브랜드 메시지 커머스형 • BMS_CAROUSEL_COMMERCE: 브랜드 메시지 캐러셀 커머스형 • BMS_FREE: 브랜드 메시지 자유형 |
| country | String | | 국가번호 (기본: 82, 미국(캐나다):1, 중국: 86, 일본: 81) |
| subject | String | | 메시지 제목. 40byte 제한. LMS, MMS, FAX 에서만 사용 가능합니다. ATA, CTA, CTI, NSA, RCS_SMS, RCS_LMS, RCS_MMS, RCS_TPL에서도 설정 가능하지만 LMS로 대체발송 될 때 사용됩니다. 설정하지 않았을 경우 메시지 본문 내용 앞 40byte가 자동으로 들어갑니다. |
| imagedId | String | | MMS 발송 시 사용되는 이미지의 고유 아이디. 이미지 타입이 MMS일 경우에만 사용 가능합니다. 이미지 관리 페이지 (로그인 필요) 스토리지 API |
| kakaoOptions | Object | | 친구톡, 알림톡을 보내기 위한 옵션 |
| pfId | String | | 카카오톡 채널 연동 아이디 카카오톡 채널 관리 페이지 (로그인 필요) 카카오톡 채널 관리 API |
| templateId | String | | 알림톡 템플릿 연동 아이디 알림톡 템플릿 관리 페이지 (로그인 필요) 알림톡 템플릿 API |
| title | String | | 강조표기문구 |
| adFlag | Boolean | | 친구톡 광고 문자 여부. 기본값 false 친구톡 광고를 보낼 때 해당 값을 제대로 설정하지 않으면 카카오톡 채널 사용에 패널티가 가해질 수 있습니다. |
| disableSms | Boolean | | 대체발송여부. 기본값 false
false 로 설정했을 경우 해당건이 발송에 실패하게 됐을 때 문자로(SMS, LMS)로 대체 발송됩니다. 대체 발송이 될 경우 기존 가격은 환불되고 각 문자 타입에 맞는 금액이 차감됩니다. |
| variables | Object | | 카카오톡 템플릿 대체 문구 입력 오브젝트 |
| #{홍길동} | String | | 템플릿에 포함된 대체문구 |
| #{010-0000-0000} | String | | 템플릿에 포함된 대체문구 |
| #{2026년 2월 27일} | String | | 템플릿에 포함된 대체문구 |
| quickReplies | Array<Object> | | 바로 연결. 최소 1개, 최대 10개 |
| name | String | true | 바로 연결 이름. 변수 포함 불가능 |
| linkType | String | true | 링크타입 |
| linkMo | String | | 모바일 링크(WL 웹링크) |
| linkPc | String | | 웹 링크(WL 웹링크) |
| linkAnd | String | | 안드로이드 링크(AL 앱링크) |
| linkAnd | String | | IOS 링크(AL 앱링크) |
| linkIos | String | | 상담톡 전환 시 전달할 메타정보 |
| chatExtra | String | | 링크 클릭 시 외부 브라우저로 열기 여부. 기본값 false |
| targetOut | Boolean | | 알림톡 하이라이트. 강조 유형이 아이템 리스트일 때만 사용 가능합니다. |
| highlight | Object | | 알림톡 하이라이트. 강조 유형이 아이템 리스트일 때만 사용 가능합니다. |
| title | String | | 알림톡 하이라이트 제목. 변수 포함 가능. 최대 30자 |
| header | String | | 알림톡 헤더. 강조 유형이 아이템 리스트일 때만 사용 가능합니다. 변수 포함 가능. 최대 16자 |
| item | Object | | 알림톡 아이템. 목록과 요약이 있습니다. 강조 유형이 아이템 리스트일 때만 사용 가능합니다. |
| list | Array<Object> | | 알림톡 아이템 리스트. 최소 2개, 최대 10개까지 등록할 수 있습니다. |
| description | String | | 알림톡 아이템 리스트 제목. 변수 포함 가능. 최대 23자 |
| summary | Object | | 알림톡 아이템 리스트 요약. |
| description | String | | 알림톡 아이템 리스트 요약 내용. 변수 포함 가능. 화폐 단위, 숫자, 쉼표, 마침표만 사용 가능합니다. 최대 14자. |
| buttons | Array<Object> | | 알림톡, 템플릿 버튼 목록 |
| buttonName | String | true | 버튼 이름 |
| buttonType | String | true | 버튼 유형. TODO 버튼유형 안내문서 |
| linkMo | String | | 모바일 링크(WL 웹링크) |
| linkPc | String | | 웹 링크(WL 웹링크) |
| linkAnd | String | | 안드로이드 링크(AL 앱링크) |
| linkIos | String | | IOS 링크(AL 앱링크) |
| chatExtra | String | | 상담톡 전환 시 전달할 메타정보 |
| targetOut | Boolean | | 링크 클릭 시 외부 브라우저로 열기 여부. 기본값 false |
| bms | Object | | 브랜드 메시지 옵션 |
| targeting | String | | 발송범위 - M(마케팅수신동의유저) - N(마케팅수신동의유저에서 채널친구 제외) - I(채널친구) |
| chatBubbleType | String | | - |
| adult | Boolean | | - |
| header | String | | - |
| imageId | String | | MMS 발송 시 사용되는 이미지의 고유 아이디. 이미지 타입이 MMS일 경우에만 사용 가능합니다. 이미지 관리 페이지 (로그인 필요) TODO 이미지 관리 API |
| imageLink | String | | - |
| additionalContent | String | | - |
| content | String | | - |
| carousel | Object | | - |
| mainWideItem | Object | | - |
| subWideItemList | Array | | - |
| buttons | Array | | - |
| commerce | Object | | - |
| coupon | Object | | - |
| video | Object | | - |
| naverOptions | Object | | 네이버 스마트 알림을 보내기 위한 옵션 |
| talkId | String | | 테스트에서 발급된 네이버 톡톡 연동 아이디 |
| templateId | String | | 네이버 스마트 알림 템플릿 아이디 |
| disableSms | Boolean | | 대체발송여부. false 로 설정했을 경우 해당건이 발송에 실패하게 됐을 때 문자로(SMS, LMS)로 대체 발송됩니다. 대체 발송이 될 경우 기존 가격은 환불되고 각 문자 타입에 맞는 금액이 차감됩니다. 기본값 false |
| variables | Object | | 네이버 템플릿 대체 문구 입력 오브젝트 |
| #{홍길동} | String | | 템플릿에 포함된 대체문구 |
| #{010-0000-0000} | String | | 템플릿에 포함된 대체문구 |
| #{2021년 6월 17일} | String | | 템플릿에 포함된 대체문구 |
| buttons | Array<Object> | | 네이버 스마트 알림 템플릿 버튼 목록 |
| buttonName | String | | 버튼 이름 |
| buttonType | String | true | 버튼 타입 |
| linkMo | String | | 모바일 링크 |
| linkPc | String | | 웹 링크 |
| linkAnd | String | | 안드로이드 앱 링크 |
| linkIos | String | | 아이폰 앱 링크 |
| rcsOptions | Object | | RCS 문자를 보내기 위한 옵션 |
| brandId | String | | 브랜드 아이디 |
| templateId | String | | RCS 템플릿 아이디 |
| copyAllowed | Boolean | | 문자 복사 가능 여부 |
| variables | Object | | RCS 템플릿 대체 문구 입력 오브젝트 |
| {{홍길동}} | String | | 템플릿에 포함된 대체문구 |
| {{010-0000-0000}} | String | | 템플릿에 포함된 대체문구 |
| {{2026년 2월 27일}} | String | | 템플릿에 포함된 대체문구 |
| mmsType | String | | 사진 문자 타입. 타입: "M3", "S3", "M4", "S4", "M5", "S5", "M6", "S6" (M: 중간 사이즈. S: 작은 사이즈. 숫자: 사진 개수) |
| commercialType | Boolean | | 광고 문자 여부 |
| disableSms | Boolean | | 대체발송여부. false 로 설정했을 경우 해당건이 발송에 실패하게 됐을 때 문자로(SMS, LMS)로 대체 발송됩니다. 대체 발송이 될 경우 기존 가격은 환불되고 각 문자 타입에 맞는 금액이 차감됩니다. 기본값 false |
| additionalBody | Array<Object> | | RCS 사진 문자 전송 시 필요한 오브젝트 |
| title | String | true | 슬라이드 제목 |
| description | String | true | 슬라이드 설명 |
| imageId | String | | MMS 발송 시 사용되는 이미지의 고유 아이디. 이미지 타입이 MMS일 경우에만 사용 가능합니다. 이미지 관리 페이지 (로그인 필요) TODO 이미지 관리 API |
| buttons | Array<Object> | | 슬라이드에 추가되는 버튼 목록 최대 2개 |
| buttonType | String | true | `WL'(웹링크), 'ML'(지도[좌표]), 'MQ'(지도[쿼리]), 'MR'(위치공유), 'CA'(캘린더생성), 'CL'(복사), 'DL'(전화걸기), 'MS'(메시지보내기) |
| buttonName | String | true | 버튼 이름 |
| link | String | | 버튼 타입 ML, MQ에 사용되는 링크 |
| latitude | String | | 버튼 타입 ML에 사용되는 위도 좌표 |
| longitude | String | | 버튼 타입 ML에 사용되는 경도 좌표 |
| label | String | | 버튼 타입 ML에 사용되는 레이블 |
| query | String | | 버튼 타입 MQ에 사용되는 쿼리 |
| title | String | | 버튼 타입 CA에 사용되는 일정 이름 |
| startTime | Date | | 버튼 타입 CA에 사용되는 일정 시작일 |
| endTime | Date | | 버튼 타입 CA에 사용되는 일정 종료작일 |
| text | String | | 메시지 내용 SMS: 90byte 제한 나머지: 2000byte 제한 |
| phone | String | | 핸드폰 번호 버튼 타입 DL과 MS에 사용됨 |
| buttons | Array<Object> | | RCS 템플릿 버튼 목록 |
| buttonType | String | true | 'WL'(웹링크), 'ML'(지도[좌표]), 'MQ'(지도[쿼리]), 'MR'(위치공유), 'CA'(캘린더생성), 'CL'(복사), 'DL'(전화걸기), 'MS'(메시지보내기) |
| buttonName | String | true | 버튼 이름 |
| link | String | | 버튼 타입 ML, MQ에 사용되는 링크 |
| latitude | String | | 버튼 타입 ML에 사용되는 위도 좌표 |
| longitude | String | | 버튼 타입 ML에 사용되는 경도 좌표 |
| label | String | | 버튼 타입 ML에 사용되는 레이블 |
| query | String | | 버튼 타입 MQ에 사용되는 쿼리 |
| title | String | | 버튼 타입 CA에 사용되는 일정 이름 |
| startTime | Date | | 버튼 타입 CA에 사용되는 일정 시작일 |
| endTime | Date | | 버튼 타입 CA에 사용되는 일정 종료작일 |
| text | String | | 메시지 내용 SMS: 90byte 제한 나머지: 2000byte 제한 |
| phone | String | | 핸드폰 번호 버튼 타입 DL과 MS에 사용됨 |
| faxOptions | Object | | - |
| fileIds | | | - |
| voiceOptions | Object | | 보이스 옵션 |
| voiceType | String | | 'MALE', 'FEMALE' (보이스 타입 '남자', '여자') |
| headerMessage | String | | 머리말. 통화 시작시 나오는 메시지 (최대 135자) |
| tailMessage | String | | 맺음말. 통화가 끝나고 나오는 메시지, 상담원 연결 시 나오지 않음. 머리말이 있어야 사용가능 (최대 135자) |
| replyRange | Number | | 통화 내용이 나온 후 1~3번까지의 버튼으로 받는 답변 (수신자에게서 입력받을 숫자, 1~9까지 입력가능, '3'입력 시 1~3번까지 누를 수 있음.) |
| counselorNumber | String | | 상담원번호, 번호 입력 시 통화 내용이 나온 후 0번을 누르면 상담원 연결 (replyRange와 같이 사용 불가) |
| variables | Object | | 대체 문구 입력 오브젝트 |
| customFields | Object | | 확장 필드로 사용. 키는 30자, 값은 100자 제한 |
| key | String | | 확장 필드. 키는 30자, 값은 1,000자 제한 |
| autoTypeDetect | Boolean | | type 필드를 직접 지정하지 않았을 경우 자동으로 타입을 지정하게 할 수 있는 값입니다. 기본값 true |
| replacements | Array<Object> | | 대체발송 옵션, 최대 3개까지 가능하며 각 메시지 실패시 순서대로 넘어감, 각 메시지안에 들어가는 정보는 다른 메시지 입력값과 같음 |
| to | String | | 수신번호. 발송할 때는 숫자만 입력해야 됩니다. 해외로 발송할 경우 "+"(더하기) 기호와 국가 번호는 제외하고 입력해주세요. 국가번호는 country 필드에 입력해야 합니다. |
| from | String | | 발신번호. 사전 등록된 전화번호만 사용 가능합니다. 문자(SMS, LMS, MMS, FAX)를 보낼 때는 필수입니다. 알림톡, 친구톡을 보내는 경우에는 빈 값도 허용되지만 대체발송 시 문자 발송은 실패합니다. |
| text | String | | 메시지 내용 SMS: 90byte 제한 나머지: 2000byte 제한 |
| customFields | Object | | 확장 필드로 사용. 키는 30자, 값은 100자 제한 |
| key | String | | 확장 필드. 키는 30자, 값은 1,000자 제한 |
| scheduledDate | Date | | 메시지 예약 날짜. 날짜가 지정되면 해당 시간에 메시지가 발송됩니다. 만약 현재 시간보다 이전으로 지정하면 즉시 발송됩니다. 예약 즉시 일일발송량에 영향을 주며 잔액은 발송 시 차감됩니다. |
| strict | Boolean | | 엄격 검사 여부. 기본값 false - 유효하지 않은 문자 검사(아닐 시 자체적으로 삭제). - LMS 나 MMS에서 제목 여부 검사. (아닐 시 문자 내용에서 제목을 구함). - 템플릿을 발송 전 검사(아닐 시 발송 후 실패) - 고속 접수 에선 지원하지 않습니다. |
| agent | Object | | 에이전트 |
| appId | String | | 앱 아이디 |
| osPlatform | String | | OS 플랫폼 |
| sdkVersion | String | | SDK 버전 |
| allowDuplicates | Boolean | | 중복 수신번호 허용 여부. 기본값 false |
| showMessageList | Boolean | | 응답에 메시지 포함 선택 여부 |
Response
| Name | Type | must | Description |
|---|
| failedMessageList | Array<Object> | true | 등록 실패된 메시지 목록. 여기 목록에 포함되어 있는 메시지는 발송되지 않은 메시지입니다. |
| to | String | true | 수신번호 |
| from | String | true | 발신번호 |
| type | String | true | • SMS: 단문 문자 • LMS: 장문 문자 • MMS: 사진 문자 • ATA: 알림톡 • CTA: 친구톡 • CTI: 친구톡 + 이미지 • NSA: 네이버 스마트 알림 • RCS_SMS: RCS 단문 문자 • RCS_LMS: RCS 장문 문자 • RCS_MMS: RCS 사진 문자 • RCS_TPL: RCS 템플릿 문자 • RCS_ITPL: RCS 이미지 템플릿 문자 • RCS_LTPL: RCS LMS 템플릿 문자 • FAX: 팩스 • VOICE: 보이스콜 • BMS_TEXT: 브랜드 메시지 텍스트형 • BMS_IMAGE: 브랜드 메시지 이미지형 • BMS_WIDE: 브랜드 메시지 와이드형 • BMS_WIDE_ITEM_LIST: 브랜드 메시지 와이드 아이템 리스트형 • BMS_CAROUSEL_FEED: 브랜드 메시지 캐러셀 피드형 • BMS_PREMIUM_VIDEO: 브랜드 메시지 프리미엄 비디오형 • BMS_COMMERCE: 브랜드 메시지 커머스형 • BMS_CAROUSEL_COMMERCE: 브랜드 메시지 캐러셀 커머스형 • BMS_FREE: 브랜드 메시지 자유형 |
| country | String | true | 국가번호 (기본: 82, 미국(캐나다):1, 중국: 86, 일본: 81) |
| messageId | String | true | 메시지 아이디 |
| statusCode | String | true | 상태 코드 참고 |
| statusMessage | String | true | 상태 메시지 참고 |
| accountId | String | true | 조직 고유 번호 |
| groupInfo | Object | true | 발송 요청한 메시지들의 그룹 정보 |
| _id | String | true | 그룹 고유 아이디. groupId와 동일 |
| groupId | String | true | 그룹 아이디 |
| accountId | String | true | 조직 고유 번호 |
| apiVersion | String | true | API 버전 |
| status | String | true | 그룹 상태 PENDING - 대기중 SENDING - 이미 발송 요청된 그룹 DELETED - 삭제 처리된 그룹 FAILED - 실패 처리된 그룹 COMPLETE - 발송 완료된 그룹 SCHEDULED - 발송 예약된 그룹 |
| serviceMethod | String | true | 서비스 메소드. MT: 문자 |
| sdkVersion | String | true | SDK 버전 |
| osPlatform | String | true | OS / Platform |
| prepaid | Boolean | true | 선불 여부. false일 시 후불로 차감되는 건 |
| strict | Boolean | true | 엄격 검사 여부. 기본값: false - 유요하지 않은 문자 검사(아닐 시 자체적으로 삭제). - LMS 나 MMS에서 제목 여부 검사. (아닐 시 문자 내용에서 제목을 구함). - 템플릿을 발송 전 검사(아닐 시 발송 후 실패). |
| isRefunded | Boolean | true | 환급 여부 |
| flagUpdated | Boolean | true | 업데이트 여부 |
| allowDuplicates | Boolean | true | 중복 수신번호 허용 여부. 기본값: false |
| masterAccountId | String | true | 해당 서브 조직을 관리하고 있는 마스터조직 |
| hint | String | | - |
| dateSent | Date | true | 발송 일시 |
| scheduledDate | Date | true | 메시지 예약 날짜 |
| dateCompleted | Date | true | 완료 일시 |
| dateCreated | Date | true | 생성 일시 |
| dateUpdated | Date | true | 업데이트 일시 |
| count | Object | true | 카운트 |
| total | Number | true | 토탈 |
| sentTotal | Number | true | 전체 발송 건수 |
| sentFailed | Number | true | 발송 실패 건수 |
| sentSuccess | Number | true | 발송 성공 건수 |
| sentPending | Number | true | 대기 건수 |
| sentReplacement | Number | true | 대체 발송 건수 |
| refund | Number | true | 환급 건수 |
| registeredFailed | Number | true | 접수 실패 건수 |
| registeredSuccess | Number | true | 접수 성공 건수 |
| countForCharge | Object | true | 차감 카운트 |
| sms | Object | true | 단문 문자 차감 건수 |
| 82 | Number | | 대한민국 단문 문자 차감 건수 |
| 101 | Number | | 특정국가의 단문 문자 차감 건수 |
| lms | Object | true | 장문 문자 차감 건수 |
| 82 | Number | | 대한민국 장문 문자 차감 건수 |
| 101 | Number | | 특정국가의 장문 문자 차감 건수 |
| mms | Object | true | 사진 문자 차감 건수 |
| 82 | Number | | 대한민국 사진 문자 차감 건수 |
| 101 | Number | | 특정국가의 사진 문자 차감 건수 |
| ata | Object | true | 알림톡 차감 건수 |
| 82 | Number | | 대한민국 알림톡 차감 건수 |
| 101 | Number | | 특정국가의 알림톡 차감 건수 |
| nsa | Object | true | 네이버 스마트 알림 차감 건수 |
| 82 | Number | | 대한민국 네이버 스마트 알림 차감 건수 |
| 101 | Number | | 특정국가의 네이버 스마트 알림 차감 건수 |
| rcs_sms | Object | true | RCS 단문 문자 차감 건수 |
| 82 | Number | | 대한민국 RCS 단문 문자 차감 건수 |
| 101 | Number | | 특정국가의 RCS 단문 문자 차감 건수 |
| rcs_lms | Object | true | RCS 장문 문자 차감 건수 |
| 82 | Number | | 대한민국 RCS 장문 문자 차감 건수 |
| 101 | Number | | 특정국가의 RCS 장문 문자 차감 건수 |
| rcs_mms | Object | true | RCS 사진 문자 차감 건수 |
| 82 | Number | | 대한민국 RCS 사진 문자 차감 건수 |
| 101 | Number | | 특정국가의 RCS 사진 문자 차감 건수 |
| rcs_tpl | Object | true | RCS 템플릿 문자 차감 건수 |
| 82 | Number | | 대한민국 RCS 템플릿 문자 차감 건수 |
| 101 | Number | | 특정국가의 RCS 템플릿 문자 차감 건수 |
| rcs_itpl | Object | true | RCS 이미지 템플릿 문자 차감 건수 |
| 82 | Number | | 대한민국 RCS 이미지 템플릿 문자 차감 건수 |
| 101 | Number | | 특정국가의 RCS 이미지 템플릿 문자 차감 건수 |
| rcs_ltpl | Object | true | RCS LMS 템플릿 문자 차감 건수 |
| 82 | Number | | 대한민국 RCS LMS 템플릿 문자 차감 건수 |
| 101 | Number | | 특정국가의 RCS LMS 템플릿 문자 차감 건수 |
| fax | Object | true | 팩스 차감 건수 |
| 82 | Number | | 대한민국 팩스 차감 건수 |
| 101 | Number | | 특정국가의 팩스 차감 건수 |
| voice | Object | true | 보이스콜 차감 건수 |
| 82 | Number | | 대한민국 보이스콜 차감 건수 |
| 101 | Number | | 특정국가의 보이스콜 차감 건수 |
| bms_text | Object | true | 브랜드 메시지 텍스트형 차감 건수 |
| 82 | Number | | 대한민국 브랜드 메시지 텍스트형 차감 건수 |
| 101 | Number | | 특정국가의 브랜드 메시지 텍스트형 차감 건수 |
| bms_image | Object | true | 브랜드 메시지 이미지형 차감 건수 |
| 82 | Number | | 대한민국 브랜드 메시지 이미지형 차감 건수 |
| 101 | Number | | 특정국가의 브랜드 메시지 이미지형 차감 건수 |
| bms_wide | Object | true | 브랜드 메시지 와이드형 차감 건수 |
| 82 | String | | 대한민국 브랜드 메시지 와이드형 차감 건수 |
| 101 | String | | |
| bms_wide_item_list | Object | true | 브랜드 메시지 와이드 아이템 리스트형 차감 건수 |
| 82 | Number | | 대한민국 브랜드 메시지 와이드 아이템 리스트형 차감 건수 |
| 101 | Number | | 특정국가의 브랜드 메시지 와이드 아이템 리스트형 차감 건수 |
| bms_carousel_feed | Object | true | 브랜드 메시지 캐러셀 피드형 차감 건수 |
| 82 | Number | | 대한민국 브랜드 메시지 캐러셀 피드형 차감 건수 |
| 101 | Number | | 특정국가의 브랜드 메시지 캐러셀 피드형 차감 건수 |
| bms_premium_video | Object | true | 브랜드 메시지 프리미엄 비디오형 차감 건수 |
| 82 | Number | | 대한민국 브랜드 메시지 프리미엄 비디오형 차감 건수 |
| 101 | Number | | 특정국가의 브랜드 메시지 프리미엄 비디오형 차감 건수 |
| bms_commerce | Object | true | 브랜드 메시지 커머스형 차감 건수 |
| 82 | Number | | 대한민국 브랜드 메시지 커머스형 차감 건수 |
| 101 | Number | | 특정국가의 브랜드 메시지 커머스형 차감 건수 |
| bms_carousel_commerce | Object | true | 브랜드 메시지 캐러셀 커머스형 차감 건수 |
| 82 | String | | 대한민국 브랜드 메시지 캐러셀 커머스형 차감 건수 |
| 101 | String | | 특정국가의 브랜드 메시지 캐러셀 커머스형 차감 건수 |
| bms_free | Object | true | 브랜드 메시지 자유형 차감 건수 |
| 82 | Number | | 대한민국 브랜드 메시지 자유형 차감 건수 |
| 101 | String | | 특정국가의 브랜드 메시지 자유형 차감 건수 |
| balance | Object | true | 잔액 |
| requested | Number | | 차감 금액 |
| replacement | Number | | 대체 발송 금액 |
| additional | Number | | 추가 차감 금액 |
| refund | Number | | 환급 금액 |
| sum | Number | | 합계 금액 |
| point | Object | true | 포인트 |
| requested | Number | | 차감 포인트 |
| replacement | Number | | 대체 발송 포인트 |
| additional | Number | | 추가 차감 금액 |
| refund | Number | | 환급 포인트 |
| sum | Number | | 합계 포인트 |
| app | Object | true | 앱 정보 |
| app | String | true | 앱 정보 |
| version | String | true | 앱 버전 |
| profit | Object | | 앱 사용 요금 |
| sms | Number | true | 단문 문자 사용 요금 |
| lms | Number | true | 장문 문자 사용 요금 |
| mms | Number | true | 사진 문자 사용 요금 |
| ata | Number | true | 알림톡 사용 요금 |
| nsa | Number | true | 네이버 스마트 알림 사용 요금 |
| rcs_sms | Number | true | RCS 단문 문자 사용 요금 |
| rcs_lms | Number | true | RCS 장문 문자 사용 요금 |
| rcs_mms | Number | true | RCS 사진 문자 사용 요금 |
| rcs_tpl | Number | true | RCS 템플릿 문자 사용 요금 |
| rcs_itpl | Number | true | RCS 이미지 템플릿 문자 사용 요금 |
| rcs_ltpl | Number | true | RCS LMS 템플릿 문자 사용 요금 |
| fax | Number | true | 팩스 사용 요금 |
| voice | Number | true | 보이스콜 사용 요금 |
| bms_text | Number | true | 브랜드 메시지 텍스트형 사용 요금 |
| bms_image | Number | true | 브랜드 메시지 이미지형 사용 요금 |
| bms_wide | Number | true | 브랜드 메시지 와이드형 사용 요금 |
| bms_wide_item_list | Number | true | 브랜드 메시지 와이드 아이템 리스트형 사용 요금 |
| bms_carousel_feed | Number | true | 브랜드 메시지 캐러셀 피드형 사용 요금 |
| bms_premium_video | Number | true | 브랜드 메시지 프리미엄 비디오형 사용 요금 |
| bms_commerce | Number | true | 브랜드 메시지 커머스형 사용 요금 |
| bms_carousel_commerce | Number | true | 브랜드 메시지 캐러셀 커머스형 사용 요금 |
| bms_free | Number | true | 브랜드 메시지 자유형 사용 요금 |
| price | Object | true | 단가 |
| 82 | Object | | 대한민국 문자 발송 단가 |
| sms | Number | true | 단문 문자 발송 단가 |
| lms | Number | true | 장문 문자 발송 단가 |
| mms | Number | true | 사진 문자 발송 단가 |
| ata | Number | true | 알림톡 발송 단가 |
| nsa | Number | true | 네이버 스마트 알림 발송 단가 |
| rcs_sms | Number | true | RCS 단문 문자 발송 단가 |
| rcs_lms | Number | true | RCS 장문 문자 발송 단가 |
| rcs_mms | Number | true | RCS 사진 문자 발송 단가 |
| rcs_tpl | Number | true | RCS 템플릿 문자 발송 단가 |
| rcs_itpl | Number | true | RCS 이미지 템플릿 문자 발송 단가 |
| rcs_ltpl | Number | true | RCS LMS 템플릿 문자 발송 단가 |
| fax | Number | true | 팩스 발송 단가 |
| voice | Number | true | 보이스콜 발송 단가 |
| bms_text | Number | true | 브랜드 메시지 텍스트형 발송 단가 |
| bms_image | Number | true | 브랜드 메시지 이미지형 발송 단가 |
| bms_wide | Number | true | 브랜드 메시지 와이드형 발송 단가 |
| bms_wide_item_list | Number | true | 브랜드 메시지 와이드 아이템 리스트형 발송 단가 |
| bms_carousel_feed | Number | true | 브랜드 메시지 캐러셀 피드형 발송 단가 |
| bms_premium_video | Number | true | 브랜드 메시지 프리미엄 비디오형 발송 단가 |
| bms_commerce | Number | true | 브랜드 메시지 커머스형 발송 단가 |
| bms_carousel_commerce | Number | true | 브랜드 메시지 캐러셀 커머스형 발송 단가 |
| bms_free | Number | true | 브랜드 메시지 자유형 발송 단가 |
| customFields | Object | true | 발송 전에 그룹에 입력하였던 커스텀 필드. 아무것도 하지 않았을 시 빈 오브젝트 |
| key | String | | 발송 전에 그룹에 입력하였던 커스텀 값의 키 |
| log | Array<Object> | | 로그 |
| createAt | Date | true | 로그 생성일 |
| message | String | true | 로그 메시지 |
| oldBalance | Number | | 차감 전 잔액 |
| newBalance | Number | | 차감 후 잔액 |
| oldPoint | Number | | 차감 전 포인트 |
| newPoint | Number | | 차감 후 포인트 |
| totalPrice | Number | | 차감액 |
| messageList | Array<Object> | | showMessageList: true 일 때만 포함 |
| messageId | String | | 메시지 아이디. 각 메시지의 고유 식별자 |
| statusCode | String | | 메시지 상태 코드 |
| customFields | Object | | 요청 시 메시지에 입력했던 확장 필드 |
| key | String | | 키 30자, 값 1,000자 제한 |
| statusMessage | String | | statusCode에 대응하는 상태 메시지 |
Structures
Request Structure
{
"messages": [
{
"to": "01012345678",
"from": "0212345678",
"text": "테스트 메시지입니다.",
"type": "SMS",
"country": "82",
"subject": "공지사항",
"imageId": "IMG20240525ABCDEFGHIJKLMNO",
"autoTypeDetect": true,
"customFields": {
"myKey": "myValue"
},
"hint": {
"key": "value"
},
"kakaoOptions": {
"pfId": "KA01PF123456",
"senderKey": "abc123def456",
"templateId": "KA01TP789012",
"title": "알림톡 제목",
"adFlag": false,
"disableSms": false,
"imageId": "IMG20240525KAKAO",
"variables": {
"#{이름}": "홍길동",
"#{주문번호}": "ORD-12345"
},
"quickReplies": [
{
"chatExtra": "extra_data",
"chatEvent": "event_name",
"name": "바로연결 버튼",
"linkMo": "https://example.com",
"linkPc": "https://example.com",
"schemeIos": "myapp://",
"schemeAndroid": "myapp://",
"type": "WL"
}
],
"buttons": [
{
"buttonType": "WL",
"buttonName": "웹 링크",
"linkMo": "https://example.com",
"linkPc": "https://example.com",
"schemeIos": "myapp://",
"schemeAndroid": "myapp://"
}
],
"highlight": {
"title": "강조 제목",
"description": "강조 설명"
},
"header": "헤더 텍스트",
"item": {
"list": [
{
"title": "항목 제목",
"description": "항목 설명"
}
],
"summary": {
"title": "합계",
"description": "10,000원"
}
},
"bms": {
"templateId": "BMS_TPL_001"
}
},
"naverOptions": {
"talkId": "naver_talk_id",
"templateId": "naver_template_id",
"disableSms": false,
"variables": {
"#{이름}": "홍길동"
},
"buttons": [
{
"type": "WL",
"name": "버튼 이름",
"linkMo": "https://example.com",
"linkPc": "https://example.com"
}
]
},
"rcsOptions": {
"brandId": "RCS_BRAND_001",
"templateId": "RCS_TPL_001",
"copyAllowed": true,
"variables": {
"#{이름}": "홍길동"
},
"mmsType": "M3",
"commercialType": false,
"disableSms": false,
"additionalBody": [
{
"title": "슬라이드 제목",
"description": "슬라이드 설명",
"imageId": "IMG20240525RCS",
"buttons": [
{
"type": "WL",
"name": "버튼",
"link": "https://example.com"
}
]
}
],
"buttons": [
{
"type": "WL",
"name": "웹 링크",
"link": "https://example.com"
}
]
},
"faxOptions": {
"fileIds": [
"FAX_FILE_001",
"FAX_FILE_002"
]
},
"voiceOptions": {
"voiceType": "FEMALE",
"headerMessage": "안녕하세요.",
"tailMessage": "감사합니다.",
"replyRange": 1,
"counselorNumber": "0212345678",
"variables": {
"#{이름}": "홍길동"
}
},
"replacements": [
{
"to": "01087654321",
"from": "0212345678",
"text": "#{이름}님 안녕하세요.",
"customFields": {
"key": "value2"
}
}
]
}
],
"scheduledDate": "2024-06-01T09:00:00+09:00",
"strict": false,
"allowDuplicates": false,
"showMessageList": true,
"agent": {
"appId": "myAppId",
"sdkVersion": "node/5.0.0",
"osPlatform": "linux"
}
}
Response Structure
{
"groupInfo": {
"groupId": "G4V20240525163506ABCDEFGHIJKLMNO",
"accountId": "24010100001234",
"apiVersion": "4",
"serviceMethod": "MT",
"status": "SENDING",
"sdkVersion": "node/5.0.0",
"osPlatform": "linux",
"strict": false,
"prepaid": true,
"allowDuplicates": false,
"isRefunded": false,
"flagUpdated": false,
"masterAccountId": null,
"customFields": {
"myKey": "myValue"
},
"hint": null,
"dateSent": "2024-05-25T07:35:06.000Z",
"scheduledDate": null,
"dateCompleted": null,
"dateCreated": "2024-05-25T07:35:06.000Z",
"dateUpdated": "2024-05-25T07:35:06.000Z",
"count": {
"total": 2,
"sentTotal": 0,
"sentFailed": 0,
"sentSuccess": 0,
"sentPending": 0,
"sentReplacement": 0,
"refund": 0,
"registeredFailed": 1,
"registeredSuccess": 1
},
"countForCharge": {
"sms": {
"82": 1
},
"lms": {
"82": 0
},
"mms": {
"82": 0
},
"ata": {
"82": 0
},
"cta": {
"82": 0
},
"cti": {
"82": 0
},
"nsa": {
"82": 0
},
"rcs_sms": {
"82": 0
},
"rcs_lms": {
"82": 0
},
"rcs_mms": {
"82": 0
},
"rcs_tpl": {
"82": 0
},
"rcs_itpl": {
"82": 0
},
"rcs_ltpl": {
"82": 0
},
"fax": {
"82": 0
},
"voice": {
"82": 0
}
},
"balance": {
"requested": 20,
"replacement": 0,
"additional": 0,
"refund": 0,
"sum": 20
},
"point": {
"requested": 0,
"replacement": 0,
"additional": 0,
"refund": 0,
"sum": 0
},
"app": {
"appId": "myAppId",
"version": "1.0.0",
"profit": {
"sms": 0,
"lms": 0,
"mms": 0,
"ata": 0,
"cta": 0,
"cti": 0,
"nsa": 0,
"rcs_sms": 0,
"rcs_lms": 0,
"rcs_mms": 0,
"rcs_tpl": 0,
"rcs_itpl": 0,
"rcs_ltpl": 0,
"fax": 0,
"voice": 0
}
},
"log": [
{
"createAt": "2024-05-25T07:35:06.000Z",
"message": "메시지 그룹이 생성되었습니다.",
"oldBalance": 10000,
"newBalance": 9980,
"oldPoint": 0,
"newPoint": 0,
"totalPrice": 20
}
],
"price": {
"82": {
"sms": 20,
"lms": 50,
"mms": 100
}
}
},
"failedMessageList": [
{
"to": "01099999999",
"from": "0212345678",
"type": "SMS",
"country": "82",
"messageId": "M4V20240525163506CQKNPHTPCX4P5E",
"statusCode": "3040",
"statusMessage": "등록되지 않은 발신번호입니다.",
"accountId": "24010100001234",
"customFields": {
"myKey": "myValue"
}
}
],
"messageList": [
{
"messageId": "M4V20240525163506DRKMPITQDY5Q6F",
"statusCode": "2000",
"statusMessage": "정상 접수",
"customFields": {
"myKey": "myValue"
}
}
]
}