변경이력 버전 일자 내용 작성자 최초작성 한은경 v.1.1 문서변경 한은경 v.1.2 문서변경 한은경 v1.3 문서변경 한은경

Similar documents
Messaging Service SMPP API Specification V1.0.3 Last Modified: 23.July,

Messaging Service REST API Specification V1.0.5 Last Modified: 19 March,

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

CDMS 개발 내역서

The Pocket Guide to TCP/IP Sockets: C Version

3장

대량문자API연동 (with directsend)

1. SNS Topic 생성여기를클릭하여펼치기... Create Topic 실행 Topic Name, Display name 입력후 Create topic * Topic name : 특수문자는 hyphens( - ), underscores( _ ) 만허용한다. Topi

bn2019_2


Secure Programming Lecture1 : Introduction

0. 들어가기 전

변경이력 버전 일자 내용 작성자 최초작성 한은경 초안수정및에러코드추가 한은경 리포트연동 API 변경, 메일주소추가 송준민 EUC-KR 설명수정 송준

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

CDMS 개발 내역서

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

CDMS 개발 내역서

Microsoft Word - src.doc

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

게시판 스팸 실시간 차단 시스템

sms_SQL.hwp

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

슬라이드 1

Mstage.PDF

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

알림톡연동문서ppt_v5.0.1_

TTA Journal No.157_서체변경.indd

SRC PLUS 제어기 MANUAL

알림톡연동문서ppt_v3.1.0_

요약 1

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

일반적인 네트워크의 구성은 다음과 같다

The Pocket Guide to TCP/IP Sockets: C Version


untitled

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

SMB_ICMP_UDP(huichang).PDF

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Microsoft PowerPoint - 04-UDP Programming.ppt

The Pocket Guide to TCP/IP Sockets: C Version

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Microsoft Word doc

PowerPoint 프레젠테이션

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

특허청구의 범위 청구항 1 회선 아이디 접속 시스템에 있어서, 온라인을 통해 실제 사용자 고유정보의 발급이 가능한 아이디 발급 사이트를 제공하기 위한 아이디 발급 수단; 오프라인을 통한 사용자의 회선 아이디 청약에 따라 가상의 사용자 고유정보 및 가인증 정보를 생성하고

TCP.IP.ppt

untitled

UDP Flooding Attack 공격과 방어

RHEV 2.2 인증서 만료 확인 및 갱신

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

1217 WebTrafMon II

Index Process Specification Data Dictionary

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

untitled

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

제20회_해킹방지워크샵_(이재석)

PowerPoint 프레젠테이션

슬라이드 1

Polly_with_Serverless_HOL_hyouk

02 C h a p t e r Java

슬라이드 1

KISA-GD

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

4S 1차년도 평가 발표자료

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

thesis

<4D F736F F D FB1E2BCFAB5BFC7E2BAD0BCAE2DB8F0B9D9C0CF20B3D7C6AEBFF6C5A92DC3D6BFCF2E646F6378>

<B1DDC0B6B1E2B0FCB0FAC0CEC5CDB3DDB0B3C0CEC1A4BAB82E687770>

Subnet Address Internet Network G Network Network class B networ

[WEB 모듈 연동가이드]

SKT - 0.0% SKT 9, % 7, % 2, % 3, % 13, % 11,273 15,970

APOGEE Insight_KR_Base_3P11

ibmdw_rest_v1.0.ppt

시스코 무선랜 설치운영 매뉴얼(AP1200s_v1.1)

thesis-shk

BEA_WebLogic.hwp

제목을 입력하세요.

로거 자료실

슬라이드 1

C H A P T E R 2

hd1300_k_v1r2_Final_.PDF

open-api.md 2/14/2019 Deflow Open Api 1. 목록 (GET) /v1/order/list - 주문내역조회 (GET) /v1/order/complete/list - 거래내역조회 (POST) /v1/order/cancel - 주문취소 (GET)

歯규격(안).PDF

PowerPoint 프레젠테이션

API 매뉴얼

vi 사용법

FileMaker 15 ODBC 및 JDBC 설명서

PowerPoint Template

2009년 상반기 사업계획

KT AI MAKERS KIT 사용설명서 (Node JS 편).indd

사업 수행 계획서


PowerPoint 프레젠테이션


Transcription:

Messaging Service HTTP API Specification V2.3.5 Last Modified: 15.November, 2017 1

변경이력 버전 일자 내용 작성자 1.0.0 2014-10-16 최초작성 한은경 1.1.0 2014-11-13 v.1.1 문서변경 한은경 1.2.0 2014-11-14 v.1.2 문서변경 한은경 1.3.0 2014-11-19 v1.3 문서변경 한은경 1.4.0 2014-12-11 v1.4 문서변경 한은경 1.5.0 2015-03-02 1. XML parameters 변경 _ (underbar) by - (bar) 한은경 2. Report Responses and 리턴값추가 1.6.0 2015-03-23 1. Concatenated Message 설명추가 한은경 2. Submit packet charset 필드추가 3. to_country 레포트필드에서삭제 4. Submit필드에서 charset 추가 1.7.0 2015-03-29 1. Response에서 msg_type 필드추가 한은경 2. REPORT Response에서 rescnt 추가 1.7.1 2015-04-08 규격서설명보강 한은경 1.7.2 2015-06-08 리포트접속정보추가 한은경 1.8.0 2015-08-17 MMS title 필드추가 한은경 1.9.0 2015-11-03 발신번호사전등록제관련에러코드추가 한은경 2.0.0 2016-01-27 1. Base URL 변경 / HTTPS 프로토콜추가 남궁희 2. 리포트수신 IP 변경 3. 결과코드변경 4. 응답코드추가 ( 여신 / 발신자변작등 ) 5. 결과전송 API status 파라미터제거 2.1.0 2016-03-04 Report 포맷변경 남궁희 샘플코드추가 2.2.0 2016-05-04 3.4.1.1. 성공일경우 예시항목변경 이정해 As is : <err_code>1000</err_code> To be : <err_code>r000</err_code> 2.3.0 2016-06-01 3.3 Request format 남궁희 payment_code, client_sub_id 필드추가 2.3.1 2016-07-29 3.3.1.5. nodejs 예시항목변경 As is : path: 'sms/xml?id' + encodeuricomponent('infobank_test') To be : path: 'sms/xml?id=' + encodeuricomponent('infobank_test') 남궁희 2 / 14

2.3.2 2016-10-07 결과코드추가 남궁희 - 3022 : Charset conversion error ( 동보사용시국가코드 '82' 인경우, 건별인코딩오류처리 ) 2.3.3 2017-06-08 3.3. Request format 절 from 항목설명변경 임정훈 2.3.4 2017-11-07 https 프로토콜만유지 http 프로토콜제거 임정훈 2.3.5 2017-11-15 4.2 결과코드제거 - 3007 (Callback URL을받을수없는폰 ) 제거 임정훈 3 / 14

목차 1. HTTP API 란?... 5 2. 서비스흐름도... 5 3. 전문규격... 5 3.1. BASE URL... 6 3.2. 결과정보수신... 6 3.3. REQUEST FORMAT... 6 3.3.1. Request 예시... 7 3.3.1.1. PHP... 7 3.3.1.2. Shell(BASH)... 8 3.3.1.3. Python... 8 3.3.1.4. Ruby... 8 3.3.1.5. nodejs... 9 3.4. REQUEST RESPONSE FORMAT... 10 3.4.1. Request Response 예시... 10 3.4.1.1. 성공일경우... 10 3.4.1.2. 실패일경우... 10 3.5. REPORT FORMAT... 11 3.5.1. Report 예시... 11 3.5.1.1. 성공일경우... 11 3.5.1.2. 실패일경우... 12 3.6. REPORT RESPONSE FORMAT... 12 3.6.1. Report Response 예시... 12 4. 응답및결과코드...12 4.1. RESPONSE RETURN CODE... 12 4.2. REPORT RETURN CODE... 13 5. APPENDEX...14 5.1. CONCATENATED MESSAGE... 14 6. CONTACT INFORMATION...14 4 / 14

1. HTTP API 란? 인포뱅크의메시징서비스를이용하기위해 HTTPS 방식을이용한연동규격을말합니다. 본규격을이용하여국내 / 외메시징서비스를이용할수있으며, 본서비스를이용하시기위해서는담당영업사원으로부터접속정보를제공받으셔야합니다. 2. 서비스흐름도 Wireless Environment 1. Request HTTPS : TCP/IP 통신를이용하며 Client는 HTTPS API 규격에맞춰서메시지전송 2. Response HTTPS : Server는 Client로부터전달받은메시지전송요청응답 3. SEND SMS : Server는통신사에메시지를전송 4. Get Reports : 통신사업자로부터메시지리포트수신 5. Get Reports : 통신사업자가인포뱅크 Server로전송한메시지리포트를 Client로전달 6. Response Reports : 메시지리포트정상수신여부에대한응답을 Server에전달 3. 전문규격 HTTPS METHOD - 전송요청을위해 HTTPS GET/POST 방식을제공하며, 전송응답은 XML 방식을사용합니다. ENCODING - UTF-8 인코딩을기본으로제공합니다. 5 / 14

TIMEZONE - 메시지기준시간은한국표준시 KST(UTC+9) 를사용합니다. 3.1. Base URL HTTPS https://rest.supersms.co/sms/xml 3.2. 결과정보수신 리포트를수신하기위해서는인포뱅크에서제공하는서버 IP에대한접근을허용해야하며, 리포트를수신할고객사측 IP/PORT 에대한정보는 bizplus@infobank.net 로접수해야합니다. 결과송신서버 IP 정보 : 183.110.234.54/ 183.110.234.55 3.3. Request format 전세계언어를지원하기위해 UTF-8인코딩을사용합니다. [M] Mandatory : 필수 [O] Optional : 옵션 Parameter M/O TYPE Description from M Char 발신자전화번호 ( 최대길이 16 byte) ex) 한국발송시 01029652189 ( 국가코드미포함 ) 해외발신시 821029652189 ( 국가코드포함 ) to_country M Char 국가코드 (1 ~ 3 bytes) ex) 한국발송시, to_country=82 to M Char 수신자전화번호 ( 최대길이 13 byte) ex) 한국발송시, to=1093446280 title O Char 메시지제목 ( 최대길이 40 byte) - 메시지제목은 UTF-8 과 URL 인코딩필요 - 한국장문발송시에만유효함 message M Char 메시지내용 - 메시지내용은 UTF-8 과 URL 인코딩필요 report_req M Char 레포트수신여부 - 1 : 레포트수신이며, 필수셋팅필요 charset O Char 인코딩설정 (1 : UTF-8, 2 : euc-kr) - 해당값을설정하지않으면 UTF-8 로기본인코딩됨. ex) charset=2 (euc-kr) ref O Char 여분필드, 고객이설정할수있는필드값 ( 최대길이 20 byte. 영. 숫자만가능 ) 6 / 14

ttl O Char 메시지유효시간 ( 초단위 ) ex) ttl=86400 (24hour = 60 * 60 * 24) payment_code O Char 정산용부서코드 ( 최대길이 20 byte) client_sub_id O Char Sender ID, 메시지서명을복수로지정하기위한구분자 ( 최대길이 20 byte) 발신번호는숫자형식을지원합니다. 한국으로 90byte를초과하는메시지발송시 LMS( 첨부파일없는 MMS) 형태로자동전환됩니다. 3.3.1. Request 예시 3.3.1.1. PHP <?php $url = 'https://rest.supersms.co/sms/xml?'. http_build_query([ 'id' => 'infobank_test', 'pwd' => 'pwinfobank', 'from' => '01029652189', 'to_country' => '82', 'to' => '1093446280', 'message' => 'Hello Infobank', 'report_req' => '1' ]); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $xml = simplexml_load_string($response); if ($xml === false) { echo "Failed loading XML: "; } else { //print_r($xml); //echo($xml->to_country); //echo($xml->to); echo("response code : ". $xml->messages->message->err_code); }?> 7 / 14

3.3.1.2. Shell(BASH) #!/bin/bash curl 'https://rest.supersms.co/sms/xml' \ -d id=infobank_test \ -d pwd=pwinfobank \ -d from=01029652189 \ -d to_country=82 \ -d to=1093446280 \ --data-urlencode "message=hello Infobank" \ -d report_req=1 3.3.1.3. Python import urllib params = { 'id': 'infobank_test', 'pwd': 'pwinfobank', 'from': '01029652189', 'to_country': '82', 'to': '1093446280', 'message': 'Hello Infobank', 'report_req': '1' } url = 'https://rest.supersms.co/sms/xml?' + urllib.urlencode(params) response = urllib.urlopen(url) print response.read() 3.3.1.4. Ruby require "net/http" require "uri" uri = URI.parse("https://rest.supersms.co/sms/xml") params = { "id" => "infobank_test", "pwd" => "pwinfobank", "from" => "01029652189", 8 / 14

} "to_country" => "82", "to" => "1093446280", "message" => "Hello Infobank", "report_req" => "1" response = Net::HTTP.post_form(uri, params) puts response.body 3.3.1.5. nodejs var https = require('https'); var options = { host: 'rest.supersms.co', path: 'sms/xml?id=' + encodeuricomponent('infobank_test') + '&pwd=' + encodeuricomponent('pwinfobank') + '&from=' + encodeuricomponent('01029652189') + '&to_country=' + encodeuricomponent('82') + '&to=' + encodeuricomponent('1093446280') + '&message=' + encodeuricomponent('hello Infobank') + '&report_req=' + encodeuricomponent(1) }; var req = https.request(options); req.end(); var responsedata = ''; req.on('response', function(res){ res.on('data', function(chunk){ responsedata += chunk; }); res.on('end', function(){ console.log(responsedata); }); }); 9 / 14

3.4. Request Response format Request 에대한 Response 를통해전송요청에대한성공 / 실패여부를확인할수있으며, 단말기 도착여부는 Report 를통해확인할수있습니다. [M] Mandatory [O] Optional Parameter M/O TYPE Description msgid M Char 발송된메시지에부여되는메시지아이디 to_country M Char 국가코드 (1-3 byte) ex) 한국발송시, <to_country>82</to_country> to M Char 수신자번호 err_code M Char 메시지전송결과코드 messages cnt M Char 메시지건수 msg_type M Char 메시지타입 (1. SMS, 2. MMS) ex) MMS 로메시지발송된경우, <msg_type>2</msg_type> ref O Char 여분필드, 고객이설정할수있는필드값 - Request 에서설정한 ref 값전달 3.4.1. Request Response 예시 3.4.1.1. 성공일경우 <?xml version='1.0' encoding='utf-8'?> <submit_response> <to_country>82</to_country> <to>1093446280</to> <messages cnt= 1 > <message> <msgid>00000123</msgid> <err_code>r000</err_code> <msg_type>1</msg_type> </message> </messages> <ref>aa123456789</ref> </submit_response> 3.4.1.2. 실패일경우 <?xml version='1.0' encoding='utf-8'?> 10 / 14

<submit_response> <to_country>82</to_country> <to>1093446280</to> <messages cnt= 1 > <message> <err_code>r007</err_code> </message> </messages> <ref>aa123456789</ref> </submit_response> err_code 부분은 4. 응답및결과코드 참조 3.5. Report Format Report는 GET방식으로클라이언트가제공한접속정보로결과값을전달합니다. [M] Mandatory [O] Optional Parameter M/O TYPE Description msgid M Char 발송된메시지에부여되는메시지아이디 to M Char 수신자번호 ( 국가코드를제외한수신번호 ) ex) 1093446280 to_country M Char 수신자국가코드 ex) 82 err_code M Char 리포트세부결과코드 network M Char Mobile network MCCMNC. (MCC : 국가코드, MNC : 이통사코드 ) ex) 45005 (SKT), 45006 (LGU+), 45008 (KT) rescnt M Char 실제메시지과금건수 *Concatenated Message 경우, 실제메시지과금된건수 sent_date O Char 단말기도착시간 - 한국표준시기준 : KST(UTC+9), YYYYMMDDHHMMSS ref O Char 여분필드, 클라이언트설정값 - request 에서설정한 ref 값전달 3.5.1. Report 예시 3.5.1.1. 성공일경우?msgid =00000123&to=1093446280&to_country=82&ref=AA123456789&network=45008 &rescnt=1&err_code=1000&sent_date=20150322140641 11 / 14

3.5.1.2. 실패일경우 - 단말기미수신시단말기도착시간 (sent_date) 을생략한다.?msgid=00000123&to=1093446280&to_country=82&ref=AA123456789&network=45008&resc nt=0&err_code=3001 자세한 err_code & status는 4.2 Report Return Code 참조 3.6. Report Response Format Report를수신을설정한클라이언트는인포뱅크가발송한 Report에대하여 Report Response를전송하여야합니다. Report Response가포맷과맞지않을경우인포뱅크는반복해서 Report를발송합니다. 리포트관련 IP/PORT 정보는 3.2 결과정보수신 참조 [M] Mandatory [O] Optional Parameter M/O TYPE Description msgid M Char 발송된메시지에부여되는메시지아이디 to_country M Char 국가코드 (1-3 byte) ex. 한국발송시, to_country=82 to M Char 수신자번호 3.6.1. Report Response 예시 <?xml version='1.0' encoding='utf-8'?> <report_response> <msgid>00000123</msgid> <to_country>82</to_country> <to>1093446280</to> </report_response > 4. 응답및결과코드 4.1. Response Return Code Status code Description SUCCESS R000 성공 FAILURE R001 server busy 12 / 14

INVALID R002 인증실패 INVALID R003 수신자번호형식오류 INVALID R004 발신자번호형식오류 INVALID R005 메시지형식오류 INVALID R006 유효하지않은 TTL INVALID R007 유효하지않은파라미터오류 INVALID R008 스팸필터링 INVALID R009 서버 capacity 초과, 재시도요망 INVALID R010 등록되지않은발신번호사용 INVALID R011 발신번호변작방지기준위반발신번호사용 INVALID R012 해당서비스유형전송권한없음 INVALID R013 발송가능건수초과 UNKNOWN R999 알려지지않은에러 4.2. Report Return Code Status code Description SUCCESS 1000 성공 : 단말기에메시지정상도착 FAILURE 2000 전송시간초과 FAILURE 2001 전송실패 ( 무선망단 ) FAILURE 2002 전송실패 ( 무선망 -> 단말기단 ) FAILURE 2003 단말기전원꺼짐 FAILURE 2004 단말기메시지버퍼풀 FAILURE 2005 음영지역 FAILURE 2006 메시지삭제됨 FAILURE 2007 일시적인단말문제 INVALID 3000 전송할수없음 INVALID 3001 가입자없음 INVALID 3002 성인인증실패 INVALID 3003 수신번호형식오류 INVALID 3004 단말기서비스일시정지 INVALID 3005 단말기호처리상태 INVALID 3006 착신거절 INVALID 3008 기타단말기문제 INVALID 3009 메시지형식오류 INVALID 3010 MMS 미지원단말 INVALID 3011 서버오류 13 / 14

INVALID 3012 스팸 INVALID 3013 서비스거부 INVALID 3014 기타 INVALID 3015 전송경로없음 INVALID 3016 첨부파일사이즈제한실패 -발신번호변작방지세칙위반 -동보메시지전송시일부건세칙위반 INVALID 3018 휴대폰가입이동통신사를통해발신번호변작방지부가서비스에가입된번호를발신번호로사용하는경우 INVALID 3019 KISA or 미래부에서모든고객사에대하여차단처리요청된번호를발신번호로사용하는경우 INVALID 3022 Charset conversion error - 동보사용시국가코드 '82' 인경우, 건별인코딩오류처리 5. APPENDEX 5.1. Concatenated message 해외에서사용하는 160자이상의메시지를전송하기위한전송방식으로일부국가와통신사에서지원하며실제휴대폰에서는전체메시지가 1건으로보입니다. 한국의 LMS와유사하지만 Standard SMS 1건을기준글자수로하여글자수에따라요금이부과되는차이점이있습니다. 예 ) 160자가 Standard SMS인국가로 350자의메시지를전송할수있으며, 요금은 153자 +153자 +44자 = 350자로 3건의요금이부과됩니다. concatenated SMS 이용시긴문자처리를위한코드가포함되어 153자가 1건으로과금됩니다. 6. Contact Information 본문서와관련된기술문의는아래메일주소로연락주시면됩니다. Email : support@infobank.net 14 / 14