SMS API - Web Services with SSL SHA2 HMAC Version 1.7

Similar documents
SMS API - Web Services with SSL SHA2 HMAC Version 1.5

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

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

API Integration Document

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

PCCW mobile SMS Web Access 2.0 User Guide

SMS Submit Interface description HTTP Version 1.5

mvaayoo API Ver 1.2.0

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

Bulk HTTP API Specification

HTTP Specification Version 1.83

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

Redrabbit Cloud-based Communications Platform SMS APIs

HTTP API-HELP DOCUMENT

ARTIO SMS Services HTTP API Documentation

NMI Query API. 6/30/2008 Network Merchants Inc (NMI)

API Specification Doc

Durango Merchant Services Query API

NIC SMS SERVICE INTEGRATION

SMS+ Client User Manual

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

SMS Outbound. HTTP interface - v1.1

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

ezeesms URL API Documentation

Cloud SMS API Guide. Version 5.1

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

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

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

SMS HTTP API DOCUMENTATION December 2012

HLR Lookup Service (Release 1.1.0)

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

Gatesms.eu Mobile Solutions for Business

The Merit Palk API allows 3rd party developers to expand and build on the Merit Palk platform.

HTTP API Specification V2.7

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

SMS Relay. API Documentation SPLIO - SPRING Contact and Campaign SMS Relay API - EN v1.2.docx

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

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

HTTP Based Unified API

Fax Broadcast Web Services

Reseller Web Site Instructions Manual

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

AutomationDirect.com Order Import Feature

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

Quick Answers. You may create any Sender ID for the transactional route, provided the Sender ID should be of 6 alpha characters only.

FUJITSU Cloud Service S5. Introduction Guide. Ver. 1.3 FUJITSU AMERICA, INC.

Issue No. Date Description of Changes Initial issue Added basic authentication

BULK SMS RESELLER PLATFORM WEB SERVICES API

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

1 Virtual Terminal Quick Reference Guide. Virtual Terminal Quick Reference Guide. Getting Started

Opaali Portal Quick guide

SMS-Bulk Gateway HTTP interface

SMS/Content Exchange OpenAPI Version 5.07

SMSCenter. SMSCenter API

ARTIO VM SMS Documentation

HTTP API - HELP DOCUMENT

4/ FGC Uen Rev C IPX. Implementation Guide SMS Utility API 1.0

DBSG3 USER GUIDE. Rel Web-based access to DBSG3 data sets

Web Services User Guide

Configuring SSL. SSL Overview CHAPTER

Message parameter details

Industry Training Register. Guide to integration for ITOs

SMS API TECHNICAL SPECIFICATION

An Intrastat declaration is a monthly declaration which traders who are liable to provide data must submit each month.

1. Overview Account Configuration Details... 3

API Spec Sheet For Version 2.5

HTTP API. Table of Contents

RouteMobile Mobile Client Manual for Android Version: 2.0

Brain Corporate Bulk SMS

Technical Guide. REST API for Mobile Outbound SMS

Registrar- web Version February Registrar- web. Release 3.1. Copyright 2015 DNS Belgium vzw

USSD HTTP API SPECIFICATION Version 1.0 Teletalk Bangladesh Limited

Partner Web Services. GetOrderStatus Version 1 Service Manual

MxVision WeatherSentry Web Services REST Programming Guide

API Integration Guide

IUID Registry Application Programming Interface (API) Version 5.6. Software User s Manual (SUM)

WebSMS 5.0. User Guide. June 2011

HTTPS File Transfer. Specification

REST SERVICE. Web Services API Version 1.5

DSWR User Guide. In effect from January 29 th,, BCLDB Direct Sales Web Reporting User Guide Page 1

BB&T Credit Card Connection for Company Administrators

Comodo Certificate Manager

An Intrastat declaration is a monthly declaration which traders who are liable to provide data must submit each month.

API Documentation. Release Version 1 Beta

Online Banking Service FAQ(Corporate)

SMS Outbound. SMTP interface - v1.1

Reports Web Services API. InCommon c/o Internet Oakbrook Drive, Suite 300 Ann Arbor MI, 48104

Isi Net User Manual for Bank customers

API-SMS HTTP/GET Interface Ref Push SMS, Balance, ACKs. April 18, 2017 v1.12

Uploading Bills, Downloading Payments, and Automating the Process. Section 1: Uploading bills

TIS HELP VCCS TECHNICAL INFORMATION SHOP (TIS) INSTRUCTION FOR INDEPENDENT OPERATORS

Welcome to United Bank - Mobile Banking!

User Manual RouteSms SmsPlus Desktop. Version 1.0

Telenor Corporate Call & SMS. API Documentation

Level 3 Media Portal API Guide

Instructions for Accessing the Outreach Trainer Portal

BMAP B2B programmer guide for R3E

Comodo Certificate Manager

How to apply for a bachelor?

What Are We Building?

Transcription:

SMS API Web Services with SSL SHA2 HMAC Open API Version 1.7 Jul 2017 Technologies powered by Media Digital Technologies Corporation Limited. All rights Reserved. Copyrights 2003-2017 INTRODUCTION... 3 API PROTOCOL SPECIFICATION... 3 IP REQUIREMENT... 3 WSDL... 3 SCHEMA... 3 HMAC AUTHORIZATION... 3 SMS SENDING API... 4 SIGNED PARAMETERS... 4 FUNCTION... 4 PARAMETERS... 5 RETURN CODE... 7 SMS GET TRANSACTIONS API... 8 SIGNED PARAMETERS... 8 FUNCTION... 8 PARAMETERS... 8 RETURN CODE... 9 SMS GET TRANSACTIONS REPORT API...10 SIGNED PARAMETERS...10 INTRODUCTION...10 FUNCTION...10 PARAMETERS... 11 Page 1 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

RETURN CODE... 11 SMS CANCEL TRANSACTIONS API...13 SIGNED PARAMETERS...13 FUNCTION...13 PARAMETERS...13 RETURN CODE...13 SMS GET USER BALANCE API...14 SIGNED PARAMETERS...14 FUNCTION...14 PARAMETERS...14 RETURN CODE...15 VERSION HISTORY:...16 V1.7 JUL 2017...16 V1.6 JUN 2017...16 V1.5 JUN 2017...16 V1.4 OCT 2011...16 V1.3 NOV 2010...16 V1.2 NOV 2010...16 V1.1 MARCH 2010...16 V1.0 MAY 2009...16 Page 2 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

Introduction This API is used for send SMS in a simple method. All requests can pass via SSL internet with a fixed IP by Web Service with HMAC authorization. API Protocol Specification Web Services/SOAL via SSL IP Requirement Fixed IP and need to register. WSDL https://www.mds.ms/apiwss/sms.wsdl Schema https://www.mds.ms/apiwss/sms?xsd=1 HMAC Authorization Authentication is the process of proving your identity to the system. Requests are allowed or denied in part based on the identity of the requester. Using the HTTP Authorization header is the only method of providing authentication information by this API. Request headers for HMAC Authorization Example: (No line change in header, below line change only for readability. Authorization: MDWS-HMAC-SHA256 Credential=Username, SignedHeaders=sdate;SMS;destination, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024 Page 3 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

Re f Items Details Example 1 MDWS-HMAC- The algorithm that was used to calculate the signature. MDWS-HMAC-SHA256 SHA256 You must provide this value. It will provide more algorithm for future enchantment. The string specifies MDWS WS Signature and the signing algorithm (HMAC-SHA256). 2 Credential Your username/access ID and the scope information. Credential=Username 3 SignedHeaders A semicolon-separated list of request headers that you used to compute Signature. The list includes header names only, and the header names must be in lowercase. 4 Signature The 256-bit signature expressed as 64 lowercase hexadecimal characters. SignedHeaders=sdate;SMS; destination fe5f80f77d5fa3beca038a248 ff027d0445342fe2855ddc96 3176630326f1024 SMS Sending API Signed Parameters SignedHeaders=sdate;SMS;destination Function public int send(string destination, String SMS, String origination, int type, String senddate, int returnmode, int sentdirect, String udh, int dcs, String expiredate, String sendperiodstart, String sendperiodend, String userref String dnc, String validityperiod) Page 4 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

Parameters No. Parameter Details 1 <destination/> 2 <SMS/> Destination Address of this transaction. Country Code and area code is necessary. For example, 85298765432 (Hong Kong Mobile). It is SMS content. For Unicode of each message should be equal or less than 70 characters. For ASCII of each message should be equal or less than 60 characters. If the message is longer than one message length, it will be counted as two messages. There is no SMS length limitation for each SMS. You can send SMS as long as you need and receivers still receive content at once, but the credit counting is difference. All symbols, space and newlines are counted. Pure English: One SMS credit, 160 characters. It means that the message only can contain below characters plus change line character. 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnop qrstuvwxyz:;<=>?@$_!"#%&'()*+,-./ èéùìòç Ø øå åδφγλωπψσ ΘΞÆ æ ßÉ Ä Ö Ñ Ü äöñüà^{}\[~] You may also remind that below characters are two characters count for each. ^ { } \ [ ~ ] If message is longer than 160, it is long SMS. Each SMS only can carry 153 characters, because some content used in protocol header. i.e. 160 length English message can fix into one SMS. But two SMS only can use up to 306 characters. Mix Language: One SMS, 70 characters If message is longer than 70, it is long SMS. Each SMS only can carry 67 characters, because some content used in protocol header. i.e. 70 length Mix Language message can fix into one SMS. Page 5 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

3 <origination/> 4 <type/> Values: 1 5 <senddate/> Values: DDMMYYY hh:mm:ss 6 <returnmode/> Values: 0, 1 7 <udh/> 8 <dcs/> 9 <expiredate/> Values: DDMMYYY hh:mm:ss 10 <sendperiodstart/> Values: hh:mm:ss But two SMS only can use up to 134 characters. All String is standard UTF-8 String. It is message origination address. All origination need to register before production. It is transaction type. It set to 1 indicate that it is text message. You can schedule the sending time of SMS. The format is DDMMYYYY hh:mm:ss, i.e. 04Apr2006 15:30:33. If you not use this parameter, the SMS will send immediately. Accept value 1 or 0. 0 Return old return code. And return 0 when transaction successfully submitted. 1 Return New return code. Return Transaction ID when transaction successfully submitted. This option only can use with single destination submitting. If multi-destination submitting is used, this option will be ignored and 0 will return when the submission is successful. (Optional, default: Empty)User Define Header. For Binary SMS message, it must be in binary HEX format. e.g. 05040B8423F0 for WAP push message. (Optional, default: 0)DCS values for SMS encoding. It is decimal format. e.g. 245 for WAP push message. (Optional, for HTTP only. Default: never) You can set expire date of SMS. If SMS cannot send before this date, the SMS will be canceled and will not be sent. The format is DDMMYYYY hh:mm:ss, i.e. 04Apr2006 15:30:33. If you not use this parameter, the SMS will not expire. (Optional, for HTTP only. Default: Any Time) You can set time period of sending SMS. It must use together with <sendperiodend/>.if SMS cannot send between <sendperiodstart/> and <sendperiodend/>, the SMS will send on next day between <sendperiodstart/> and <sendperiodend/> again. The format is hh:mm:ss, i.e. 15:30:33. If you not use this parameter, the SMS will send at any time base on other parameters. Page 6 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

11 <sendperiodend/> Values: hh:mm:ss 12 <userref/> 13 <dnc/> Values: 0, 1 14 <validityperiod/> Values: 6-72 If only set <sendperiodstart/> without setting <sendperiodend/>, this parameter will be omitted. (Default: EMPTY: Any Time) You can set time period of sending SMS. It must use together with < sendperiodstart />.If SMS cannot send between <sendperiodstart/> and <sendperiodend/>, the SMS will send on next day between <sendperiodstart/> and <sendperiodend/> again. The format is hh:mm:ss, i.e. 15:30:33. If you not use this parameter, the SMS will send at any time base on other parameters. If only set <sendperiodend/> without setting <sendperiodstart/>, this parameter will be omitted. User Reference Number. Reference number for user local marking. It is not processed by system, but it can display on result of transaction API. Reference number can be any 20 characters long string. All String is standard Unicode String. For example, reference1. For HTTP protocol, it support multi-reference for multidestination address submit at a once by using semicolon ;. i.e. reference1; reference2. Accept value 1 or 0. 0 No Filter for all SMS 1 Filter all DNC numbers from OFCA Reference: https://www.dnc.gov.hk/en/pub_general/rd/pub_home_en.html Accept 6 to 72. It is time in hours. How many hours the SMS will store in the operators SMS Center before it give up to delivery. If the mobile is not ready to receive SMS, the SMS will stored in the operators SMS center and wait for the mobile ready. If the period over, the SMS will fail to delivery and return Expired status. Return Code Code 0 indicates transaction success. Any other negative indicate transaction failed. Page 7 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

No Code Details 1 0 Success with parameter: returnmode=0 2 >0 Success; Transaction ID with parameter: returnmode=1 3-1 Wrong Destination 4-2 Account Information/ No Credit for Destination/ username/ IP/ password incorrect. 5-3 Content ID incorrect For binary SMS content only 6-4 Destination not all correct For multiple submit mode 7-7 Block by OFCA Do-Not-Call List Only Apply with parameter: dnc=1 8-8 Wrong Origination All originations are required registration. It will return -8 if the submitted origination is not registered 9-100 General Error/ Temporary Error It means that the submission cannot be handle by system at the moment. The message is suggested retry after few ten seconds with 3-4 times. SMS Get Transactions API Signed Parameters SignedHeaders=sdate Function public String gettransaction( final String startdate, final String enddate, final int TransID, final String userref, final String report) Parameters No. Parameter Details Page 8 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

1 <startdate/> 2 <enddate /> 3 <TransID /> 4 <userref/> 5 <report/> Values: 0, 1, 2, 3 (Optional) Transaction Start Reading Date. If not exist or incorrect date is passed. The default date will be used. Default is Today with time 00:00:00 (Optional) Transaction End Reading Date. If not exist or incorrect date is passed. The default date will be used. Default is Today with time 23:59:59 (Optional) TransactionID from Send SMS API (Optional) User Reference Number. Reference number for user local marking. It is not processed by system, but it can display on result of transaction API. Reference number can be any 20 characters long string. All String is standard Unicode String. For example, reference1. It not supports multi-reference for multi-transaction. If there is more than one identical User Reference, the latest transaction will be returned. Only one at most one transaction record return when using this parameter. Default: 0 Value: 1, there will have three more column return as follow. Origination Address, Report Message, Report Date Value: 2, CSV Format with same format to value 0. Value: 3, CSV with same format with value 1 Return Code All Transaction will return as XML formal <cdr> <record> <transactionid>12345678</transactionid> <destination>85298765432</destination> <message>message</message> <SendDate>Mar 2 2010 5:01PM</SendDate> <AddDate>Mar 2 2010 5:01PM</AddDate> <ChargeUnit>1</ChargeUnit> <IsCancel>0</IsCancel> Page 9 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

<UserRef></UserRef> <remarks>demo</remarks> </record> </cdr> Transaction columns title as below: Transaction ID, Destination Address, Message, Report Sent Date from Operator, Add Date, Charge Unit, Is Cancelled, User Refer, Remarks Note: Charge Unit How many physical SMS will need for that transaction. It also used for billing on SMS. Is Cancelled Please refer to Cancel Transaction API section. Any other negative indicate transaction failed. No Code Details 1-2 Account Information/username/IP/password incorrect. 2-100 General Error/ Temporary Error It means that the submission cannot be handle by system at the moment. The request is suggested retry after few ten seconds with 3-4 times. SMS Get Transactions Report API Signed Parameters SignedHeaders=sdate Introduction This API use for getting Delivery Report from operators. But it is not all kind of SMS product has delivery report. It is according to your account settings only. Function public String gettransactionreport( final String startdate, final int TransID, final String enddate, final String userref) Page 10 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

or public String gettransactionreportref( final String startdate, final int TransID, final int type) final String enddate, final String userref, Parameters No. Parameter Details 1 <startdate/> Values: DDMMYYY hh:mm:ss 2 <enddate /> Values: DDMMYYY hh:mm:ss 3 <TransID /> 4 <userref/> 5 <type/> Values: 0, 1 (Optional) Transaction Start Reading Date. If not exist or incorrect date is passed. The default date will be used. Default is Today with time 00:00:00 (Optional) Transaction End Reading Date. If not exist or incorrect date is passed. The default date will be used. Default is Today with time 23:59:59 (Optional) TransactionID from Send SMS API (Optional) User Reference Number. Reference number for user local marking. It is not processed by system, but it can display on result of transaction API. Reference number can be any 20 characters long string. All String is standard Unicode String. For example, reference1. It not supports multi-reference for multi-transaction. If there is more than one identical User Reference, the latest transaction will be returned. Only one at most one transaction record return when using this parameter. (Optional) 0=Original, No User Reference; 1= Return User Reference Return Code All Transaction will return as XML formal <cdr> Page 11 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

<record> <transactionid>12345678</transactionid> <origination>85298765432</origination> <destination>85298765432</destination> <report>message</report> <ArriveDate>17/11/2010 15:45:48</ArriveDate> </record> </cdr> Transaction columns title as below: Transaction ID, Origination Address, Destination Address, Report, Report Date Or if Type equal 1 <cdr> <record> <transactionid>12345678</transactionid> <origination>85298765432</origination> <destination>85298765432</destination> <report>message</report> <ArriveDate>17/11/2010 15:45:48</ArriveDate> <userref>user Reference</ userref > </record> </cdr> Transaction columns title as below: Transaction ID, Origination Address, Destination Address, Report, Report Date, User Reference Any other negative indicate transaction failed. No Code Details 1-2 Account Information/username/IP/password incorrect. 2-100 General Error/ Temporary Error It means that the submission cannot be handle by system at the moment. The request is suggested retry after few ten seconds with 3-4 times. Page 12 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

SMS Cancel Transactions API Signed Parameters SignedHeaders=sdate;transactionID Function public String settransactioncancel ( final int TransID) Parameters No. Parameter Details 1 <TransID /> (Optional) TransactionID from Send SMS API Return Code All Transaction will return as XML formal Return as below: <transactioncancel><status>code</status></transactioncancel>any other negative indicate transaction failed. Code 0 indicates transaction success. Any other negative indicate transaction failed. No Code Details 1 10 Cancel due to China SMS Network Protocol Error 2 9 Cancel due to China SMS Content Blocked Refer to Remarks for Details. Example Remarks: Content Blocked by Operator. Related Word( 预约 ) 3 8 Cancel due to Invalid destination address 4 7 Cancel due to OFTA List 5 6 Cancel by System due to Number not exist Page 13 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

6 5 Cancel by System due to MVNO not supported 7 4 Cancel by System due to expired 8 3 Cancel Executed 9 2 Cancel Not Executed 10 1 Cancel Pending 11 0 Normal No Cancel Request Accepted 12-1 Transaction ID not find/incorrect 13-2 Account Information/username/IP/password incorrect. 14-100 General Error/ Temporary Error It means that the submission cannot be handle by system at the moment. The request is suggested retry after few ten seconds with 3-4 times. SMS Get User Balance API Signed Parameters SignedHeaders=sdate Function public String getuserbalance ( final int type) Parameters No. Parameter Details 1 <type/> Values: 0, 1 (Optional) Type=1, it returns user cash balance; Type=2, it returns user SMS balance with details. Default is user cash balance Page 14 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

Return Code Balance columns title as below: Type 1 One column <userbalance> <record> <balance>10</balance> <expiredate>2010-06-18 14:59:27.607</expireDate> <destination>china</destination> <origination>any</origination> </record> </userbalance> Type 2 Four columns <userbalance> <record> <balance>10</balance> <expiredate>2010-06-18 14:59:27.607</expireDate> <destination>china</destination> <origination>any</origination> </record> <record> <balance>2.0000</balance> <expiredate>2010-09-03 15:43:50.23</expireDate> <destination>hong Kong</destination> <origination>any</origination> </record> </userbalance> Any other negative indicate transaction failed. No Code Details 1-2 Account Information/username/IP/password incorrect. 2-100 General Error/ Temporary Error It means that the submission cannot be handle by system at the moment. The request is suggested retry after few ten seconds with 3-4 times. Page 15 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017

Version History: V1.7 Jul 2017 1. Typo and information fix. V1.6 Jun 2017 2. GetTransaction added CSV format. V1.5 Jun 2017 3. Initial release for SSL with HMAC authorization V1.4 Oct 2011 4. Added Wrong Origination Address Code (-8) V1.3 Nov 2010 5. Get Transaction Report Function with User Reference Field V1.2 Nov 2010 1. Get Transaction Report Function Added V1.1 March 2010 1. Get User Balance Function Added 2. Cancel Transaction Function Added V1.0 May 2009 1. Send Function 2. Transaction Retrieve Function Page 16 of 16 All rights reserved. Media Digital Technologies Corporation Limited. Copyright 2003-2017