AISARAISAR
Все вебхуки

Каналы

Канал подключён

channel.connected

Срабатывает при успешном подключении канала. Важно: событие приходит и при каждом успешном переподключении (обновление токена Instagram, повторная авторизация WABA, замена токена Telegram-бота, повторное сканирование QR). Обработчик должен быть идемпотентным — событие для уже известного channel_id означает обновление учётных данных, а не появление нового канала.

HTTP-запрос

AISAR отправляет подписанный POST-запрос на ваш webhook_url:

http
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...

{
  "event": "channel.connected",
  "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-26T12:00:00.000000Z",
      "disconnected_at": null
    }
  }
}

Заголовок X-AISAR-Signature содержит HMAC-SHA256 подпись тела запроса — используйте её, чтобы убедиться, что запрос пришёл от AISAR.

Пример payload

json
{
  "event": "channel.connected",
  "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-26T12:00:00.000000Z",
      "disconnected_at": null
    }
  }
}

Поля payload

ПолеТипОписание
channel.idintegerID канала
channel.typestringТип канала: `whatsapp`, `whatsapp_business`, `instagram`, `instagram_business`, `telegram_bot`, `live_chat`
channel.namestringНазвание канала
channel.statusstringВсегда `connected`
channel.account_namestring|nullИмя аккаунта на платформе или номер телефона
channel.connected_atstring|nullВремя подключения (ISO 8601)
channel.disconnected_atstring|nullВремя последнего отключения (ISO 8601)