All webhooks
Channels
Channel resumed
channel.resumedFires when a paused channel returns to normal operation. After resuming, the channel status is `connected` again.
HTTP request
AISAR sends a signed POST request to your webhook_url:
http
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...
{
"event": "channel.resumed",
"event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2026-03-26T12:00:00.000000Z",
"company_id": 1,
"data": {
"channel": {
"id": 2,
"type": "whatsapp",
"name": "Main WhatsApp",
"status": "connected",
"account_name": "+77001234567",
"connected_at": "2026-03-26T10:00:00.000000Z",
"disconnected_at": null
}
}
}The X-AISAR-Signature header carries an HMAC-SHA256 signature of the request body — use it to verify the request came from AISAR.
Example payload
json
{
"event": "channel.resumed",
"event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2026-03-26T12:00:00.000000Z",
"company_id": 1,
"data": {
"channel": {
"id": 2,
"type": "whatsapp",
"name": "Main WhatsApp",
"status": "connected",
"account_name": "+77001234567",
"connected_at": "2026-03-26T10:00:00.000000Z",
"disconnected_at": null
}
}
}Payload fields
| Field | Type | Description |
|---|---|---|
channel.id | integer | Channel ID |
channel.type | string | Channel type: `whatsapp`, `whatsapp_business`, `instagram`, `instagram_business`, `telegram_bot`, `live_chat` |
channel.name | string | Channel name |
channel.status | string | `connected` after resume |
channel.account_name | string|null | Platform account name or phone number |
channel.connected_at | string|null | ISO 8601 timestamp |
channel.disconnected_at | string|null | ISO 8601 timestamp |