사이드 메뉴
커뮤니케이션
API 제공
어드민 API
이해하기
이 문서는 문자 메시지 API를 소개합니다.
문자 메시지는 유료로 제공하는 기능입니다. 과금 정책을 참고합니다.
국내 및 해외 사용자를 대상으로 문자 메시지의 발송, 수신, 내역 확인 기능을 제공합니다.

서비스 제공자가 문자 메시지를 사용자의 휴대전화로 발송(MT, Mobile Terminated)할 수 있는 기능입니다. 여러 이동통신사 및 중계사의 규격에 맞춰 직접 연동할 필요 없이, 한 번에 최대 1,000건까지 대량의 문자 메시지를 발송할 수 있습니다.
서비스 서버에서 사용자가 휴대전화에서 발송한(MO, Mobile Originated) SMS 메시지를 직접 수신해 처리할 수 있는 기능입니다. 직접 번호를 관리하는 부담을 줄이고, 매핑 번호 최적화 기능이 적용되어 안정적으로 메시지를 수신할 수 있습니다.
- 문자 메시지 발송 기능은 앱 타입이 인하우스 앱 또는 공동체 앱인 경우에만 사용할 수 있는 유료 기능입니다. 앱 타입 변경 방법은 앱 타입 변경 요청하기에서, 과금 기준과 정보는 과금 정책에서 확인할 수 있습니다.
- 앱 관리 페이지의 [문자 메시지] > [일반] > [사용 설정]을 [ON]으로 설정합니다. 앱 타입이 인하우스 앱인 경우 바로 설정할 수 있지만, 공동체 앱인 경우 공동체 앱의 문자 메시지 기능 활성화 조건을 만족해야 합니다.
- 활성화 설정 완료 후, 아래 두 가지 방법으로 문자 메시지를 발송할 수 있습니다. 발송 가능한 문자 메시지의 종류는 문자 메시지 발송 타입에서, 문자 메시지를 발송하고 결과를 확인하는 과정은 발송 과정에서 확인할 수 있습니다.
- 문자 메시지 발송기: [도구] > [문자 메시지 발송기]에서 문자 메시지 수동 발송
- 문자 메시지 API: REST API 방식으로 문자 메시지 발송
- 앱 관리 페이지의 [앱] > [유료 API] > [비즈월렛 관리]에서 앱과 비즈월렛 연결
- KIMS(문자,음성,050통화,팩스) 아지트에서 문자 메시지 사용 협의
- 사용 협의 과정에서 문자 메시지 API 제공을 위한 기존 계약 갱신 또는 신규 계약 체결 필요
- 요금 정보는 계약서를 확인하거나 KIMS(문자,음성,050통화,팩스) 아지트로 문의
- 문자 메시지 수신 기능은 앱 타입이 인하우스 앱인 경우에만 사용할 수 있는 유료 기능입니다. 앱 타입 변경 방법은 앱 타입 변경 요청하기에서, 과금 기준과 정보는 과금 정책에서 확인할 수 있습니다.
- 카카오와 공동체 모두 KIMS(문자,음성,050통화,팩스) 아지트에서 기능 사용을 신청합니다. 아래를 포함한 기능 사용 관련 협의가 필요합니다.
- 국가별로 상이한 번호 발급 및 대여, 메시지 수신 비용 과금 협의
- 문자 메시지 수신 웹훅 URL 등록 및 기타 정책 협의
- 위 과정을 완료한 후, 문자 메시지 수신 기능을 사용할 수 있습니다. 수신 번호를 할당받아 문자 메시지를 수신하는 방법은 수신 과정에서 확인할 수 있습니다.
문자 메시지의 발송 형식에 따라 지정해야 하는 타입 정보입니다. 아래 세 가지(SMS, LMS, MMS) 지원 타입별 규격을 참고합니다.
| 발송 형식 타입 | 설명 | 발송 가능 데이터 | 국제 발송 |
|---|---|---|---|
| SMS | 단문 메시지 서비스(Short Message Service, SMS) 짧은 텍스트만 발송 가능 | 제목: 미지원 내용: 최대 90 Byte(국제 발송 시 1,000 Byte) | O |
| LMS | 장문 메시지 서비스(Long Message Service, LMS) 제목과 내용으로 구성된 텍스트 발송 가능 | 제목: 최대 40 Byte 내용: 2,000 Byte | X |
| MMS | 멀티미디어 메시지 서비스(Multimedia Messaging Service, MMS) 제목과 내용으로 구성된 텍스트, 첨부 이미지 발송 가능 | 제목: 최대 40 Byte 내용: 2,000 Byte 이미지: 최대 3장 | X |
문자 메시지의 발송 목적에 따라 지정해야 하는 타입 정보입니다. 아래 발송 목적 타입별 규격을 참고합니다.
| 발송 목적 타입 | 설명 | 예시 |
|---|---|---|
NORMAL(일반) | 사용자 안내 목적의 문자 메시지
메시지 내용 규격: (광고) 문구 포함 불가, 해당 문구 포함 시 타입 선택 불가 및 에러 발생 | 티켓 예매 알림, 계정 휴면 전환 알림, 고객센터 문의 접수 완료 안내 등의 메시지 |
AD(광고) | 광고 목적의 문자 메시지
메시지 내용 규격
예외 범위: 구매한 재화 또는 서비스에 대한 보증, 제품 리콜, 안전 또는 보안 관련 정보, 고객의 요청에 의해 발송하는 일회성 정보(견적서), 유료 뉴스레터 등, 발송자와 수신자간 체결된 계약이행 등과 관련한 정보 참고: KISA 불법스팸 방지를 위한 정보통신망법 안내서 | 광고나 프로모션 등 광고성 정보를 포함한 메시지, 고객의 생일 기념 메시지, 할인 쿠폰 등의 혜택 메시지 |
OTP | 인증번호 등 일회용 비밀번호(One Time Password, OTP) 발송 목적의 문자 메시지 메시지 내용 규격: (광고) 문구 포함 불가, 해당 문구 포함 시 타입 선택 불가 및 에러 발생 | 카카오계정 2단계 인증번호 등 OTP 메시지 |
아래는 문자 메시지 발송 과정을 표현한 시퀀스 다이어그램(Sequence diagram)입니다.

- 서비스가 문자 메시지 발송기 또는 문자 메시지 발송 API로 문자 메시지 발송을 요청합니다.
- 문자 메시지 API 서버가 문자 메시지 발송 요청에 대한 요청 ID를 응답으로 반환합니다.
- 요청 ID는 문자 메시지 발송 요청 자체에 대한 고유 번호입니다.
- 발송 결과는 응답에 포함되지 않으며, 발송 결과 알림 또는 API 요청으로 확인해야 합니다.
- 문자 메시지 API 서버가 각 이동통신사, 중계사로 문자 메시지 발송을 요청합니다.
- 각 이동통신사, 중계사가 사용자 단말기로 문자 메시지를 발송합니다.
- 각 이동통신사, 중계사가 문자 메시지의 단말기 수신 결과를 확인합니다.
- 각 이동통신사, 중계사가 문자 메시지 API 서버로 개별 문자 메시지에 대한 발송 결과를 전달합니다.
- 문자 메시지 API 서버가 서비스로 개별 문자 메시지에 대한 발송 결과 알림을 전달합니다.
- 한 번에 여러 사용자에게 문자 메시지 발송을 요청할 수 있으나, 발송 결과 알림은 각 사용자에게 발송된 개별 문자 메시지의 발송 결과를 전달합니다.
- 필요 시 요청 ID에 대해 문자 메시지 발송 결과 확인을 직접 요청할 수 있습니다.
- 서비스가 요청 ID로 발송 결과 조회 API로 요청 ID에 대한 발송 결과를 요청합니다.
- 문자 메시지 API 서버가 요청 ID에 대한 발송 결과를 응답으로 반환합니다.
- 요청 ID에 대한 발송 결과는 해당 요청에 포함된 모든 문자 메시지의 발송 결과를 포함합니다.
- 일부 문자 메시지는 발송이 완료되지 않은 상태일 수 있습니다.
- 각 문자 메시지 ID로 개별 문자 메시지 발송 결과 확인을 요청할 수 있습니다.
- 서비스가 문자 메시지 ID로 발송 결과 조회 API로 문자 메시지 ID에 대한 발송 결과를 요청합니다.
- 문자 메시지 API 서버가 문자 메시지 ID에 대한 발송 결과를 응답으로 반환합니다.
[도구] > [문자 메시지 발송기]에서 문자 메시지를 수동으로 발송할 수 있습니다.
문자 메시지 발송기 사용 시, 카카오계정 2단계 인증이 필요합니다.
문자 메시지 발송기를 사용할 앱을 선택합니다. 아래 조건을 만족하는 앱만 선택할 수 있습니다.
- 문자 메시지 활성화 완료
- 사용 가능한 발신번호 보유
발송할 문자 메시지의 타입, 용도, 본문을 직접 입력합니다. 입력한 내용은 모든 발송 대상에게 동일하게 적용됩니다. 발송 대상마다 다르게 입력해야 하는 내용은 사용자 인자로 처리해야 합니다.
사용자 인자는 일부 정보를 문자 메시지 발송 시점에 실제 값으로 채워 넣을 수 있도록 변수 처리하는 기능입니다. 사용자 인자를 사용하면 개별 사용자나 발송 상황에 맞춘 문자 메시지를 구성할 수 있습니다. 사용자 인자 사용 방법은 아래와 같습니다.
- 문자 메시지의 본문 중 수신번호별로 달라지는 내용을
${KEY}형식의 키(Key)로 표시- 키에는 영문 대소문자와 숫자, 언더바(
_)만 사용 가능
- 키에는 영문 대소문자와 숫자, 언더바(
- 사용자별로 키에 대입할 값을 발송 대상 CSV 파일에 포함
- 문자 메시지 내용이 사용자 인자를 포함한 경우, 발송 대상은 CSV 업로드만 가능
문자 메시지 발송 대상을 입력합니다. 한 번에 최대 1,000명에게 발송 가능합니다. 메시지 본문에 사용자 인자를 포함한 경우, 수신번호와 사용자 인자에 대입할 값을 포함한 CSV 파일 업로드만 가능합니다.
입력한 발송 정보대로 문자 메시지 발송을 시작합니다. 문자 메시지 발송기는 테스트 발송 기능을 지원하지 않으며, 발송 시 과금 정책에 따라 실제로 과금되므로 주의합니다.
문자 메시지 수신 기능은 SMS 형식만 지원합니다.
아래는 문자 메시지 수신 과정을 표현한 시퀀스 다이어그램(Sequence diagram)입니다.

- 서비스가 문자 메시지 수신 번호 할당 API를 호출해 수신 번호 할당을 요청합니다.
- 문자 메시지 API 서버가 수신 번호를 응답으로 반환합니다.
- 서비스가 사용자에게 수신 번호와 MO 메시지 발송 요청문(
content)을 전달합니다. - 사용자가 MO 메시지를 수신 번호로 발송합니다.
- 각 이동통신사, 중계사가 MO 메시지 내용을 문자 메시지 API 서버로 전달합니다. 서비스는 문자 메시지 수신 상태 조회 API로 MO 메시지 수신 상태를 조회할 수 있습니다.
- 문자 메시지 API 서버가 문자 메시지 수신 웹훅으로 MO 메시지 내용을 서비스에 전달합니다.
광고 목적으로 문자 메시지를 발송할 경우, 정보통신망법 제50조 광고성 정보 표시 의무 사항에 따라 아래와 같은 필수 항목을 문자 메시지에 추가해야 합니다. 위반 시 과태료가 부과됩니다.

[A] (광고) 문구
[B] 발송자의 명칭 및 연락처
[C] 수신거부번호 등 무료 수신거부 또는 수신동의 철회 의사표시 방법
[Web발신] 문구는 법적 의무에 따라 각 이동통신사가 사용자 단말기로 문자 메시지를 발송할 때 자동으로 추가합니다. 해당 문구는 문자 메시지 내용과 별개로, 발송 가능 데이터 크기 제한에 영향을 주지 않습니다.
발신번호 사전등록제에 따라, 국내 사용자에게 문자 메시지를 발송하려면 발신번호를 등록해야 합니다.
발신번호 사전등록제란 전기통신사업법 제84조에 의거 거짓으로 표시된 전화번호로 인한 이용자 피해 예방을 위해서 이용고객이 사전등록된 발신번호로만 문자발송이 가능하도록 하는 제도입니다.
수신거부번호(080)는 광고 메시지 수신자가 통화료를 부담하지 않고 수신거부를 요청할 수 있는 전화번호입니다. 광고성 정보 표시 의무 사항에 따라 무료 수신거부 또는 수신동의 철회 의사표시 방법을 제공하기 위해 사용합니다. 문자 메시지 본문에 수신거부번호를 포함할 것을 권장합니다.
카카오디벨로퍼스에서 수신거부번호 기능을 제공합니다. 앱 관리 페이지의 [문자 메시지] > [수신거부번호(080)]에서 수신거부번호를 유료로 발급받아 사용할 수 있습니다. 자세한 안내는 수신거부번호를 참고합니다.
사용자가 수신거부번호로 통화해 수신거부를 요청한 경우, 해당 사용자에 대한 광고 타입 문자 메시지 발송이 차단됩니다. 수신거부 웹훅을 설정한 경우, 발송 결과 웹훅이 서비스 서버로 전달됩니다. 수신자가 수신거부 요청 시 2주 내로 사용자에게 수신거부 여부 결과 통지를 해야 하나, 수신거부번호로 수신거부 처리는 즉시 통지로 인정되어 별도 통지가 불필요합니다.
국제 발송 시, 국가별 정책 준수를 위해 수신 단말기에 표시되는 발신번호를 보장할 수 없으며, 발신번호가 임의의 숫자나 문자로 변경될 수 있습니다. 특정 국가 발송 시 사전 템플릿 등록, 발신번호 지정 등 협의가 필요한 경우, KIMS(문자,음성,050통화,팩스) 아지트에서 [국제 SMS 템플릿 등록 요청] 양식으로 요청합니다.
| 국가 | 정책 |
|---|---|
| 중국 | 메시지 앞 부분에 렌즈 괄호(【 】)를 사용한 시그니처(Signature)를 표기해야 함사전 협의된 중국어 컨텐츠 또는 중국어 시그니처가 아닐 경우 발송 불가 |
| 대만 | 발송할 문자 메시지 내용을 반드시 사전 등록해야 함 등록되지 않은 문자 메시지는 차단됨 메시지 내용에 ■나 * 포함 시 차단될 수 있음특수문자 |, ^, €, {, }, [, ~, ], \는 △로 변경될 수 있음 |
| 말레이시아 | 수신 단말기에 발신번호가 5자리 숫자 형태로 표시됨 |
| 필리핀 | 수신 단말기에 발신번호가 임의의 숫자 또는 KakaoC, Daum, kakao, NXSMS, Code 등의 형태로 표시됨 |
| 베트남 | 발송할 문자 메시지 내용을 반드시 사전 등록해야 함 등록되지 않은 문자 메시지는 차단됨 수신 단말기에 발신번호가 Verify로 표시됨 |
| 프랑스 | 발송할 문자 메시지 템플릿을 반드시 사전 등록해야 함 등록되지 않은 템플릿의 문자 메시지는 마케팅 트래픽으로 간주되어 프랑스 현지 시간으로 평일 오전 8시부터 밤 10시 사이에만 발송 가능 |
| 싱가포르 | 싱가포르 SSIR 포털에서 발신자 ID 등록(유료) 및 KIMS 아지트에서 사전 협의 필요 미등록 발신자 ID로 발송 시 메시지에 Likely-SCAM 문구가 포함됨참고: Overview of SMS Sender ID Registry |
| 태국 | 메시지 내용에 URL을 포함해야 하는 경우, 해당 URL을 KIMS 아지트로 전달해 화이트리스트 등록 필요 화이트리스트로 등록되지 않은 URL이 포함된 메시지는 모두 발송 차단됨 |
문자 메시지 발송기 및 API는 유료 기능입니다. 문자 메시지 타입, 발송 건수, 지역에 따라 연결된 비즈월렛(앱 관리 페이지의 [앱] > [유료 API]에서 확인 가능)에 과금됩니다. 발송 결과 데이터 처리 및 과금 시스템 트래픽 처리 등의 이유로 발송 요청 시점과 과금 시점은 일정 기간 차이가 발생할 수 있습니다.
문자 메시지 과금 단가는 과금 단가에서 확인할 수 있습니다.
단가가 변경될 경우, 변경 30일 전에 이메일과 KIMS 아지트로 공지 예정입니다.
- 수신 성공 건수당 과금
- 단, 아래와 같은 이유로 단말기 상태가 정상이지만 실제로 수신하지 못한 경우에도 과금
- 이동통신사 스팸 차단 서비스 등록
- 단말기 발신번호 스팸 차단
- 단말기 메모리 과부하, 재부팅, 기기 점검
- 단말기 수신 여부와 무관하게 정상 발송 건수당 과금
- 단말기 다양성으로 인해 수신 여부 및 발송 실패 원인 확인이 어려울 수 있음
- 140 Byte를 초과한 SMS는 국가에 따라 메시지가 여러 건으로 분할 발송될 수 있고, 분할된 건수만큼 과금 (참고: Concatenated SMS)
- GSM의 SMS 인코딩 표준인 GSM-7 bit 기준으로 160자 이상인 경우 최대 5건으로 분할 발송
- 한국어와 일본어 등 일부 유니코드 기반 언어는 UCS-2 인코딩 사용, USC-2 기준으로 70자 초과 시 분할 발송
- 분할 시 병합을 위한 헤더(Header)가 6 Byte씩 문자 메시지 앞에 추가됨
- 번호 이용료: 수신거부번호 1개당 과금
- 서비스 이용료: 사용자의 수신거부번호 통화 이용료, 시간당 과금
- 번호 이용료와 서비스 이용료 중 더 큰 사용 금액에 대해 과금
- 번호 발급료: 최초 수신 번호 발급 시 1회 과금
- 번호 대여료: 수신 번호 사용 월별 과금, 사용 시작일에 관계없이 월 단위로 동일 비용 청구
- MO 메시지 수신료: MO 메시지 수신 건당 과금
| API | 설명 | 문서 |
|---|---|---|
| 문자 메시지 발송 | 문자 메시지 발송을 요청합니다. | REST API |
| 요청 ID로 발송 결과 조회 | 문자 메시지 발송 결과를 확인합니다. | REST API |
| 문자 메시지 ID로 발송 결과 조회 | 특정 문자 메시지 1건의 발송 결과를 확인합니다. | REST API |
| 발송 결과 웹훅 | 문자 메시지 발송 API 요청의 결과를 [발송 결과 웹훅]에 설정된 웹훅 URL로 전달합니다. | 웹훅 |
| 수신거부 웹훅 | 수신거부번호로 인입된 사용자의 문자 메시지 수신거부 요청을 [수신거부 웹훅]에 설정된 웹훅 URL로 전달합니다. | 웹훅 |
| 수신거부 등록 | 수신거부 등록을 요청합니다. | REST API |
| 수신거부 삭제 | 수신거부 삭제를 요청합니다. | REST API |
| 문자 메시지 수신 번호 할당 | 사용자가 휴대전화 단말기에서 발송한(MO, Mobile Originated) SMS 메시지를 수신할 수 있는 번호 할당을 요청합니다. | REST API |
| 문자 메시지 수신 상태 조회 | 사용자가 휴대전화 단말기에서 발송한(MO, Mobile Originated) SMS 메시지의 수신 상태를 조회합니다. | REST API |