Готовые интеграции с кассовыми программами

1C

1С

Резников Дмитрий
+7 (926) 900-57-97
Telegram @demobot_ru

Меркурий-POS

Mercury-erp

Александр Татарченко
+7 (917) 136-00-20

Штрих-М. Кассир 5

Штрих-М. Кассир 5

ОАЗИС ИТ. Владимир.
+7 (938) 888-71-23

Техническое задание на интеграцию СкидкаБота с кассовой программой

1. Общее описание.

Скидкабот — дисконтный сервис в Telegram. Кассир читает сканером штрихкода предъявленный покупателем QR-код. Программа расшифровывает JSON, содержащийся в этом qr-коде.

После этого кассовая программа отправляет API-запросы к серверу Скидкабота и получает информацию о клиенте и его баланс накопленных бонусов.

После этого кассир выбирает: начислить бонусы клиенту с новой покупки, или списать существующие и сделать скидку.

Кассовая программа вызывает соответствующие API функции Скидкабота в зависимости от выбора кассира.

2. Настройка модуля.

В настройках модуля интеграции две константы типа Integer. Код магазина и Секретный код. Секретный код лучше скрыть под звёздочками, чтобы кассир не мог его подсмотреть случайно.

3. Сканирование QR-кода покупателя.

После сканирования QR-кода сканером вы получите JSON следующего вида:

{"type":"Skidkabot","vendor":4,"client":83532824,"secret":31766}

Либо ошибку, с кодом и описанием.

Важное замечание для сканеров, эмулирующих клавиатуру. Перед сканированием убедитесь, что на компьютере выставлена английская раскладка клавиатуры! Иначе вместо JSON получите ерунду.

В первую очередь необходимо убедиться, что это ваш клиент. Для этого сверить параметр vendor с кодом магазина из настроек. Если совпадают, то переходим к запросу информации о балансе клиента.

Следует иметь в виду, что период действия сгенерированного QR-кода составляет одни сутки. Это сделано для защиты клиентов от случайного копирования. Через сутки клиенту придётся сгенерировать новый QR-код. При этом secret меняется.

4. Запрос информации о покупателе.

Для получения баланса дисконтной карты отправьте на https://skidkabot-max.ru/api_get_balance.php POST-запрос.

POST-параметры: fk_vendor, vendor_secret, fk_client, qr_secret — значения из настроек и из QR-кода.

Пример ответа:

{ "code": 0, "first_name": "Александр", "last_name": "Татарченко", "balance": 2365, "p_plus": 2, "p_minus": 10 }

5. Вывод на экран диалогового окна.

Выводим на экран кассы информацию об имени клиента, его балансе, а также баллы к начислению или списанию — по вашим алгоритмам или используя проценты p_plus и p_minus из личного кабинета.

И две кнопки: «Начислить бонусы» и «Списать бонусы».

Рекомендация: если при списании бонусов сумма списываемых бонусов меньше суммы чека, следует начислить бонусы на ту часть оплаты, которая оплачена деньгами.

6. Функция «Начислить бонусы».

POST на https://skidkabot-max.ru/api_plus_balance.php с параметрами fk_vendor, vendor_secret, fk_client, qr_secret, kassa, summa.

7. Функция «Списать бонусы».

POST на https://skidkabot-max.ru/api_minus_balance.php с теми же идентификаторами и summa.

8. Унифицированное изменение баланса (контур Max).

Дополнительно доступен метод https://skidkabot-max.ru/api_edit_balance.php — см. документацию в личном кабинете.

9. Коды ошибок.

{"code": 0} — без ошибок.

Коды 1–16 — см. ответ API в поле text (как в оригинальной документации СкидкаБота).

Скачать техзадание