Stickers
Telegram sticker set import finished
sticker.pack.import.finishedAs of 2026-08-23, `POST /v1/sticker-packs/import/telegram` only starts the background download and immediately responds `202 {status: "queued", name, title}` — the actual outcome (success or error) arrives via this event. On success, a separate `sticker.pack.created` event is also sent for the new pack; on error, `pack_id` is `null` and `imported`/`skipped_animated` are `0`. `error` is a human-readable failure message (e.g. the set turned out to be fully animated, or became unavailable between the link check and the job running) or `null` on success — it never contains the bot token or raw network-error text. Imported stickers carry their own Telegram `emoji` tag as `emoji_tags` (available via `GET /v1/sticker-packs` after the import, not in this payload).
HTTP request
AISAR sends a signed POST request to your 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
}
}The X-AISAR-Signature header carries an HMAC-SHA256 signature of the request body — use it to verify the request came from AISAR.
Example 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 fields
| Field | Type | Description |
|---|---|---|
name | string | The Telegram sticker set name (from the link, or as given) |
title | string|null | The set's title as reported by Telegram; `null` if Telegram did not return one |
pack_id | integer|null | ID of the created sticker pack; `null` if the import failed |
imported | integer | Number of static stickers successfully imported; `0` on failure |
skipped_animated | integer | Number of animated stickers (TGS/WebM) skipped |
truncated | boolean | `true` if the set was longer than the 120-stickers-per-pack limit and part of it was dropped |
error | string|null | Human-readable error message; `null` on a successful import |