icomm SMS OpenAPI Specification (2.0.432)

Download OpenAPI specification:Download

icomm Customer Success: success@icommkt.com

OpenAPI Specification that contains all public endpoints and webhooks.

Base Url

https://apisms.trx.icommarketing.com

Authentication

Ask for your Api Key to the icomm Customer Success Team, and include it in the Authorization header.

Authorization: App {{Api Key}}

Send message

Send SMS message

With this API method, you can do anything from sending a basic message to one person, all the way to sending customized messages to thousands of recipients in one go. It comes with a range of useful features like transliteration, scheduling, and tracking in a unified way.
If utilizing Message Delivery Reports webhook, please consult the documentation provided at Receive outbound SMS message reports.
This endpoint is the successor of Send SMS message and Send binary SMS message.

Authorizations:
APIKeyHeader
Request Body schema:
required
Array of objects (schema.SmsMessage)

An array of message objects of a single message or multiple messages sent under one bulk ID.

object (schema.SmsMessageRequestOptions)

Options applicable to all messages in the request.

Responses

Request samples

Content type
Example
{
  • "messages": [
    ]
}

Response samples

Content type
Example
{
  • "bulkId": "2034072219640523072",
  • "messages": [
    ]
}

Log reports

Get outbound SMS message delivery reports

If you are unable to receive real-time message delivery reports towards your endpoint for various reasons, we offer you an API method to fetch batches of message reports to confirm whether specific messages have been delivered. Each request towards this endpoint will return batches of the latest message reports. Please note they will be returned only once.

Authorizations:
APIKeyHeader
query Parameters
bulkId
string

The ID that uniquely identifies the request. Bulk ID will be received only when you send a message to more than one destination address.

messageId
string

The ID that uniquely identifies the message sent.

limit
integer <int32> <= 1000
Default: 50
Example: limit=1

Maximum number of delivery reports to be returned. If not set, the latest 50 records are returned. Maximum limit value is 1000 and you can only access reports for the last 48h

entityId
string
Example: entityId=promotional-traffic-entity

Entity id used to send the message. For more details, see our documentation.

applicationId
string
Example: applicationId=marketing-automation-application

Application id used to send the message. For more details, see our documentation.

campaignReferenceId
string
Example: campaignReferenceId=summersale

ID of a campaign that was sent in the message.

Responses

Response samples

Content type
{
  • "results": [
    ]
}

Get outbound SMS message logs

Use this method for displaying logs, for example, in the user interface. Available are the logs for the last 48 hours and you can only retrieve maximum of 1000 logs per call. See message delivery reports if your use case is to verify message delivery.

Authorizations:
APIKeyHeader
query Parameters
mcc
string

Mobile Country Code.

mnc
string

Mobile Network Code. Mobile Country Code is required if this property is used.

sender
string

The sender ID which can be alphanumeric or numeric.

destination
string

Message destination address.

bulkId
Array of strings
Example: bulkId=BULK-ID-123-xyz

Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. May contain multiple comma-separated values. Maximum length 2048 characters.

messageId
Array of strings
Example: messageId=MESSAGE-ID-123-xyz,MESSAGE-ID-124-xyz

Unique message ID for which a log is requested. May contain multiple comma-separated values. Maximum length 2048 characters.

generalStatus
string (schema.MessageGeneralStatus)
Enum: "ACCEPTED" "PENDING" "UNDELIVERABLE" "DELIVERED" "EXPIRED" "REJECTED"

Status group name that describes which category the status code belongs to, i.e., [PENDING](.

sentSince
string <datetime>
Example: sentSince=2020-02-22T17:42:05.390+01:00

The logs will only include messages sent after this date. Use it together with sentUntil to return a time range or if you want to fetch more than 1000 logs allowed per call. Has the following format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

sentUntil
string <datetime>
Example: sentUntil=2020-02-23T17:42:05.390+01:00

The logs will only include messages sent before this date. Use it together with sentSince to return a time range or if you want to fetch more than 1000 logs allowed per call. Has the following format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

limit
integer <int32> <= 1000
Default: 50

Maximum number of messages to include in logs. If not set, the latest 50 records are returned. Maximum limit value is 1000 and you can only access logs for the last 48h. If you want to fetch more than 1000 logs allowed per call, use sentBefore and sentUntil to retrieve them in pages.

entityId
string
Example: entityId=promotional-traffic-entity

Entity id used to send the message. For more details, see our documentation.

applicationId
string
Example: applicationId=marketing-automation-application

Application id used to send the message. For more details, see our documentation.

campaignReferenceId
Array of strings
Example: campaignReferenceId=summersale

ID of a campaign that was sent in the message. May contain multiple comma-separated values.

Responses

Response samples

Content type
{
  • "results": [
    ]
}

Webhooks

Receive outbound SMS message reports Webhook

For every message you send, we offer the option to receive a delivery report. To use this feature, you should set up an endpoint to receive these reports. You can specify the endpoint URL using the webhooks > delivery > url parameter. .
You'll receive this type of payload for messages sent using Send SMS message.

Request Body schema:
Array of objects (schema.DeliveryReport)

Collection of reports, one per every message.

Responses

Request samples

Content type
{
  • "results": [
    ]
}