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

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

API Documentation. Release Version 1 Beta

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

SMS Outbound. HTTP interface - v1.1

Gatesms.eu Mobile Solutions for Business

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

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

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

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

SMS Outbound. SMTP interface - v1.1

HappyFox API Technical Reference

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

Technical Guide. REST API for Mobile Outbound SMS

REST SERVICE. Web Services API Version 1.5

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

Composer Help. Web Request Common Block

HTTP API. Table of Contents

SMS Submit Interface description HTTP Version 1.5

HTTP API Specification V2.7

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

Shopitem API A technical guide to the REST API for managing updates of shopitems

LINK Mobility SMS REST API MO messages Version 1.1; Last updated June 07, 2017

1. Overview Account Configuration Details... 3

API Integration Guide

Standard HTTP format (application/x-www-form-urlencoded)

Bulk HTTP API Specification

IPConfigure Embedded LPR API

UReport USSD application Documentation

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

Using OAuth 2.0 to Access ionbiz APIs

Message parameter details

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

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

Cloud SMS API Guide. Version 5.1

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

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

HTTP API-HELP DOCUMENT

SMS4BD Gateway Integration

BulkSMS / Customer, Marketo Integration Guide, version 2.6, 2018/01/19. BulkSMS / Customer. Marketo Quick Start Integration Guide

Introduction & Basics! Technical Foundation! Authentication! Obtaining a token!... 4 Using the token! Working with notes!...

SMS HTTP API DOCUMENTATION December 2012

Version Date Description Author First version Nate. send_sms request Added DELIVERED. status in Send Sms.

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

Standard HTTP format (application/x-www-form-urlencoded)

HTTP Specification Version 1.83

In order to create your proxy classes, we have provided a WSDL file. This can be located at the following URL:

TABLE OF CONTENTS INTRODUCTION

BulkSMS Marketo Gateway

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

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

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

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

ACCUZIP EDDM UI REST API CALLS. 100% Cloud Based EDDM List Creation. Abstract EDDM UI to select Carrier Route Boundaries throughout the United States

XML API SMS GATEWAY. Issue 2.0 Dec XML API

HTTP Based Unified API

Integration Guide Xura Messaging SMTP- Interface

Fax Broadcast Web Services

API Spec Sheet For Version 2.5

vrealize Log Insight Developer Resources

Web Service API for. Document version 0.5 (2015-8) (Draft)

Integration REST Text2Speech Version 1.1

ARTIO SMS Services HTTP API Documentation

Mobile forensics. SMS (Short Message Service) EMS, MMS, CBS

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

Moxie Notifications Documentation

Integration Architecture Of SDMS

FaxCore API Reference A web based API for sending, receiving and managing faxes through the FaxCore network.

NIC SMS SERVICE INTEGRATION

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

PassBy[ME] API Documentation

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

Connect Media Bulk SMS API Documentation

API HTTP / HTTPS INTEGRATE THE SMS IN YOUR APPLICATIONS, YOUR WEBSITE AUTOMATE YOUR TEXT OF SHIPMENTS SETTING SINGLE PLACE WITHOUT ADDITIONAL COST

Elevate Web Builder Modules Manual

Zipwhip API Developer Reference Messaging API

EBULKSMS

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

HTTP API - HELP DOCUMENT

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

The production version of your service API must be served over HTTPS.

If the presented credentials are valid server will respond with a success response:

Integration Guide Xura Messaging HTTP-Interface

E POSTBUSINESS API Login-API Reference. Version 1.1

BULK SMS RESELLER PLATFORM WEB SERVICES API

vrealize Log Insight Developer Resources Update 1 Modified on 03 SEP 2017 vrealize Log Insight 4.0

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

USSD HTTP API SPECIFICATION Version 1.0 Teletalk Bangladesh Limited

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

API Specification Doc

Instructions for Using New API. Instructions for Using New API

DocuSign Spring '16 Release Notes

GMA024F0. GridDB Web API Guide. Toshiba Digital Solutions Corporation 2017 All Rights Reserved.

We currently are able to offer three different action types:

Lead Actions Guide Version Lead Actions Guide. Prepared By: John Jackson Date: 10 th October 2017 Version: 1.90 Release

VISA QIWI WALLET PULL PAYMENTS API ver. 2.1

Requests that are forwarded via redirects by a customer's web browser are authenticated via browser API authentication.

MultiTexter.com Smart Messaging System. HTTP Application Programming Interface

Integrating with ClearPass HTTP APIs

Technical Guide. REST API for Number Information Services

Bozoka mobilforward manual

Transcription:

Quriiri HTTP MT API This document describes the Quriiri HTTP MT API version 1 (v1). Sending messages Request types Security Request parameters Request examples JSON POST GET Response JSON response example Plain text response example Delivery reports Request types Request parameters Request examples JSON POST GET Delivery statuses Revision history 1

Sending messages The URL to send HTTP requests to is available in the Quriiri web UI. Request types Quriiri's HTTP API supports the following request types: JSON POST GET HTTP POST, with UTF-8 encoded JSON data as request body. Invoked for POST requests with Content-Type HTTP header set to application/json. HTTP POST, with UTF-8 URL encoded form data as request body. Invoked for POST requests with Content-Type HTTP header set to application/x-www-form-urlencoded. HTTP GET, with UTF-8 URL encoded data in query string. It is not recommended to use this request type in production; it is mainly present to support systems for which the other request types are not an option as well as for quick tests. For the JSON and POST request types, parameters in them can be overridden by adding query string parameters encoded the same way as with the GET request type. Security While the Quriiri API is available through plain unencrypted HTTP, we strongly recommend using HTTPS and resort to HTTP only if HTTPS support is not available in the system to be interfaced with us. All API requests must be authenticated. Authentication is based on API keys which can be managed in the Quriiri web UI. The API key must be sent with each request in one of the following: Authorization HTTP header apikey parameter Authorization: apikey your-api-key-goes-here (where your-api-key-goes-here is your API key) Set the value of the apikey parameter to your API key according to the request type used. 2

Request parameters Parameter name sender sendertype destination text batchid billingref Description Message sender. International numbers with + or 00 prefix and 5 to 15 numbers following it, national ones / shortcodes with 1 to 15 numbers, alphanumeric with max 11 characters. Although other characters may work, we cannot guarantee it and recommend restricting the characters used in alphanumeric senders to letters A-Z and a-z, and digits 0-9. Sender type; MSISDN (international number), NATIONAL (national number / shortcode), ALNUM (alphanumeric) -- optional; if missing, an attempt is made to guess one from the sender, and guess failure results in an error. Message destination number in international or national format. International numbers should begin with + or 00 prefix and national format numbers will be converted to Finnish ones. For maximum reliability, we recommend using only international format numbers, with nothing but digits following the international prefix. The HTTP response contains information about which international number each accepted destination was converted to or treated as. Accepts multiple values: array in JSON, set multiple times with form POST and GET. Message text. Based on the text, Quriiri automatically determines whether the message can be sent using the GSM character set or if sending it as Unicode is required. Also, Quriiri determines automatically how many SMS messages will sending the message require. The general rule of thumb is that the first SMS using the GSM character set can hold up to 160 characters; if there are more, concatenation is required and each SMS (including the first one) can hold up to 153 characters. Note that some characters in the GSM character set will consume two characters instead of one. For Unicode, the corresponding numbers are 70 and 67. Batch ID, max 255 characters, optional. Used to group interrelated messages, for example if some special actions should be taken to a group of separately sent but logically related messages. Under normal circumstances, Quriiri does not use this parameter but just relays it back in corresponding delivery reports. Billing reference, max 255 characters, optional.this is solely for the API user, Quriiri does not do anything else with it besides relaying it back in corresponding delivery reports. 3

drurl drtype flash validity Delivery report URL, optional. URL where to relay delivery reports. See the delivery reports chapter for more information. Delivery report type; JSON, POST, or GET, similarly as for supported API request types. Optional, defaults to the format of the API request. Optional, send a "flash" SMS if if set to true, on, yes, or a number greater than 0. Validity period of the message in minutes, optional. Integer >= 1. If not set, defaults to the value set in your account details. 4

Request examples The following request examples send a message with contents "H llo, world!" to two destination numbers +358400000001 and +358500000002, using Quriiri as the sender. JSON In a nutshell: HTTP POST request Content-Type: application/json Data encoded like { "param1": "value1", "param2": "value2",... } Data character encoding UTF-8 Query string parameters override/take precedence POST /v1 HTTP/1.1 Authorization: apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Content-Type: application/json { } "sender": "Quriiri", "destination": ["+358400000001", "+358500000002"], "text": "H llo, world!" POST In a nutshell: HTTP POST request Content-Type: application/x-www-form-urlencoded Data encoded like param1=value1&param2=value2&... Data character encoding UTF-8 (before URL encoding) Query string parameters override/take precedence POST /v1 HTTP/1.1 Authorization: apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Content-Type: application/x-www-form-urlencoded sender=quriiri&destination=%2b358400000001&destination=%2b358500000002&t ext=h%e2%82%acllo%2c%20world%21 GET Same as POST, except form data in query string. GET /v1?sender=quriiri&destination=%2b358400000001&destination=%2b358500 000002&text=H%E2%82%ACllo%2C%20world%21 HTTP/1.1 Authorization: apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 5

Response Supported response types are JSON and plain text, both with character encoding UTF-8. The choice of the type happens primarily per the Accept HTTP header sent with the request, and secondarily following the request type: JSON for JSON requests, plain text for others. HTTP response statuses: 200 Request successfully processed. 4xx 5xx Client error, see details in the response. Should not be retried without making changes. Server error, retry later. Response data will contain at least one of the following, possibly more than one: errors warnings messages Errors occurred when processing the request. Warnings occurred when processing the request. One of these for each destination number: destination: destination number as set in request converted: destination number as the Quriiri API converted it to and treats as the actual destination to send the message to status: status of the message for this destination reason: optional reason for the status For information about the status and reason values, see the delivery reports chapter. 6

JSON response example Note that the < and > characters below are not present in actual responses, they are here only to mark placeholders that will be replaced by real data in actual responses. Content-Type: application/json { } "errors": [ {"message": "<error message>"} <...possibly more errors here...> ], "warnings": [ {"message": "<warning message>"} <...possibly more warnings here...> ], "messages": { "<destination>": { "converted": "<converted destination number>", "status": "<status>", "reason": "<optional reason>" } <...possibly more messages here...> } Plain text response example Note that the < and > characters below are not present in actual responses, they are here only to mark placeholders that will be replaced by real data in actual responses. Content-Type: text/plain error: <error message> <...possibly more errors here...> warning: warning message <...possibly more warnings here...> <destination>: <converted> <status> <optional reason> <...possibly more messages here...> 7

Delivery reports Reports about the delivery status of sent messages are relayed using HTTP requests by Quriiri. The URL to which the requests are made is the one supplied when the message was sent, using the format also determined at that time. If the receiving server cannot be contacted or if it responds with an HTTP status >= 500, the request will be retried a few times after an increasing delay. Request types Supported request types are: JSON POST GET HTTP POST, with UTF-8 encoded JSON data as request body, with the Content-Type HTTP header set to application/json. HTTP POST, with UTF-8 URL encoded form data as request body, with the Content-Type HTTP header set to application/x-www-form-urlencoded. HTTP GET, with UTF-8 URL encoded data in query string. It is not recommended to use this request type in production; it is mainly present to support systems for which the other request types are not an option. Request parameters Parameter name sender destination billingref batchid status reason statustime Description Sender of the message. Destination number of the message. Corresponds to the converted number returned by the send API. Billing reference as supplied when the message was sent. Batch ID as supplied when the message was sent. Delivery status. For information about possible values and their descriptions, see the delivery statuses chapter. Optional reason for the delivery status. For information about possible values and their descriptions, see the delivery statuses chapter. Timestamp of the status, in ISO 8601 combined date+time format, including time zone designator. 8

Request examples The following request examples relay a delivery report for a message sent by the sender Quriiri to destination +358400000001, with billing reference bref, batch ID bid, failed delivery at 2015-08-26 12:34:55 UTC due to validity period elapsed, delivery report URL set to https://example.com/dr?custom1=data1&custom2=data2 The request headers shown in these examples are not exhaustive. Only the most relevant ones related to delivery report processing are shown, other ones will be present in addition to them. JSON POST /dr?custom=data1&custom2=data2 HTTP/1.1 Host: example.com Content-Type: application/json { } "sender": "Quriiri", "destination": "+358400000001", "billingref": "bref", "batchid": "bid", "status": "FAILED", "reason": "EXPIRED", "statustime": "2015-08-26T12:34:55Z" Note that JSON data in the example above is formatted and indented here for legibility, in actual requests it might not be. POST POST /dr?custom=data1&custom2=data2 HTTP/1.1 Host: example.com Content-Type: application/x-www-form-urlencoded sender=quriiri&destination=%2b358400000001&billingref=bref&batchid=bid&s tatus=failed&reason=expired&statustime=2015-08-26t12%3a34%3a55z 9

GET GET /dr?custom=data1&custom2=data2&sender=quriiri&destination=%2b3584000 00001&billingref=bref&batchid=bid&status=FAILED&reason=EXPIRED&statustim e=2015-08-26t12%3a34%3a55z HTTP/1.1 Host: example.com 10

Delivery statuses Delivery statuses in Quriiri message send responses and delivery reports are the following: Status CREATED SENT ACKED FAILED DELIVERED UNKNOWN RETRY Description The message has been created and is being processed. The message has been sent from Quriiri. The message is en route and has been acknowledged by a carrier. The message failed to deliver. Check reason for more information. The message has been delivered. The status of the message is not known. The message is being retried. Sometimes there is more information available for the status of the message. When not, the reason is not given. These reasons are: Reason BUFFERED EXPIRED CANCELED FILTERED INVALID TERMINAL_ERROR CARRIER_ERROR BILLING_ERROR SEND_ERROR LIMIT_EXCEEDED Description The message has been buffered e.g. due to congestion, and is being processed. The message's validity period expired. The message was canceled. The message was filtered by Quriiri's intelligent messaging logic. The recipient number was invalid. An error related to the receiving device occurred. A carrier related error occurred. A billing related error occurred. An error occurred while sending the message from Quriiri. A message limitation was exceeded. 11

Revision history Version Description 1.0.2, 13.1.2016 Add Authorization header to request examples 1.0.1, 6.11.2015 Document delivery report retry 1.0.0, 26.8.2015 Initial version 12