This page will help you get started with Messaging API.
Webex Connect multichannel Messaging API is a RESTful API that allows you to send proactive outbound messages and/or respond to incoming customer messages across various channels supported by the platform.
Channels covered by the Messaging API are:
- SMS
- Voice
- RCS Business Messaging
- Push Notifications (Android, iOS, Web)
- In-App Messaging (Real-Time App Messaging)
- Apple Messages for Business
- Facebook Messenger
Batching Requests
You can send a message to a single recipient or to multiple recipients by making a single API call. If you want to send messages to multiple recipients at once you would need to provide the list of recipients in the destination array while making the API call. For example, a bank can send a personalized greeting message to its customers using the delivery channel as SMS. Using batch message API requests, you can send messages to up to 1000 destinations (subject to your TPS limits). E.g., if your messaging API TPS configuration is 10 you can send messages to up to 10 destinations at once.
Additionally, you can send batch messages on multiple channels with a single API request.
Prerequisites
Following are the prerequisites to send and receive messages using Messaging API:
- Login credentials to access Webex Connect
- Authentication Credentials
Either a Service Key or JSON Web Tokens (JWT) must be passed with every API request. For more details visit the API Authentication section.
API Parameters
Webex Connect Messaging API is a RESTful API served over the encrypted HTTPS protocol. For data privacy and security reasons, the standard HTTP protocol is not supported.
Parameter | Type | Mandatory | Description |
---|---|---|---|
deliverychannel | String | Yes | Specifies the channel to send a message. (sms/voice/push/rt/messenger). |
destination | JSONArray | Yes | The destination parameter is a sub-parameter array of strings. This allows multiple destinations. |
channels | JSONArray | Yes | The channel parameter encompasses sub-parameters. |
message | JSONObject | No | This parameter is used when the message consisting of a predefined template. |
route | String | No | Routing policy to use. The options are: IMMD LCGD * LCBE |
expiry | String | No | Expiry time in UTC format, after which messages will not be pushed. For example, 2015-04-12T13:00:19.456Z or 2015-04-12T18:30:19.456+5:30. |
correlationid | String | No | A unique transaction ID up to 50 bytes used by Service Providers to match requests with responses. |
notifyurl | String | No | A URL that receives notifications. This overrides the service's Notify URL. |
callbackData | String | No | Data to be passed alongside notifications to the notifyurl. This can serve as identifying notifications. |
priority | String | No | This parameter is used to specify the message priority. |
Response/Return Codes
This API returns one of the following response codes:
Response Code | Message | Description |
---|---|---|
1001 | Queued | Returned when the request is accepted by Webex Connect. |
7000 | Invalid JSON | Returned when an invalid JSON request is sent. |
7001 | Authentication failed | Returned when an invalid service key or profile key is provided in the request. |
7002 | Service key missing | Returned when the parameter key is missing in the message request. |
7003 | Mandatory parameters missing | Returned when the mandatory parameters configured in the custom event are missing. |
7004 | Invalid parameters | Returned when the parameters are invalid. |
7006 | Internal error occurred | Returned when an internal error occurs. |
7007 | Service inactive | Returned when the service is in an inactive state. |
7009 | Max number of destinations | Returned when an API request exceeds the limit (1000) to send messages using messaging API. |