메시지 서비스 문자 API 규격서
iwinv 메시지서비스 문자 메시지 rest API 규격서 입니다.
메시지 발송
기본정보
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) 발송
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" } |
값 | 타입 | 필수 | 설명 | 예시 |
---|---|---|---|---|
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 |
장문(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 |
PHP
$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 |
|
BODY
{ "version": "1.0", "companyid": "myCompanyID", "startDate": "2023-01-01", "endDate": "2023-01-03", "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 데이터값 오류 |