Возможности
Где живёт
- Раздел «Журнал» в кабинете — общая лента по всей организации.
- Вкладка «Журнал» в карточке заказа — та же лента, заранее суженная до этого заказа. Рядом с ней стоит вкладка «История изменений», и это разные вещи: там правки сотрудников, здесь обмен с внешними системами.
- Страница журнала рядом с настройками подключения кассы — операции этого подключения списком, с переходом в общий журнал.
Что видно в записи
- время события, источник (какая внешняя система), уровень, название операции и текст;
- в раскрытом событии текст повторяется отдельным блоком «Текст»: его можно выделить мышью или скопировать кнопкой. В самой строке списка текст не выделяется — нажатие на строку раскрывает событие;
- «Запрос» и «Ответ» — что ушло во внешнюю систему и что она вернула. Тело показывается целиком, а названия полей — ровно такими, какими они ушли и пришли, без переименования. У каждого из двух блоков есть кнопка «Скопировать»: она копирует тело целиком, как оно видно на экране;
- «Изменения» — было и стало, если событие меняло данные;
- поля события: номер заказа, ресторан, внешний номер заказа, провайдер. Набор полей свой у каждого источника, и по этим же полям идёт отбор.
Какие операции попадают в журнал
Экспорт заказа, обновление статуса заказа, обновление заказа, импорт меню, импорт цен, обновление стоп-листов, обновление остатков, очистка меню, импорт заказов, импорт столов, импорт курьеров, проверка изменений внешнего меню. Помимо обмена с кассой в журнал пишутся эквайринг, аутсорс доставки, агрегаторы, отправка уведомлений и авторизация по телефону — по одному и тому же устройству, поэтому и смотрятся они одинаково.
Отбор и поиск
Источник, уровень, тип объекта вместе с его номером, период, поиск по тексту события. Условия остаются в адресе страницы — отобранную выборку можно сохранить себе или отдать коллеге. В карточке заказа фильтр короткий: источник и уровень.
Операция целиком и ссылка наружу
События одной операции собираются в трейс — от первого к последнему, со счётчиком событий и признаком ошибки, даже если операция шла минутами и дала сотни строк. У операции создаётся «Публичная ссылка»: её видно в самом окне, можно скопировать, отдать наружу и удалить. Открывается она без входа в кабинет.
Разбор ошибки словами
Для частых ответов внешних систем заведено соответствие «что вернулось → что это значит». Когда оно есть, карточка заказа показывает разобранный текст вместо исходного ответа кассы, а в ленте заказов в момент сбоя всплывает сообщение об ошибке кассы с тем же текстом.
Как настроить
Отдельной настройки у журнала нет — он ведётся сам, включать и заполнять нечего. Чтобы им пользоваться, нужны две вещи.
- Доступ. Раздел открыт учётной записи с ролью «Администратор». У остальных ролей кабинета его нет — ни ленты, ни публичной ссылки.
- Подключённая внешняя система. Пока касса, агрегатор, курьерская служба или эквайринг не подключены, писать в журнал нечего. Список источников в отборе собирается из того, по чему у организации реально есть записи, поэтому у свежего заведения он короткий и растёт по мере подключений.
Публичная ссылка на операцию создаётся прямо в её окне и там же удаляется — заявок и отдельных разрешений для неё не нужно.
Что должно быть настроено и ограничения
- Срок хранения. Почти по всем источникам — 60 дней; у реферальной программы — 30. Что старше, в журнале не найдётся, поэтому разбирать давнюю историю по нему нельзя.
- Срок жизни ссылки. Публичная ссылка действует неделю; после этого её создают заново. Пока она жива, операцию видит любой, у кого есть адрес, — ссылка не спрашивает вход.
- Объём за раз. Лента отдаёт до 100 операций и до 500 событий внутри одной операции; остальное догружается прокруткой.
- Не все источники видны. Журнал показывает только те источники, которые открыты заведению; часть служебных в него не попадает.
- Уровни — информация, предупреждение, ошибка. Более подробные записи наружу не выводятся.
- Разбор ошибки есть не всегда. Если для ответа внешней системы соответствия не заведено, в карточке заказа будет исходный текст, как его вернула касса.
- Записи не редактируются и не удаляются — ни заведением, ни поштучно.
- Секреты замаскированы. Пароли, ключи API, токены и заголовки авторизации маскируются ещё при записи в журнал: от значения остаются первые символы и «…». Кнопка «Скопировать» отдаёт уже замаскированное. Исключение — токен устройства гостя в событиях отправки уведомлений: он виден намеренно, по нему разбирают, до какого устройства дошло уведомление.
- Тело заказа в формате JSON. Событие, идущее сразу после «Тело заказа:», содержит тело в тексте, но не в формате JSON, а в отладочном виде, и как JSON его не вставить. То же тело в формате JSON лежит в «Запросе» итогового события выгрузки — «Экспорт заказа завершен» или «Экспорт заказа прерван».
Чего нет
- Не показывает, что происходит внутри внешней системы. В журнале только то, что ушло и что вернулось; почему касса ответила именно так, видно её владельцу.
- Не хранит записи вечно — сроки в ограничениях ниже.
- Не уведомляет сам. Письмо «Получение ошибки отправки заказа на кассу» — это подписка в карточке сотрудника, отдельная вещь.
- Не чинит. Повторная отправка заказа делается в карточке заказа и имеет свой лимит попыток — Подключение к кассе.
- Не заменяет ленту действий сотрудников: кто из людей что поменял в заказе — вкладка «История изменений», История изменений и комментарии к заказу.
- Не выгружается файлом. Наружу отдаётся ссылка на одну операцию, а не журнал целиком, и нет ни отправки на почту, ни выгрузки таблицей.
- Не считает точно. Число записей приблизительное, пока не запросить точный подсчёт отдельно.
- Не отвечает на вопрос «покажи все события по заказам вообще»: отбор по типу объекта работает только вместе с номером конкретного объекта.
- Не сводит воедино несколько организаций: видно только свою.
Примеры
Заказ не появился на кухне
- Оператор видит в ленте заказов значение «Ошибка отправки» в колонке «POS статус».
- Открывает карточку заказа и читает разобранный текст ошибки.
- Если текста мало — переходит на вкладку «Журнал» в той же карточке: там события обмена только по этому заказу.
- Раскрывает последнее событие с ошибкой и смотрит «Ответ» — что именно вернула касса.
- По ответу решает, чья это работа: поправить позицию у себя, обратиться к тому, кто ведёт кассу, или повторить отправку из карточки заказа.
После импорта меню часть позиций не приехала
- Управляющий запускает импорт меню из кассы и следит за ходом по журналу.
- Когда операция завершилась, открывает её в разделе «Журнал» и отбирает уровень «предупреждение».
- Находит по названию позиции события с расхождениями — у блюда нет фото, у модификатора не сошлись количества.
- Правит то, что относится к его стороне, и повторяет импорт.
Передать операцию тому, кто ведёт внешнюю систему
- Администратор находит операцию в разделе «Журнал» — по номеру заказа, периоду или источнику.
- Открывает её и создаёт публичную ссылку.
- Копирует адрес и отправляет тому, кто отвечает за кассу или площадку.
- Тот открывает операцию без входа в кабинет и видит те же запросы и ответы.
- Когда вопрос закрыт, администратор удаляет ссылку, не дожидаясь, пока она истечёт сама.