POST/messages/v4/send-many/detail
하나 이상의 메시지를 발송하는 API입니다. 만 건을 초과하는 메시지 발송이 필요한 경우 그룹 메시지 API를 사용하는 것을 권장합니다.
메시지 타입별 비교
| 구분 | 길이 제한 | 필수 필드 | 주요 특징 |
|---|
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"
}
}
]
}