Готовые интеграции с кассовыми программами
Резников Дмитрий
+7 (926) 900-57-97
Telegram @demobot_ru
Александр Татарченко
+7 (917) 136-00-20
ОАЗИС ИТ. Владимир.
+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 (как в оригинальной документации СкидкаБота).





