{
  1. Introduction
    1. Sending Simple Message
    2. Advanced Message Features
    3. Triggered (drip) Message Campaigns
  2. Channels
    1. Get Channels
  3. Messages
    1. Add Message
    2. Get Messages
    3. Delete Messages
    4. Search Messages
    5. Get Message
    6. Update Message
    7. Delete Message
    8. Cancel Message
    9. Calculate Message Cost
    10. Pause Message
    11. Resume Message
    12. Send Test Message
  4. Senders
    1. Add Sender
    2. Get Senders
    3. Update Sender
    4. Delete Sender

Introduction

CM's Messages API enables you to send individual messages or message campaigns . You can integrate this in your application by communicating with our api.

The Messages API is a REST API that uses JSON to communicate.

In getting started section current API functionality is described briefly. Some features like Analytics,Advanced Spread settings will be described separately.

Authentication

Authentication and authorization is done via a product token. You can obtain your product token from the messaging gateway app (https://www.cm.com/app/gateway/). If you don't see that app you might have got it via your account manager or you can contact support to obtain one.

For all methods described in this api, the product token should be provided by including it in the X-CM-PRODUCTTOKEN header.

Getting your accountID

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 the addressbook application (https://www.cm.com/app/addressbook/), after the language indicator. Below you can find some url examples and the corresponding accountID.

Url AccountID
https://www.cm.com/app/gateway/a66b6ba2-7b13-4caf-abf6-c736c977c1d4 a66b6ba2-7b13-4caf-abf6-c736c977c1d4
https://www.cm.com/app/campaigns/fe266716-d8ff-4aba-bddb-c61f8f40c656 fe266716-d8ff-4aba-bddb-c61f8f40c656

Getting Started

In below section current API functionality within initial release is described briefly. Some features like Analytics, Recurrence, Advanced Spread settings will be available later but they are included in request/response models.

1 - How to send a basic message

POST https://api.cm.com/messages/v1/accounts/{accountId}/messages

Example post body:

{
    "body": "This is a test message",
    "recipients": [
                    { "group": "b99f6d4f-243a-11e7-9742-005056b0187a" },
                    { "contact": "0b7bf29a-2439-11e7-9742-005056b0187a" },
                    { "msisdn": "+31765727000" }
                  ],
    "senders": ["TEST"]
}

recipients : Contains an array of recipient objects, for any given phone number msisdn must be specified. If you want to send to Addressbook groups/contacts you need to specify the guids.

senders : Contains an array of string(s), specifies the message sender.

Message will be sent immediately.


Example curl request :

curl -X POST \
  https://api.cm.com/messages/v1/accounts/z9761684-b8d0-440f-8508-72ec36766069/messages \
  -H 'Accept: application/json, text/json' \
  -H 'Content-Type: application/json' \
  -H 'X-CM-PRODUCTTOKEN: ce4e6c52-5696-405b-9524-e478468f1907' \
  -d '{
    "body": "This is a test message",
    "recipients": [
                    { "group": "b99f6d4f-243a-11e7-9742-005056b0187a" },
                    { "contact": "0b7bf29a-2439-11e7-9742-005056b0187a" },
                    { "msisdn": "+31765727000" }
                  ],
    "senders": ["TEST"]
}'

2 - How to send a message with more advanced settings

POST https://api.cm.com/messages/v1/accounts/{accountId}/messages

Example post body:

{
    "body": "Hello {{1}}, this is an advanced test message. This can contain a link => [[http://www.cm.com]] or CM Pages [[page:b99f6d4f-243a-11e7-9742-005056b0187a]] or OptOut instructions [[optout]]",
    "ignoreUnsubscribes" : false,
    "scheduledAtUtc": "2018-08-15T13:09:43.715Z",
    "recipients": [
                    { "group": "b99f6d4f-243a-11e7-9742-005056b0187a" },
                    { "contact": "0b7bf29a-2439-11e7-9742-005056b0187a" },
                    { "msisdn": "+31627142592", "data": { "1": "John", "3": "Doe", "5":"john.doe@cm.nl","6": "CM.com" } }
                  ],
    "senders": ["TEST"],
    "countrySpecificSenders": {
        "NL": "CM.com",
        "BE": "0032496448785",
        "UK": "88882"
    },
    "spread": {
        "timeFrames": [
            {
                "days": [
                    "Mon",
                    "Tue",
                    "Wed",
                    "Thu",
                    "Fri",
                    "Sat",
                    "Sun"
                ],
                "startTime": "09:00",
                "endTime": "12:00"
            },
            {
                "days": [
                    "Mon",
                    "Tue",
                    "Wed",
                    "Thu",
                    "Fri",
                    "Sat",
                    "Sun"
                ],
                "startTime": "13:00",
                "endTime": "17:30"
            }
        ],
        "until" : "2019-03-14T15:00:26.9932482Z"
    }
}

scheduledAtUtc : defines when the message will be sent, timezone is UTC, please make sure you adjust your time before supplying values.

Data tags like {{1}} are placeholders for custom data retrieved from Addressbook or msisdn data.

Links enclosed in double square brackets like [[http://www.cm.com]] will be converted into shortlinks like http://cm.to/sH012tL which are 21 characters long.

Links must start with http:// or https://

CM Pages tags are enclosed in double square brackets, starts with page: and includes page the related page guid. They are also translated into shortlinks (21 chars).

Optout tag inserts optout instructions per recipient, if recipient's country has a predefined shortcode for STOP messages it will translate into STOP shortcode otherwise it will translated into an optout link like http://NO-S.MS/OptOut

ignoreUnsubscribes : By default Messages API filters recipients using the Unsubscribes list in Addressbook. If this setting is set to true, unsubscribes will not be filtered.

Msisdn with data : It is possible to add a data dictionary to msisdn recipients so data tags in the body can be rendered also for msisdn recipients.

Senders : Specifies the default sender to use unless a specific sender is defined for recipients country in countrySpecificSenders setting

spread : Spread until setting makes sure that messages are delivered in batches over a certain amount of time between scheduled time and spread until setting. Value must be in UTC

timeFrames : Defines the allowed days and time periods where the messages are allowed to be sent.

Time frame startTime and endTime values must be in UTC


Below are the list of default data tags, if you have other custom fields defined in addressbook/msisdn data, you have to use relevant custom field ids.

Name FieldId Tag
FirstName 1 {{1}}
Insertion 2 {{2}}
LastName 3 {{3}}
PhoneNumber 4 {{4}}
EmailAddress 5 {{5}}
Company 6 {{6}}

3 - Triggered (drip) Message Campaigns

Triggered messages aims to group similar messages sharing the same message template so that aggregated statistics for messages can be tracked without overflow in message history.

Triggered messages works in 2 steps, first a triggered message should be created, then triggered message is sent by adding recipients.

To setup a triggered campaign one should make a post call to

POST https://api.cm.com/messages/v1/accounts/{accountId}/messages

Example request body is like follows;

{
    "body": "Hi {{1}} this is a triggered message",
    "channels": [
        "SMS"
    ],
    "ignoreUnsubscribes": true,
    "name": "Trigger test",
    "senders": [
        "Trigger"
    ],
    "status": "triggered"
}

You will get a response like follows

{
    "id": "67606cee-b8a9-4d28-988b-db6e73b21c81", => this is the triggered campaign id to use when adding recipients
    "isStatsComplete": false,
    "body": "Hi {{1}} this is a triggered message",
    "channels": [
        "SMS"
    ],
    "ignoreUnsubscribes": false,
    "name": " Trigger test ",
    "recipients": [],
    "senders": [
        "Trigger"
    ],
    "status": "triggered",
    "createdAtUtc": "2019-10-15T07:27:04.3594636Z",
    "createdBy": "87067157-09e6-4a8e-b2da-06bfc126a8cd",
    "updatedAtUtc": "2019-10-15T07:27:02.0369763Z"
}

To add recipients we have to use our created campaigns trigger endpoint, we need to do a POST call to below endpoint with an array of recipients

https://api.cm.com/messages/v1/accounts/{accountId}/messages/{triggeredCampaignId}/trigger

Request should look like following

[
    {
        "msisdn": "+31627142592",
        "data": {
            "1": "John Doe"
        }
    }
]

You will get a HTTP 200 status with the number of added recipients

Channels

Gets available channels.

GET https://api.cm.com/messages/v1/accounts/{accountId}/messagechannels

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)

Responses

HTTP Code Description Schema
200 OK < CM.Platform.Messages.Models.ApiMessageChannel > array

Example HTTP request

Request path
/messages/v1/accounts/string/messagechannels

Example HTTP response

Response 200
[ {
  "id" : "string",
  "allowImages" : true,
  "name" : "string",
  "whatsAppRequestId" : "00000000-0000-0000-0000-000000000000",
  "type" : "string"
} ]

Channel id is to be used in the channels array in message request.

Messages

Adds a Message.

POST https://api.cm.com/messages/v1/accounts/{accountId}/messages

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)

Body parameter

The Message.

Name : message
Flags : required
Type : CM.Platform.Messages.Models.ApiMessageRequest

Responses

HTTP Code Description Schema
201 Created CM.Platform.Messages.Models.ApiMessageResponse

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages
Request body
{
  "body" : "test",
  "channels" : ["SMS"] ,
  "countrySpecificSenders" : {
    "NL" : "CM.com"
  },
  "ignoreUnsubscribes" : false,
  "name" : "My Test Message",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "1" : "Data is only allowed when using msisdn"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "+3163710000"
  } ],
  "recurrence" : "not yet implemented",
  "scheduledAtUtc" : "2019-01-11T13:15",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "CM.com" ],
  "spread" : {
    "timeFrames" : [ {
      "days" : [ "currently not available" ],
      "startTime" : "currently not available",
      "endTime" : "currently not available"
    } ],
    "until" : "2019-01-12T13:15"
  }
}

Example HTTP response

Response 201
{
  "id" : "00000000-0000-0000-0000-000000000000",
  "analytics" : {
    "accepted" : 0,
    "converted" : 0,
    "delivered" : 0,
    "euroPrice" : 0.0,
    "failed" : 0,
    "localCurrency" : "string",
    "localPrice" : 0.0,
    "optedOut" : 0,
    "recipients" : 0,
    "test" : 0
  },
  "body" : "string",
  "channels" : ["SMS"] ,
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "ignoreUnsubscribes" : false,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string",
  "createdAtUtc" : "string",
  "createdBy" : "00000000-0000-0000-0000-000000000000"
}

Gets Messages paged.

GET https://api.cm.com/messages/v1/accounts/{accountId}/messages

Parameters

Type Name Description Schema
Path accountId
required
The account id. string (uuid)
Query orderby
optional
Column names (date, price, recipients, name) to order messages. add desc to
order descending (ex: date desc)
< string > array(multi)
Query skip
optional
The skip. integer (int32)
Query status
optional
Message status id. string
Query take
optional
The take. integer (int32)

Responses

HTTP Code Description Schema
200 OK < CM.Platform.Messages.Models.ApiMessageResponse > array

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages

Example HTTP response

Response 200
[ {
  "id" : "00000000-0000-0000-0000-000000000000",
  "analytics" : {
    "accepted" : 0,
    "converted" : 0,
    "delivered" : 0,
    "euroPrice" : 0.0,
    "failed" : 0,
    "localCurrency" : "string",
    "localPrice" : 0.0,
    "optedOut" : 0,
    "recipients" : 0,
    "test" : 0
  },
  "body" : "string",
  "channels" : ["SMS"] ,
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "ignoreUnsubscribes" : true,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string",
  "tariff" : 0,
  "createdAtUtc" : "string",
  "createdBy" : "00000000-0000-0000-0000-000000000000"
} ]

Deletes multiple Messages.

DELETE https://api.cm.com/messages/v1/accounts/{accountId}/messages

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)
Query messageIds
optional
The identifier. < string (uuid) > array(multi)

Responses

HTTP Code Description Schema
204 NoContent No Content

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages

Search messages with specified terms.

GET https://api.cm.com/messages/v1/accounts/{accountId}/messages/search/{term}

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)
Path term
required
The search terms string
Query skip
optional
The skip. integer (int32)
Query take
optional
The take. integer (int32)

Responses

HTTP Code Description Schema
200 OK < CM.Platform.Messages.Models.ApiMessageResponse > array

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages/search/searchterm

Example HTTP response

Response 200
[ {
  "id" : "00000000-0000-0000-0000-000000000000",
  "analytics" : {
    "accepted" : 0,
    "converted" : 0,
    "delivered" : 0,
    "euroPrice" : 0.0,
    "failed" : 0,
    "localCurrency" : "string",
    "localPrice" : 0.0,
    "optedOut" : 0,
    "recipients" : 0,
    "test" : 0
  },
  "body" : "string",
  "channels" : ["SMS"] ,
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "ignoreUnsubscribes" : true,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string",
  "createdAtUtc" : "string",
  "createdBy" : "00000000-0000-0000-0000-000000000000"
} ]

Gets a Message by id.

GET https://api.cm.com/messages/v1/accounts/{accountId}/messages/{messageId}

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)
Path messageId
required
The identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK CM.Platform.Messages.Models.ApiMessageResponse

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages/00000000-0000-0000-0000-000000000000

Example HTTP response

Response 200
{
  "id" : "00000000-0000-0000-0000-000000000000",
  "analytics" : {
    "accepted" : 0,
    "converted" : 0,
    "delivered" : 0,
    "euroPrice" : 0.0,
    "failed" : 0,
    "localCurrency" : "string",
    "localPrice" : 0.0,
    "optedOut" : 0,
    "recipients" : 0,
    "test" : 0
  },
  "body" : "string",
  "channels" : ["SMS"] ,
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "ignoreUnsubscribes" : true,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string",
  "createdAtUtc" : "string",
  "createdBy" : "00000000-0000-0000-0000-000000000000"
}

Updates a Message.

PUT https://api.cm.com/messages/v1/accounts/{accountId}/messages/{messageId}

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)
Path messageId
required
The identifier. string (uuid)

Body parameter

The Message.

Name : message
Flags : required
Type : CM.Platform.Messages.Models.ApiMessageRequest

Responses

HTTP Code Description Schema
200 OK CM.Platform.Messages.Models.ApiMessageResponse

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages/00000000-0000-0000-0000-000000000000
Request body
{
  "body" : "string",
  "channels" : ["SMS"] ,
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "ignoreUnsubscribes" : true,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string"
}

Example HTTP response

Response 200
{
  "id" : "00000000-0000-0000-0000-000000000000",
  "analytics" : {
    "accepted" : 0,
    "converted" : 0,
    "delivered" : 0,
    "euroPrice" : 0.0,
    "failed" : 0,
    "localCurrency" : "string",
    "localPrice" : 0.0,
    "optedOut" : 0,
    "recipients" : 0,
    "test" : 0
  },
  "body" : "string",
  "channels" : ["SMS"] ,
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "ignoreUnsubscribes" : true,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string",
  "createdAtUtc" : "string",
  "createdBy" : "00000000-0000-0000-0000-000000000000"
}

Deletes a Message.

DELETE https://api.cm.com/messages/v1/accounts/{accountId}/messages/{messageId}

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)
Path messageId
required
The identifier. string (uuid)

Responses

HTTP Code Description Schema
204 NoContent No Content

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages/00000000-0000-0000-0000-000000000000

Cancels a message, prevents the delivery of the remaining messages.

POST https://api.cm.com/messages/v1/accounts/{accountId}/messages/{messageId}/cancel

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)
Path messageId
required
The identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK CM.Platform.Messages.Models.ApiMessageResponse

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages/00000000-0000-0000-0000-000000000000/cancel

Example HTTP response

Response 200
{
  "id" : "00000000-0000-0000-0000-000000000000",
  "analytics" : {
    "accepted" : 0,
    "converted" : 0,
    "delivered" : 0,
    "euroPrice" : 0.0,
    "failed" : 0,
    "localCurrency" : "string",
    "localPrice" : 0.0,
    "optedOut" : 0,
    "recipients" : 0,
    "test" : 0
  },
  "body" : "string",
  "channels" : ["SMS"] ,
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "ignoreUnsubscribes" : true,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string",
  "createdAtUtc" : "string",
  "createdBy" : "00000000-0000-0000-0000-000000000000"
}

Gets cost estimation for specified message

POST https://api.cm.com/messages/v1/accounts/{accountId}/messages/cost

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)

Body parameter

The message object

Name : message
Flags : required
Type : CM.Platform.Messages.Models.ApiMessageRequest

Responses

HTTP Code Description Schema
200 OK CM.Platform.Messages.Models.ApiMessageCost

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages/cost
Request body
{
  "isArchived" : true,
  "body" : "string",
  "channels" : [ "string" ],
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "grouping" : "string",
  "ignoreUnsubscribes" : true,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "content" : [ {
    "media" : {
      "mediaName" : "string",
      "mediaUri" : "string",
      "mimeType" : "string"
    },
    "whatsAppTemplate" : {
      "templateId" : "00000000-0000-0000-0000-000000000000",
      "languageCode" : "string",
      "languageFixed" : true,
      "parameters" : [ {
        "text" : "string",
        "currency" : "string",
        "currencyAmount" : "string",
        "currencyCode" : "string",
        "currencyDecimalSeparator" : "string",
        "dateTime" : "string",
        "dateOptions" : {
          "showDayOfWeek" : true,
          "showYear" : true,
          "showMonth" : true,
          "showDayOfMonth" : true,
          "showHour" : true,
          "showMinute" : true
        }
      } ]
    },
    "text" : "string"
  } ],
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "durationMinutes" : 0,
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string",
  "updatedAtUtc" : "string"
}

Example HTTP response

Response 200
{
  "charsLeft" : 0,
  "charsToRemove" : 0,
  "countryCosts" : [ {
    "cost" : 0.0,
    "countryCode" : "string",
    "isMultipart" : true,
    "messageCount" : 0,
    "recipientCount" : 0
  } ],
  "currency" : "string",
  "isMultipart" : true,
  "messageCount" : 0,
  "minDeliveryTime" : 0,
  "recipientCount" : 0,
  "totalCost" : 0.0
}

Pause sending a message.

POST https://api.cm.com/messages/v1/accounts/{accountId}/messages/{messageId}/pause

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)
Path messageId
required
The identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK CM.Platform.Messages.Models.ApiMessageResponse

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages/00000000-0000-0000-0000-000000000000/pause

Example HTTP response

Response 200
{
  "id" : "00000000-0000-0000-0000-000000000000",
  "analytics" : {
    "accepted" : 0,
    "converted" : 0,
    "delivered" : 0,
    "euroPrice" : 0.0,
    "failed" : 0,
    "localCurrency" : "string",
    "localPrice" : 0.0,
    "optedOut" : 0,
    "recipients" : 0,
    "test" : 0
  },
  "body" : "string",
  "channels" :  ["SMS"] ,
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "ignoreUnsubscribes" : true,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string",
  "createdAtUtc" : "string",
  "createdBy" : "00000000-0000-0000-0000-000000000000"
}

Resume sending a message.

POST https://api.cm.com/messages/v1/accounts/{accountId}/messages/{messageId}/resume

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)
Path messageId
required
The identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK CM.Platform.Messages.Models.ApiMessageResponse

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages/00000000-0000-0000-0000-000000000000/resume

Example HTTP response

Response 200
{
  "id" : "00000000-0000-0000-0000-000000000000",
  "analytics" : {
    "accepted" : 0,
    "converted" : 0,
    "delivered" : 0,
    "euroPrice" : 0.0,
    "failed" : 0,
    "localCurrency" : "string",
    "localPrice" : 0.0,
    "optedOut" : 0,
    "recipients" : 0,
    "test" : 0
  },
  "body" : "string",
  "channels" :  ["SMS"] ,
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "ignoreUnsubscribes" : true,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string",
  "createdAtUtc" : "string",
  "createdBy" : "00000000-0000-0000-0000-000000000000"
}

Sends a test message.

POST https://api.cm.com/messages/v1/accounts/{accountId}/messages//test

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)

Body parameter

The Message.

Name : testMessage
Flags : required
Type : CM.Platform.Messages.Models.ApiTestMessageRequest

Responses

HTTP Code Description Schema
201 Created CM.Platform.Messages.Models.ApiMessageResponse

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/messages/test
Request body
{
  "message" : {
    "isArchived" : true,
    "body" : "string",
    "channels" : [ "string" ],
    "countrySpecificSenders" : {
      "string" : "string"
    },
    "grouping" : "string",
    "ignoreUnsubscribes" : true,
    "name" : "string",
    "recipients" : [ {
      "contact" : "00000000-0000-0000-0000-000000000000",
      "data" : {
        "string" : "string"
      },
      "group" : "00000000-0000-0000-0000-000000000000",
      "msisdn" : "string"
    } ],
    "recurrence" : "string",
    "content" : [ {
      "media" : {
        "mediaName" : "string",
        "mediaUri" : "string",
        "mimeType" : "string"
      },
      "whatsAppTemplate" : {
        "templateId" : "00000000-0000-0000-0000-000000000000",
        "languageCode" : "string",
        "languageFixed" : true,
        "parameters" : [ {
          "text" : "string",
          "currency" : "string",
          "currencyAmount" : "string",
          "currencyCode" : "string",
          "currencyDecimalSeparator" : "string",
          "dateTime" : "string",
          "dateOptions" : {
            "showDayOfWeek" : true,
            "showYear" : true,
            "showMonth" : true,
            "showDayOfMonth" : true,
            "showHour" : true,
            "showMinute" : true
          }
        } ]
      },
      "text" : "string"
    } ],
    "scheduledAtUtc" : "string",
    "senderPreset" : "00000000-0000-0000-0000-000000000000",
    "senders" : [ "string" ],
    "spread" : {
      "durationMinutes" : 0,
      "timeFrames" : [ {
        "days" : [ "string" ],
        "startTime" : "string",
        "endTime" : "string"
      } ],
      "until" : "string"
    },
    "status" : "string",
    "updatedAtUtc" : "string"
  },
  "testRecipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ]
}

Example HTTP response

Response 201
{
  "id" : "00000000-0000-0000-0000-000000000000",
  "isStatsComplete" : true,
  "isArchived" : true,
  "analytics" : {
    "accepted" : 0,
    "converted" : 0,
    "countryErrorStats" : [ {
      "country" : "string",
      "count" : 0,
      "errorCode" : 0
    } ],
    "countryStats" : [ {
      "country" : "string",
      "accepted" : 0,
      "converted" : 0,
      "delivered" : 0,
      "deliveryTime" : 0.0,
      "dispatched" : 0,
      "failed" : 0,
      "messages" : 0,
      "optedOut" : 0,
      "optOutReceived" : 0,
      "recipients" : 0
    } ],
    "deduplicated" : 0,
    "delivered" : 0,
    "deliveryTime" : 0.0,
    "dispatched" : 0,
    "euroPrice" : 0.0,
    "failed" : 0,
    "localCurrency" : "string",
    "localPrice" : 0.0,
    "messages" : 0,
    "optedOut" : 0,
    "optOutReceived" : 0,
    "recipients" : 0,
    "test" : 0,
    "updatedAtUtc" : "string"
  },
  "preview" : {
    "previews" : [ "string" ],
    "previewCode" : "string",
    "sender" : "string",
    "recipientsPerCountry" : [ {
      "count" : 0,
      "countryCode" : "string"
    } ],
    "languages" : [ "string" ]
  },
  "body" : "string",
  "channels" : [ "string" ],
  "countrySpecificSenders" : {
    "string" : "string"
  },
  "grouping" : "string",
  "ignoreUnsubscribes" : true,
  "name" : "string",
  "recipients" : [ {
    "contact" : "00000000-0000-0000-0000-000000000000",
    "data" : {
      "string" : "string"
    },
    "group" : "00000000-0000-0000-0000-000000000000",
    "msisdn" : "string"
  } ],
  "recurrence" : "string",
  "content" : [ {
    "media" : {
      "mediaName" : "string",
      "mediaUri" : "string",
      "mimeType" : "string"
    },
    "whatsAppTemplate" : {
      "templateId" : "00000000-0000-0000-0000-000000000000",
      "languageCode" : "string",
      "languageFixed" : true,
      "parameters" : [ {
        "text" : "string",
        "currency" : "string",
        "currencyAmount" : "string",
        "currencyCode" : "string",
        "currencyDecimalSeparator" : "string",
        "dateTime" : "string",
        "dateOptions" : {
          "showDayOfWeek" : true,
          "showYear" : true,
          "showMonth" : true,
          "showDayOfMonth" : true,
          "showHour" : true,
          "showMinute" : true
        }
      } ]
    },
    "text" : "string"
  } ],
  "scheduledAtUtc" : "string",
  "senderPreset" : "00000000-0000-0000-0000-000000000000",
  "senders" : [ "string" ],
  "spread" : {
    "durationMinutes" : 0,
    "timeFrames" : [ {
      "days" : [ "string" ],
      "startTime" : "string",
      "endTime" : "string"
    } ],
    "until" : "string"
  },
  "status" : "string",
  "createdAtUtc" : "string",
  "createdBy" : "00000000-0000-0000-0000-000000000000",
  "updatedAtUtc" : "string"
}

Senders

Adds a Sender.

POST https://api.cm.com/messages/v1/accounts/{accountId}/senders

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)

Body parameter

The sender.

Name : sender
Flags : required
Type : CM.Platform.Messages.Models.ApiSenderPresetRequest

Responses

HTTP Code Description Schema
201 Created CM.Platform.Messages.Models.ApiSenderPresetResponse

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/senders
Request body
{
  "isFavorite" : true,
  "name" : "string",
  "senders" : {
    "string" : "string"
  }
}

Example HTTP response

Response 201
{
  "id" : "00000000-0000-0000-0000-000000000000",
  "isFavorite" : true,
  "name" : "string",
  "senders" : {
    "string" : "string"
  }
}

Gets senders.

GET https://api.cm.com/messages/v1/accounts/{accountId}/senders

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)

Responses

HTTP Code Description Schema
200 OK < CM.Platform.Messages.Models.ApiSenderPresetResponse > array

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/string/senders

Example HTTP response

Response 200
[ {
  "id" : "00000000-0000-0000-0000-000000000000",
  "isFavorite" : true,
  "name" : "string",
  "senders" : {
    "string" : "string"
  }
} ]

Updates a Sender.

PUT https://api.cm.com/messages/v1/accounts/{accountId}/senders/{senderId}

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)
Path senderId
required
The identifier. string (uuid)

Body parameter

The sender.

Name : senderPreset
Flags : required
Type : CM.Platform.Messages.Models.ApiSenderPresetRequest

Responses

HTTP Code Description Schema
200 OK CM.Platform.Messages.Models.ApiSenderPresetResponse

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/senders/00000000-0000-0000-0000-000000000000
Request body
{
  "isFavorite" : true,
  "name" : "string",
  "senders" : {
    "string" : "string"
  }
}

Example HTTP response

Response 200
{
  "id" : "00000000-0000-0000-0000-000000000000",
  "isFavorite" : true,
  "name" : "string",
  "senders" : {
    "string" : "string"
  }
}

Deletes a Sender.

DELETE https://api.cm.com/messages/v1/accounts/{accountId}/senders/{senderId}

Parameters

Type Name Description Schema
Path accountId
required
The accountId. string (uuid)
Path senderId
required
The identifier. string (uuid)

Responses

HTTP Code Description Schema
204 NoContent No Content

Example HTTP request

Request path
https://api.cm.com/messages/v1/accounts/00000000-0000-0000-0000-000000000000/senders/00000000-0000-0000-0000-000000000000

Definitions

CM.Platform.Messages.Models.ApiChannelInfo

Name Description Schema
disabled
optional
Example : true boolean
name
optional
Example : "string" string
options
optional
Example : "[cm-platform-messages-models-apichanneloptions](#cm-platform-messages-models-apichanneloptions)" CM.Platform.Messages.Models.ApiChannelOptions
type
optional
Example : "string" string

CM.Platform.Messages.Models.ApiChannelOptions

Name Description Schema
allowImages
optional
Example : true boolean
allowTemplates
optional
Example : true boolean
appKey
optional
Example : "00000000-0000-0000-0000-000000000000" string (uuid)
requestId
optional
Example : "00000000-0000-0000-0000-000000000000" string (uuid)

CM.Platform.Messages.Models.ApiCountryCost

Container for the message cost per country

Name Description Schema
cost
optional
Gets or sets the cost of the messages for country.
Example : 0.0
number (double)
countryCode
optional
Gets or sets the country code.
Example : "string"
string
isMultipart
optional
Gets or sets if there are Multipart messages
Example : true
boolean
messageCount
optional
Gets or sets the count of the messages for country.
Example : 0
integer (int32)
recipientCount
optional
Gets or sets the count of the recipient for country.
Example : 0
integer (int32)

CM.Platform.Messages.Models.ApiCountryErrorStats

Name Description Schema
count
optional
Gets or sets the count.
Example : 0
integer (int32)
country
optional
Gets or sets the country.
Example : "string"
string
errorCode
optional
Gets or sets the errorCode.
Example : 0
integer (int32)

CM.Platform.Messages.Models.ApiCountryStats

Name Description Schema
accepted
optional
Gets or sets the accepted.
Example : 0
integer (int32)
converted
optional
Gets or sets the converted.
Example : 0
integer (int32)
country
optional
Gets or sets the country.
Example : "string"
string
delivered
optional
Gets or sets the delivered.
Example : 0
integer (int32)
deliveryTime
optional
Gets or sets the deliveryTime.
Example : 0.0
number (double)
dispatched
optional
Gets or sets the dispatched.
Example : 0
integer (int32)
failed
optional
Gets or sets the failed.
Example : 0
integer (int32)
messages
optional
Gets or sets the messages.
Example : 0
integer (int32)
optOutReceived
optional
Gets or sets the optOutReceived.
Example : 0
integer (int32)
optedOut
optional
Gets or sets the optedOut.
Example : 0
integer (int32)
recipients
optional
Gets or sets the recipients.
Example : 0
integer (int32)

CM.Platform.Messages.Models.ApiMessageAnalytics

The message analytics model.

Name Description Schema
accepted
optional
Gets or sets the accepted.
Example : 0
integer (int32)
converted
optional
Gets or sets the converted.
Example : 0
integer (int32)
countryErrorStats
optional
Gets or sets the countryErrorStats.
Example : [ "[cm-platform-messages-models-apicountryerrorstats](#cm-platform-messages-models-apicountryerrorstats)" ]
< CM.Platform.Messages.Models.ApiCountryErrorStats > array
countryStats
optional
Gets or sets the countryStats.
Example : [ "[cm-platform-messages-models-apicountrystats](#cm-platform-messages-models-apicountrystats)" ]
< CM.Platform.Messages.Models.ApiCountryStats > array
deduplicated
optional
Gets or sets the deduplicated.
Example : 0
integer (int32)
delivered
optional
Gets or sets the delivered.
Example : 0
integer (int32)
deliveryTime
optional
Gets or sets the deliveryTime.
Example : 0.0
number (double)
dispatched
optional
Gets or sets the dispatched.
Example : 0
integer (int32)
euroPrice
optional
Gets or sets the euroPrice.
Example : 0.0
number (double)
failed
optional
Gets or sets the failed.
Example : 0
integer (int32)
localCurrency
optional
Gets or sets the localCurrency.
Example : "string"
string
localPrice
optional
Gets or sets the localPrice.
Example : 0.0
number (double)
messages
optional
Gets or sets the messages.
Example : 0
integer (int32)
optOutReceived
optional
Gets or sets the optOutReceived.
Example : 0
integer (int32)
optedOut
optional
Gets or sets the optedOut.
Example : 0
integer (int32)
recipients
optional
Gets or sets the recipients.
Example : 0
integer (int32)
test
optional
Gets or sets test message count.
Example : 0
integer (int32)
updatedAtUtc
optional
Gets or sets updated timestamp.
Example : "string"
string (date-time)

CM.Platform.Messages.Models.ApiMessageChannel

Name Description Schema
allowImages
optional
Example : true boolean
id
optional
Example : "string" string
name
optional
Example : "string" string
type
optional
Example : "string" string
whatsAppRequestId
optional
Example : "00000000-0000-0000-0000-000000000000" string (uuid)

CM.Platform.Messages.Models.ApiMessageCost

Container for the Message cost.

Name Description Schema
charsLeft
optional
Gets or sets the min chars left for 1 more part
Example : 0
integer (int32)
charsToRemove
optional
Gets or sets the min chars to remove for 1 less part
Example : 0
integer (int32)
countryCosts
optional
Gets or sets the count and cost of the messages per country.
Example : [ "[cm-platform-messages-models-apicountrycost](#cm-platform-messages-models-apicountrycost)" ]
< CM.Platform.Messages.Models.ApiCountryCost > array
currency
optional
Gets or sets the currency.
Example : "string"
string
isMultipart
optional
Gets or sets if there are Multipart messages
Example : true
boolean
messageCount
optional
Gets or sets the count of the messages
Example : 0
integer (int32)
minDeliveryTime
optional
Gets or sets the min delivery time in minutes
Example : 0
integer (int32)
recipientCount
optional
Gets or sets the count of the recipients
Example : 0
integer (int32)
totalCost
optional
Gets or sets the total cost of the message.
Example : 0.0
number (double)

CM.Platform.Messages.Models.ApiMessageCount

Container for the Message count.

Name Description Schema
archived
optional
Number of archived messages
Example : 0
integer (int32)
draft
optional
Number of draft messages
Example : 0
integer (int32)
scheduled
optional
Number of draft scheduled messages
Example : 0
integer (int32)
sent
optional
Number of sent messages
Example : 0
integer (int32)
template
optional
Number of message template
Example : 0
integer (int32)

CM.Platform.Messages.Models.ApiMessagePreview

Container for the Message cost.

Name Description Schema
languages
optional
Gets or sets the preview languages.
Example : [ "string" ]
< string > array
previewCode
optional
Gets or sets the country or the language the current previews are based on.
Example : "string"
string
previews
optional
Gets or sets the count and cost of the messages per country.
Example : [ "string" ]
< string > array
recipientsPerCountry
optional
Gets or sets the currency.
Example : [ "[cm-platform-messages-models-apirecipientspercountry](#cm-platform-messages-models-apirecipientspercountry)" ]
< CM.Platform.Messages.Models.ApiRecipientsPerCountry > array
sender
optional
Gets or sets the sender the current previews are based on.
Example : "string"
string

CM.Platform.Messages.Models.ApiMessageRequest

Data model for message requests

Name Description Schema
body
optional
Gets or sets the body.
Example : "string"
string
channels
optional
Gets or sets the channels.
Example : [ "string" ]
< string > array
content
optional
Gets or sets the recurring interval.
Example : [ "[cm-platform-messages-models-conversation](#cm-platform-messages-models-conversation)" ]
< CM.Platform.Messages.Models.Conversation > array
countrySpecificSenders
optional
Gets or sets the senders.
Example : {<br> "string" : "string"<br>}
< string, string > map
grouping
optional
Gets or sets the grouping.
Example : "string"
string
ignoreUnsubscribes
optional
Gets or sets the ignore unsubscribes setting.
Example : true
boolean
isArchived
optional
Indicates if message is archived.
Example : true
boolean
name
optional
Gets or sets the name.
Example : "string"
string
recipients
optional
Gets or sets the recipients.
Example : [ "[cm-platform-messages-models-apirecipient](#cm-platform-messages-models-apirecipient)" ]
< CM.Platform.Messages.Models.ApiRecipient > array
recurrence
optional
Gets or sets the recurring interval.
Example : "string"
string
scheduledAtUtc
optional
Gets or sets the process at utc.
Example : "string"
string (date-time)
senderPreset
optional
Gets or sets the sender preset id.
Example : "00000000-0000-0000-0000-000000000000"
string (uuid)
senders
optional
Gets or sets the sender.
Example : [ "string" ]
< string > array
spread
optional
Gets or sets the spread settings.
Example : "[cm-platform-messages-models-apispreadsettings](#cm-platform-messages-models-apispreadsettings)"
CM.Platform.Messages.Models.ApiSpreadSettings
status
optional
Gets or sets the status.
Example : "string"
string
updatedAtUtc
optional
Gets or sets the updated at utc.
Example : "string"
string

CM.Platform.Messages.Models.ApiMessageResponse

Data model for message response

Name Description Schema
analytics
optional
Gets or sets the message analytics.
Example : "[cm-platform-messages-models-apimessageanalytics](#cm-platform-messages-models-apimessageanalytics)"
CM.Platform.Messages.Models.ApiMessageAnalytics
body
optional
Gets or sets the body.
Example : "string"
string
channels
optional
Gets or sets the channels.
Example : [ "string" ]
< string > array
content
optional
Gets or sets the recurring interval.
Example : [ "[cm-platform-messages-models-conversation](#cm-platform-messages-models-conversation)" ]
< CM.Platform.Messages.Models.Conversation > array
countrySpecificSenders
optional
Gets or sets the senders.
Example : {<br> "string" : "string"<br>}
< string, string > map
createdAtUtc
optional
Gets or sets the created at utc.
Example : "string"
string (date-time)
createdBy
optional
Gets or sets the created by.
Example : "00000000-0000-0000-0000-000000000000"
string (uuid)
grouping
optional
Gets or sets the grouping.
Example : "string"
string
id
optional
Gets the id.
Example : "00000000-0000-0000-0000-000000000000"
string (uuid)
ignoreUnsubscribes
optional
Gets or sets the ignore unsubscribes setting.
Example : true
boolean
isArchived
optional
Indicates if message is archived.
Example : true
boolean
isStatsComplete
optional
Indicates if statistics are complete.
Example : true
boolean
name
optional
Gets or sets the name.
Example : "string"
string
preview
optional
Gets the preview.
Example : "[cm-platform-messages-models-apimessagepreview](#cm-platform-messages-models-apimessagepreview)"
CM.Platform.Messages.Models.ApiMessagePreview
recipients
optional
Gets or sets the recipients.
Example : [ "[cm-platform-messages-models-apirecipient](#cm-platform-messages-models-apirecipient)" ]
< CM.Platform.Messages.Models.ApiRecipient > array
recurrence
optional
Gets or sets the recurring interval.
Example : "string"
string
scheduledAtUtc
optional
Gets or sets the process at utc.
Example : "string"
string (date-time)
senderPreset
optional
Gets or sets the sender preset id.
Example : "00000000-0000-0000-0000-000000000000"
string (uuid)
senders
optional
Gets or sets the sender.
Example : [ "string" ]
< string > array
spread
optional
Gets or sets the spread settings.
Example : "[cm-platform-messages-models-apispreadsettings](#cm-platform-messages-models-apispreadsettings)"
CM.Platform.Messages.Models.ApiSpreadSettings
status
optional
Gets or sets the status.
Example : "string"
string
updatedAtUtc
optional
Gets or sets the updated at utc.
Example : "string"
string

CM.Platform.Messages.Models.ApiRecipient

Basic model for message recipients

Name Description Schema
contact
optional
Gets or sets the contactId.
Example : "00000000-0000-0000-0000-000000000000"
string (uuid)
data
optional
Gets or sets the json data for recipient.
Example : {<br> "string" : "string"<br>}
< string, string > map
group
optional
Gets or sets the groupId.
Example : "00000000-0000-0000-0000-000000000000"
string (uuid)
msisdn
optional
Gets or sets the msisdn.
Example : "string"
string

CM.Platform.Messages.Models.ApiRecipientsPerCountry

Container for the message cost per country

Name Description Schema
count
optional
Gets or sets the cost of the messages for country.
Example : 0
integer (int32)
countryCode
optional
Gets or sets the country code.
Example : "string"
string

CM.Platform.Messages.Models.ApiSenderPresetRequest

Data model for Senders Preset Requests

Name Description Schema
isFavorite
optional
Gets or sets the isFavorite.
Example : true
boolean
name
optional
Gets or sets the name.
Example : "string"
string
senders
optional
Gets or sets the senders.
Example : {<br> "string" : "string"<br>}
< string, string > map

CM.Platform.Messages.Models.ApiSenderPresetResponse

Data model for Senders Preset Responses

Name Description Schema
id
optional
Gets or sets the id.
Example : "00000000-0000-0000-0000-000000000000"
string (uuid)
isFavorite
optional
Gets or sets the isFavorite.
Example : true
boolean
name
optional
Gets or sets the name.
Example : "string"
string
senders
optional
Gets or sets the senders.
Example : {<br> "string" : "string"<br>}
< string, string > map

CM.Platform.Messages.Models.ApiSpreadSettings

Model for Spread settings

Name Description Schema
durationMinutes
optional
Gets or sets the spread duration in minutes.
Example : 0
integer (int32)
timeFrames
optional
Gets or sets the spread amount.
Example : [ "[cm-platform-messages-models-apitimeframe](#cm-platform-messages-models-apitimeframe)" ]
< CM.Platform.Messages.Models.ApiTimeFrame > array
until
optional
Gets or sets the time messages will be spread until.
Example : "string"
string (date-time)

CM.Platform.Messages.Models.ApiStatusReport

Model for Status Reports

Name Description Schema
Account
optional
Example : 0 integer (int32)
AdditionalInfo
optional
Example : "string" string
Converted
optional
Example : "string" string (date-time)
CustomGrouping
optional
Example : "string" string
CustomGrouping2
optional
Example : "string" string
CustomGrouping3
optional
Example : "string" string
Customer
optional
Example : 0 integer (int32)
Description
optional
Example : "string" string
ExternalReference
optional
Example : "string" string
LastRetry
optional
Example : "string" string (date-time)
LastUpdated
optional
Example : "string" string (date-time)
OptedOut
optional
Example : "string" string (date-time)
Parts
optional
Example : 0 integer (int32)
Priority
optional
Example : 0 integer (int32)
ReadByRecipient
optional
Example : "string" string (date-time)
Recipient
optional
Example : "string" string
Reference
optional
Example : 0 integer (int32)
RetryCost
optional
Example : 0.0 number (double)
SentToOperator
optional
Example : "string" string (date-time)
StandardError
optional
Example : 0 integer (int32)
Status
optional
Example : "string" enum (Accepted, Rejected, Delivered, Failed, Overdue, AcceptedByGateWay, RejectedByGateWay)
Ticket
optional
Example : "string" string

CM.Platform.Messages.Models.ApiTestMessageRequest

Data model for test message

Name Description Schema
message
optional
Gets or sets the message object
Example : "[cm-platform-messages-models-apimessagerequest](#cm-platform-messages-models-apimessagerequest)"
CM.Platform.Messages.Models.ApiMessageRequest
testRecipients
optional
Gets or sets the test recipients.
Example : [ "[cm-platform-messages-models-apirecipient](#cm-platform-messages-models-apirecipient)" ]
< CM.Platform.Messages.Models.ApiRecipient > array

CM.Platform.Messages.Models.ApiTimeFrame

Model for Spread TimeFrame setting

Name Description Schema
days
optional
Gets or sets the allowed days.
Example : [ "string" ]
< string > array
endTime
optional
Gets or sets the time send window ends.
Example : "string"
string
startTime
optional
Gets or sets the time send window starts.
Example : "string"
string

CM.Platform.Messages.Models.Conversation

Container for conversation

Name Description Schema
media
optional
Gets or sets the media.
Example : "[cm-platform-messages-models-media](#cm-platform-messages-models-media)"
CM.Platform.Messages.Models.Media
text
optional
Gets or sets the text.
Example : "string"
string
whatsAppTemplate
optional
Gets or sets the template.
Example : "[cm-platform-messages-models-whatsapptemplate](#cm-platform-messages-models-whatsapptemplate)"
CM.Platform.Messages.Models.WhatsAppTemplate

CM.Platform.Messages.Models.Media

Data model for media object

Name Description Schema
mediaName
optional
Example : "string" string
mediaUri
optional
Example : "string" string
mimeType
optional
Example : "string" string

CM.Platform.Messages.Models.WhatsAppTemplate

Data model for WhatsApp Templates

Name Description Schema
languageCode
optional
Example : "string" string
languageFixed
optional
Example : true boolean
parameters
optional
Example : [ "[cm-platform-messages-models-whatsappparam](#cm-platform-messages-models-whatsappparam)" ] < CM.Platform.Messages.Models.whatsAppParam > array
templateId
optional
Example : "00000000-0000-0000-0000-000000000000" string (uuid)

CM.Platform.Messages.Models.whatsAppDateParamOptions

Data options for WhatsApp Template Date Parameters

Name Description Schema
showDayOfMonth
optional
Example : true boolean
showDayOfWeek
optional
Example : true boolean
showHour
optional
Example : true boolean
showMinute
optional
Example : true boolean
showMonth
optional
Example : true boolean
showYear
optional
Example : true boolean

CM.Platform.Messages.Models.whatsAppParam

Data model for WhatsApp Template Parameters

Name Description Schema
currency
optional
Example : "string" string
currencyAmount
optional
Example : "string" string
currencyCode
optional
Example : "string" string
currencyDecimalSeparator
optional
Example : "string" string
dateOptions
optional
Example : "[cm-platform-messages-models-whatsappdateparamoptions](#cm-platform-messages-models-whatsappdateparamoptions)" CM.Platform.Messages.Models.whatsAppDateParamOptions
dateTime
optional
Example : "string" string
text
optional
Example : "string" string