Раздел API
Вебхуки
Вебхуки аккаунта: тревоги касс, итоги печати и чеков — на ваш сервер, с подписью HMAC-SHA256, повторами и журналом доставки.
| GET | /api/v1/webhooks | Вебхуки аккаунта |
| POST | /api/v1/webhooks | Добавить вебхук |
| POST | /api/v1/webhooks/{id}/test | Проверить вебхук |
| GET | /api/v1/webhooks/{id}/deliveries | Журнал доставки вебхука |
| DELETE | /api/v1/webhooks/{id} | Удалить вебхук |
Вебхуки аккаунта#
/api/v1/webhooksАдреса, на которые облако шлёт события касс аккаунта, и как прошла последняя доставка
Ответ 200 application/json
Массив · WebhookView
idinteger int64urlstringeventsмассив stringsecretstringcreatedAtstring date-timelastAtstring date-timelastStatusinteger int32lastErrorstringfailuresinteger int32
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'https://cloud.hw-connector.ru/api/v1/webhooks' \
-H 'X-Api-Key: hwk_…'Добавить вебхук#
/api/v1/webhooksСобытия: alert.opened, alert.closed (тревоги касс), device.online, device.offline (касса подключилась к облаку; отключилась и не вернулась за 10 с), operation.failed (неудачная операция на кассе), print_job.done, print_job.failed, print_job.cancelled, print_job.expired, print_job.unknown (итоги печати через облако), receipt.done, receipt.failed, receipt.unknown, receipt.expired (итоги чеков); маска print_job.* и * — все. Письмо — POST JSON {event, at, …} с подписью X-HW-Signature: t=<unix>,v1=<hex HMAC-SHA256(secret, "<t>.<тело>")>, номер письма — X-HW-Delivery; ответ 2xx — доставлено, иначе до 10 попыток за ~8 ч. Секрет — в ответе, один раз. Адрес в локальной сети — 400; не больше 5 вебхуков на аккаунт
Тело запроса application/json обязательное
Поля · WebhookRequest
urlstringобязательноеот 0до 500eventsмассив string
{
"url": "string",
"events": [
"string"
]
}Ответ 200 application/json
Поля · WebhookView
idinteger int64urlstringeventsмассив stringsecretstringcreatedAtstring date-timelastAtstring date-timelastStatusinteger int32lastErrorstringfailuresinteger int32
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl -X POST 'https://cloud.hw-connector.ru/api/v1/webhooks' \
-H 'X-Api-Key: hwk_…' \
-H 'Content-Type: application/json' \
--data '{"url":"string","events":["string"]}'Проверить вебхук#
/api/v1/webhooks/{id}/testОтправить письмо ping {event: "ping"} — проверить адрес и подпись; итог — в журнале доставки
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
idобязательный | path | integer int64 |
Ответ 200 application/json
Поля · DeliveryView
idinteger int64eventstringattemptsinteger int32statestringlastStatusinteger int32lastErrorstringcreatedAtstring date-timenextAtstring date-timepayloadobject
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl -X POST 'https://cloud.hw-connector.ru/api/v1/webhooks/42/test' \
-H 'X-Api-Key: hwk_…'Журнал доставки вебхука#
/api/v1/webhooks/{id}/deliveriesПоследние письма, свежие сверху: событие, попытки, state (DELIVERED, RETRYING, FAILED), код ответа, ошибка и тело
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
idобязательный | path | integer int64 | |
limit | query | integer int32 |
Ответ 200 application/json
Массив · DeliveryView
idinteger int64eventstringattemptsinteger int32statestringlastStatusinteger int32lastErrorstringcreatedAtstring date-timenextAtstring date-timepayloadobject
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl 'https://cloud.hw-connector.ru/api/v1/webhooks/42/deliveries' \
-H 'X-Api-Key: hwk_…'Удалить вебхук#
/api/v1/webhooks/{id}Письма, которые ещё не доставлены, больше не отправляются
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
idобязательный | path | integer int64 |
Ответ 200
Без тела.
Ошибки — problem+json с полем code, см. коды ошибок.
Пример запроса
curl -X DELETE 'https://cloud.hw-connector.ru/api/v1/webhooks/42' \
-H 'X-Api-Key: hwk_…'