Sign inGet started

Programmable SMS

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

To send SMS messages you will need an SMS capable number and this will need to be installed as an SMS channel. If the number is also MMS capable you will also be able to send media messages though the channel.

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
/workspaces/{workspaceId}/channels/{channelId}
Retrieve a specific workspace channel
Antwoord-payload
id
string
verplicht
platformId
string
verplicht
name
string
verplicht
connectorId
string
verplicht
identifier
string
status
string
verplicht
Possible values: pending, setting-up, active, inactive, failed, deleted, warning
contactIdentifierKeyOverride
string
contactIdentifierFormatOverride
object
Onderliggende attributen tonen
contactIdentifierFormatOverride.type
string
Possible values: none, pattern, phonenumber, emailaddress
contactIdentifierFormatOverride.pattern
string
platformServiceUrlOverride
string
platformServiceVersionOverride
string
Possible values: 1.0
platformServiceProtocolOverride
string
Possible values: http, https
platformMessageJsonSchemaOverride
object
platformTemplateEngineOverride
string
Possible values: default, liquid
capabilities
object
Onderliggende attributen tonen
capabilities.messaging
object
Onderliggende attributen tonen
capabilities.messaging.messaging
object
Onderliggende attributen tonen
capabilities.messaging.messaging.displayName
string
capabilities.messaging.messaging.status
string
verplicht
capabilities.messaging.messaging.name
string
verplicht
capabilities.messaging.messaging.version
number
verplicht
capabilities.messaging.messaging.updatedAt
string
verplicht
capabilities.messaging.messaging.createdAt
string
verplicht
capabilities.messaging.messaging.expiresAt
string
capabilities.messaging.messaging.outgoing
object
verplicht
Onderliggende attributen tonen
capabilities.messaging.messaging.outgoing.displayName
string
capabilities.messaging.messaging.outgoing.status
string
verplicht
capabilities.messaging.messaging.outgoing.name
string
verplicht
capabilities.messaging.messaging.outgoing.version
number
capabilities.messaging.messaging.outgoing.updatedAt
string
capabilities.messaging.messaging.outgoing.createdAt
string
capabilities.messaging.messaging.outgoing.expiresAt
string
capabilities.messaging.messaging.outgoing.mms
object
Onderliggende attributen tonen
capabilities.messaging.messaging.outgoing.mms.displayName
string
capabilities.messaging.messaging.outgoing.mms.status
string
verplicht
capabilities.messaging.messaging.outgoing.mms.name
string
verplicht
capabilities.messaging.messaging.outgoing.mms.version
number
verplicht
capabilities.messaging.messaging.outgoing.mms.paused
boolean
capabilities.messaging.messaging.outgoing.mms.updatedAt
string
verplicht
capabilities.messaging.messaging.outgoing.mms.createdAt
string
verplicht
capabilities.messaging.messaging.outgoing.mms.expiresAt
string
capabilities.messaging.messaging.outgoing.media
object
Onderliggende attributen tonen
capabilities.messaging.messaging.outgoing.media.textFallback
object
Onderliggende attributen tonen
capabilities.messaging.messaging.outgoing.media.textFallback.displayName
string
capabilities.messaging.messaging.outgoing.media.textFallback.status
string
verplicht
capabilities.messaging.messaging.outgoing.media.textFallback.name
string
verplicht
capabilities.messaging.messaging.outgoing.media.textFallback.version
number
verplicht
capabilities.messaging.messaging.outgoing.media.textFallback.paused
boolean
capabilities.messaging.messaging.outgoing.media.textFallback.updatedAt
string
verplicht
capabilities.messaging.messaging.outgoing.media.textFallback.createdAt
string
verplicht
capabilities.messaging.messaging.outgoing.media.textFallback.expiresAt
string
capabilities.messaging.messaging.outgoing.mmLite
object
Onderliggende attributen tonen
capabilities.messaging.messaging.outgoing.mmLite.displayName
string
capabilities.messaging.messaging.outgoing.mmLite.status
string
verplicht
capabilities.messaging.messaging.outgoing.mmLite.name
string
verplicht
capabilities.messaging.messaging.outgoing.mmLite.version
number
verplicht
capabilities.messaging.messaging.outgoing.mmLite.paused
boolean
capabilities.messaging.messaging.outgoing.mmLite.updatedAt
string
verplicht
capabilities.messaging.messaging.outgoing.mmLite.createdAt
string
verplicht
capabilities.messaging.messaging.outgoing.mmLite.expiresAt
string
capabilities.messaging.messaging.incoming
object
verplicht
Onderliggende attributen tonen
capabilities.messaging.messaging.incoming.displayName
string
capabilities.messaging.messaging.incoming.status
string
verplicht
capabilities.messaging.messaging.incoming.name
string
verplicht
capabilities.messaging.messaging.incoming.version
number
capabilities.messaging.messaging.incoming.updatedAt
string
capabilities.messaging.messaging.incoming.createdAt
string
capabilities.messaging.messaging.incoming.expiresAt
string
capabilities.messaging.messaging.incoming.mms
object
Onderliggende attributen tonen
capabilities.messaging.messaging.incoming.mms.displayName
string
capabilities.messaging.messaging.incoming.mms.status
string
verplicht
capabilities.messaging.messaging.incoming.mms.name
string
verplicht
capabilities.messaging.messaging.incoming.mms.version
number
verplicht
capabilities.messaging.messaging.incoming.mms.paused
boolean
capabilities.messaging.messaging.incoming.mms.updatedAt
string
verplicht
capabilities.messaging.messaging.incoming.mms.createdAt
string
verplicht
capabilities.messaging.messaging.incoming.mms.expiresAt
string
capabilities.voice
object
Onderliggende attributen tonen
capabilities.voice.voice
object
Onderliggende attributen tonen
capabilities.voice.voice.displayName
string
capabilities.voice.voice.status
string
verplicht
capabilities.voice.voice.name
string
verplicht
capabilities.voice.voice.version
number
verplicht
capabilities.voice.voice.updatedAt
string
verplicht
capabilities.voice.voice.createdAt
string
verplicht
capabilities.voice.voice.expiresAt
string
capabilities.voice.voice.recording
object
verplicht
Onderliggende attributen tonen
capabilities.voice.voice.recording.displayName
string
capabilities.voice.voice.recording.status
string
verplicht
capabilities.voice.voice.recording.name
string
verplicht
capabilities.voice.voice.recording.version
number
verplicht
capabilities.voice.voice.recording.paused
boolean
capabilities.voice.voice.recording.updatedAt
string
verplicht
capabilities.voice.voice.recording.createdAt
string
verplicht
capabilities.voice.voice.recording.expiresAt
string
settings
array of object
Onderliggende attributen tonen
settings.key
string
verplicht
settings.value
string
verplicht
settings.displayName
string
settings.description
string
settings.visibility
string
Possible values: public, internal, secret
connectionParams
array of object
Onderliggende attributen tonen
connectionParams.key
string
verplicht
connectionParams.value
string
verplicht
connectionParams.displayName
string
connectionParams.description
string
connectionParams.visibility
string
Possible values: public, internal, secret
preferences
object
Onderliggende attributen tonen
preferences.disableProfileFetching
boolean
When enabled, it skips fetching the sender profile details on incoming messages, and, therefore, contacts won't have profile details (first name, last name, display name, country, etc.). In case this preference is not provided during channel creation, the PII strategy defined in the workspace will be used.
preferences.explicitMarketingOptOut
boolean
When enabled, if a contact does not have a subscription attribute set for the corresponding platform, the contact will be treated as if it were subscribed when messaged through this channel. In case this preference is not provided during channel creation, the default value will be false.
preferences.trackAdInitiatedThreads
When enabled, it tracks the threads initiated by advertisements. In case this preference is not provided during channel creation, the default value will be false.
preferences.ignoreSuppressionChecks
boolean
When enabled, it skips the suppression checks for the messages sent through this channel. In case this preference is not provided during channel creation, the default value will be false.
preferences.isPrivate
boolean
When enabled, it allows the channel to be marked as private - that is, the items which arrive via it, should, in turn, be marked as private.
preferences.disallowMmLite
boolean
When enabled, Cloud API is used to send marketing messages.
useCaseId
string
useCaseType
string
Possible values: transactional, marketing, conversation
channelMessageType
string
Possible values: promotional, 2fa, conversational, transactional, emergency
suites
array of string
resourceOwners
object
The map of resource owners that are allowed to use this channel. Example: { "resourceOwnerIdentifier1": { "id": "resourceOwnerUUID1", "type": "user" }, "resourceOwnerIdentifier2": { "id": "resourceOwnerUUID2", "type": "group" } }
createdAt
string
verplicht
updatedAt
string
Codevoorbeeld
curl -X GET 'https://api.bird.com/workspaces/{workspaceId}/channels/{channelId}' \
  -H 'Authorization: AccessKey YOUR_ACCESS_KEY'
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