Для разработчиков

История событий

GET/webhooks/events

Журнал событий бота: то же самое, что уходит в исходящий вебхук, но забирается запросом. Метод нужен, когда принимать вебхуки на свой адрес нельзя — обработчик недоступен из интернета, поднимается не всегда или пишется прямо сейчас.

Журнал ведётся, только когда в настройках бота включён пункт «Сохранять историю событий» на вкладке «Исходящий вебхук». Адрес вебхука при этом можно не указывать вовсе, а если он указан, событие и уедет на него, и ляжет в журнал.

Метод работает только с токеном бота: у личного токена своего журнала нет. События отдаются от новых к старым, идентификатор события — строка, а не число.

Сам журнал не очищается: прочитанные события удаляйте методом DELETEУдаление события истории, иначе они придут снова при повторном запросе.

Параметры строки запроса

limit
integer, (int32)
Количество возвращаемых сущностей за один запрос. Целое число вне допустимых значений заменяется ближайшей границей.
Пример:1
По умолчанию:
50
Диапазон:
1 — 50
cursor
string
Курсор для пагинации (из meta.paginate.next_page или meta.paginate.prev_page)
Пример:eyJpZCI6MTAsImRpciI6ImFzYyJ9

Ответ

200OK
The request has succeeded.
data[]
array of objects
*
id
string
*
Идентификатор события
Пример:01KAJZ2XDSS2S3DSW9EXJZ0TBV
event_type
string
*
Тип события
Пример:message_new
payload
anyOf
*
Объект вебхука
MessageWebhookPayloadobject
ReactionWebhookPayloadobject
ButtonWebhookPayloadobject
ViewSubmitWebhookPayloadobject
ChatMemberWebhookPayloadobject
CompanyMemberWebhookPayloadobject
LinkSharedWebhookPayloadobject
VideoCallWebhookPayloadobject
created_at
string, (date-time)
*
Дата и время создания события (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ
Пример:2025-05-15T14:30:00.000Z
meta
object
*
Метаданные пагинации
paginate
object
*
Вспомогательная информация
next_page
string
*
Курсор пагинации следующей страницы
Пример:eyJxZCO2MiwiZGlyIjomSNYjIn3
prev_page
string
Курсор пагинации предыдущей страницы. Используется для polling новых записей «сверху» списка.
Пример:eyJxZCO2MiwiZGlyIjoiYXNjIn0
has_next
boolean
Есть ли ещё данные на следующей странице. На последней странице — false.
Пример:true
has_prev
boolean
Есть ли ещё данные на предыдущей странице. На первом запросе без курсора — false.
Пример:false
История событий
# Добавьте --all для автоматической пагинацииpachca bots list-events \  --limit=1 \  --json \  --token YOUR_ACCESS_TOKEN
Ответ 200
{  "data": [    {      "id": "01KAJZ2XDSS2S3DSW9EXJZ0TBV",      "event_type": "message_new",      "payload": {        "type": "message",        "id": 1245817,        "event": "new",        "entity_type": "discussion",        "entity_id": 5678,        "content": "Текст сообщения",        "user_id": 2345,        "created_at": "2025-05-15T14:30:00.000Z",        "changed_at": "2025-05-15T14:35:00.000Z",        "url": "https://app.pachca.com/chats/9012?message=1245817",        "chat_id": 9012,        "parent_message_id": 3456,        "thread": {          "message_id": 12345,          "message_chat_id": 67890        },        "webhook_timestamp": 1747574400      },      "created_at": "2025-05-15T14:30:00.000Z"    }  ],  "meta": {    "paginate": {      "next_page": "eyJxZCO2MiwiZGlyIjomSNYjIn3",      "prev_page": "eyJxZCO2MiwiZGlyIjoiYXNjIn0",      "has_next": true,      "has_prev": false    }  }}