메시지서비스 문자 API 규격서 ver. 2025.11.07
메시지서비스 문자 REST API
- SMS 발송
- 전송 결과
- 잔액 조회
SMS 발송
기본정보
URL
POST https://sms.bizservice.iwinv.kr/api/v2/send/
응답
{
"resultCode": 0,
"message": "전송 성공",
"requestNo": "123456",
"msgType": "SMS"
}
| 값 | 타입 | 설명 |
|---|---|---|
| resultCode | Integer | 응답 코드 |
| message | String | 응답 코드 결과 메시지 |
| requestNo | String | 메시지 발송요청 고유번호 |
| msgType | String | 메시지 종류 ( SMS : 단문 전송 , LMS : 장문 전송, MMS : 멀티메시지 전송 , GSMS : 국제 문자 ) |
.
단문(SMS) 발송
90byte까지 단문으로 발송되며, 90byte가 넘는 경우에는 LMS로 발송됩니다.
HEADERS
Content-Type application/json;charset=UTF-8
Secret base64_encode ( API Key&인증 Key )
BODY
{
"version": "1.0" ,
"from": "01000000000" ,
"to": ["01000000001", "01000000002"] ,
"text": "내용" ,
"date": "null" ,
"msgType": "GSMS"
}
| 값 | 타입 | 필수 | 설명 | 예시 |
|---|---|---|---|---|
| version | String | O | 버전정보 | 1.0 |
| from | String | O | 발신번호 | 010-0000-0000 혹은 01000000000 |
| to | Array | O | 수신번호( 수신번호는 배열로 입력해야합니다. 대량 발송은 1회 최대 1,000명 전송 가능합니다. ) | array ('010-0000-0000') 혹은 array('01000000000') |
| text | String | O | 문자 내용 | 최대 90Byte 초과 시 LMS로 발송됩니다. |
| date | String | X | 발송 시각(예약 발송인 경우 필수, 예약 발송은 현재 시간 15분 이후 한달 이전까지만 가능합니다.) | yyyy-MM-dd HH:mm:ss |
| msgType | String | X | 국제 SMS 발송시 입력 | GSMS |
장문(LMS)
발송문자에 제목을 추가할 수 있습니다. 문자는 최대 2000Byte까지 입력 가능합니다.
HEADERS
Content-Type application/json;charset=UTF-8
Secret base64_encode ( API Key&인증 Key )
BODY
{
"version": "1.0" ,
"from": "01000000000" ,
"to": ["01000000001", "01000000002"] ,
"title": "제목" ,
"text": "내용" ,
"date": "null"
}
| 값 | 타입 | 필수 | 설명 | 예시 |
|---|---|---|---|---|
| version | String | O | 버전정보 | 1.0 |
| from | String | O | 발신번호 | 010-0000-0000 혹은 01000000000 |
| to | Array | O | 수신번호( 수신번호는 배열로 입력해야합니다.대량 발송은 1회 최대 1,000명 전송 가능합니다. ) | array ('010-0000-0000') 혹은 array('01000000000') |
| title | String | O | 제목 | 최대 40byte 허용된 특수문자 [ ] ( ) <> |
| text | String | O | 문자 내용 | 최대 2000Byte |
| date | String | X | 발송 시각(예약 발송인 경우 필수, 예약 발송은 현재 시간 15분 이후 한달 이전까지 만 가능합니다.) | yyyy-MM-dd HH:mm:ss |
PHP
$_param = array();
$_param['version'] = '1.0' ;
$_param['from'] = '01000000000' ;
$_param['to'] = array('01000000001', '01000000002');
$_param['title'] = '제목' ;
$_param['text'] = '내용' ;
$encodeKey = base64_encode ( 'API Key&인증 Key' ) ;
$curl = curl_init() ;
curl_setopt ( $curl , CURLOPT_URL, 'https://sms.bizservice.iwinv.kr/api/v2/send/' ) ;
curl_setopt ( $curl , CURLOPT_TIMEOUT , 0 ) ;
curl_setopt ( $curl , CURLOPT_POST , 1 ) ;
curl_setopt ( $curl , CURLOPT_RETURNTRANSFER , 1 ) ;
curl_setopt ( $curl , CURLOPT_POSTFIELDS , json_encode($_param) ) ;
curl_setopt ( $curl , CURLOPT_HTTPHEADER ,
array
(
'Content-Type:application/json;charset=UTF-8' ,
'secret:' . $encodeKey
)
) ;
curl_setopt ( $curl , CURLOPT_SSL_VERIFYPEER , FALSE ) ;
$result = curl_exec ( $curl ) ;
$err = curl_error ( $curl ) ;
curl_close ( $curl ) ;
포토(MMS) 발송
단문/장문 문자에서 이미지를 첨부하여 발송할 수 있습니다.
이미지는 100kb 미만의 JPG파일만 발송할 수 있습니다.
HEADERS
Content-Type multipart/form-data
Secret base64_encode ( API Key&인증 Key )
BODY
array (
'version' => '1.0' ,
'from' => '01000000000' ,
'to' => '01000000000' ,
'title' => '제목' ,
'text' => '내용' ,
'image' => '이미지 리소스' ,
'date' => NULL
)
| 값 | 타입 | 필수 | 설명 | 예시 |
|---|---|---|---|---|
| version | String | O | 버전정보 | 1.0 |
| from | String | O | 발신번호 | 010-0000-0000 혹은 01000000000 |
| to | Array | O | 수신번호( 수신번호는 배열로 입력해야합니다. 대량 발송은 1회 최대 1,000명 전송 가능합니다. ) | http_build_query ( array ( '01000000000' , '01000000001' ) ) |
| title | String | O | 제목 | 최대 40byte 허용된 특수문자 [ ] ( ) <> |
| image | String | O | 이미지 | 100kb 미만의 JPG 파일 |
| text | String | O | 문자 내용 | 최대 2000Byte |
| date | String | X | 발송 시각(예약 발송인 경우 필수, 예약 발송은 현재 시간 15분 이후 한달 이전까지만 가능합니다.) | yyyy-MM-dd HH:mm:ss |
$k = array_keys ( $_FILES ) ;
$image = curl_file_create ( $_FILES[$k[0]]['tmp_name'] , $_FILES[$k[0]]['type'] , basename ( $_FILES[$k[0]]['name'] ) ) ;
$encodeKey = base64_encode ( 'API Key&인증 Key' ) ;
$curl = curl_init() ;
curl_setopt ( $curl , CURLOPT_URL, 'https://sms.bizservice.iwinv.kr/api/v2/send/' ) ;
curl_setopt ( $curl , CURLOPT_TIMEOUT , 0 ) ;
curl_setopt ( $curl , CURLOPT_POST , 1 ) ;
curl_setopt ( $curl , CURLOPT_RETURNTRANSFER , 1 ) ;
$toList = http_build_query ( array ( '01000000000' , '01000000001' ) );
curl_setopt ( $curl , CURLOPT_POSTFIELDS , array ( 'version' => '1.0' , 'from' => '01000000000' , 'to' => $toList , 'title' => 'MMS TITLE' , 'text' => 'MMS MESSAGE' , 'image' => $image , 'date' => NULL ) ) ;
curl_setopt ( $curl , CURLOPT_HTTPHEADER ,
array
(
'Content-Type:multipart/form-data' ,
'secret:' . $encodeKey
)
) ;
curl_setopt ( $curl , CURLOPT_SSL_VERIFYPEER , FALSE ) ;
$result = curl_exec ( $curl ) ;
$err = curl_error ( $curl ) ;
curl_close ( $curl ) ;
if ( $err )
echo 'Error :' . $err ;
else
echo $result ;
문자 메시지 전송 결과 코드 값
| 코드 | 설명 |
|---|---|
| 0 | 전송 성공 |
| 1 | 메시지가 전송되지 않았습니다. |
| 11 | 운영 중인 서비스가 아닙니다. |
| 12 | 요금제 충전 중입니다. 잠시 후 다시 시도해 보시기 바랍니다. |
| 13 | 등록되지 않은 발신번호입니다. |
| 14 | 인증 요청이 올바르지 않습니다. |
| 15 | 등록하지 않은 IP에서는 발송되지 않습니다. |
| 21 | 장문 메시지는 2000 Bytes까지만 입력이 가능합니다. |
| 22 | 제목 입력 가능 문자 : 한글, 영어, 숫자 허용된 특수문자는 [ ] ( ) <> 입니다. |
| 23 | 제목은 40 Byte까지만 입력이 가능합니다. |
| 31 | 파일 업로드는 100KB까지 가능합니다. |
| 32 | 허용되지 않는 파일 확장자입니다. |
| 33 | 이미지 업로드에 실패했습니다. |
| 41 | 수신 번호를 입력하여 주세요. |
| 42 | 예약 전송은 현재 시간 15분 이후 한달 이전까지만 가능 |
| 43 | 날짜와 시간 표현 형식(예: 2015-09-02 14:17:03)에 맞춰 입력하여 주십시오. |
| 44 | 최대 1000건 전송 가능합니다. |
| 50 | SMS 자동 충전 하루 5번 충전 한도를 초과하였습니다. |
전송 결과
기본정보
HEADERS
**Content-Type** application/json;charset=UTF-8
**Secret** base64_encode ( API Key&인증 Key )
전송 내역 조회
조회시작~마감 일자 기간은 90일 이내만 가능합니다
URL
URL https://sms.bizservice.iwinv.kr/api/history/
BODY
{
"version": "1.0",
"companyid": "myCompanyID",
"startDate": "2021-04-05",
"endDate": "2021-06-23",
"requestNo": "123456789123",
"pageNum": "1",
"pageSize": "15",
"phone": "010-0000-0000"
}
| 값 | 타입 | 필수 | 설명 | 예시 |
|---|---|---|---|---|
| version | String | O | 버전 | 1.0 |
| companyid | String | O | 조직(업체) 발송 아이디 | myCompanyID |
| startDate | String | O | 발송 요청 시작일자(yyyy-MM-dd) | 2021-12-01 |
| endDate | String | O | 발송 요청 마감일자(yyyy-MM-dd) | 2021-12-31 |
| requestNo | String | X | 메시지 발송요청 고유번호 | 123456789123 |
| pageNum | Integer | X | 페이지 번호(기본:1) | 1 |
| pageSize | Integer | X | 조회 건수(기본:15, 최대:1000) | 10 |
| phone | String | X | 수신번호 | 010-0000-0000 혹은 01000000000 |
응답
{
"resultCode": 0,
"message": "데이터가 조회되었습니다.",
"totalCount": 10,
"list":
[
{
"requestNo": 241640246571,
"companyid": "koreav",
"msgType": "SMS",
"phone": "01000000000",
"callback": "16884879",
"sendStatus": "전송 성공",
"sendDate": "2021-01-01 15:22:40"
}
]
}
| 값 | 타입 | 설명 |
|---|---|---|
| resultCode | Integer | 응답 코드 ( 0 : 조회 성공 ) |
| message | String | 응답 코드 결과 메시지 |
| totalCount | Integer | 전송 메시지 총 개수 |
| list | Array | 전송 목록 |
| - requestNo | String | 메시지 발송요청 고유번호 |
| - companyid | String | 조직(업체) 발송 아이디 |
| - msgType | String | 문자구분(유형) , SMS, LMS, MMS |
| - phone | String | 수신번호 |
| - callback | String | 발신번호 |
| - sendStatusCode | String | 문자 전송결과 코드 |
| - sendStatusMsg | String | 문자 전송결과 메시지 |
| - sendDate | String | 전송일 |
SendStatusCode 값
SMS
| 코드 | 설명 |
|---|---|
| 01 | 시스템 장애 |
| 02 | 인증실패, 직후 연결을 끊음 |
| 03 | 메시지 형식 오류 |
| 04 | BIND 안됨 |
| 06 | 전송 성공 |
| 07 | 비가입자, 결번, 서비스정지 |
| 08 | 단 말기 Power-off 상태 |
| 09 | 음영 |
| 10 | 단말기 메시지 FULL |
| 11 | 타임아웃 |
| 17 | CallbackURL 사용자 아님 |
| 18 | 메시지 중복 발송 |
| 19 | 월 송신 건수 초과 |
| 20 | 이동통신사에서 정의되지 않은 결과 코드 |
| 21 | 착신번호 에러(자리수 에러) |
| 22 | 착신번호 에러(없는 국번) |
| 23 | 수신거부 메시지 없음 |
| 24 | 21시 이후 광고 |
| 25 | 성인광고, 대출광고 등 기타 제한 |
| 26 | 데이콤 스팸 필터링 |
| 27 | 야간 발송차단 |
| 28 | 사전 미등록 발신번호 사용 |
| 29 | 전화번호 세칙 미준수 발신번호 사용 |
| 30 | 발신번호 변작으로 등록된 발신번호 사용 |
| 31 | 번호 도용 문자 차단 서비스에 가입된 발신번호 사용 |
| 40 | 단말기착신거부(스팸등) |
| 91 | 발송 미허용 시간 때 발송 실패 처리 |
| 92 | 발신 번호 사전 등록 테이블(PCB)에 등록되지 않은 발신 번호 차단 |
| 93 | 수신 거부 테이블(SPAM)에 등록된 수신 번호 차단 |
| 99 | 적용 시간(초) 이내에 수진자번호+메시지내용 이 중복되어 실패 |
LMS / MMS
| 코드 | 설명 |
|---|---|
| 1000 | 전송 성공 |
| 2000 | 포맷 에러 |
| 2001 | 잘못된 번호 |
| 2002 | 컨텐츠 사이즈 및 개수 초과 |
| 2003 | 잘못된 컨텐츠 |
| 3000 | 기업형 MMS 미지원 단말기 |
| 3001 | 단말기 메시지 저장개수 초과 |
| 3002 | 전송시간 초과 |
| 3004 | 전원 꺼짐 |
| 3005 | 음영지역 |
| 3006 | 기타 |
| 4000 | 서버문제로 인한 접수 실패 |
| 4001 | 단말기 일시 서비스 정지 |
| 4002 | 통신사 내부 실패(무선망단) |
| 4003 | 서비스의 일시적인 에러 |
| 4101 | 계정 차단 |
| 4102 | 허용되지 않은 IP 접근 |
| 4104 | 건수 부족 |
| 4201 | 국제 MMS 발송 권한이 없음 |
| 4202 | PUSH 권한 없음 |
| 5000 | 번호이동에러 |
| 5001 | 선불발급 발송건수 초과 |
| 5003 | 스팸 |
| 5201 | 중복된 키 접수 차단 |
| 5202 | 중복된 수신번호 접수 차단 |
| 5301 | 사전 미등록 발신번호 사용 |
| 5302 | 전화번호 세칙 미 준수 발신번호 사용 |
| 5303 | 발신번호 변작으로 등록된 발신번호 사용 |
| 5304 | 번호 도용 문자 차단 서비스에 가입된 발신번호 사용 |
| 6000 | 폰 정보 조회 실패 |
| 6100 | 이미지 변환 실패 |
| 9001 | 발송 미허용 시간 때 발송 실패 |
| 9002 | 폰 넘버 에러 |
| 9003 | 스팸 번호 |
| 9004 | 이통사에서 응답 없음 |
| 9005 | 파일크기 오류 |
| 9006 | 지원되지 않는 파일 |
| 9007 | 파일오류 |
| 9008 | MMS_MSG의 MSG_TYPE 값이 잘못되었음 |
| 9010 | 재전송 횟수 초과로 실패 |
| 9011 | 발송 지연으로 인한 실패 |
| 9012 | 발신 번호 사전 등록 테이블(PCB)에 등록되지 않은 발신 번호 차단 |
| 9013 | 수신 거부 테이블(SPAM)에 등록된 수신 번호 차단 |
| 9014 | 템플릿 키 값 없음 |
| 9015 | 바코드 키 값 없음 |
| 9016 | CLI_EXT_OBJ 데이터값 오류 |