События
const url = 'https://demo.goodwink.ru/api/v1/events?channel=webhook&limit=100';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://demo.goodwink.ru/api/v1/events?channel=webhook&limit=100' \ --header 'Authorization: Bearer <token>'Лента сырых данных: каждое событие строкой, по порядку приёма транзакциями — событие транзакции, которая ещё не закончилась, лента не проскочит, а отдаст позже. Без cursor — с начала; удалённые — тоже, с deleted_at
Authorizations
Заголовок раздела «Authorizations»Parameters
Заголовок раздела «Parameters»Query Parameters
Заголовок раздела «Query Parameters»Только события этого источника
Только события этого канала
Сколько вернуть за запрос; вне 1–1000 — 400
Next_cursor прошлого ответа, как есть
Responses
Заголовок раздела «Responses»Успех
object
object
object
Адрес приёма, загрузка файла, опрос по адресу
RFC 3339 в UTC, например 2026-10-19T13:30:00Z
Тело события, как разобрал приём: объект — поля события; тело, которое не разобралось, — служебными ключами _raw (текст), _value (JSON не объект), _parse_error (причина)
Повторная отправка: id первого события с тем же телом
Из истории: загрузка файла и первый запуск опроса
Строку события удалили (корзина)
Есть всегда: место, с которого продолжать — сразу, пока has_more, или в следующий раз
Example
{ "data": [ { "channel": "webhook" } ]}Headers
Заголовок раздела «Headers»Лимит запросов в минуту на ключ
Сколько осталось в этой минуте
Параметр не того вида, неизвестный (unknown_param) или выборка не применяется
object
object
Машинный код: unknown_param, bad_limit, bad_cursor, bad_source_id, bad_channel, bad_filter, bad_fo, bad_fv, bad_dir, bad_period, unknown_column, bad_columns, bad_selection, invalid_key, rate_limited, no_such_source, no_such_table, table_busy, query_failed, query_timeout, reader_off
Что ждали — словами
Виноватый параметр
Example
{ "error": { "type": "invalid_request" }}Нет ключа, ключ неверный или отозван; WWW-Authenticate: Bearer
object
object
Машинный код: unknown_param, bad_limit, bad_cursor, bad_source_id, bad_channel, bad_filter, bad_fo, bad_fv, bad_dir, bad_period, unknown_column, bad_columns, bad_selection, invalid_key, rate_limited, no_such_source, no_such_table, table_busy, query_failed, query_timeout, reader_off
Что ждали — словами
Виноватый параметр
Example
{ "error": { "type": "invalid_request" }}Нет такого источника или объекта
object
object
Машинный код: unknown_param, bad_limit, bad_cursor, bad_source_id, bad_channel, bad_filter, bad_fo, bad_fv, bad_dir, bad_period, unknown_column, bad_columns, bad_selection, invalid_key, rate_limited, no_such_source, no_such_table, table_busy, query_failed, query_timeout, reader_off
Что ждали — словами
Виноватый параметр
Example
{ "error": { "type": "invalid_request" }}Превышен лимит запросов на ключ; Retry-After — через сколько секунд
object
object
Машинный код: unknown_param, bad_limit, bad_cursor, bad_source_id, bad_channel, bad_filter, bad_fo, bad_fv, bad_dir, bad_period, unknown_column, bad_columns, bad_selection, invalid_key, rate_limited, no_such_source, no_such_table, table_busy, query_failed, query_timeout, reader_off
Что ждали — словами
Виноватый параметр
Example
{ "error": { "type": "invalid_request" }}