HTTP Requests

Requests to the API can be made over HTTPS, and the HTTP verbs GET or POST should be used depending on the resource being accessed.

Request Structure

All requests to the API consist of the following:

  • Endpoint: The URL that indicates the resource being accessed.
  • Version: The version of the resource being accessed, defaulting to the latest version if not
    specified.
  • Parameters: Any required/optional parameters for the resource.
  • Body: Any JSON body that is required by the resource (POST only).
  • Authorisation parameters: In every request made to the RESTful API (except when generating a
    token) you will be required to pass your token.

🚧

Please note:

  • All date and time parameters are treated as UTC time and should be in the ISO 8601 format. See ISO 8601 for more information.
  • Parameters must be URL encoded. However for ease of reading, URL parameters are left unencoded for the purposes of this document.

Authentication Tokens

The RESTful API authenticates HTTP requests using tokens, which are generated using your API credentials. Each token is valid for 24 hours from creation, after which they expire and a new token will need to be generated.

Token Generation
To generate a token, BASE64, encode your API credentials in the format "ClientID:APISecret" and include them in the Basic Authentication Header. The following is an example request to generate a token:

GET /Authentication HTTP/1.1
HOST: rest.smsportal.com/v1
Authorization: Basic ClientID:Secret
Content-type: application/json
Response
HTTP/1.1 200 Accepted
Content-Type: application/json
{
  "token": "YourTemporaryToken",
  "schema": "JWT",
  "expiresInMinutes": 1440
}

📘

See the API Reference for more detailed information about authentication.