Download OpenAPI specification:
Version 1 of the Nifteem API is structured around REST, HTTP, and JSON. API endpoint URLs are organized around resources, such as contacts or deals. It uses HTTP methods for indicating the action to take on a resource, and HTTP status codes for expressing error states.
This webhook is triggered when the status of a sent message changes. A separate notification is sent for each actual message sent. "The possible status updates are: DELIVERED, READ, FAILED (only for the last channel of the fallback chain), and NOSENT. "Notifications are only sent for the final delivery channel. If a webhook call fails, retries will be performed at increasing intervals for up to 48 hours.
Payload for the message status update callback
| event required | string (WebhookOutEvent) Enum: "DISPATCH_STATUS" "INCOMING_MESSAGE" Current webhook event type |
| module required | string (WebhookOutModule) Enum: "BROADCAST" "DISPATCH_API" The source module from where the messages were sent. DISPATCH_API, BROADCAST |
| dispatchId required | string The Dispatch ID. For module DISPATCH_API is the id returned in the response of the message dispatch request, for BROADCAST the broadcast id |
| messageId required | string The message ID. |
| messagePart required | integer <int32> Refers to the specific content of the translation sent in the request or the single content defined in the template used for sending. |
| messageTotalParts required | integer <int32> Total number of content parts, representing the actual number of messages sent to the recipient. |
| channel required | string (Channel) Enum: "EMAIL" "RCS" "SMS" "TELEGRAM" "WHATSAPP" The actual delivery channel used to send the message. |
| channelIdentifier required | string The user identifier for the current channel. |
| status required | string (DispatchLogStatus) Enum: "DISPATCHED" "NOSENT" "SENT" "FAILED" "DELIVERED" "READ" The new status of the message. Possible values: DELIVERED, READ, FAILED, NOSENT. |
| statusOrder required | integer <int32> The order number to be used for sorting statuses when notifications have the same timestamp. Notifications may arrive out of order due to provider behavior or webhook retries. |
| statusDate required | string <date-time> The date and time (UTC) of the status change. |
object General metadata sent in the message dispatch request (DISPATCH_API only). | |
object Metadata specific to the recipient associated with the channelIdentifier specified in the message dispatch request (DISPATCH_API only). |
This webhook is triggered when the a new message is received.
Payload for the incoming message callback
| event required | string (WebhookOutEvent) Enum: "DISPATCH_STATUS" "INCOMING_MESSAGE" Current webhook event type |
| messageId required | string Message ID |
| sentDate required | string <date-time> Message date and time (UTC) |
| sender required | string Your sender the user replied to. |
| channel required | string (Channel) Enum: "EMAIL" "RCS" "SMS" "TELEGRAM" "WHATSAPP" The channel used to send the message. |
| channelIdentifier required | string The user identifier for the current channel. |
required | object (WebhookOutIncomingMessageDetailPayload) The user message. |
Text message
{ "event": "INCOMING_MESSAGE", "messageId": "0P90A8DYNK5HQ", "sentDate": "2025-11-07T16:08:08Z", "sender": "agentSender", "channel": "RCS", "channelIdentifier": "+393470000000", "message": { "type": "TEXT", "text": "ok" } }
It creates a multi-channel and multi-language message for multiple recipients. Please note that there is a limit of 1000 recipients per request.
Dispatch request payload
object (DispatchApiRequestMessage) Multilanguage, multichannel message. Required if template is not specified | |
object (DispatchApiRequestMessageTemplate) Required if message is not specified | |
required | Array of objects (DispatchApiRequestRecipient) |
| scheduleDate | string <date-time> Optional scheduled date and time for a deferred message delivery in UTC format (e.g., 'yyyy-MM-dd'T'HH:mm:ss'Z'). Must be in the future and no more than 365 days from the current date. If null, the message will be sent immediately and cannot be cancelled. A scheduled dispatch can be cancelled only up to 5 minutes before the specified date and time. |
| countryCodeFixEnabled | boolean Set true if you want to fix msisdn numbers with the countryCodeDefault. If numbers in the recipient list don't have interational prefix, set this flag to true otherwise recipients with invalid numbers will be skipped. |
| countryCodeDefault | string Required if countryCodeFixEnabled is true |
object (DispatchApiRequestChannels) Channels parameters. Required if message is specified, ignored for template. | |
object Optional custom metadata linked to the dispatch. Sent as 'dispatchMetadata' parameter of "Message Status Update" webhook. |
Simple SMS
{- "message": {
- "languageDefault": "en",
- "translations": {
- "en": {
- "contents": [
- {
- "text": {
- "body": "Hello {{firstname}}! This is a simple SMS test."
}
}
]
}
}
}, - "recipients": [
- {
- "recipientIdentifiers": [
- {
- "channelIdType": "MSISDN",
- "channelIdentifier": "+39347XXXXXXX"
}
], - "placeholders": {
- "firstname": "Mark"
}
}, - {
- "recipientIdentifiers": [
- {
- "channelIdType": "MSISDN",
- "channelIdentifier": "+39349XXXXXXX"
}
], - "placeholders": {
- "firstname": "Robert"
}
}
], - "channels": {
- "sms": {
- "senderId": "XXXXXXXXX"
}
}, - "countryCodeFixEnabled": true,
- "countryCodeDefault": "IT"
}{- "dispatchId": "0K0FHMEJ4DPFZ",
- "scheduleDate": "2025-03-05T12:00:10Z",
- "rejectedRecipients": [ ]
}It returns details of a specific dispatch. The response includes an array of individual messages that have been processed, along with a pendingCount property indicating the quantity of messages that remain in the processing queue.
| dispatchId required | string |
{- "dispatchId": "string",
- "scheduleDate": "2019-08-24T14:15:22Z",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "messages": [
- {
- "messageId": "string",
- "sender": "string",
- "channelIdentifier": "string",
- "channel": "EMAIL",
- "part": 0,
- "totalParts": 0,
- "status": "DISPATCHED",
- "statusDate": "2019-08-24T14:15:22Z",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}
], - "pendingCount": 0
}Returns the main information of the authenticated user along with senders configurations (SMS, RCS, and WhatsApp)
{- "id": "0FAMV3SY611FS",
- "company": "My Company Srl",
- "email": "mycompany@ag5dksgh367rfgsol2.com",
- "language": "it",
- "timezone": "Europe/Rome",
- "rcsSenders": [
- {
- "id": "0FCB1SJSVEHKZ",
- "agentName": "Agent Default"
}
], - "smsSenders": [
- {
- "id": "0FAPP18XJHDZR",
- "type": "ALPHA",
- "sender": "MyCompany"
}
], - "whatsappSenders": [
- {
- "id": "0F9EEPBNGGDP9",
- "displayPhoneNumber": "+390000000000",
- "verifiedName": "My Company"
}
], - "telegramSenders": [
- {
- "id": "0FDQK1V8Z9K3X",
- "botName": "My Company Bot"
}
]
}