Stickers
Stickers
Sticker added
sticker.createdFires when a sticker is added to a pack — via file upload (`POST /v1/sticker-packs/{pack}/stickers`), the "Add to library" action on an incoming message, or a Telegram set import (one event per imported static sticker). The payload deliberately excludes a signed file URL — fetch it via an authorized `GET /v1/stickers/{sticker}/file` request.
HTTP request
AISAR sends a signed POST request to your webhook_url:
http
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...
{
"event": "sticker.created",
"event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2026-08-22T12:15:00.000000Z",
"company_id": 1,
"data": {
"sticker_pack": {
"id": 14
},
"sticker": {
"id": 87,
"is_animated": false
}
}
}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
json
{
"event": "sticker.created",
"event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2026-08-22T12:15:00.000000Z",
"company_id": 1,
"data": {
"sticker_pack": {
"id": 14
},
"sticker": {
"id": 87,
"is_animated": false
}
}
}Payload fields
| Field | Type | Description |
|---|---|---|
sticker_pack.id | integer | ID of the pack the sticker was added to |
sticker.id | integer | Sticker ID |
sticker.is_animated | boolean | Always `false` — the library only stores static 512×512 WebP files; animated stickers (Telegram TGS/WebM) are skipped on import |