Messaging Service REST API Specification V2.3.2 Last Modified: 07.October, 2016

Similar documents
API Spec Sheet For Version 2.5

Connect Media Bulk SMS API Documentation

API Spec Sheet For HLR v1.4

All requests must be authenticated using the login and password you use to access your account.

LINK Mobility SMS REST API MT and Delivery Reports Version 1.3; Last updated September 21, 2017

SMS Aggregation - API Documentation

Forthnet Mobile Platform - groupsms http interface v1.0 1 / 9

2. On completing your registration you will get a confirmation . Click on the link or paste the link into your browser to validate the account.

Way2mint SMS Mobile Terminate (MT) API Guide for HTTP / HTTPS

Gatesms.eu Mobile Solutions for Business

ARTIO SMS Services HTTP API Documentation

Quriiri HTTP MT API. Quriiri HTTP MT API v , doc version This document describes the Quriiri HTTP MT API version 1 (v1).

API Documentation. Release Version 1 Beta

Revision: 50 Revision Date: :43 Author: Oliver Zabel. GTX Mobile Messaging SMS Gateway Interface Simple HTTP API Manual

SMS Submit Interface description HTTP Version 1.5

SMS Gateway. API & Application Technical Documentation. Revision 1. Current as at 10 th August Document ID: DOC-SMS-API-R1

SMS4BD Gateway Integration

HTTP API Specification V2.7

Technical Guide. REST API for Mobile Outbound SMS

1. Overview Account Configuration Details... 3

cellip CELLIPS SMS INTERFACE DESCRIPTION HTTP GET INNEHÅLLSFÖRTECKNING

Integration REST Text2Speech Version 1.1

API USER GUIDE MARKETING MESSAGES & BROADCASTS

Integrating with Cellsynt's SMS gateway via HTTP interface (technical documentation)

MCB Gateway. 1 Introduction. 2 Change history. 3 Table of contents

version 2.0 HTTPS SMSAPI Specification Version 1.0 It also contains Sample Codes for -.Net - PHP - Java

Future Pay MCB API. Version

Fax Broadcast Web Services

Sophisticated Simplicity In Mobile Interaction. Technical Guide Number Information Services - Synchronous SOAP. Version 1.3

XML API Developer-Documentation Version 2.01

Sophisticated Simplicity In Mobile Interaction. Technical Guide Number Information Services - Asynchronous SOAP. Version 1.3

API Specification Doc

RHODE ISLAND Electronic Business Transactions

Cloud SMS API Guide. Version 5.1

ERMES. Technical Specification for ex MPAY services integration. version /10/2018

SMS Outbound. HTTP interface - v1.1

Bulk HTTP API Specification

API HTTP TECHNICAL DOCUMENTATION WEB-BASED SMS SENDING PLATFORM. Version Update: July 12th Mobile Marketing and Messaging Solutions

Sending Documents to Tenstreet API Guide (rev 06/2017)

HTTP API. Table of Contents

API-SMS HTTP/POST Interface Ref Push SMS, Balance, ACKs. April 18, 2017 v2.15

Sending Application Data to Tenstreet API Guide

text2reach2 SMS API Sep 5, 2013 v1.1 This document describes application interface (API) between SMS service provider (SP) and SMS gateway (SMSGW).

SMSCenter. SMSCenter API

API Integration Guide

Sending Job Requsition Data to Tenstreet API Guide (rev 09/2018)

Zipwhip API Developer Reference Messaging API

Integration Guide Xura Messaging HTTP-Interface

SONERA OPERATOR SERVICE PLATFORM OPAALI PORTAL SMS. FREQUENTLY ASKED QUESTIONS, version 2.0

SOAP API. The correct URL has been hidden. Please contact your account manager for the full URL information.

WhatsATool API - REST-Like Interface to WhatsATool Services

Front Gateway Product Description for the connection between the SMS gateway and customer

Sending Data Updates to Tenstreet API Guide (rev 10/2017)

SMS HTTP API DOCUMENTATION December 2012

SMS GATEWAY API INTEGRATION GUIDE

Qliq Cloud API Guide

Messaging Messaging Basics Customizing Mail Address Creating/Sending Messages Incoming Messages Using Messages...

REST SERVICE. Web Services API Version 1.5

SMS API User Guide. Document Reference: October Version: 6

Messaging Messaging Basics Customizing Mail Address Creating/Sending Messages Advanced Settings

NIC SMS SERVICE INTEGRATION

Service Requestor/User Protection Document

X12 Implementation Guidelines For Inbound 997 v (I )

SMS Outbound. SMTP interface - v1.1

Unity SDK for Xiaomi (IAP) Unity IAP provides an easy way to integrate Xiaomi IAP with Unity.

WebSMS 5.0. User Guide. June 2011

BME Data Feed Interface Specifications. Version: Related to: BME Data Feed Release 13.0

PART 7 - Central Office Optional Features Original Sheet 1 SECTION 3 - Complementary Network Services (CNS) 7.3 COMPLEMENTARY NETWORK SERVICES

Before you start! : 1. It is important to know some things code, before starting the deal with this file.

Terms and Conditions of Mobile Phone Service (Post-Paid) Between Operator and Subscriber

Configuring Gmail (G Suite) with Cisco Cloud Security

LIPNET OUTBOUND API FORMS DOCUMENTATION

Messaging Messaging Basics Customizing Mail Address Creating/Sending Messages Incoming Messages Using Messages...

Rules and Regulations - MENA. Version 2

mvaayoo API Ver 1.2.0

APERAK Application Error and Acknowledgement Message From INTTRA To Customer EDIFACT Version D Release 99B. User Guide Version 1.0

Dynmark Messaging Platform XML HTTP Interface Quick Start Guide. Draft Revision September

Click 2 Call. All rights reserved to Voicenter Revision

The Callback API Guide

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1

IP Pay. End User System Reference Manual. Document revision October 2008

Session Capabilities in OBEX

Wired 2 Wireless Technology Solutions API Help Document Copyright Introduction. 2. Parameter list

PRE BID REPLIES FOR NPCI:RFP: /0020 DATED RFQ FOR SMS GATEWAY SERVICES FOR INTEGRATION WITH FRM SOLUTIONS

HTTP Interface API. for SMS Services. Version 2. Claude ICT Poland Sp. z o. o.

Enabler Test Specification for RCS Conformance

PC-FAX.com Web Customer Center

BC95-G&BC68 MQTT Application Note

My MessageMedia User Guide

Response: Note: Please define Dynamic Value in ##Field## The following are the parameters used: For Unicode Message:

Terms and Conditions of Mobile Phone Service (Pre-Paid) Between Operator and Subscriber

SMS Pro/Billing Pro. Interface specification. Version 3.0.1

Automatic system alerts on Primo or, How to respond to a system outage in your sleep

API Developer Reference Manual. Version 1.0

NODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js

XML API SMS GATEWAY. Issue 2.0 Dec XML API

1WorldSync Content1 Web Services

INTERNATIONAL TELECOMMUNICATION UNION

InstaMember USER S GUIDE

This description gives important information that requires attention when using Prepaid SIM for Travel data service.

Transcription:

Messaging Service REST API Specification V2.3.2 Last Modified: 07.October, 2016 page 1

Revision history Version Date Details Writer 1.0.0 10/16/2014 First draft Sally Han 1.1.0 11/13/2014 Revised v.1.1 document. Sally Han 1.2.0 11/14/2014 Revised v.1.2 document. Sally Han 1.3.0 11/19/2014 Revised v1.3 document. Sally Han 1.4.0 12/11/2014 Revised v1.4 document. Sally Han 1.5.0 03/02/2015 1. Changed XML parameters. (replaced _ (underscore) with - Sally Han (bar)) 2. Added Report Responses and return values. 1.6.0 03/23/2015 1. Added the description on Concatenated Message. Sally Han 2. Added the Submit packet charset field. 3. Removed to_country from the report set. 4. Added charset to the Submit field. 1.7.0 03/29/2015 1. Added the msg_type field to Response. Sally Han 2. Added rescnt to REPORT Response. 1.7.1 04/08/2015 Supplemented specification description. Sally Han 1.7.2 06/08/2015 Added the report connection information. Sally Han 1.8.0 08/17/2015 Added the MMS title field. Sally Han 1.9.0 11/03/2015 Added error codes related a Korean regulation of Sender ID. Sally Han 2.0.0 01/27/2016 1. Changed the Base URL./Added the HTTPS protocol. 2. Changed the report receiving IP. Goonghee Nam 3. Changed the result code. 4. Added the response code (credit/sender ID alteration, etc.) 5. Removed the status parameter of the result sending API. 2.1.0 2016-03-04 Changed Report format Added Sample code Goonghee Nam 2.2.0 2016-05-04 correct the Response Code : 3.4.1.1 Success example Cliff Lee <err_code>1000</err_code> <err_code>r000</err_code> 2.3.0 2016-06-01 3.3 Request format Added payment_code, client_sub_id field Goonghee Nam 2.3.1 2016-07-29 As is : path: 'sms/xml?id' + encodeuricomponent('infobank_test') To be : path: 'sms/xml?id=' + encodeuricomponent('infobank_tes t') Goonghee Nam page 2

2.3.2 2016-10-07 Added Report Return code - 3022 : Charset conversion error Goonghee Nam page 3

Table of Contents 1. INTRO... 5 2. SERVICE FLOWCHART... 5 3. MESSAGE SPECIFICATIONS... 6 3.1. BASE URL... 6 3.2. RECEIVING THE RESULT INFORMATION... 6 3.3. REQUEST FORMAT... 6 3.3.1. Example of 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. Example of Request Response... 10 3.4.1.1. Success... 10 3.4.1.2. Fail... 10 3.5. REPORT FORMAT... 11 3.5.1. Example of Report Format... 11 3.5.1.1. Success... 11 3.5.1.2. Failure... 12 3.6. REPORT RESPONSE FORMAT... 12 3.6.1. Example of Report Response... 12 4. RESPONSE AND RESULT CODE...12 4.1. RESPONSE RETURN CODE... 12 4.2. REPORT RETURN CODE... 13 5. APPENDIX...14 5.1. CONCATENATED SMS... 14 6. CONTACT US...14 page 4

1. Intro This document defines the protocol specification for constructing the interface that enables the Client to send SMS messages via the Infobank Server. Using the HTTP API specification (RESTful method) described in this document, the following functionality is provided: - Connecting & disconnecting to the Infobank Servers (platform) - Sending messages using HTTP, XML and plain text - Collect delivery receipt (DLR) 2. Service Flowchart 6. Response Reports Wireless Environment 1. Request HTTP: The client sends a message according to the REST API specification, using TCP/IP communication. 2. Response HTTP: The server responds to the message sending request received from the client. 3. SEND SMS: The server sends the message to the local carrier. 4. Get Reports: The server receives the message report from the local carrier. 5. Get Reports: Transfers the message report to the client, which has been sent to the server by the local carrier. 6. Response Reports: Transfers the response about the normal reception of the message report to the server. page 5

3. Message specifications HTTP METHOD - The HTTP GET/POST method is provided to make a transfer request, and the XML method is used for the transfer response. ENCODING - UTF-8 encoding is provided by default. TIMEZONE - Korean Standard Time KST (UTC+9) is used as the base time of the message. 3.1. Base URL HTTP HTTPS http://rest.supersms.co:6200/sms/xml https://rest.supersms.co/sms/xml 3.2. Receiving the result information The IP of the Infobank s server, which sends the result value, should be allowed to access and send us your IP and PORT, in order to receive the message sending result. IP information of the server that sends the result: 183.110.234.54 / 183.110.234.55 Please send your IP and PORT to support@infobank.net 3.3. Request format UTF-8 encoding is used to support various languages. [M] Mandatory, [O] Optional Parameter M/O Type Description from M Char Sender ID (up to 16bytes) e.g.,) When sending to Korea: from=821012345678 to_country M Char Country code (1 ~ 3 bytes) e.g.,) When sending to Korea: to_country=82 to M Char Recipient (up to 13bytes) e.g.,) When sending to Korea: to=1012345678 title O Char Message title (up to 40 byte) - The message title requires UTF-8 and URL encoding. - Valid only when sending LMS to Korea. message M Char Message content - The message content requires UTF-8 and URL encoding. report_req M Char Report receiving status - 1 : Reports are received. (This parameter should be set.) page 6

charset O Char Encoding setting (1: UTF-8, 2: euc-kr) - UTF-8 encoding will be applied if this parameter is not set. e.g.,) charset=2 (euc-kr) ref O Char A spare field that can be set by the user. (Up to 20bytes, alphabets/numbers only) ttl O Char Valid time of the message (in seconds) e.g.,) ttl=86400 (24hour = 60 * 60 * 24) payment_code O Char Field for separating payment by departments (Max 20 byte) client_sub_id O Char Filed for using several Sender ID and Signature (Max 20 byte) The Sender ID only supports numeric format. If a message exceeding 90bytes in size is sent to Korea, the message will be automatically switched to an LMS (MMS without an attached file). 3.3.1. Example of Request 3.3.1.1. PHP <?php $url = 'https://rest.supersms.co/sms/xml?'. http_build_query([ 'id' => 'infobank_test', 'pwd' => 'pwinfobank', 'from' => '821029652189', '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); page 7

}?> 3.3.1.2. Shell(BASH) #!/bin/bash curl 'https://rest.supersms.co/sms/xml' \ -d id=infobank_test \ -d pwd=pwinfobank \ -d from=821029652189 \ -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': '821029652189', '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", page 8

} "pwd" => "pwinfobank", "from" => "821029652189", "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('821029652189') + '&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); page 9

}); 3.4. Request Response format Success/Failure can be checked using the response to the request. [M] Mandatory: [O] Optional: Parameter M/O Type Description msgid M Char An ID assigned to the sent message. to_country M Char Country code (1 ~ 3 bytes) e.g.,) When sending to Korea <to_country>82</to_country> to M Char Recipient err_code M Char Message sending result code messages cnt M Char Number of messages msg_type M Char Message type (1. SMS, 2. MMS) E.g.,) If the message has been sent as an MMS <msg_type>2</msg_type> ref O Char A spare field that can be set by the user. - Transfers the ref value set in Request. 3.4.1. Example of Request Response 3.4.1.1. Success <?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. Fail <?xml version='1.0' encoding='utf-8'?> <submit_response> page 10

<to_country>82</to_country> <to>1093446280</to> <messages cnt= 1 > <message> <err_code>r007</err_code> </message> </messages> <ref>aa123456789</ref> </submit_response> See 4.1 Response Return Code for err_code 3.5. Report Format The report transfers the result value with the GET method, using the access information provided by the client. [M] Mandatory: [O] Optional: Parameter M/O Type Description msgid M Char An ID assigned to the sent message. to M Char Recipient (Country code should be excluded) ex) 1093446280 to_country M Char Country code of recipient number ex) 82 err_code M Char Detailed report result code network M Char Mobile network MCCMNC. (MCC: Country code, MNC: Local carrier code) e.g.,) 45005 (SKT), 45006 (LGU+), 45008 (KT) rescnt M Char Number of actual message billing cases * For concatenated messages, send the number of messages that is actually charged. sent_date O Char Time of sent - Based on Korean Standard Time: KST(UTC+9), YYYYMMDDHHMMSS ref O Char A spare field that can be set by the user. - Transfers the ref value set in Request. 3.5.1. Example of Report Format 3.5.1.1. Success?msgid =00000123&to=1093446280&to_country=82&ref=AA123456789&network=45008 &rescnt=1&err_code=1000&sent_date=20150322140641 page 11

3.5.1.2. Failure?msgid=00000123&to=1093446280&to_country=82&ref=AA123456789&network=45008&rescnt= 0&err_code=3001 See 4.2. Report Return Code for more details on err_code & status. 3.6. Report Response Format Please see 3.2 Receiving the result information to receive report. The report transfers the result value with the GET method, using the access information provided by the client. [M] Mandatory: [O] Optional: Parameter M/O Type Description msgid M Char An ID assigned to the sent message. to_country M Char Country code (1 ~ 3 bytes) e.g.,) When sending to Korea: to_country=82 To M Char Recipient 3.6.1. Example of 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. Response and result code 4.1. Response Return Code Status code Description SUCCESS R000 Success FAILURE R001 Server busy INVALID R002 Verification failed INVALID R003 Incorrect recipients format INVALID R004 Incorrect Sender ID format INVALID R005 Invalid message format INVALID R006 Invalid TTL page 12

INVALID R007 Invalid parameter error INVALID R008 Spam filtering INVALID R009 Server capacity exceeded. Please retry. INVALID R010 Unregistered Sender ID INVALID R011 A Sender ID is used that violated the Sender ID alteration prevention standard. INVALID R012 No right to send the pertinent service type INVALID R013 Exceeded the maximum number of messages that can be sent UNKNOWN R999 Unknown error 4.2. Report Return Code Status code Description SUCCESS 1000 Success FAILURE 2000 Sending time exceeded. FAILURE 2001 Failed to send. FAILURE 2002 Failed to send. FAILURE 2003 The handset is turned off. FAILURE 2004 The handset message is full. FAILURE 2005 Shadow area FAILURE 2006 The message has been deleted. FAILURE 2007 Temporary handset problem INVALID 3000 Unable to send. INVALID 3001 No subscriber INVALID 3002 Age verification failed. INVALID 3003 Invalid recipients format INVALID 3004 Handset service suspended temporarily. INVALID 3005 Handset call processing state INVALID 3006 Declining incoming calls INVALID 3007 Handset cannot receive a callback URL. INVALID 3008 Other handset problems INVALID 3009 Invalid message format INVALID 3010 Handset that doesn t support MMS. INVALID 3011 Server error INVALID 3012 Spam INVALID 3013 Service denial INVALID 3014 Others INVALID 3015 No transmission path page 13

INVALID 3016 Failed to limit the size of the attached file. - Violated the bylaws to prevent alteration of Sender ID. - Some messages during a broadcast message violated the bylaws. INVALID 3018 Prohibited sender ID by Korean carriers. INVALID 3019 Prohibited sender ID by Korean governmental agencies. INVALID 3022 Charset conversion error 5. APPENDIX 5.1. Concatenated SMS A method of sending messages longer than 160 characters. This method is supported by some countries and local carriers. The entire message will be shown as a single message on the actual mobile phone. It is charged according to the number of characters, based on one standard SMS message. When concatenated SMS messages are used, the code to process a long message is included. As a result, 153 characters are considered as the maximum message length when charging the fee. For example, if a 350 character-long message is sent to a country that uses a 160 character-long SMS message as a standard, the fee of three messages will be charged (153 characters + 153 characters + 44 characters = 350 characters). 6. Contact Us For any inquiries or comment about these specifications, please send us an e-mail (support@infobank.net). page 14