AISARAISAR
Все вебхуки

Система

Экспорт завершён

export.completed

Срабатывает, когда задача экспорта данных (`POST /v1/exports`) успешно завершается и файл с результатом готов к скачиванию. Файл доступен по `download_url` до момента `expires_at`, после чего удаляется.

HTTP-запрос

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

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

{
  "event": "export.completed",
  "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": "completed",
    "filters": { "tag_ids": [12, 17] },
    "row_count": 5821,
    "file_size": 482733,
    "error_message": null,
    "download_url": "https://api.aisar.app/v1/exports/421/download",
    "expires_at": "2026-04-02T12:00:00.000000Z",
    "created_at": "2026-03-26T11:58:41.000000Z",
    "updated_at": "2026-03-26T12:00:00.000000Z"
  }
}

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

Пример payload

json
{
  "event": "export.completed",
  "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": "completed",
    "filters": { "tag_ids": [12, 17] },
    "row_count": 5821,
    "file_size": 482733,
    "error_message": null,
    "download_url": "https://api.aisar.app/v1/exports/421/download",
    "expires_at": "2026-04-02T12:00:00.000000Z",
    "created_at": "2026-03-26T11:58:41.000000Z",
    "updated_at": "2026-03-26T12:00:00.000000Z"
  }
}

Поля payload

ПолеТипОписание
idintegerID экспорта
uuidstringПубличный идентификатор
typestring`contacts`, `conversations`, `messages`, `deals` и т.д.
formatstring`xlsx`, `csv`
statusstringВсегда `completed`
filtersobject|nullФильтры, применённые к экспорту
row_countintegerЧисло строк в итоговом файле
file_sizeintegerРазмер файла в байтах
download_urlstringПодписанный URL — скачивание требует аутентифицированного запроса
expires_atstringISO 8601 — после этого момента файл удаляется