Включается по обращению в поддержку.
Возможности
Форма собирается из описания самой интеграции
Кабинет не знает, что за система перед ним. Набор полей, их названия, пояснения, группы, обязательность и вид ввода объявляет сама интеграция; появилось описание — появилась форма, без доработки кабинета.
Виды ввода: строка, число, переключатель, скрытый ввод для секретов, выбор одного значения, выбор нескольких, список строк, таблица соответствий «ключ → значение», таблица правил из нескольких колонок.
Длинная форма разложена по группам: слева имя поля и пояснение, справа сам ввод. У больших форм группы складываются, а раскрытой сразу оказывается та, где есть незаполненное обязательное поле.
Значения, которые знает внешняя система
- Поля, значения которых живут во внешней системе, заполняются выбором из списка, а не набором кода вручную.
- Список запрашивается в момент раскрытия, с поиском по названию и по коду и с подгрузкой следующих страниц; видно, сколько значений всего и сколько нашлось.
- Пока список не раскрывали, заданное значение показано кодом. Так же показано значение, которого во внешней системе больше нет: оно не превращается молча в «не задано», потому что в настройке оно стоит и работает.
- Если список не пришёл, поле объясняет причину словами той стороны, а не пустотой, и предлагает повтор там, где повтор может помочь.
Уровни и наследование
Одна и та же настройка задаётся на разных уровнях: у организации, у точки, у подключения к кассе, у точки внутри подключения, у платёжной настройки. Незаданное берётся с уровня выше — поле помечено «Унаследовано» и показывает, откуда пришло значение. Своё значение снимается кнопкой «Сбросить», и поле снова начинает брать значение с уровня выше.
Так у каждой точки может быть своё поведение при общих настройках организации: например, в одной точке заказы уходят в кассу сразу, а в другой — после подтверждения.
Так же устроена настройка «Группа скидок» в интеграции iiko, которая настраивается на уровне организации и точки: значение точки перекрывает значение организации, а коды скидок акции подбираются под группу только по точному совпадению имени.
Секреты и права
- Сохранённый пароль или ключ доступа не показывается: в поле стоит маска, и оставленная маска означает «не менять».
- Поле, которое сотруднику нельзя менять, приходит только на чтение; настройка, к которой у него нет доступа, в форме не появляется вовсе.
Действия
- Под полями — блок «Действия»: кнопки с пояснением, что каждая делает. Набор действий объявляет сама интеграция, надписи и пояснения приходят вместе с описанием.
- Действие, меняющее состояние во внешней системе, спрашивает подтверждение и объясняет последствие, а не спрашивает «вы уверены?».
- Результат показан разбором: строка-итог и, если действию есть что показать, таблица по точкам с состоянием каждой.
- Сейчас объявлены: проверка связи — у подключений к кассе; включение, проверка и снятие приёма событий из кассы — у iiko.
Проверки перед сохранением
- Незаполненное обязательное поле, повторяющийся ключ в таблице соответствий и неразобранное сложное значение блокируют сохранение и объясняют, что не так.
- Строка таблицы, в которой не заполнено ничего, на сервер не уходит. Пустая колонка в заполненной строке уходит: у правил пустое значение означает «любой».
Как настроить
Где открыть
В кабинете, в настройках организации — раздел «Интеграции». Слева список подключений к кассам, карточка открывается рядом: имя, протокол, признак «Работает», список обслуживаемых точек и ниже заголовок «Настройки протокола» с самой формой.
Настройки интеграции у организации и у точки открываются из перечня подключённых интеграций на карточке организации или карточке точки.
Что задаётся
- Обязательные поля отмечены; пока они пусты, сохранение недоступно.
- Кнопка сохранения одна на карточку: сама запись и её настройки сохраняются вместе.
- «Отменить» возвращает поля к сохранённому состоянию.
- «Сбросить» у поля снимает своё значение и возвращает наследование с уровня выше.
- Секрет вводится скрытым полем; чтобы оставить прежний, поле не трогают.
Кто может
Право на настройки организации и роль администратора организации. Отдельные поля могут прийти только на чтение — это решает описание настройки, а не форма.
Что должно быть настроено и ограничения
- Форма появляется только у той интеграции, для которой объявлено описание настроек. Сейчас оно есть у шести кассовых протоколов в схеме подключений и у части интеграций, настраиваемых на уровне организации и точки.
- Подключения к кассам заводятся и настраиваются, но участвуют в работе только после того, как организация переведена на схему подключений; до этого форма прямо об этом предупреждает, а заказы и меню идут прежним путём.
- Значения из внешней системы приходят только при заполненной учётной записи: пока не задан ключ доступа или к подключению не привязана точка с кодом, списки не строятся — форма называет причину.
- Полученный список держится 30 минут, пустой ответ и отказ — минуту. Сохранение настроек сбрасывает запомненное.
- Внешняя система может отказать или попросить подождать: тогда список не появится, сколько ни открывай поле.
- Действие затрагивает не только это заведение. Адрес, по которому касса шлёт события, у неё один на организацию: включение приёма уводит события у того, кто настроен на те же точки. Форма спрашивает подтверждение и показывает, кого это затронет.
- Подключение, по которому уже уходили заказы, удалить нельзя — только выключить.
- Точка без кода в кассе в обмене не участвует: заказ по ней в кассу не уйдёт.
- Раздел виден только с правом на настройки организации.
Чего нет
- Не заводит запись. Подключение к кассе создаётся отдельной формой, настройки открываются у уже существующей записи.
- Не показывает полей у интеграции, для которой описание настроек не объявлено: форма прямо сообщает, что настраивать нечего.
- Не расшифровывает заданное значение, пока список не раскрыт.
- Не проверяет связь сама. Проверка и любое другое действие выполняются нажатием; регулярной сверки того, что записано во внешней системе, нет.
- Не хранит историю правок: кто и когда менял настройку, форма не показывает.
- Не отменяет сохранённое. «Отменить» возвращает поля к сохранённому состоянию только до сохранения.
- Не показывает журнал обмена: что именно ушло в кассу и что она ответила, видно не здесь.
- Код точки в кассе задаётся не здесь — он живёт в связи точки с подключением.
- Не разбирает импорт меню. Здесь задаётся, как импорт себя ведёт; сверка меню с кассой и применение изменений — отдельная работа на своём экране.
Примеры
Завести подключение к кассе и убедиться, что оно отвечает
- В настройках открыть «Интеграции» и создать подключение: имя, протокол, обслуживаемые точки.
- Открыть карточку созданного подключения — ниже реквизитов появится форма настроек протокола, раскрытой будет группа с незаполненной учётной записью.
- Заполнить учётные данные и сохранить: кнопка сохраняет и запись, и настройки.
- Нажать «Проверить связь» и прочитать ответ — он говорит, ответила ли касса с этой учётной записью.
- Раскрыть поле выбора организации или терминальной группы: список подтянется из кассы, и станет видно, что учётные данные приняты.
Задать одной точке поведение, отличное от общего
- Открыть настройки интеграции на уровне точки. Поля, у которых своего значения нет, помечены «Унаследовано» и показывают то, что задано выше.
- Задать нужное значение — например, чтобы заказы этой точки уходили в кассу только после подтверждения, тогда как в остальных они уходят сразу.
- Сохранить. У поля появится «Сбросить»: им значение возвращается к унаследованному, и точка снова начинает жить по общим настройкам.
Включить приём событий из кассы
- В блоке «Действия» нажать кнопку с многоточием в подписи — от нажатия действие не выполнится, сначала спросят.
- Прочитать вопрос: он объясняет, что адрес у кассы один на организацию и что приём событий уйдёт от того, кто настроен на те же точки.
- Подтвердить.
- Разобрать отчёт: строка-итог и таблица по точкам, где видно, у каких точек адрес встал, а у каких нет. Частичный успех — обычный исход; повторять его вслепую не нужно, состояние в кассе уже изменилось.