Стикеры
Импорт набора стикеров Telegram завершён
sticker.pack.import.finishedС 2026-08-23 `POST /v1/sticker-packs/import/telegram` только запускает фоновую загрузку и сразу отвечает `202 {status: "queued", name, title}` — сам результат (успех или ошибка) приходит этим событием. При успехе также отправляется отдельное `sticker.pack.created` для нового пака; при ошибке `pack_id` — `null`, а `imported`/`skipped_animated` — `0`. `error` — человекочитаемое сообщение об ошибке (например, набор оказался полностью анимированным или стал недоступен между проверкой ссылки и запуском задачи) либо `null` при успехе; никогда не содержит токен бота или сырой текст сетевой ошибки. Импортированные стикеры несут собственный `emoji`-тег Telegram как `emoji_tags` (доступно через `GET /v1/sticker-packs` после импорта, не в этом payload).
HTTP-запрос
AISAR отправляет подписанный POST-запрос на ваш webhook_url:
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...
{
"event": "sticker.pack.import.finished",
"event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2026-08-23T12:25:00.000000Z",
"company_id": 1,
"data": {
"name": "CoolPack",
"title": "Cool Pack",
"pack_id": 16,
"imported": 24,
"skipped_animated": 6,
"truncated": false,
"error": null
}
}Заголовок X-AISAR-Signature содержит HMAC-SHA256 подпись тела запроса — используйте её, чтобы убедиться, что запрос пришёл от AISAR.
Пример payload
{
"event": "sticker.pack.import.finished",
"event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2026-08-23T12:25:00.000000Z",
"company_id": 1,
"data": {
"name": "CoolPack",
"title": "Cool Pack",
"pack_id": 16,
"imported": 24,
"skipped_animated": 6,
"truncated": false,
"error": null
}
}Поля payload
| Поле | Тип | Описание |
|---|---|---|
name | string | Имя набора стикеров Telegram (из ссылки или как есть) |
title | string|null | Заголовок набора со стороны Telegram; `null`, если Telegram его не вернул |
pack_id | integer|null | ID созданного пака стикеров; `null`, если импорт завершился ошибкой |
imported | integer | Число успешно импортированных статичных стикеров; `0` при ошибке |
skipped_animated | integer | Число пропущенных анимированных стикеров (TGS/WebM) |
truncated | boolean | `true`, если набор длиннее лимита в 120 стикеров на пак и часть была отброшена |
error | string|null | Человекочитаемое сообщение об ошибке; `null` при успешном импорте |