Webhook api overview: integration and automation

Webhooks

Use webhooks to receive message events immediately in your system.

Two webhook types are available:

  1. Delivery status webhook for outgoing messages.
  2. Incoming message webhook for SMS and other supported channels.

1. Delivery status webhook

Configure this webhook in device settings to receive status updates without polling the API.

{
  "sms_id": int,
  "status_id": int,
  "status_message": string,
  "sendto": string,
  "senttime": datetime,
  "channel_id": int,
  "device_id": int
}
  • 1 - Pending SMS
  • 2 - SMS taken by phone
  • 3 - Queued for sending. Certainly, it would have been more logical to place the status "queued for sending" before "SMS taken by phone," but for backward compatibility, the statuses are in the following order: 1, 3, 2."
  • 5 - Incoming SMS
  • 6 - SMS Sent by Phone
  • 7 - SMS has been Delivered
  • 8 - SMS was NOT Delivered
  • 9 - SMS didn't SENT at all - Generic failure. (Read what to do with this error here)
  • Other, less common errors:
  • 10 - SMS Not Sent - No Service
  • 11 - SMS Not Sent - Null PDU
  • 12 - SMS Not Sent - Radio Off
  • 100, 101 - SMS Not Sent - NOT ALLOWED. (Permissions for sending SMS in the application were not granted)

2. Incoming message webhook

Configure this webhook to forward incoming messages to your CRM, helpdesk or backend.

{
  "address": string,
  "date": datetime,
  "date_sent": datetime,
  "body": string,
  "internal_id": int,
  "channel_id": int,
  "sms_id": int,
  "device_id": int,
  "device_name": string
}
Webhook availability depends on your subscription plan.