How can we help?

HTTP channels


The HTTP channel is a fast and easy way to send SMS messages through the internet. Some providers, like Twilio, only support HTTP.

Find more information about channels in general here.

To use the HTTP channel you will need a subscription to an SMS provider or aggregator.

Provider presets

When creating a new HTTP channel you have the option of selecting one of the provider presets.

Create HTTP channel

Create HTTP channel

Provider presets provide default setting for a couple of known HTTP providers such as Twilio and Infobip. This way you will only have to enter your account details to configure the channel automatically.

After selecting a provider preset and filling in your details you can walk through the remaining wizard pages to verify the settings and click on finished when you’re done.

The HTTP channel wizard automatically keeps the provider presets up-to-date when the wizard starts. Select the Auron test/demo preset to get 10 free SMS messages for testing.

Customized connection – Parse response, delivery reports and incoming messages

If your preferred provider already has a preset available you can safely skip this part.

If there is no preset available for your preferred provider you can select ‘Custom Settings’ in the provider preset box. This allows you to setup any HTTP provider with the SMS Server.

You can find an overview of all configurable settings below in ‘Settings’.

An important part of setting up a custom HTTP channel is parsing the HTTP response body and the receive and receive delivery report bodies.  In the HTTP channel these three things happen in the same way. Illustrated by the ‘Receive’ page below:

Edit HTTP Channel - Receive

Edit HTTP Channel

Whenever a body of text is parsed you need to specify:

  • The structure of the text. This can be either:
    • Form / Get parameters
    • XML structured text
    • JSON structured text
  • The container part. This is important if a body contains multiple messages
  • The ‘path’ of every item that we need to know. The paths always is:
    • Key value in case of Form / Get parameters
    • The XPath expression in the case of XML structured text
    • The JSON path expression in the case of JSON structured text
  • An example text. This is optional but a very convenient way to test the path value you are entering.

Parsing example

An example is receiving SMS messages from Infobip where a single post-back possibly contains multiple SMS messages. The post back is structured in JSON like this:

{
  "results": [
    {
      "messageId": "817790313235066447",
      "from": "385916242493",
      "to": "385921004026",
      "text": "QUIZ Correct answer is Paris",
      "cleanText": "Correct answer is Paris",
      "keyword": "QUIZ",
      "receivedAt": "2016-10-06T09:28:39.220+0000",
      "smsCount": 1,
      "price": {
        "pricePerMessage": 0,
        "currency": "EUR"
      },
      "callbackData": "callbackData"
    }
  ],
  "messageCount": 1,
  "pendingMessageCount": 0
}

The messages are in an array in the ‘results’ item. This means that the container JSON path needs to be:

$.results.*

To point to all result items. Each one represents a dictionary object that contains individual message parameters.

If the container path is specified that means that, instead of the root of the document, all field paths are relative to the root of the selected items in the container path. So for instance the body of the message will be the JSON Path:

$.text

If you are having trouble configuring your preferred provider in this way please let us know.

Settings

Property Description
Send URL The URL to the HTTP server. This URL should start with ‘http’ or with ‘https’ depending on if the connection is secured with SSL/TLS. The URL may contain placeholders. Click on the magnifier button (🔍) to edit the URL in a large window and insert placeholders. Placeholders are replaced by their respective SMS fields on sending.
Use Post Check ‘Use Post’ to send a post-body. Refer to the documentation of your HTTP SMS provider to see if a post body is required.
Post Body Specify the post-body of the HTTP request. The post body may contain placeholders. Click on the magnifier button (🔍) to edit the post-body in a large window and insert placeholders. Placeholders are replaced by their respective SMS fields on sending.
Content Type The content type is an optional field. Some HTTP providers require the post body to be accurately specified. Usually the post body is one of the following:

  • application/x-www-form-urlencoded
  • text/xml
  • text/json
Public IP This is your public IP address. You will need to specify your public IP when using one of the following placeholders in the post body or URL: %DLRURL% or %MEDIAURL%. In those cases the HTTP provider wants to know where to fetch or reach a resource on your server.
Support delivery reports Enable this when you want to be able to support delivery reports. To be able to support delivery reports the provider needs to be able to reach your server.
Local Endpoint Your local endpoint is where you provider can reach you. You will need to specify a local endpoint when:

  • Receive is enabled for this channel
  • When delivery reports are supported on this channel
  • When either the post body or the Send URL includes contains the %DLRURL% or %MEDIAURL% placeholders

Generally the local endpoint requires you or your system administrators to setup port forwarding for your office to your server.
You will need to configure the local end-point in Windows as well. Click in the ‘Configure…’ button to automatically configure the end-point on your server.

Parse Response The response is the server response after calling the ‘Send URL’. Check parse response when the response contains important information like the message reference.
Response Has If the response does not contain any addition information or the response is not structured in a parseable format use this option. Has response checks if the response has a sub string (‘success’) or the response does not have a subs string (‘failure’).
Delivery Reports Specify how delivery reports should be parsed. This page is enabled when ‘Support delivery reports’ is checked.
Receive Specify how incoming messages should be parsed. This page is enabled when the channel supports receiving.
Use HTTP Authentication Some HTTP providers require a name and password. They are specified here.
Authorization Specify any information, API Key or bearer token, that needs to be passed in the ‘Authorization:’ HTTP header.
HTTP Authentication Some HTTP providers require a name and password. They are specified here.
Use Proxy If you are behind a company proxy server please specify the proxy details here. By default the HTTP Channel uses the settings specified in the internet explorer internet options.
From Address This is the default from address with TON/NPI values. If the from address in the SMS message is empty the HTTP channel uses these settings.
Service Type This is the default system type. If the system type in the SMS message is empty the HTTP channel uses these settings