AISARAISAR
All webhooks

Channels

Channel disconnected

channel.disconnected

Fires when a channel disconnects, whether manually by an operator or because the platform connection was lost. While disconnected, no inbound or outbound messages flow through the channel.

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.disconnected",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-03-26T12:00:00.000000Z",
  "company_id": 1,
  "data": {
    "channel": {
      "id": 2,
      "type": "whatsapp",
      "name": "Main WhatsApp",
      "status": "disconnected",
      "account_name": "+77001234567",
      "connected_at": "2026-03-26T10:00:00.000000Z",
      "disconnected_at": "2026-03-26T12:00:00.000000Z"
    }
  }
}

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.disconnected",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-03-26T12:00:00.000000Z",
  "company_id": 1,
  "data": {
    "channel": {
      "id": 2,
      "type": "whatsapp",
      "name": "Main WhatsApp",
      "status": "disconnected",
      "account_name": "+77001234567",
      "connected_at": "2026-03-26T10:00:00.000000Z",
      "disconnected_at": "2026-03-26T12:00:00.000000Z"
    }
  }
}

Payload fields

FieldTypeDescription
channel.idintegerChannel ID
channel.typestringChannel type: `whatsapp`, `whatsapp_business`, `instagram`, `instagram_business`, `telegram_bot`, `live_chat`
channel.namestringChannel name
channel.statusstringAlways `disconnected`
channel.account_namestring|nullPlatform account name or phone number
channel.connected_atstring|nullISO 8601 timestamp of last successful connection
channel.disconnected_atstring|nullISO 8601 timestamp of disconnection