Все вебхуки
Система
Экспорт завершился ошибкой
export.failedСрабатывает при неуспешном завершении задачи экспорта. Запись об экспорте сохраняется со статусом `failed` и усечённым сообщением об ошибке (не более 1000 символов); файла для скачивания нет.
HTTP-запрос
AISAR отправляет подписанный POST-запрос на ваш webhook_url:
http
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...
{
"event": "export.failed",
"event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2026-03-26T12:00:00.000000Z",
"company_id": 1,
"data": {
"id": 421,
"uuid": "01JXXXXXXXXXXXXXXXXXXXXX",
"type": "contacts",
"name": "Контакты — март 2026",
"format": "xlsx",
"status": "failed",
"filters": { "tag_ids": [12, 17] },
"row_count": null,
"file_size": null,
"error_message": "Query timeout after 600s",
"download_url": null,
"expires_at": null,
"created_at": "2026-03-26T11:58:41.000000Z",
"updated_at": "2026-03-26T12:08:41.000000Z"
}
}Заголовок X-AISAR-Signature содержит HMAC-SHA256 подпись тела запроса — используйте её, чтобы убедиться, что запрос пришёл от AISAR.
Пример payload
json
{
"event": "export.failed",
"event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2026-03-26T12:00:00.000000Z",
"company_id": 1,
"data": {
"id": 421,
"uuid": "01JXXXXXXXXXXXXXXXXXXXXX",
"type": "contacts",
"name": "Контакты — март 2026",
"format": "xlsx",
"status": "failed",
"filters": { "tag_ids": [12, 17] },
"row_count": null,
"file_size": null,
"error_message": "Query timeout after 600s",
"download_url": null,
"expires_at": null,
"created_at": "2026-03-26T11:58:41.000000Z",
"updated_at": "2026-03-26T12:08:41.000000Z"
}
}Поля payload
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID экспорта |
status | string | Всегда `failed` |
error_message | string | Усечённое сообщение об ошибке (не более 1000 символов) |
download_url | null | Для неуспешных экспортов всегда `null` |