This API allows you to enhance your usage of the various communication channels CM.com offers.
Via various calls you can request phone numbers and claim SMS-key words. But you can also request the status of your WhatsApp templates.
When you want to request a dedicated short code, please contact our support teams.
Authentication and authorization is done via a product token. You can obtain your product token from the messaging gateway app (https://gateway.cmtelecom.com).
If you cannot access that app you might have received the token via your account manager or you can contact support to obtain one.
For all calls described in this API, the product token should be provided by including it in the X-CM-PRODUCTTOKEN header.
In all methods you need to provide the accountId. This is a guid that identifies your account.
This identifier can be found on the url of CM.com's platform applications, after the language indicator. Below you can find an example.
Url | AccountID |
---|---|
https://www.cm.com/en-gb/app/dashboard/00000000-0000-0000-0000-000000000000 | 00000000-0000-0000-0000-000000000000 |
Channels description.
Request a channel.
POST https://api.cm.com/channels/v1/accounts/{accountId}/channels/requests
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Query | channelTypeId optional |
The channel type identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
201 | Created | ApiChannelRequestBase |
POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/requests
{
"id": "00000000-0000-0000-0000-000000000000",
"channelTypeId": "00000000-0000-0000-0000-000000000000",
"isPending": false,
"isActive": true,
"createdOnUtc": "2019-07-29T09:30:01.709Z"
}
Get your channel requests.
GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/requests
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Query | channelTypeId optional |
The channel type identifier. | string (uuid) |
Query | skip optional |
The amount of results to skip. (pagination) | integer |
Query | take optional |
The amount of results to take. (pagination) | integer |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiChannelRequestBase] |
GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/requests
[
{
"id": "00000000-0000-0000-0000-000000000000",
"channelTypeId": "00000000-0000-0000-0000-000000000000",
"isPending": false,
"isActive": true,
"createdOnUtc": "2019-07-29T09:30:01.705Z"
}
]
Get a channel request by id.
GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/requests/{channelRequestId}
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
The channel request identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelRequest |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelTypeId": "00000000-0000-0000-0000-000000000000",
"isPending": false,
"isActive": true,
"cancelledOnUtc": "2019-07-29T09:30:01.714Z",
"fulfilledOnUtc": "2019-07-29T09:30:01.714Z",
"createdOnUtc": "2019-07-29T09:30:01.714Z"
}
Get your channels.
GET https://api.cm.com/channels/v1/accounts/{accountId}/channels
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Query | channelTypeId optional |
The channel type identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannels |
GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels
{
"available": {
"sms": {
"keywords": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "0000000000|KEYWORD",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/keywords/0000000000|KEYWORD",
"isPending": false,
"createdOnUtc": "2019-07-24T13:43:58.3329114"
}
],
"numbers": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "00000000-0000-0000-0000-000000000000",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/numbers/00000000-0000-0000-0000-000000000000",
"isPending": true,
"createdOnUtc": "2019-07-24T13:18:01.1650535"
}
]
},
"whatsApp": {
"templates": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "00000000-0000-0000-0000-000000000000",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000",
"isPending": true,
"createdOnUtc": "2019-06-27T14:03:59.5380232"
}
],
"profiles": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "00000000-0000-0000-0000-000000000000",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles/00000000-0000-0000-0000-000000000000",
"isPending": false,
"createdOnUtc": "2019-05-21T15:23:49.2085959"
}
]
}
},
"comingSoon": [
"RCS",
"Viber"
]
}
Get a channel by id.
GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/{channelId}
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannel |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "string",
"channelUrl": "string",
"isPending": true,
"createdOnUtc": "2019-07-29T09:30:01.701Z"
}
Get available channel types.
GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/types
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Query | skip optional |
The amount of results to skip. (pagination) | integer |
Query | take optional |
The amount of results to take. (pagination) | integer |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiChannelTypeBaseResponse] |
GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/types
[
{
"id": "00000000-0000-0000-0000-000000000000",
"currency": "EUR",
"description": "WhatsApp",
"startupCost": 0,
"monthlyCost": 0,
"channelRequestProcessingDays": 7
}
]
Get a channel type by id.
GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/types/{channelTypeId}
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelTypeId required |
The channel type identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelTypeResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"currency": "EUR",
"description": "WhatsApp",
"startupCost": 0,
"monthlyCost": 0,
"channelRequestProcessingDays": 7,
"noticePeriodDays": 30,
"categories": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "templates"
},
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "profiles"
},
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "businessAccount"
}
]
}
Get available categories for a channel type.
GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/types/{channelTypeId}/categories
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelTypeId required |
The channel type identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiChannelCategory] |
[
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "CATEGORY NAME"
}
]
This API enables receiving incoming messages and events for channels supported by the CM.com Business Messaging API
in your systems, by registering an inbound configuration in the Channels-app.
Get all configurations for a channel.
GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/{channelId}/configuration
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelConfigurations |
{
"channelGroup": {
"id": "00000000-0000-0000-0000-000000000000",
"channels": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelRequestId": "00000000-0000-0000-0000-000000000000",
"channelTypeId": "00000000-0000-0000-0000-000000000000",
"channelCategoryId": "00000000-0000-0000-0000-000000000000",
"channelID": "string",
"channelUrl": "string",
"customRequestFormId": "00000000-0000-0000-0000-000000000000",
"customRequestFormIsPending": true,
"isPending": true,
"createdOnUtc": "2021-12-05T13:17:59.112Z",
"requestState": {
"completeness": 0,
"nextStage": {
"type": "UNKNOWN",
"descriptionKey": "string"
},
"progression": {
"stages": [
"string"
],
"current": "string"
},
"hasPendingOrder": true
}
}
]
},
"inbound": {
"messagingLog": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"updatedOnUtc": "2021-12-05T13:17:59.112Z",
"createdOnUtc": "2021-12-05T13:17:59.112Z"
},
"customerContact": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Xml",
"updatedOnUtc": "2021-12-05T13:17:59.112Z",
"createdOnUtc": "2021-12-05T13:17:59.112Z"
}
],
"updatedOnUtc": "2021-12-05T13:17:59.112Z",
"createdOnUtc": "2021-12-05T13:17:59.112Z"
},
"email": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"addresses": [
{
"id": "00000000-0000-0000-0000-000000000000",
"address": "string",
"updatedOnUtc": "2021-12-05T13:17:59.113Z",
"createdOnUtc": "2021-12-05T13:17:59.113Z"
}
],
"updatedOnUtc": "2021-12-05T13:17:59.113Z",
"createdOnUtc": "2021-12-05T13:17:59.113Z"
},
"webhook": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-05T13:17:59.113Z",
"createdOnUtc": "2021-12-05T13:17:59.113Z"
}
],
"updatedOnUtc": "2021-12-05T13:17:59.113Z",
"createdOnUtc": "2021-12-05T13:17:59.113Z"
},
"eventWebhook": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoint": {
"id": "00000000-0000-0000-0000-000000000000",
"channelsOneId": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-05T13:17:59.113Z",
"createdOnUtc": "2021-12-05T13:17:59.113Z"
},
"updatedOnUtc": "2021-12-05T13:17:59.113Z",
"createdOnUtc": "2021-12-05T13:17:59.113Z"
}
}
}
Get a configuration for a channel by id.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Path | configurationId required |
The configuration identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelConfigurationResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"updatedOnUtc": "2021-12-05T13:17:59.126Z",
"createdOnUtc": "2021-12-05T13:17:59.126Z"
}
Enable/Disable a channel configuration by id.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Path | configurationId required |
The configuration identifier. | string (uuid) |
Query | enabled required |
If set to true [enabled]. | boolean |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelConfigurationResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"updatedOnUtc": "2021-12-05T13:17:59.126Z",
"createdOnUtc": "2021-12-05T13:17:59.126Z"
}
Update a channel's customer contact configuration element by id.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Body | configuration required |
The configuration. | ApiChannelCustomerContactConfigurationRequest |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelCustomerContactConfigurationResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Xml",
"updatedOnUtc": "2021-12-05T13:17:59.201Z",
"createdOnUtc": "2021-12-05T13:17:59.201Z"
}
],
"updatedOnUtc": "2021-12-05T13:17:59.201Z",
"createdOnUtc": "2021-12-05T13:17:59.201Z"
}
Add a channel's email configuration element.
POST https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/email
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Body | configuration required |
The configuration. | ApiChannelEmailConfigurationRequest |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelEmailConfigurationResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"addresses": [
{
"id": "00000000-0000-0000-0000-000000000000",
"address": "string",
"updatedOnUtc": "2021-12-05T13:17:59.136Z",
"createdOnUtc": "2021-12-05T13:17:59.136Z"
}
],
"updatedOnUtc": "2021-12-05T13:17:59.136Z",
"createdOnUtc": "2021-12-05T13:17:59.136Z"
}
Delete a channel's email configuration element by id.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Path | addressId required |
The address identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK |
Update a channel's email configuration element.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Path | addressId required |
The address identifier. | string (uuid) |
Body | configuration required |
The configuration. | ApiChannelEmailConfigurationRequest |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelEmailConfigurationResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"addresses": [
{
"id": "00000000-0000-0000-0000-000000000000",
"address": "string",
"updatedOnUtc": "2021-12-05T13:17:59.145Z",
"createdOnUtc": "2021-12-05T13:17:59.145Z"
}
],
"updatedOnUtc": "2021-12-05T13:17:59.145Z",
"createdOnUtc": "2021-12-05T13:17:59.145Z"
}
Add a channel's event webhook configuration element.
POST https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/eventwebhook
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Body | configuration required |
The configuration. | ApiChannelEventWebHookConfigurationRequest |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelEventWebHookConfigurationResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoint": {
"id": "00000000-0000-0000-0000-000000000000",
"channelsOneId": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-05T13:17:59.168Z",
"createdOnUtc": "2021-12-05T13:17:59.168Z"
},
"updatedOnUtc": "2021-12-05T13:17:59.168Z",
"createdOnUtc": "2021-12-05T13:17:59.168Z"
}
Delete a channel's event webhook configuration element by id.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Path | webhookId required |
The webhook identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK |
Update a channel's event webhook configuration element.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Path | webhookId required |
The webhook identifier. | string (uuid) |
Body | configuration required |
The configuration. | ApiChannelWebHookConfigurationRequest |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelEventWebHookConfigurationResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoint": {
"id": "00000000-0000-0000-0000-000000000000",
"channelsOneId": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-05T13:17:59.183Z",
"createdOnUtc": "2021-12-05T13:17:59.183Z"
},
"updatedOnUtc": "2021-12-05T13:17:59.183Z",
"createdOnUtc": "2021-12-05T13:17:59.183Z"
}
Update a channel's messaging log configuration.
POST https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/messaginglog
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Body | configuration required |
The configuration. | ApiChannelMessagingLogConfigurationRequest |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelMessagingLogConfigurationResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"updatedOnUtc": "2021-12-05T13:17:59.194Z",
"createdOnUtc": "2021-12-05T13:17:59.194Z"
}
Add a channel's webhook configuration element.
POST https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/webhook
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Body | configuration required |
The configuration. | ApiChannelWebHookConfigurationRequest |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelWebHookConfigurationResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-05T13:17:59.151Z",
"createdOnUtc": "2021-12-05T13:17:59.151Z"
}
],
"updatedOnUtc": "2021-12-05T13:17:59.151Z",
"createdOnUtc": "2021-12-05T13:17:59.151Z"
}
Delete a channel's webhook configuration element by id.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Path | webhookId required |
The webhook identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK |
Update a channel's webhook configuration element.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelId required |
The channel identifier. | string (uuid) |
Path | webhookId required |
The webhook identifier. | string (uuid) |
Body | configuration required |
The configuration. | ApiChannelWebHookConfigurationRequest |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiChannelWebHookConfigurationResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-05T13:17:59.161Z",
"createdOnUtc": "2021-12-05T13:17:59.161Z"
}
],
"updatedOnUtc": "2021-12-05T13:17:59.161Z",
"createdOnUtc": "2021-12-05T13:17:59.161Z"
}
WhatsApp description.
Get your business account.
GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/businessaccount
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiWhatsAppBusinessAccount |
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"channelRequestId": "00000000-0000-0000-0000-000000000000",
"isPending": true,
"cancelledOnUtc": "2019-07-29T09:30:01.877Z",
"fulfilledOnUtc": "2019-07-29T09:30:01.877Z",
"createdOnUtc": "2019-07-29T09:30:01.877Z"
}
Get supported WhatsApp languages.
GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/supportedlanguages
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiWhatsAppSupportedLanguage] |
[
{
"id": "00000000-0000-0000-0000-000000000000",
"code": "string",
"name": "string"
}
]
Get your active WhatsApp languages.
GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/languages
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiWhatsAppSupportedLanguage] |
[
{
"id": "00000000-0000-0000-0000-000000000000",
"code": "string",
"name": "string"
}
]
Activate a WhatsApp language.
POST https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/languages
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Query | languageId required |
The language identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
201 | Created | array[ApiWhatsAppSupportedLanguage] |
[
{
"id": "00000000-0000-0000-0000-000000000000",
"code": "string",
"name": "string"
}
]
Get your profiles.
GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/profiles
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Query | q optional |
The text to filter results on. | string |
Query | skip optional |
The amount of results to skip. (pagination) | integer |
Query | take optional |
The amount of results to take. (pagination) | integer |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiWhatsAppProfileBase] |
[
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"phoneNumber": "0000000000",
"name": "NAME",
"image": "data:image/ ...",
"isActive": false,
"isOtpProcessed": false,
"isOtpSent": false,
"isPending": true,
"createdOnUtc": "2019-07-31T07:12:06.004Z",
"rejectedOnUtc": "2019-07-31T07:12:06.004Z",
"cancelledOnUtc": "2019-07-31T07:12:06.004Z"
}
]
Get a profile by id.
GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/profiles/{profileId}
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Path | profileId required |
The profile identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiWhatsAppProfile |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"phoneNumber": "0000000000",
"rejectionReason": "REJECTION REASON",
"name": "NAME",
"image": "data:image/ ...",
"isActive": false,
"isOtpProcessed": false,
"isOtpSent": false,
"isPending": true,
"fulfilledOnUtc": "2019-07-31T06:20:52.280Z",
"createdOnUtc": "2019-07-31T06:20:52.280Z",
"rejectedOnUtc": "2019-07-31T06:20:52.280Z",
"cancelledOnUtc": "2019-07-31T06:20:52.280Z"
}
Update a profile's phone number.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Path | profileId required |
The profile identifier. | string (uuid) |
Query | phoneNumber required |
The new phone number. | string |
HTTP Code | Description | Schema |
---|---|---|
202 | Accepted | ApiWhatsAppProfile |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"phoneNumber": "0000000000",
"rejectionReason": "REJECTION REASON",
"name": "NAME",
"image": "data:image/ ...",
"isActive": false,
"isOtpProcessed": false,
"isOtpSent": false,
"isPending": true,
"fulfilledOnUtc": "2019-07-31T06:20:52.280Z",
"createdOnUtc": "2019-07-31T06:20:52.280Z",
"rejectedOnUtc": "2019-07-31T06:20:52.280Z",
"cancelledOnUtc": "2019-07-31T06:20:52.280Z"
}
Start a profile's otp validation.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Path | profileId required |
The profile identifier. | string (uuid) |
Query | otpMethod required |
The one-time-password method. | "voice", "sms" |
HTTP Code | Description | Schema |
---|---|---|
202 | Accepted |
Finish a profile's otp validation.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Path | profileId required |
The profile identifier. | string (uuid) |
Query | phoneNumber required |
The profile's phone number. | string |
Query | otp required |
The received one-time-password. | string |
HTTP Code | Description | Schema |
---|---|---|
200 | Ok | ApiWhatsAppProfile |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"phoneNumber": "0000000000",
"rejectionReason": "REJECTION REASON",
"name": "NAME",
"image": "data:image/ ...",
"isActive": true,
"isOtpProcessed": true,
"isOtpSent": true,
"isPending": false,
"fulfilledOnUtc": "2019-07-31T06:20:52.280Z",
"createdOnUtc": "2019-07-31T06:20:52.280Z",
"rejectedOnUtc": "2019-07-31T06:20:52.280Z",
"cancelledOnUtc": "2019-07-31T06:20:52.280Z"
}
When you want to make use of Templates in your own application, you obviously want to know which templates you have available for your account, what the content is of those templates, and which parameters you can fill in to personalize/actualize the message.
This part of the Channels API provides this information, and more.
Templates are used when an organization wants to send a message to a user first. Templates must be setup and approved before they can be used. You can request new templates via CM.com (see implementation manual).
A user must have opted in. As you know a user must first consent to receive messages in WhatsApp by opting in. The opt-in must be an active opt-in. See also Facebook's opt-in guide and our API documentation.
WhatsApp Templates can be used by the entire business account. When one account has more than one Business Profile, the registered templates can be used for All profiles.
Get supported template categories.
GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates/categories
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiWhatsAppTemplateCategory] |
[
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "CATEGORY NAME"
}
]
POST https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Query | templateCategoryId required |
The template category identifier. | string (uuid) |
Body | templateRequest required |
The template request object. | ApiWhatsAppTemplateBaseRequest |
HTTP Code | Description | Schema |
---|---|---|
201 | Created | ApiWhatsAppTemplate |
{
"name": "TEMPLATE NAME"
}
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"facebookName": "facebook_name",
"facebookNamespaceId": "0a0a0a0a0a0a0a0a",
"name": "TEMPLATE NAME",
"category": "TEMPLATE CATEGORY",
"settings": {
"replacementFields": [
{
"id": "00000000-0000-0000-0000-000000000000",
"index": 0,
"name": "FIELD NAME",
"type": "FIELD TYPE"
}
]
},
"languages": {
"LANGUAGE NAME": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
},
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": true,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z",
"cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}
Via this request you can see the status of all your templates under your business account.
GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Query | q optional |
The text to filter results on. | string |
Query | skip optional |
The amount of results to skip. (pagination) | integer |
Query | take optional |
The amount of results to take. (pagination) | integer |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiWhatsAppTemplateBaseResponse] |
[
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"facebookName": "facebook_name",
"facebookNamespaceId": "0a0a0a0a0a0a0a0a",
"name": "TEMPLATE NAME",
"category": "TEMPLATE CATEGORY",
"languages": {
"LANGUAGE NAME": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
},
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": true,
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z",
"cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}
]
Get a template by id.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Path | templateId required |
The template identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiWhatsAppTemplate |
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"facebookName": "facebook_name",
"facebookNamespaceId": "0a0a0a0a0a0a0a0a",
"name": "TEMPLATE NAME",
"category": "TEMPLATE CATEGORY",
"settings": {
"replacementFields": [
{
"id": "00000000-0000-0000-0000-000000000000",
"index": 0,
"name": "FIELD NAME",
"type": "FIELD TYPE"
}
]
},
"languages": {
"LANGUAGE NAME": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
},
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": true,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z",
"cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}
Update a template.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Path | templateId required |
The template identifier. | string (uuid) |
Body | templateUpdate required |
The template update. | ApiWhatsAppTemplateUpdateRequest |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiWhatsAppTemplate |
{
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"name": "TEMPLATE NAME",
"languages": {
"LANGUAGE NAME": {
"content": "LANGUAGE CONTENT"
}
}
}
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"facebookName": "facebook_name",
"facebookNamespaceId": "0a0a0a0a0a0a0a0a",
"name": "TEMPLATE NAME",
"category": "TEMPLATE CATEGORY",
"settings": {
"replacementFields": [
{
"id": "00000000-0000-0000-0000-000000000000",
"index": 0,
"name": "FIELD NAME",
"type": "FIELD TYPE"
}
]
},
"languages": {
"LANGUAGE NAME": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
},
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": true,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z",
"cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}
Request validation of a template.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Path | templateId required |
The template identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
202 | Accepted | ApiWhatsAppTemplate |
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"facebookName": "facebook_name",
"facebookNamespaceId": "0a0a0a0a0a0a0a0a",
"name": "TEMPLATE NAME",
"category": "TEMPLATE CATEGORY",
"settings": {
"replacementFields": [
{
"id": "00000000-0000-0000-0000-000000000000",
"index": 0,
"name": "FIELD NAME",
"type": "FIELD TYPE"
}
]
},
"languages": {
"LANGUAGE NAME": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": false,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
},
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": false,
"isValidationRequested": true,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z",
"cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}
Fields to personalize, localize and actualize messages.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Path | templateId required |
The template identifier. | string (uuid) |
Query | name required |
The field name. | string |
Query | type required |
The field type. | "text", "currency", "datetime" |
HTTP Code | Description | Schema |
---|---|---|
201 | Created | ApiWhatsAppTemplate |
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"facebookName": "facebook_name",
"facebookNamespaceId": "0a0a0a0a0a0a0a0a",
"name": "TEMPLATE NAME",
"category": "TEMPLATE CATEGORY",
"settings": {
"replacementFields": [
{
"id": "00000000-0000-0000-0000-000000000000",
"index": 0,
"name": "FIELDNAME",
"type": "text"
}
]
},
"languages": {
"LANGUAGE NAME": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": false,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
},
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": false,
"isValidationRequested": true,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z",
"cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}
Fields to personalize, localize and actualize messages.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Path | templateId required |
The template identifier. | string (uuid) |
Path | fieldId required |
The field identifier. | string (uuid) |
Query | name required |
The new field name. | string |
Query | type required |
The new field type. | "text", "currency", "datetime" |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiWhatsAppTemplate |
{
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"name": "TEMPLATE NAME",
"languages": {
"LANGUAGE NAME": {
"content": "LANGUAGE CONTENT"
}
}
}
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"facebookName": "facebook_name",
"facebookNamespaceId": "0a0a0a0a0a0a0a0a",
"name": "TEMPLATE NAME",
"category": "TEMPLATE CATEGORY",
"settings": {
"replacementFields": [
{
"id": "00000000-0000-0000-0000-000000000000",
"index": 0,
"name": "FIELDNAME2",
"type": "currency"
}
]
},
"languages": {
"LANGUAGE NAME": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": false,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
},
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": false,
"isValidationRequested": true,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z",
"cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}
Fields to personalize, localize and actualize messages.
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | channelRequestId required |
Your WhatsApp channel request identifier. | string (uuid) |
Path | templateId required |
The template identifier. | string (uuid) |
Path | fieldId required |
The field identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiWhatsAppTemplate |
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"facebookName": "facebook_name",
"facebookNamespaceId": "0a0a0a0a0a0a0a0a",
"name": "TEMPLATE NAME",
"category": "TEMPLATE CATEGORY",
"settings": {
"replacementFields": []
},
"languages": {
"LANGUAGE NAME": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": false,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
},
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": false,
"isValidationRequested": true,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z",
"cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}
Claim a keyword on a shared or dedicated (owned) number.
Claim a keyword. (Or simulate the outcome)
POST https://api.cm.com/channels/v1/accounts/{accountId}/keywords
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Query | simulate optional |
If set to true no actual operations will be performed, but validation will occur. | boolean |
Body | claim required |
The claim. | ApiKeywordClaimRequest |
HTTP Code | Description | Schema |
---|---|---|
201 | Created | ApiKeywordClaimResponse |
POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/keywords&simulate=true
{
"phoneNumberId": "0000000000",
"keyword": "KEYWORD"
}
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"phoneNumber": "0000000000",
"country": "NL",
"keyword": "KEYWORD",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"claimedOnUtc": "2019-03-18T09:56:31.723Z"
}
This call is used to get all claimed keywords you have registered with CM.com and their status.
GET https://api.cm.com/channels/v1/accounts/{accountId}/keywords
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Query | phoneNumber optional |
The phone numbers to filter the results on. | array[string] |
Query | keyword optional |
The keywords to filter the results on. | array[string] |
Query | country optional |
The country to filter the results on. | string |
Query | skip optional |
The amount of results to skip. (pagination) | integer |
Query | take optional |
The amount of results to take. (pagination) | integer |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiKeywordClaimResponse] |
GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/keywords
[
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"phoneNumber": "0000000000",
"country": "NL",
"keyword": "KEYWORD",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"claimedOnUtc": "2019-03-18T09:56:31.723Z"
}
]
When you require to know the status of a keyword claim, you can request that too.
You can do this by implementing this call.
GET https://api.cm.com/channels/v1/accounts/{accountId}/keywords/{keywordClaimId}
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | keywordClaimId required |
The claim identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiKeywordClaimResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"phoneNumber": "0000000000",
"country": "NL",
"keyword": "KEYWORD",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"claimedOnUtc": "2019-03-18T09:56:31.723Z"
}
If you make use of a keyword you no longer need, you can cancel the claim.
Your invoicing will be stopped coming invoicing month, which means you only need to pay for the current month.
Right after you cancel your keyword subscription this can no longer be used by you, we block it right away and do not await the end of your monthly subscription.
DELETE https://api.cm.com/channels/v1/accounts/{accountId}/keywords/{keywordClaimId}
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | keywordClaimId required |
The claim identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
204 | NoContent |
Verifies a claim by id and returns an array of strings describing found issues.
GET https://api.cm.com/channels/v1/accounts/{accountId}/keywords/{keywordClaimId}/verify
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | keywordClaimId required |
The claim identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[string] |
[
"string"
]
Rent a dedicated phone number.
Request to rent a dedicated phone number. (Or simulate the outcome)
POST https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers/requests
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Query | numberTypeId required |
The number type identifier. | string (uuid) |
Query | simulate optional |
If set to true no actual operations will be performed, but validation will occur. | boolean |
HTTP Code | Description | Schema |
---|---|---|
201 | Created | ApiNumberRequestResponse |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"phoneNumberId": "0000000000",
"numberType":
{
"id": "00000000-0000-0000-0000-000000000000",
"purpose": [
"SMS"
],
"country": "NL",
"category": "MOBILE",
"description": "A Dutch mobile number",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"keywordStartupCost": 0,
"keywordMonthlyCost": 0,
"keywordNoticePeriodDays": 0,
"numberRequestProcessingDays": 0
},
"isPending": true,
"isActive": false,
"cancelledOnUtc": "2019-07-29T09:30:01.785Z",
"fulfilledOnUtc": "2019-03-18T09:56:31.764Z",
"createdOnUtc": "2019-01-31T10:39:16.241Z"
}
This call is used to get all your phone number requests registered with CM.com and their status.
GET https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers/requests
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Query | country optional |
The country to filter the results on. | string |
Query | isPending optional |
If set, filters the result on pending state. | boolean |
Query | skip optional |
The amount of results to skip. (pagination) | integer |
Query | take optional |
The amount of results to take. (pagination) | integer |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiNumberRequestResponse] |
[
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"phoneNumberId": "0000000000",
"numberType":
{
"id": "00000000-0000-0000-0000-000000000000",
"purpose": [
"SMS"
],
"country": "NL",
"category": "MOBILE",
"description": "A Dutch mobile number",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"keywordStartupCost": 0,
"keywordMonthlyCost": 0,
"keywordNoticePeriodDays": 0,
"numberRequestProcessingDays": 0
},
"isPending": true,
"isActive": false,
"cancelledOnUtc": "2019-07-29T09:30:01.785Z",
"fulfilledOnUtc": "2019-03-18T09:56:31.764Z",
"createdOnUtc": "2019-01-31T10:39:16.241Z"
}
]
If you rent a phone numbers you no longer need, you can cancel the subscription.
Your invoicing will be stopped coming invoicing month, which means you only need to pay for the current month.
Right after you cancel your phone number subscription this can no longer be used by you, we block it right away and do not await the end of your monthly subscription.
DELETE https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers/{phoneNumberId}
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | phoneNumberId required |
The phone number identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
204 | NoContent |
DELETE https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/phonenumbers/0000000000
This call is used to get all available phone numbers registered with CM.com.
Only shared (for claiming a keyword on) and owned phone numbers are returned.
GET https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Query | query optional |
The query to search for and filter the results on. | string |
Query | country optional |
The country to filter the results on. | string |
Query | isOwned optional |
If set, result is filtered on whether a phone number is/is not owned by you. | boolean |
Query | isShortcode optional |
If set, result is filtered on whether a phone number is/is not a shortcode. | boolean |
Query | isShared optional |
If set, result is filtered on whether a phone number is/is not a shared number. | boolean |
Query | skip optional |
The amount of results to skip. (pagination) | integer |
Query | take optional |
The amount of results to take. (pagination) | integer |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiPhoneNumberResponse] |
[
{
"id": "0000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"numberType":
{
"id": "00000000-0000-0000-0000-000000000000",
"purpose": [
"SMS"
],
"country": "NL",
"category": "MOBILE",
"description": "A Dutch mobile number",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"keywordStartupCost": 0,
"keywordMonthlyCost": 0,
"keywordNoticePeriodDays": 0,
"numberRequestProcessingDays": 0
},
"number": "0000000000",
"isShared": false,
"ownedSinceUtc": "2019-02-05T12:34:08.614Z"
}
]
When you require to know the status of a phone number, you can request that too.
You can do this by implementing this call.
Only shared (for claiming a keyword on) and owned phone numbers are returned.
GET https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers/{phoneNumberId}
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Path | phoneNumberId required |
The phone number identifier. | string (uuid) |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | ApiPhoneNumberResponse |
{
"id": "0000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"numberType":
{
"id": "00000000-0000-0000-0000-000000000000",
"purpose": [
"SMS"
],
"country": "NL",
"category": "MOBILE",
"description": "A Dutch mobile number",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"keywordStartupCost": 0,
"keywordMonthlyCost": 0,
"keywordNoticePeriodDays": 0,
"numberRequestProcessingDays": 0
},
"number": "0000000000",
"isShared": false,
"ownedSinceUtc": "2019-02-05T12:34:08.614Z"
}
This call is used to get all available number types registered with CM.com.
Number types are linked to phone numbers and are mandatory in requesting a dedicated phone number.
GET https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers/numbertypes
Type | Name | Description | Schema |
---|---|---|---|
Path | accountId required |
Your account identifier. | string (uuid) |
Query | country optional |
The country to filter the results on. | string |
Query | type optional |
The type to filter the results on. | string |
Query | purpose optional |
The purpose to filter the results on. | string |
Query | skip optional |
The amount of results to skip. (pagination) | integer |
Query | take optional |
The amount of results to take. (pagination) | integer |
HTTP Code | Description | Schema |
---|---|---|
200 | OK | array[ApiNumberTypeResponse] |
[
{
"id": "00000000-0000-0000-0000-000000000000",
"purpose": [
"SMS"
],
"country": "NL",
"category": "MOBILE",
"description": "A Dutch mobile number",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"keywordStartupCost": 0,
"keywordMonthlyCost": 0,
"keywordNoticePeriodDays": 0,
"numberRequestProcessingDays": 0
}
]
Definitions of Numbers API specific request and response data models.
This includes names, types, descriptions and a JSON representation.
Models used at channels related endpoints.
Name | Schema | Description |
---|---|---|
id | string (uuid) | The channel identifier. |
channelRequestId | string (uuid) | The channel request identifier. |
channelTypeId | string (uuid) | The channel type identifier. |
channelCategoryId | string (uuid) | The channel category identifier. |
channelId | string (uuid) | The channel element identifier. |
customRequestFormId | string (uuid) | The customer request form identifier. |
customRequestFormIsPending | boolean | Indicates whether this customer request form is pending. A form is pending when the underlying onboarding process is not yet finalized. |
isPending | boolean | Indicates whether this channel is pending. A channel is pending when the underlying onboarding process is not yet finalized. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the channel was created. |
requestState | timestamp (UTC) | The moment (UTC) the channel was updated. |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelRequestId": "00000000-0000-0000-0000-000000000000",
"channelTypeId": "00000000-0000-0000-0000-000000000000",
"channelCategoryId": "00000000-0000-0000-0000-000000000000",
"channelID": "string",
"channelUrl": "string",
"customRequestFormId": "00000000-0000-0000-0000-000000000000",
"customRequestFormIsPending": true,
"isPending": true,
"createdOnUtc": "2021-12-06T10:34:25.852Z",
"requestState": {
"completeness": 0,
"nextStage": {
"type": "UNKNOWN",
"descriptionKey": "string"
},
"progression": {
"stages": [
"string"
],
"current": "string"
},
"hasPendingOrder": true
}
}
Name | Schema | Description |
---|---|---|
completeness | integer | The request completeness status. |
nextStage | ApiRequestNextState | The next state of the request. |
progression | ApiRequestProgression | The progression of the request. |
hasPendingOrder | boolean | Indicates whether the request has pending order. |
{
"completeness": 0,
"nextStage": {
"type": "UNKNOWN",
"descriptionKey": "string"
},
"progression": {
"stages": [
"string"
],
"current": "string"
},
"hasPendingOrder": true
}
Name | Schema | Description |
---|---|---|
type | string | The next state type. Value can be 'UNKNOWN', 'PROCESSING', 'ACTION_REQUIRED' |
descriptionKey | string | The next state description. |
{
"type": "UNKNOWN",
"descriptionKey": "string"
}
Name | Schema | Description |
---|---|---|
stages | array[string] | The request stages. |
current | string | The current request stage. |
{
"stages": [
"string"
],
"current": "string"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The channel group identifier. |
channels | array[ApiChannelBase] | The channels included in the channel group. |
{
"id": "00000000-0000-0000-0000-000000000000",
"channels": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelRequestId": "00000000-0000-0000-0000-000000000000",
"channelTypeId": "00000000-0000-0000-0000-000000000000",
"channelCategoryId": "00000000-0000-0000-0000-000000000000",
"channelID": "string",
"channelUrl": "string",
"customRequestFormId": "00000000-0000-0000-0000-000000000000",
"customRequestFormIsPending": true,
"isPending": true,
"createdOnUtc": "2021-12-06T10:25:50.735Z",
"requestState": {
"completeness": 0,
"nextStage": {
"type": "UNKNOWN",
"descriptionKey": "string"
},
"progression": {
"stages": [
"string"
],
"current": "string"
},
"hasPendingOrder": true
}
}
]
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The channel request identifier. |
channelTypeId | string (uuid) | The channel type identifier. |
isPending | boolean | Indicates whether this request is pending. A request is pending when the underlying onboarding process is not yet finalized. |
isActive | boolean | Indicates whether this request is active. A request is active when the underlying onboarding process is finalized. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the request was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelTypeId": "00000000-0000-0000-0000-000000000000",
"isPending": false,
"isActive": true,
"createdOnUtc": "2019-07-29T09:30:01.709Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The channel request identifier. |
channelTypeId | string (uuid) | The channel type identifier. |
isPending | boolean | Indicates whether this request is pending. A request is pending when the underlying onboarding process is not yet finalized. |
isActive | boolean | Indicates whether this request is active. A request is active when the underlying onboarding process is finalized. |
cancelledOnUtc | timestamp (UTC) | The moment (UTC) the request was cancelled. |
fulfilledOnUtc | timestamp (UTC) | The moment (UTC) the request was fulfilled. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the request was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelTypeId": "00000000-0000-0000-0000-000000000000",
"isPending": false,
"isActive": true,
"cancelledOnUtc": "2019-07-29T09:30:01.714Z",
"fulfilledOnUtc": "2019-07-29T09:30:01.714Z",
"createdOnUtc": "2019-07-29T09:30:01.714Z"
}
Name | Schema | Description |
---|---|---|
available | ApiChannelsAvailable | The currently available channel types. |
comingSoon | array[string] | Channel types that will become available soon. |
{
"available": {
"sms": {
"keywords": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "0000000000|KEYWORD",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/keywords/0000000000|KEYWORD",
"isPending": false,
"createdOnUtc": "2019-07-24T13:43:58.3329114"
}
],
"numbers": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "00000000-0000-0000-0000-000000000000",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/numbers/00000000-0000-0000-0000-000000000000",
"isPending": true,
"createdOnUtc": "2019-07-24T13:18:01.1650535"
}
]
},
"whatsApp": {
"templates": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "00000000-0000-0000-0000-000000000000",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000",
"isPending": true,
"createdOnUtc": "2019-06-27T14:03:59.5380232"
}
],
"profiles": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "00000000-0000-0000-0000-000000000000",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles/00000000-0000-0000-0000-000000000000",
"isPending": false,
"createdOnUtc": "2019-05-21T15:23:49.2085959"
}
]
}
},
"comingSoon": [
"RCS",
"Viber"
]
}
The object contains of a field for each available channel.
Each field is a dictionary containing a key for each category and a collection of configured channels as value.
{
"sms": {
"keywords": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "0000000000|KEYWORD",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/keywords/0000000000|KEYWORD",
"isPending": false,
"createdOnUtc": "2019-07-24T13:43:58.3329114"
}
],
"numbers": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "00000000-0000-0000-0000-000000000000",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/numbers/00000000-0000-0000-0000-000000000000",
"isPending": true,
"createdOnUtc": "2019-07-24T13:18:01.1650535"
}
]
},
"whatsApp": {
"templates": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "00000000-0000-0000-0000-000000000000",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000",
"isPending": true,
"createdOnUtc": "2019-06-27T14:03:59.5380232"
}
],
"profiles": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "00000000-0000-0000-0000-000000000000",
"channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles/00000000-0000-0000-0000-000000000000",
"isPending": false,
"createdOnUtc": "2019-05-21T15:23:49.2085959"
}
]
}
...
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The channel identifier. |
channelID | string | The underlying entity identifier. |
channelUrl | string | The URL to the Channels web application. |
isPending | boolean | Indicates whether this channel is pending. A channel is pending when the underlying entity is not yet active. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the channel was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelID": "CHANNELID",
"channelUrl": "string",
"isPending": true,
"createdOnUtc": "2019-07-29T09:30:01.701Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The channel type identifier. |
currency | string | The currency in the ISO 4217 notation. |
description | string | Text that describes the channel type. |
startupCost | integer | The startup cost. |
monthlyCost | integer | The monthly cost. |
channelRequestProcessingDays | integer | The processing time in days to fulfill a request of this type. |
{
"id": "00000000-0000-0000-0000-000000000000",
"currency": "EUR",
"description": "WhatsApp",
"startupCost": 0,
"monthlyCost": 0,
"channelRequestProcessingDays": 7
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The channel type identifier. |
currency | string | The currency in the ISO 4217 notation. |
description | string | Text that describes the channel type. |
startupCost | integer | The startup cost. |
monthlyCost | integer | The monthly cost. |
channelRequestProcessingDays | integer | The processing time in days to fulfill a request of this type. |
noticePeriodDays | integer | The notice period in days. |
categories | array[ApiChannelCategory] | The categories for the channel type. |
{
"id": "00000000-0000-0000-0000-000000000000",
"currency": "EUR",
"description": "WhatsApp",
"startupCost": 0,
"monthlyCost": 0,
"channelRequestProcessingDays": 7,
"noticePeriodDays": 30,
"categories": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "templates"
},
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "profiles"
},
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "businessAccount"
}
]
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The channel category identifier. |
name | string | The category name. |
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "CATEGORY NAME"
}
Models used at channel configurations related endpoints.
Name | Schema | Description |
---|---|---|
channelGroup | ApiChannelGroupBase | The channel group of the current channel. |
inbound | array[ApiChannelConfigurationsInbound] | The inbound configurations for the channel group. |
{
"channelGroup": {
"id": "00000000-0000-0000-0000-000000000000",
"channels": [
{
"id": "00000000-0000-0000-0000-000000000000",
"channelRequestId": "00000000-0000-0000-0000-000000000000",
"channelTypeId": "00000000-0000-0000-0000-000000000000",
"channelCategoryId": "00000000-0000-0000-0000-000000000000",
"channelID": "string",
"channelUrl": "string",
"customRequestFormId": "00000000-0000-0000-0000-000000000000",
"customRequestFormIsPending": true,
"isPending": true,
"createdOnUtc": "2021-12-03T10:32:02.324Z",
"requestState": {
"completeness": 0,
"nextStage": {
"type": "UNKNOWN",
"descriptionKey": "string"
},
"progression": {
"stages": [
"string"
],
"current": "string"
},
"hasPendingOrder": true
}
}
]
},
"inbound": {
"messagingLog": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"customerContact": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Xml",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
],
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"email": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"addresses": [
{
"id": "00000000-0000-0000-0000-000000000000",
"address": "string",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
],
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"webhook": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
],
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"eventWebhook": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoint": {
"id": "00000000-0000-0000-0000-000000000000",
"channelsOneId": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
}
}
Name | Schema | Description |
---|---|---|
messagingLog | ApiChannelMessagingLogConfigurationResponse | The messaging log configuration. |
customerContact | ApiChannelCustomerContactConfigurationResponse | The customer contact configuration. |
ApiChannelEmailConfigurationResponse | The email configuration. | |
webhook | ApiChannelWebHookConfigurationResponse | The webhook configuration. |
eventWebhook | ApiChannelEventWebHookConfigurationResponse | The event webhook configuration. |
{
"messagingLog": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"customerContact": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Xml",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
],
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"email": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"addresses": [
{
"id": "00000000-0000-0000-0000-000000000000",
"address": "string",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
],
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"webhook": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
],
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"eventWebhook": {
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoint": {
"id": "00000000-0000-0000-0000-000000000000",
"channelsOneId": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The channel configuration identifier. |
enabled | boolean | Indicates whether this configuration is enabled. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the configuration was updated. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the configuration was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"updatedOnUtc": "2021-12-03T10:30:52.989Z",
"createdOnUtc": "2021-12-03T10:30:52.989Z"
}
Name | Schema | Description |
---|---|---|
endpoint | ApiChannelCustomerContactEndpointRequest | The customer contact configuration endpoint. |
{
"endpoint": {
"method": "POST",
"url": "string",
"type": "Xml"
}
}
Name | Schema | Description |
---|---|---|
method | string | The endpoint method. Value can only be 'POST'. |
url | string | The endpoint url. |
type | string | The endpoint type. Values can be either 'Xml' or 'Json'. |
{
"method": "POST",
"url": "string",
"type": "Xml"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The customer contact configuration identifier. |
enabled | boolean | Indicates whether this configuration is enabled. |
endpoints | array[ApiChannelCustomerContactEndpointResponse] | The endpoints. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the configuration was updated. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the configuration was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Xml",
"updatedOnUtc": "2021-12-03T13:11:13.118Z",
"createdOnUtc": "2021-12-03T13:11:13.118Z"
}
],
"updatedOnUtc": "2021-12-03T13:11:13.118Z",
"createdOnUtc": "2021-12-03T13:11:13.118Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The customer contact endpoint identifier. |
method | string | The endpoint method. |
url | string | The endpoint url. |
type | string | The endpoint type. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the endpoint was updated. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the endpoint was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Xml",
"updatedOnUtc": "2021-12-03T13:11:13.118Z",
"createdOnUtc": "2021-12-03T13:11:13.118Z"
}
Name | Schema | Description |
---|---|---|
string | The e-mail configuration request. |
{
"email": {
"address": "string"
}
}
Name | Schema | Description |
---|---|---|
address | string | The e-mail address. |
{
"address": "string"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The customer contact configuration identifier. |
enabled | boolean | Indicates whether this configuration is enabled. An enabled configuration enables receiving e-mails |
addresses | array[ApiChannelEmailAddressResponse] | The addresses to which e-mails are sent. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the configuration was updated. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the configuration was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"addresses": [
{
"id": "00000000-0000-0000-0000-000000000000",
"address": "string",
"updatedOnUtc": "2021-12-06T10:34:25.832Z",
"createdOnUtc": "2021-12-06T10:34:25.832Z"
}
],
"updatedOnUtc": "2021-12-06T10:34:25.832Z",
"createdOnUtc": "2021-12-06T10:34:25.832Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The e-mail address response identifier. |
address | string | The e-mail address. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the address was updated. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the address was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"address": "string",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
Name | Schema | Description |
---|---|---|
endpoint | ApiChannelEventWebHookEndpointRequest | The event webhook configuration endpoint. |
{
"endpoint": {
"method": "POST",
"url": "string",
"type": "Json"
}
}
Name | Schema | Description |
---|---|---|
method | string | The endpoint method. Value can only be 'POST'. |
url | string | The endpoint url. |
type | string | The endpoint type. Values can only be 'Json'. |
{
"method": "POST",
"url": "string",
"type": "Json"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The event webhook configuration identifier. |
enabled | boolean | Indicates whether this configuration is enabled. An enabled configuration enables receiving event messages. |
endpoints | array[ApiChannelEventWebHookEndpointResponse] | The endpoints to which event messages are sent. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the configuration was updated. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the configuration was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoint": {
"id": "00000000-0000-0000-0000-000000000000",
"channelsOneId": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
},
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The event webhook endpoint identifier. |
channelsOneId | string (uuid) | The endpoint identifier stored in the database of Channels One team. |
method | string | The endpoint method. |
url | string | The endpoint url. |
type | string | The endpoint type. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the endpoint was updated. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the endpoint was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelsOneId": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The messaging log configuration identifier. |
enabled | boolean | Indicates whether this configuration is enabled. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the configuration was updated. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the configuration was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"updatedOnUtc": "2021-12-03T10:32:02.324Z",
"createdOnUtc": "2021-12-03T10:32:02.324Z"
}
Name | Schema | Description |
---|---|---|
endpoint | ApiChannelWebHookEndpointRequest | The webhook configuration endpoint. |
{
"endpoint": {
"method": "POST",
"url": "string",
"type": "Json"
}
}
Name | Schema | Description |
---|---|---|
method | string | The endpoint method. Value can be 'POST', 'GET', 'PUT', 'UNKNOWN'. |
url | string | The endpoint url. |
type | string | The endpoint type. Values can be 'Json', 'Xml', 'Custom'. |
{
"method": "POST",
"url": "string",
"type": "Json"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The webhook configuration identifier. |
enabled | boolean | Indicates whether this configuration is enabled. An enabled configuration enables receiving messages. |
endpoints | array[ApiChannelWebHookEndpointResponse] | The endpoints to which messages are sent. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the configuration was updated. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the configuration was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"enabled": true,
"endpoints": [
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-03T10:30:52.986Z",
"createdOnUtc": "2021-12-03T10:30:52.986Z"
}
],
"updatedOnUtc": "2021-12-03T10:30:52.986Z",
"createdOnUtc": "2021-12-03T10:30:52.986Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The webhook endpoint identifier. |
method | string | The endpoint method. |
url | string | The endpoint url. |
type | string | The endpoint type. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the endpoint was updated. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the endpoint was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"method": "POST",
"url": "string",
"type": "Json",
"updatedOnUtc": "2021-12-03T10:30:52.986Z",
"createdOnUtc": "2021-12-03T10:30:52.986Z"
}
Models used at WhatsApp related endpoints.
Name | Schema | Description |
---|---|---|
id | string (uuid) | The business account identifier. |
accountId | string (uuid) | Your account identifier. |
channelRequestId | string (uuid) | Your WhatsApp channel request identifier. |
isPending | boolean | Indicates whether this request is pending. A request is pending when the underlying onboarding process is not yet finalized. |
cancelledOnUtc | timestamp (UTC) | The moment (UTC) the request was cancelled. |
fulfilledOnUtc | timestamp (UTC) | The moment (UTC) the request was fulfilled. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the request was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"channelRequestId": "00000000-0000-0000-0000-000000000000",
"isPending": true,
"cancelledOnUtc": "2019-07-29T09:30:01.877Z",
"fulfilledOnUtc": "2019-07-29T09:30:01.877Z",
"createdOnUtc": "2019-07-29T09:30:01.877Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The language identifier. |
code | string | The WhatsApp language code. |
name | string | The WhatsApp language name. |
{
"id": "00000000-0000-0000-0000-000000000000",
"code": "string",
"name": "string"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The profile identifier. |
channelId | string (uuid) | The channel identifier. |
accountId | string (uuid) | Your account identifier. |
phoneNumber | string | The phone number linked to the profile. |
rejectionReason | string | The reason why the profile was rejected (if rejected). |
name | string | The profile name. |
image | string | The base64 encoded profile image. |
isActive | boolean | Indicates whether this profile is active. |
isOtpProcessed | boolean | Indicates whether the one-time-password for this profile is validated. |
isOtpSent | boolean | Indicates whether the one-time-password for this profile is requested. |
isPending | boolean | Indicates whether this profile is pending. |
fulfilledOnUtc | timestamp (UTC) | The moment (UTC) the profile went active. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the profile was created. |
rejectedOnUtc | timestamp (UTC) | The moment (UTC) the profile was rejected. |
cancelledOnUtc | timestamp (UTC) | The moment (UTC) the profile was cancelled. |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"phoneNumber": "0000000000",
"rejectionReason": "REJECTION REASON",
"name": "NAME",
"image": "data:image/ ...",
"isActive": false,
"isOtpProcessed": false,
"isOtpSent": false,
"isPending": true,
"fulfilledOnUtc": "2019-07-31T06:20:52.280Z",
"createdOnUtc": "2019-07-31T06:20:52.280Z",
"rejectedOnUtc": "2019-07-31T06:20:52.280Z",
"cancelledOnUtc": "2019-07-31T06:20:52.280Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The profile identifier. |
accountId | string (uuid) | Your account identifier. |
phoneNumber | string | The phone number linked to the profile. |
name | string | The profile name. |
image | string | The base64 encoded profile image. |
isActive | boolean | Indicates whether this profile is active. |
isOtpProcessed | boolean | Indicates whether the one-time-password for this profile is validated. |
isOtpSent | boolean | Indicates whether the one-time-password for this profile is requested. |
isPending | boolean | Indicates whether this profile is pending. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the profile was created. |
rejectedOnUtc | timestamp (UTC) | The moment (UTC) the profile was rejected. |
cancelledOnUtc | timestamp (UTC) | The moment (UTC) the profile was cancelled. |
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"phoneNumber": "0000000000",
"name": "NAME",
"image": "data:image/ ...",
"isActive": false,
"isOtpProcessed": false,
"isOtpSent": false,
"isPending": true,
"createdOnUtc": "2019-07-31T07:12:06.004Z",
"rejectedOnUtc": "2019-07-31T07:12:06.004Z",
"cancelledOnUtc": "2019-07-31T07:12:06.004Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The template identifier. |
accountId | string (uuid) | Your account identifier. |
templateCategoryId | string (uuid) | The template category identifier. |
facebookName | string | The (generated) name the template is known as at facebook. |
facebookNamespaceId | string | The linked namespace identifier at facebook. |
name | string | The template name. |
category | string | The template's category name. Templates are available for various categories, like a shipping update. A category was selected during the template creation and can be used to group message types. |
languages | dictionary[string (LANGUAGE NAME), ApiWhatsAppTemplateLanguage] | The template languages. |
isActive | boolean | Indicates whether this template is active. Template is active and usable when approved by Facebook. |
isIncomplete | boolean | Indicates whether the template is incomplete. Template is incomplete when one, or more of the languages are not approved or submitted. |
isValidationRequested | boolean | Indicates whether validation for this template is requested. |
isPending | boolean | Indicates whether this template is pending. Template is pending when awaiting approval by Facebook, usually the throughput time is about 2 working days. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the template was created. |
rejectedOnUtc | timestamp (UTC) | The moment (UTC) the template was rejected. |
cancelledOnUtc | timestamp (UTC) | The moment (UTC) the template was cancelled. |
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"facebookName": "facebook_name",
"facebookNamespaceId": "0a0a0a0a0a0a0a0a",
"name": "TEMPLATE NAME",
"category": "TEMPLATE CATEGORY",
"languages": {
"LANGUAGE NAME": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
},
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": true,
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z",
"cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The template identifier. |
accountId | string (uuid) | Your account identifier. |
templateCategoryId | string (uuid) | The template category identifier. |
facebookName | string | The (generated) name the template is known as at facebook. |
facebookNamespaceId | string | The linked namespace identifier at facebook. |
name | string | The template name. |
category | string | The template's category name. Templates are available for various categories, like a shipping update. A category was selected during the template creation and can be used to group message types. |
settings | ApiWhatsAppTemplateSettings | The template settings. |
languages | dictionary[string (LANGUAGE NAME), ApiWhatsAppTemplateLanguage] | The template languages. |
rejectionReason | string | The reason why the template was rejected (if rejected). |
isActive | boolean | Indicates whether this template is active. Template is active and usable when approved by Facebook. |
isIncomplete | boolean | Indicates whether the template is incomplete. Template is incomplete when one, or more of the languages are not approved or submitted. |
isValidationRequested | boolean | Indicates whether validation for this template is requested. |
isPending | boolean | Indicates whether this template is pending. Template is pending when awaiting approval by Facebook, usually the throughput time is about 2 working days. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the template was last updated. |
fulfilledOnUtc | timestamp (UTC) | The moment (UTC) the template went active. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the template was created. |
rejectedOnUtc | timestamp (UTC) | The moment (UTC) the template was rejected. |
cancelledOnUtc | timestamp (UTC) | The moment (UTC) the template was cancelled. |
{
"id": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"facebookName": "facebook_name",
"facebookNamespaceId": "0a0a0a0a0a0a0a0a",
"name": "TEMPLATE NAME",
"category": "TEMPLATE CATEGORY",
"settings": {
"replacementFields": [
{
"id": "00000000-0000-0000-0000-000000000000",
"index": 0,
"name": "FIELD NAME",
"type": "FIELD TYPE"
}
]
},
"languages": {
"LANGUAGE NAME": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
},
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": true,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z",
"cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}
Name | Schema | Description |
---|---|---|
replacementFields | array[ApiWhatsAppTemplateReplacementField] | The replacement fields. |
{
"replacementFields": [
{
"id": "00000000-0000-0000-0000-000000000000",
"index": 0,
"name": "FIELD NAME",
"type": "FIELD TYPE"
}
]
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The field identifier. |
index | integer | The field index. |
name | string | The field name. |
type | "text", "currency, "datetime" | The field type. |
{
"id": "00000000-0000-0000-0000-000000000000",
"index": 0,
"name": "FIELD NAME",
"type": "FIELD TYPE"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The language identifier. |
name | string | The language name. |
content | string | The language content. Body of the template/language. |
rejectionReason | string | The reason why the language was rejected (if rejected). |
isActive | boolean | Indicates whether this language is active. Language is active/usable when approved by Facebook. |
isIncomplete | boolean | Indicates whether the language is incomplete. Language is incomplete when the content is empty or missing fields. |
isValidationRequested | boolean | Indicates whether validation for this language is requested. |
isPending | boolean | Indicates whether this language is pending. Language is pending when not yet approved by Facebook. |
updatedOnUtc | timestamp (UTC) | The moment (UTC) the language was last updated. (Languages can not be edited once Facebook has approved them) |
fulfilledOnUtc | timestamp (UTC) | The moment (UTC) the language went active. Template was approved by Facebook. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the language was created. |
rejectedOnUtc | timestamp (UTC) | The moment (UTC) the language was rejected. |
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "LANGUAGE NAME",
"content": "LANGUAGE CONTENT",
"rejectionReason": "REJECTION REASON",
"isActive": false,
"isIncomplete": true,
"isValidationRequested": false,
"isPending": false,
"updatedOnUtc": "2019-07-31T07:12:06.050Z",
"fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
"createdOnUtc": "2019-07-31T07:12:06.050Z",
"rejectedOnUtc": "2019-07-31T07:12:06.050Z"
}
Name | Schema | Description |
---|---|---|
templateCategoryId | string (uuid) | The template category identifier. |
name | string | The new template name. |
languages | dictionary[string (LANGUAGE NAME), ApiWhatsAppTemplateLanguage] | The updated template languages (only content is editable). |
{
"templateCategoryId": "00000000-0000-0000-0000-000000000000",
"name": "TEMPLATE NAME",
"languages": {
"LANGUAGE NAME": {
"content": "LANGUAGE CONTENT"
}
}
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The category identifier. |
name | string | The category name. |
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "CATEGORY NAME"
}
Models used at keyword claiming related endpoints.
Name | Schema | Description |
---|---|---|
phoneNumber required |
string | The id of the phone number on which the keyword is about to be claimed on. |
keyword required |
string | The keyword that is about to be claimed. |
{
"phoneNumberId": "0000000000",
"keyword": "KEYWORD"
}
Name | Schema | Description |
---|---|---|
id | string | The identifier of the claim. |
channelId | string | The channel id that's linked to the keyword claim. |
phoneNumberId | string | The id of the phone number on which the claim is active on. |
country | string | The country in ISO 3166-2 notation. |
keyword | string | The keyword on which the claim is active on. |
currency | string | The currency in the ISO 4217 notation. |
startupCost | integer | The startup cost. |
monthlyCost | integer | The monthly cost. |
noticePeriodDays | integer | The notice period in days. |
claimedOnUtc | string | The moment (UTC) the claim went active. |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"phoneNumber": "0000000000",
"country": "NL",
"keyword": "KEYWORD",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"claimedOnUtc": "2019-03-18T09:56:31.723Z"
}
Models used at dedicated phone number related endpoints.
Name | Schema | Description |
---|---|---|
id | string (uuid) | The number request identifier. |
channelId | string | The channel id that's linked to the request. |
accountId | string (uuid) | The account this request belongs to. |
phoneNumberId optional |
string | The phone number identifier. Is only set/returned when request is fulfilled/not pending. |
numberType | ApiNumberTypeResponse | The type of number. |
isPending | boolean | Indicates whether this request is pending. A request is pending when a suitable number is not immediately available. |
isActive | boolean | Indicates whether this request is active. A request is active when a suitable number is assigned. |
cancelledOnUtc | timestamp (UTC) | The moment (UTC) the request was cancelled. |
fulfilledOnUtc | timestamp (UTC) | The moment (UTC) the request was fulfilled. |
createdOnUtc | timestamp (UTC) | The moment (UTC) the request was created. |
{
"id": "00000000-0000-0000-0000-000000000000",
"channelId": "00000000-0000-0000-0000-000000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"phoneNumberId": "0000000000",
"numberType":
{
"id": "00000000-0000-0000-0000-000000000000",
"purpose": [
"SMS"
],
"country": "NL",
"category": "MOBILE",
"description": "A Dutch mobile number",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"keywordStartupCost": 0,
"keywordMonthlyCost": 0,
"keywordNoticePeriodDays": 0,
"numberRequestProcessingDays": 0
},
"isPending": true,
"isActive": false,
"cancelledOnUtc": "2019-07-29T09:30:01.785Z",
"fulfilledOnUtc": "2019-03-18T09:56:31.764Z",
"createdOnUtc": "2019-01-31T10:39:16.241Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The phone number identifier. |
accountId optional |
string (uuid) | The account this phone number is owned by. Is only returned to the account that owns the number. |
numberType | ApiNumberTypeResponse | The type of number. |
number | string | The phone number in international format with a "00" prefix. |
isShared | boolean | True if this number can be shared by multiple customers. |
ownedSinceUtc | timestamp (UTC) | The moment (UTC) since the number is in possession. Is only returned to the account that owns the number. |
{
"id": "0000000000",
"accountId": "00000000-0000-0000-0000-000000000000",
"numberType":
{
"id": "00000000-0000-0000-0000-000000000000",
"purpose": [
"SMS"
],
"country": "NL",
"category": "MOBILE",
"description": "A Dutch mobile number",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"keywordStartupCost": 0,
"keywordMonthlyCost": 0,
"keywordNoticePeriodDays": 0,
"numberRequestProcessingDays": 0
},
"number": "0000000000",
"isShared": false,
"ownedSinceUtc": "2019-02-05T12:34:08.614Z"
}
Name | Schema | Description |
---|---|---|
id | string (uuid) | The number type identifier. |
purpose | string | The purpose of the number. |
country | string | The country in ISO 3166-2 notation. |
category | string | The category. |
description | string | The description. |
currency | string | The currency in the ISO 4217 notation. |
startupCost | double | The initial cost when renting a dedicated number of this type. |
monthlyCost | double | The cost per month when renting a dedicated number of this type. |
noticePeriodDays | integer | The notice period in days when renting a dedicated number of this type. |
keywordStartupCost | double | The initial cost when claiming a keyword on a shared number of this type. |
keywordMonthlyCost | double | The cost per month per claimed keyword on a shared number of this type. |
keywordNoticePeriodDays | integer | The notice period in days for a claimed keyword on a shared number of this type. |
numberRequestProcessingDays | integer | The processing time in days to fulfill the request of an unavailable dedicated number of this type. |
{
"id": "00000000-0000-0000-0000-000000000000",
"purpose": [
"SMS"
],
"country": "NL",
"category": "MOBILE",
"description": "A Dutch mobile number",
"currency": "EUR",
"startupCost": 0,
"monthlyCost": 0,
"noticePeriodDays": 0,
"keywordStartupCost": 0,
"keywordMonthlyCost": 0,
"keywordNoticePeriodDays": 0,
"numberRequestProcessingDays": 0
}