Гайды
Три типовых сценария интеграции. Все примеры работают с ключом rk_live_… после того, как вы выбрали нужные области доступа.
Как подключить UDS
UDS нужны продажи и меню, чтобы считать бонусы и акции. Достаточно двух областей: read:dishes и read:checks.
# 1. Меню: что продаём и по какой цене
curl -s -H "Authorization: Bearer $KEY" \
"https://rkdash.com/api/v1/dishes?limit=200&sort=-revenue" > dishes.json
# 2. Чеки с 1 сентября — по ним видно состав и суммы
curl -s -H "Authorization: Bearer $KEY" \
"https://rkdash.com/api/v1/checks?date_from=2026-09-01&date_to=2026-09-15&limit=200" > checks.json
# 3. Пагинация: пока meta.hasMore = true, идём по meta.nextCursor
curl -s -H "Authorization: Bearer $KEY" \
"https://rkdash.com/api/v1/checks?cursor=c_eyJvIjoyMDB9"Если по позиции фудкост не рассчитан, в ответе будет foodcostPct: null — это не ноль, а «себестоимости в учётной системе нет». Подставлять его как 0 нельзя.
Как выгрузить продажи в 1С
Самый дешёвый способ — забирать чеки раз в сутки и складывать в документ. Область доступа: read:checks и read:restaurants.
# заведение и его идентификатор
curl -s -H "Authorization: Bearer $KEY" https://rkdash.com/api/v1/restaurants
# чеки за прошедший день
curl -s -H "Authorization: Bearer $KEY" \
"https://rkdash.com/api/v1/checks?date_from=2026-09-15&date_to=2026-09-15&limit=200"
# состав конкретного чека
curl -s -H "Authorization: Bearer $KEY" "https://rkdash.com/api/v1/checks/chk_..."
# движения склада (приходы/списания) за тот же день
curl -s -H "Authorization: Bearer $KEY" \
"https://rkdash.com/api/v1/stock?date_from=2026-09-15&date_to=2026-09-15"В ответе /stock поле balanceAvailable всегда false: в витрину выгружаются движения, а не остатки StoreHouse. Остаток считайте в учётной системе.
Как повесить вебхук на новый чек
Область доступа — write:webhooks. Подписка создаётся один раз, секрет подписи показывается при создании.
# подписка
curl -X POST -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"url":"https://example.com/hook","events":["check.created"],"description":"Выгрузка в 1С"}' \
https://rkdash.com/api/v1/webhooks
# проверка руками из панели: «Настройки → API → Проверить» (тестовое событие + доставка)
# журнал: что ушло и с каким результатом
curl -s -H "Authorization: Bearer $KEY" https://rkdash.com/api/v1/webhooks/wh_.../deliveriesПроверка подписи на стороне получателя:
const [t, v1] = header.split(',').map((part) => part.split('=')[1]);
const expected = crypto
.createHmac('sha256', secret)
.update(`${t}.${rawBody}`)
.digest('hex');
if (expected !== v1) throw new Error('подпись не совпала');Событие приходит после обмена с учётной системой, а не в момент закрытия чека: витрина обновляется по расписанию. Если получатель не ответил, попытка повторяется трижды — сразу, через минуту и через пять, — и это видно в журнале доставок.
Postman
Импортируйте /api/v1/openapi в Postman («Import → Link») — коллекция соберётся из спецификации. Переменную baseUrl поставьте на https://rkdash.com/api/v1, а token — на свой ключ.