WebHooks
Для получения уведомлений о событиях, происходящих в компании, можно подписаться на вебхуки. Это рекомендуемый способ получения уведомлений.
Для подписки на вебхуки необходимо задать адрес, на который они будут приходить, указать, для какого из подключений вы хотите получать вебхуки и указать список типов событий (event_type, описаны ниже), уведомления о которых вам нужны.
Общий формат такой:
{
"company_id": 123,
"event_type": "string",
"event": {}
}
Содержимое
event
зависит от event_type
:{
"connection_id": 12345,
"contact_id": 12345,
"chat_id": "string",
"message": {}
}
{
"connection_id": 12345,
"contact_id": 12345,
"chat_id": "string",
"message_id": "string"
}
- Обрабатывайте вебхуки асинхронно. Сохранили в очередь, отв етили, что приняли, и только потом обработали.
- На обновление настроек вебхуков может потребоваться до 5 минут. В течение этого времени вебхуки всё ещё могут приходить на ранее указанные адреса.
- Сервер вебхуков ожидает ответ со статусами 200, 201, 202 в течение 5 секунд.
- Если был получен ответ со статусом 4xx, то повторной отправки вебхука не будет.
- Если был получен другой ответ, то вебхук будет отправлен повторно до 60 раз с интервалом в 1 минуту.
- Тело ответа/заголовки ответа игнорируются. Рекомендуем сократить их до минимума.
// Текстовое сообщение
{
"company_id": 12345,
"event_type": "messages.create",
"event": {
"connection_id": 123123,
"contact_id": 217140,
"chat_id": 1036686,
"message": {
"message_id": "99f84d61-be74-4115-8c18-1b0665e86c1a",
"source_message_id": "ABGGdJU3RRh_AhDiDXJCHmT_qvf821W6D4MV",
"chat_id": "79000000000",
"direction": "inbound",
"message_type": "text",
"created_at": "2022-04-20T14:22:54+00:00",
"delivered_at": null,
"read_at": null,
"error_at": null,
"text": {
"text": "Да"
}
}
}
}
// Сообщение с файлом (с картинкой)
{
"company_id": 12345,
"event_type": "messages.create",
"event": {
"connection_id": 123123,
"contact_id": 1,
"chat_id": 186008,
"message": {
"message_id": "4264f6ad-b750-45a1-956f-46baca4ffee9",
"source_message_id": "ABGGeRclMZhPAhB6PMPU6R42Cx0sqcp_iA_E",
"chat_id": "79000000001",
"direction": "inbound",
"message_type": "image",
"created_at": "2022-04-20T14:28:11+00:00",
"delivered_at": null,
"read_at": null,
"error_at": null,
"image": {
"caption": "Мятный карась",
"name": "e5dd4a70b5cb4e3c3957f64a.jpg",
"size": 73065,
"mime_type": "image/jpeg",
"url": "https://example.org/file.jpg"
}
}
}
}
// Сообщение с корзиной waba
{
"company_id": 12345,
"event_type": "messages.create",
"event": {
"connection_id": 123123,
"contact_id": 1,
"chat_id": 186008,
"message": {
"message_id": "3a830de8-5b5f-480d-a821-49e9b14f9a7e",
"source_message_id": "ABGGeRclMZhPAhBMMpdb-YwGu6DPc-XuT08H",
"chat_id": "79000000000",
"direction": "inbound",
"message_type": "waba_order",
"created_at": "2023-08-25T10:09:53+00:00",
"delivered_at": null,
"read_at": null,
"error_at": null,
"waba_order": {
"currency": "RUB",
"amount": 6000,
"items": [
{
"name": "WhatsApp + amoCRM",
"price": 3000,
"quantity": 1,
"image_url": "https://radist2.cdn.radist.online/facebook/products/241352448870357/4y7fbkr62n/image.jpg",
"retailer_id": "4y7fbkr62n"
},
{
"name": "Телегомагазин",
"price": 1500,
"quantity": 2,
"image_url": "https://radist2.cdn.radist.online/facebook/products/241352448870357/psgsvcmha7/image.jpg",
"retailer_id": "psgsvcmha7"
}
],
"comment": "",
"catalog_id": 241352448870357
}
}
}
}
// Сообщение доставлено
{
"company_id": 12345,
"event_type": "messages.delivery.delivered",
"event": {
"connection_id": 123123,
"contact_id": 217140,
"chat_id": 1036686,
"message_id": "3fe648ad-fbb4-4412-9081-2ee31b02a164"
}
}
// Сообщение прочитано
{
"company_id": 12345,
"event_type": "messages.delivery.read",
"event": {
"connection_id": 123123,
"contact_id": 217140,
"chat_id": 1036686,
"message_id": "3fe648ad-fbb4-4412-9081-2ee31b02a164"
}
}
Last modified 1mo ago