Programmable SMS

How to integrate with our Channels API for SMS/MMS Messaging

Summary

SMS (Short Message Service) is a messaging channel that allows businesses to communicate with customers through text messages on their mobile devices. With SMS, businesses can quickly and easily reach a large number of customers and automate their communication processes.

In addition in the United States and Canada it is also possible to send media messages through MMS (Multimedia Message Service).

Installation

Checking if a channel is MMS capable

You can validate if a channel is MMS capable by the capabilities object that is returned in the GET channel request

Get channel

Retrieve a specific workspace channel

GET/workspaces/{workspaceId}/channels/{channelId}
Authorization
Path parameters
workspaceId*string (uuid)

The ID of the workspace

channelId*string (uuid)

The ID for a channel

Response

OK

Body
id*Id-2 (string (uuid))
platformId*Id (string)
name*Name (string)
connectorId*ConnectorId (string (uuid))
identifierIdentifier (string)
status*Status-2 (enum)
activependingsetting-upfailedinactivedeletedwarning
contactIdentifierKeyOverridenullable ContactIdentifierKeyOverride (string)
contactIdentifierFormatOverridenullable ContactIdentifierFormatOverride (object)
platformServiceUrlOverridenullable PlatformServiceUrlOverride (string)
platformServiceVersionOverridenullable PlatformServiceVersionOverride (enum)
1.0
platformServiceProtocolOverridenullable PlatformServiceProtocolOverride (enum)
httphttps
platformMessageJsonSchemaOverridenullable PlatformMessageJsonSchemaOverride (object)
platformTemplateEngineOverridenullable PlatformTemplateEngineOverride (enum)
defaultliquid
capabilitiesChannelCapabilities (object)
settingsSettings (array of object)
connectionParamsSettings (array of object)
preferencesnullable Preferences (object)
useCaseIdnullable UseCaseId (string)
useCaseTypenullable UseCaseType-2 (enum)
transactionalmarketingconversation
channelMessageTypeChannelMessageType (enum)
promotional2faconversationaltransactionalemergency
suitesarray of SuiteType (enum)
createdAt*string (date-time)
updatedAtstring (date-time)
Request
const response = await fetch('/workspaces/{workspaceId}/channels/{channelId}', {
    method: 'GET',
    headers: {
      "Authorization": "Bearer jwt"
    },
});
const data = await response.json();
Response
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "platformId": "text",
  "name": "text",
  "connectorId": "123e4567-e89b-12d3-a456-426614174000",
  "identifier": "text",
  "status": "active",
  "contactIdentifierKeyOverride": "text",
  "contactIdentifierFormatOverride": {
    "type": "none",
    "pattern": "text"
  },
  "platformServiceUrlOverride": "text",
  "platformServiceVersionOverride": "1.0",
  "platformServiceProtocolOverride": "http",
  "platformTemplateEngineOverride": "default",
  "capabilities": {
    "messaging": {
      "messaging": {
        "displayName": "text",
        "status": "text",
        "name": "text",
        "version": 0,
        "updatedAt": "2024-09-16T11:35:41.078Z",
        "createdAt": "2024-09-16T11:35:41.078Z",
        "expiresAt": "2024-09-16T11:35:41.078Z",
        "outgoing": {
          "displayName": "text",
          "status": "text",
          "name": "text",
          "version": 0,
          "updatedAt": "2024-09-16T11:35:41.078Z",
          "createdAt": "2024-09-16T11:35:41.078Z",
          "expiresAt": "2024-09-16T11:35:41.078Z",
          "mms": {
            "displayName": "text",
            "status": "text",
            "name": "text",
            "version": 0,
            "paused": false,
            "updatedAt": "2024-09-16T11:35:41.078Z",
            "createdAt": "2024-09-16T11:35:41.078Z",
            "expiresAt": "2024-09-16T11:35:41.078Z"
          },
          "media": {
            "textFallback": {
              "displayName": "text",
              "status": "text",
              "name": "text",
              "version": 0,
              "paused": false,
              "updatedAt": "2024-09-16T11:35:41.078Z",
              "createdAt": "2024-09-16T11:35:41.078Z",
              "expiresAt": "2024-09-16T11:35:41.078Z"
            }
          }
        },
        "incoming": {
          "displayName": "text",
          "status": "text",
          "name": "text",
          "version": 0,
          "updatedAt": "2024-09-16T11:35:41.078Z",
          "createdAt": "2024-09-16T11:35:41.078Z",
          "expiresAt": "2024-09-16T11:35:41.078Z",
          "mms": {
            "displayName": "text",
            "status": "text",
            "name": "text",
            "version": 0,
            "paused": false,
            "updatedAt": "2024-09-16T11:35:41.078Z",
            "createdAt": "2024-09-16T11:35:41.078Z",
            "expiresAt": "2024-09-16T11:35:41.078Z"
          }
        }
      }
    },
    "voice": {
      "voice": {
        "displayName": "text",
        "status": "text",
        "name": "text",
        "version": 0,
        "updatedAt": "2024-09-16T11:35:41.078Z",
        "createdAt": "2024-09-16T11:35:41.078Z",
        "expiresAt": "2024-09-16T11:35:41.078Z",
        "recording": {
          "displayName": "text",
          "status": "text",
          "name": "text",
          "version": 0,
          "paused": false,
          "updatedAt": "2024-09-16T11:35:41.078Z",
          "createdAt": "2024-09-16T11:35:41.078Z",
          "expiresAt": "2024-09-16T11:35:41.078Z"
        }
      }
    }
  },
  "settings": [
    {
      "key": "text",
      "value": "text",
      "displayName": "text",
      "description": "text",
      "visibility": "public"
    }
  ],
  "connectionParams": [
    {
      "key": "text",
      "value": "text",
      "displayName": "text",
      "description": "text",
      "visibility": "public"
    }
  ],
  "preferences": {
    "disableProfileFetching": false,
    "explicitMarketingOptOut": false
  },
  "useCaseId": "text",
  "useCaseType": "transactional",
  "channelMessageType": "promotional",
  "suites": [
    "marketing"
  ],
  "createdAt": "2024-09-16T11:35:41.078Z",
  "updatedAt": "2024-09-16T11:35:41.078Z"
}

If the channel is MMS capable, the following capabilities will show as active (otherwise inactive)

  • capabilities.messaging.outgoing.mms.status = active

  • capabilities.messaging.inbound.mms.status = active

Last updated