TWO-WAY EMAIL & SMS MESSAGING SMS WEB SERVICE. Product White Paper. Website: www.m-science.com Telephone: 01202 241120 Email: enquiries@m-science.



Similar documents
SMS GATEWAY. Product White Paper COMPREHENSIVE TWO-WAY SMS SERVICE

redcoal SMS for MS Outlook and Lotus Notes

Donky Technical Overview

THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY

FF/EDM Intro Industry Goals/ Purpose Related GISB Standards (Common Codes, IETF) Definitions d 4 d 13 Principles p 6 p 13 p 14 Standards s 16 s 25

StreamServe Persuasion SP4 Service Broker

Clickatell two-way technical guide v2.0

Section I Transmission Modes

Apigee Gateway Specifications

MXSAVE XMLRPC Web Service Guide. Last Revision: 6/14/2012

FAQs for Oracle iplanet Proxy Server 4.0

MadCap Software. Upgrading Guide. Pulse

Building and Deploying Enterprise M2M Applications with Axeda Platform

USER MANUAL Online Faxing Anywhere, Anytime Paperless Secure Faxing Anytime, Anywhere

2sms SMS API Overview

Binonymizer A Two-Way Web-Browsing Anonymizer

Replacements TECHNICAL REFERENCE. DTCCSOLUTIONS Dec Copyright 2009 Depository Trust Clearing Corporation. All Rights Reserved.

Cisco Unified Intelligent Contact Management Enterprise 7.5

Transport Layer Security Protocols

REQUIREMENTS AND INSTALLATION OF THE NEFSIS DEDICATED SERVER

SiteCelerate white paper

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

GS1 Trade Sync Connectivity guide

ProSystem fx Document

User Guide - Table of Contents

Architecture and Data Flow Overview. BlackBerry Enterprise Service Version: Quick Reference

F-Secure Messaging Security Gateway. Deployment Guide

II. Implementation and Service Information

DocuSign Connect Guide

Installation & Configuration Guide

Fax via HTTP (POST) Traitel Telecommunications Pty Ltd 2012 Telephone: (61) (2) Page 1

Centralizing Windows Events with Event Forwarding

Data Collection and Analysis: Get End-to-End Security with Cisco Connected Analytics for Network Deployment

Professional ios Network Programming. Connecting the Enterprise to the iphone and ipad

Cabot Consulting Oracle Solutions. The Benefits of this Approach. Infrastructure Requirements

Optus SMS for MS Outlook and Lotus Notes

NEFSIS DEDICATED SERVER

Ensuring the security of your mobile business intelligence

Features of The Grinder 3

Release Notes. LiveVault. Contents. Version Revision 0

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Administration Guide

Question Name C 1.1 Do all users and administrators have a unique ID and password? Yes

Setting Up SSL on IIS6 for MEGA Advisor

Installation Guide for Pulse on Windows Server 2012

Proxies. Chapter 4. Network & Security Gildas Avoine

Customer Tips. Xerox Network Scanning HTTP/HTTPS Configuration using Microsoft IIS. for the user. Purpose. Background

Configuring PA Firewalls for a Layer 3 Deployment

Sage Accpac CRM 5.8. Self Service Guide

Cisco Unified Intelligent Contact Management Enterprise 7.2

LifeSize UVC Access Deployment Guide

SAP WEB DISPATCHER Helps you to make decisions on Web Dispatcher implementation

TESTING & INTEGRATION GROUP SOLUTION GUIDE

HP Operations Orchestration Software

Web Extras. Customer Service Description. Version 3.0. February 26, 2002

The Retail Electricity Market

Deploying the BIG-IP System with Oracle E-Business Suite 11i

Microsoft Office Communications Server 2007 & Coyote Point Equalizer Deployment Guide DEPLOYMENT GUIDE

About Contract Management

API documentation - 1 -

Advanced HTTP API Documentation

SECURITY DOCUMENT. BetterTranslationTechnology

Using Avaya Aura Messaging

Sage CRM Connector Tool White Paper

Pre-Installation Instructions

Chapter 2 Quality of Service (QoS)

SAP SMS 365, enterprise service Standard Rate SMS Messaging. October 2013

NYSP Web Service FAQ

New Features... 1 Installation... 3 Upgrade Changes... 3 Fixed Limitations... 4 Known Limitations... 5 Informatica Global Customer Support...

Building a Systems Infrastructure to Support e- Business

Description of Microsoft Internet Information Services (IIS) 5.0 and

Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5

Electronic Service Agent TM. Network and Transmission Security And Information Privacy

Table of Contents. Page 1 of 6 (Last updated 30 July 2015)

Authentication and Single Sign On

Application Note. Onsight Connect Network Requirements v6.3

Configuring Health Monitoring

Prepared by Enea S.Teresa (Italy) Version October 24

Xerox DocuShare Security Features. Security White Paper

Webmail Using the Hush Encryption Engine

Setting Up a CyberSource Web Payment Account

Two Factor Authentication in SonicOS

How To Use A Siebel Response On A Microsoft Ipa (Aipa) With A Pf-F2 (F2) And Pf.2A (F1) On A Mac

Installation Guide for Pulse on Windows Server 2008R2

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP Edge Gateway for Layered Security and Acceleration Services

Spryng Making Business Mobile (0) Spryng Headquarters: Herengracht BW Amsterdam - The Netherlands

INTERFACE CATALOG SHORETEL DEVELOPER NETWORK. ShoreTel Professional Services

Sharp Remote Device Manager (SRDM) Server Software Setup Guide

Basic & Advanced Administration for Citrix NetScaler 9.2

Using Windows XP Professional with Service Pack 1 in a Managed Environment: Controlling Communication with the Internet

ShadowLink 2. Overview. May 4, ONLINE SUPPORT emdat.com/ticket/ PHONE SUPPORT (608) ext. 1

Universal Event Monitor for SOA Reference Guide

MIGS Payment Client Installation Guide. EGate User Manual

PHIN MS Detailed Security Design

Snapt Balancer Manual

Oracle Global Price List

Tenrox. Single Sign-On (SSO) Setup Guide. January, Tenrox. All rights reserved.

Track accurately. Deliver with precision.

Royal Mail Business Integration Gateway Specification

Installation and configuration guide

Transcription:

TWO-WAY EMAIL & SMS MESSAGING SMS WEB SERVICE Product White Paper Website: www.m-science.com Telephone: 01202 241120 Email: enquiries@m-science.com

Contents Introduction... 3 Product Components... 3 Web Service... 3 Web Push Service... 3 Architecture... 4 Outbound Messaging... 5 Sending Messages... 5 Monitoring Messages... 7 Inbound Messaging... 8 Pulling Messages... 8 Receiving Messages... 8 Acknowledging Message Receipt... 9 Pushing Messages... 10 Writing a suitable URL... 10 Registering a URL... 11 Monitoring a URL... 12 Unregistering a URL... 12 Development Kit... 13 Documentation... 13 Sample Code... 13 Service Availability... 14

Introduction The M:Science SMS Web Service is a comprehensive two-way SMS messaging service that provides a website, web service or application developer with the ability to incorporate methods to send, receive and track SMS messages via an internet link, without the need to install any additional client applications or components. The service supports full discovery protocols and hence can simply be added as a Web Reference to any Visual Studio 2003 project. The service supports the industry standard protocols: SOAP V1.1 as specified at http://schemas.xmlsoap.org/soap/encoding/ HTTP V1.1 as specified in RFC 2068 To use the service the user must first create an M:Science internet account through the company web site at www.m-science.com and then enable the account to use the SMS Web Service by contacting our sales staff. Blocks of messages may then be purchased in advance through the internet account. Product Components Web Service Hosted at M:Science, this.net web service allows external users to connect via HTTP or SOAP, send, receive and monitor messages or configure asynchronous inbound routing of messages. Each method provides basic security for encrypting account identifiers and passwords, but to achieve total security a secure sockets layer (SSL) may be utilised by prefixing the web service address with https:// instead of http://. Web Push Service Asynchronously routes incoming messages via HTTP PUSH to one or more registered URLs. 3

Architecture The M:Science SMS Web Service is an application programming interface (API) accessible using standard internet protocols which are completely vendor, platform and language independent. This enables multiple methods of connection, as shown in the figure below. 4

Outbound Messaging Sending Messages To send a message, the SendMessage method of the Web Service can be used. The following information is required to use this method: Encryption - True if the account and password are encrypted. Account ID - Internet account ID. Password - Password as specified on the website Source Tag - Text string to identify the sending application. SourceAddress - Set to the inbound number if you wish the end mobile user to be able to reply. DeliveryReceipt - Set to 1 if a delivery receipt is required. ProductMessageID - A user defined identifier which can be used to tie a delivery receipt to a sending message. Destination - Destination phone number in standard international format e.g. +447712345678 Message - Text of the message to send All of the fields after the Account ID and Password are passed as arrays of values. This allows the user to specify up to five messages in one command. Messages over 160 characters are split into multiple messages automatically. Note that an Account ID and Password are always required but if available, the service uses cookies to improve speed by preventing recurrent logging in. Example (using Python): import urllib f = urllib.urlopen("http://www.m-science.com/ MScienceSMSWebService/MScienceSMSWebService.asmx/SendMessages?encrypt=True &accoun tid=1&password=ghtyuik&sourcetag=test&sourceaddress=%2b447712345678&deliver yreceip t=0&productmessageid=0&destination=%2b447787654321&message=testmessage") 5

Note: %2b being the hexadecimal value for + as Python cannot use + preceding the mobile number. print f.read() An identifier for the message is sent back as a part of the response. For Example: OK- 224355,299,5,0 Which translates to: Status-MessageIdentifier, MessageBalance, PendingMessages, SurchargeBalance 6

Monitoring Messages The identifier sent back from the SendMessage command can be used to track the status of the message by calling GetMessageStatus. The following fields are required: Encryption - True if the account and password are encrypted. Account ID - Internet account ID. Password - Password as specified on the website. MessageID - The identifier of the message to check. This is an array parameter which can be used to check up to ten messages in one call. Example (using Python): import urllib f = urllib.urlopen("http://www.mscience.com/msciencesmswebservice.asmx/getmessagestatus?encrypt=true&accounti D=1&pa ssword=fghtygh&messageid=224355") print f.read() An example response would be: OK-PENDING Which translates to: Function call successful, message send is pending. 7

Inbound Messaging Messages can either be polled and retrieved from the server by the client or pushed to the client using one or more registered URLs. Pulling Messages Receiving Messages The client can check for new messages by calling GetNextInboundMessages on the SMS Web Service. This will send back up to five of the queued inbound messages. To retrieve more messages, these messages must first be acknowledged using the acknowledge procedure described below. The following fields are required: Encryption - True if the account and password are encrypted. Account ID - Internet account ID. Password - Password as specified on the website. Example (using Python): import urllib f = urllib.urlopen("http://www.mscience.com/msciencesmswebservice.asmx/getnextinboundmessages?encrypt=true& accounti D=1&password=fjgktiu") print f.read() An example response would be: OK-224355,+447877123456,+447977321654,15/11/2004 12:00:00, 1, 12, Test Message Which translates to: MessageID of 224355, source and destination phone numbers, receipt date, user data, message length and message text. Multiple responses are returned for more than one message. 8

Acknowledging Message Receipt In order to retrieve the next batch of inbound messages, the receipt of the previous batch must first be acknowledged. This can be done using the AckMessages function. The following fields are required: Encryption - True if the account and password are encrypted. Account ID - Internet account ID. Password - Password as specified on the Web Site MessageID - Identifier of the message to acknowledge. This parameter is an array which can specify up to ten message IDs if so desired. Example (using Python): import urllib f = urllib.urlopen("http://www.m-science.com / MScienceSMSWebService/MScienceSMSWebService.asmx/AckMessages?encrypt=True& accounti D=1&password=fjgktiu&MessageID=224355") print f.read() An example response would be: OK-SUCCEEDED Which translates to method succeeded as did the message acknowledge. 9

Pushing Messages Using the SMS Web Service it is possible to configure an account so that inbound messages are routed via HTTP PUSH to one or more URLs. This service must be activated for an account in advance stating the maximum number of URLs the user wishes to register. Each inbound number can also be configured to route either through the M:Science SMS Server product, to the Web Service (i.e. read using GetMessages) or to the asynchronous Web Push Service. To begin receiving asynchronous messages, the user first makes a call onto the Web Service to register the requested URL. This can be removed at a later date by another API call. It is also possible to monitor the state of a particular URL to determine if the messages are being dispatched successfully. Writing a suitable URL A client can be anything which accepts an HTTP PUSH. This might be for example an ActiveServerPage (ASP) script, a cgi (.cgi) script (using Perl or similar) or another.net web service. The fields passed with the call are as follows: Destination - destination phone number. Source - Source phone number. ProductMessageID - user data specified ReceiveDate - Date message was received at this end. DeliveryReceipt - If the message is a receipt for a previous send ReceiptDate - When the receipt was generated. Message - Message text MessageID - Identifer for the message. Example (using C#): [WebMethod] public string NewMessage(string Destination, string Source, string ProductMessageID, string ReceiveDate, string DeliveryReceipt, string ReceiptDate, string Message, string MessageID) { 10

StringBuilder sb = new StringBuilder(); sb.append("received message: "); sb.appendformat("destination={0}, ", Destination); sb.appendformat("source={0}, ", Source); sb.appendformat("productmessageid={0}, ", ProductMessageID); sb.appendformat("receivedate={0}, ", ReceiveDate); sb.appendformat("deliveryreceipt={0}, ", DeliveryReceipt); sb.appendformat("receiptdate={0}, ", ReceiptDate); sb.appendformat("message={0}, ", Message); sb.appendformat("messageid={0}", MessageID); WriteToLog(LogLevel.information, sb.tostring()); return "OK-RECEIVED"; } The server expects a response of OK-RECEIVED before moving onto the next message in the queue. If this is not received, the server will retry sending the message. Registering a URL In order to start receiving messages, the client URL (or URLs) must be registered with the M:Science SMS Web Service using the RegisterForInbound method. The account must be activated for message pushing for this to succeed. The following fields are required: Encryption - True if the account and password are encrypted. Account ID - Internet account ID. Password - Password as specified on the website. Address - URL to call when a message arrives. This is an array and can accept multiple URLs if so desired. Example (using Python): import urllib f = urllib.urlopen(http://www.mscience.com/msciencesmswebservice/msciencesmswebservice.asmx/registerforinbo und?e ncrypt=true&accountid=1&password=fjgktiu&address=http://mywebsite.com/newmess age.a 11

sp) print f.read() An example response would be: OK-REGISTERED Which translates to method succeeded as did the URL registration. Monitoring a URL Monitoring URL status is possible using the GetURLStatus method. This will indicate if there are problems sending messages through to the client. In the event of a bad communications link, the server will retry automatically. The fields required are the same as those for registering the message with the exception that only one URL can be specified. An example response would be: OK-READY Which translates to method succeeded and the URL status is ready to receive new messages. Unregistering a URL A URL may be un-registered using the UnregisterInboundMessage method. This will indicate if there are problems sending messages through to the client. In the event of a bad communications link, the server will retry automatically. The fields required are the same as those for registering the message. An example response would be: OK-UNREGISTERED Which translates to method succeeded as did URL unregistration. There is also another method called ResetInboundCallbacks which removes all URL registrations for a selected account. 12

Development Kit Documentation A comprehensive manual is provided in PDF format which contains examples of how to write software to communicate with the M:Science SMS Web Service. Sample Code Sample code is provided for accessing the Web Service using the following technologies: VB.NET VB6 C++.NET C# Perl ASP Python Java HTML 13

Service Availability To ensure optimum service availability we utilise a wide bandwidth leased line premium internet connection to and from the data centre. In addition, continuity of service is maintained through multiple levels of hardware, software and communications redundancy, including: Multiple load balanced servers Uninterruptable power supplies, including standalone generator backup Dynamic resilient message delivery routeing, ensuring high service availability at all times 14