Журнал запросов
Содержание раздела
Раздел «Журнал запросов» показывает обращения к API вашей организации: что прислала касса, сайт или другая подключённая система, что ответила платформа и сколько заняла обработка. Сюда же попадают действия сотрудников в админ-панели. Журнал нужен, когда интеграция «не работает»: вместо переписки с подрядчиком в духе «мы отправили, а у вас ошибка» вы открываете конкретный запрос и видите его целиком — что пришло, что платформа ответила и с каким кодом ошибки. Раздел виден только роли Администратор организации (TENANT_ADMIN).
Если раздел «Интеграции» выдаёт внешним системам пропуска, то журнал запросов — запись на проходной: кто, когда и с чем приходил.
Зачем это бизнесу#
- Ошибки интеграции разбираются за минуты. Интегратор называет Correlation ID из ответа платформы, вы находите запрос и видите, что именно отправила касса и почему платформа отказала.
- Без обращения к администратору платформы. Запросы своей организации вы смотрите сами, в своей админ-панели.
- Видно, кто сделал запрос. У каждого запроса подписан источник: интеграция и ключ кассы или имя сотрудника.
- Секреты не утекают. Пароли, API-ключи, токены и секреты вебхуков в журнал не записываются: вместо них стоит
***.
Список запросов#

Заголовок страницы — «Журнал запросов», подзаголовок — «HTTP-запросы к API вашей организации: кассы и интеграции по API-ключу, сотрудники в админке». Новые запросы — сверху. Под таблицей — счётчик «Всего N записей» и переключение страниц.
| Колонка | Что показывает |
|---|---|
| Время | Дата и время запроса с точностью до секунды, в часовом поясе организации |
| Статус | Код ответа платформы. Цвет зависит от класса: 2xx (успех) — зелёный, 4xx (ошибка в запросе) — оранжевый, 5xx (ошибка платформы) — красный |
| Запрос | Метод и путь, например POST /v1/api/orders/calculate. Длинный путь обрезан, полностью он виден в подсказке |
| Длительность | Сколько платформа обрабатывала запрос, в миллисекундах |
| Субъект | Кто выполнил запрос. Касса или другая система — «интеграция / ключ», например «Demo POS / Demo POS Key». Сотрудник — полное имя, а если оно не заполнено, email. Если подписать не удалось (например, ключ удалён), показан серым технический идентификатор |
| Авторизация | «Касса (API-ключ)» — запрос внешней системы по ключу интеграции; «Админка (JWT)» — действие сотрудника в админ-панели; «—» — запрос без авторизации |
| Correlation ID | Первые 8 символов идентификатора запроса; значок рядом копирует его целиком |
Клик по строке открывает карточку запроса.
Фильтры#
Над таблицей, отдельной строкой, — период. Если его не выбирать, журнал показывает последние 24 часа (в границах поля написано «Последние 24 ч» и «сейчас»). В календаре есть быстрые периоды «1 ч», «24 ч» и «7 дней», границы можно задать и вручную, с точностью до секунды. Один период — не длиннее 31 дня: дальше календарь выбрать не даст. Более ранние запросы ищите, сдвинув период на нужные даты.
Под периодом — остальные фильтры. Они складываются: в списке остаются запросы, которые подходят под все условия сразу. Кнопка сброса снимает все фильтры, включая период.
| Фильтр | Как работает |
|---|---|
| Метод | GET, POST, PATCH, PUT или DELETE |
| Путь начинается с | Начало пути запроса. Например, /v1/api/ оставит только запросы касс и других систем, /v1/api/orders — только запросы заказов |
| Класс статуса | «2xx — успех», «3xx — перенаправление», «4xx — ошибка клиента», «5xx — ошибка сервера» |
| Код ответа | Точный код, например 404. Класс статуса и точный код взаимоисключающие: выбор одного очищает другой |
| Авторизация | «Касса (API-ключ)» или «Админка (JWT)». Самый быстрый способ убрать из списка действия сотрудников и оставить только интеграции |
| Correlation ID | Точное совпадение с идентификатором запроса (см. ниже) |
| Поиск по телам, от 3 символов | Ищет текст в теле запроса или ответа без учёта регистра: номер чека, телефон гостя, код промокода. Поиск просматривает все записи периода подряд, поэтому на длинном периоде он медленный — сначала сузьте период |
Фильтры сохраняются в адресной строке: ссылку на отфильтрованный список можно отправить коллеге с тем же доступом.
Карточка запроса#

Заголовок карточки — метод и путь, например «Запрос GET /v1/api/orders/by-external-id/CHK-000123». Слева — два блока, «Запрос» и «Ответ». В каждом есть «Заголовки» (по алфавиту) и «Тело». JSON-тело показано с отступами, значок рядом со словом «Тело» копирует его целиком. Если тела нет, написано «Тела нет».
Справа — сведения о запросе:
| Строка | Что показывает |
|---|---|
| Время | Дата и время с секундами |
| Метод и путь | Полный путь запроса |
| Query-параметры | Параметры после ? в адресе, если они были; значок копирует строку |
| Статус | Код ответа |
| Длительность | Время обработки, мс |
| IP клиента | Адрес, с которого пришёл запрос |
| User-Agent | Программа, которая отправила запрос: кассовое ПО, браузер |
| Авторизация | Касса (API-ключ) или админка (JWT) |
| Субъект | Интеграция и ключ или имя сотрудника, ниже — технический идентификатор |
| Correlation ID | Полный идентификатор запроса со значком копирования |
Как найти ошибку интеграции по Correlation ID#
Correlation ID — уникальный идентификатор, который платформа присваивает каждому запросу. Он есть в каждом ответе платформы, в том числе в ответе с ошибкой: в заголовке X-Correlation-Id и в поле meta.correlationId тела ответа. Если касса сама передаёт свой X-Correlation-Id, платформа использует его. По этому идентификатору запрос находится в журнале однозначно.

- Попросите у интегратора Correlation ID проблемного запроса. Он берёт его из ответа платформы, сохранённого в логах кассы или сайта.
- Откройте «Журнал запросов» и вставьте значение в фильтр «Correlation ID». Поиск идёт по точному совпадению.
- Если запрос был раньше чем 24 часа назад, выберите период, на который он пришёлся: фильтр ищет только внутри периода.
- Откройте найденную строку. В блоке «Запрос» видно, что прислала касса, в блоке «Ответ» — что ответила платформа. У ответа с ошибкой в теле есть код (
error.code), описание (error.message, на английском) и, для ошибок проверки, список полей с причинами (error.details).
Если Correlation ID нет, сузьте список фильтрами: «Авторизация» → «Касса (API-ключ)», «Класс статуса» → «4xx — ошибка клиента» и период, когда гость стоял на кассе. Можно поискать и по телам: номер чека или телефон гостя.
Что обычно означает код ответа:
| Код | Что произошло | Что делать |
|---|---|---|
| 400 | Касса прислала неверные данные | В error.details указаны поле и причина, например items[0].name. Передайте интегратору |
| 403 | У API-ключа нет нужного права (API_KEY_SCOPE_REQUIRED) |
Добавьте право ключу в разделе «Интеграции» или выпустите ключ с нужными правами |
| 404 | Не найден клиент, заказ или точка продаж. Например, LOCATION_NOT_FOUND — касса передала неизвестный код точки |
Проверьте данные в запросе и справочник «Филиалы» |
| 409 | Конфликт: суммы изменились между расчётом и подтверждением (ORDER_CALCULATION_DRIFT) или внешний ID заказа уже занят другим заказом (ORDER_EXTERNAL_ID_CONFLICT) |
При расхождении сумм касса показывает гостю новую сумму и подтверждает заказ повторно. При занятом ID — проверьте, не проведён ли этот заказ раньше |
| 422 | Бизнес-отказ: не хватает бонусов, промокод истёк | Это не сбой интеграции, а правило программы |
| 5xx | Ошибка на стороне платформы | Передайте Correlation ID в поддержку платформы |
Что скрыто в записи#
Пароли, ключи и токены скрываются ещё до записи в журнал. Восстановить скрытое нельзя — ни вам, ни администратору платформы.
- Заголовки с ключами и токенами —
authorization,x-api-key,cookie,set-cookie,proxy-authorization,x-refresh-token: вместо значения***с пометкой «скрыто». - Поля с паролями, токенами и секретами в любом JSON-теле —
password,newPassword,currentPassword,token,accessToken,refreshToken,secret,webhookSecret,rawKey— заменены на***, остальное тело видно. - Тело целиком заменено на
***с пометкой «скрыто» у запросов, где секретом или персональными данными является всё содержимое: вход, обновление сеанса и восстановление пароля; запросы к API-ключам интеграций (создание, показ ключа, отзыв); подписки на вебхуки (секрет подписи); список акций для гостя (/v1/api/promotions/available— в нём телефон гостя); выгрузка номеров тиража карт лояльности; просмотр самого журнала. У скрытого тела нет кнопки копирования.

Остальное — телефоны и имена клиентов, суммы, состав чеков — записано как есть. Поэтому журнал и доступен только администратору организации.
Тело длиннее 64 КБ обрезается. Вместо файлов (PDF, выгрузки Excel) записано [binary content].
Каких запросов нет в журнале#
Журнал показывает только запросы, сделанные от имени вашей организации: запросы касс и других систем по ключам ваших интеграций и действия сотрудников в админ-панели вашей организации. В нём нет:
- запросов других организаций — даже если у сотрудника есть доступ в несколько организаций;
- запросов, не привязанных к организации: вход в систему, восстановление пароля, запросы без авторизации. Сюда же относятся запросы, которые платформа отклонила ещё при проверке API-ключа: ключ не передан, неверный или больше не действует, либо у ключа нет права на этот запрос. Касса в этих случаях получает ответ 401 или 403 с причиной («Invalid API key», «Insufficient scope»), и разбирать такую ошибку нужно по этому ответу;
- личных и платформенных запросов сотрудников: профиль и смена пароля, список организаций сотрудника, работа администратора платформы в платформенной части панели. Такие запросы могут быть выполнены, пока сотрудник находится в вашей организации, но относятся они к самому человеку, а не к организации, и содержат данные других организаций. Поэтому журнал организации их не показывает. Администратор платформы видит все запросы в отдельном журнале платформы.
Ваши собственные просмотры журнала в нём тоже видны: это строки GET /v1/tenant-admin/request-logs, их тела скрыты. Чтобы они не мешали, поставьте фильтр «Авторизация» → «Касса (API-ключ)».
Кто что может#
| Роль | Доступ к разделу |
|---|---|
| Администратор организации (TENANT_ADMIN) | Просмотр списка и карточек запросов своей организации |
| Остальные роли, в том числе Администратор платформы без роли администратора в организации | Раздел не виден |
Журнал только для чтения: записи нельзя изменить или удалить. Права администратора платформа проверяет при каждом открытии журнала. Если у сотрудника отозвали роль администратора, журнал перестаёт у него открываться сразу, не дожидаясь окончания сеанса.