[Платежные системы, API, Визуальное программирование] Как автоматизировать процессы с помощью конструктором с low code: пример платных парковок

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
22-Ноя-2020 17:31

Давно хотел погрузиться в нишу No code или Zero code. И вот, наконец, появилась задачка, которую решил собрать из на конструкторах.
Дано
Магазин с большой парковкой решили автоматизировать работу своего парковочного пространства. Нужно было собрать ботак, который должен был научиться собирать платежи за парковку, оформлять абонементы с рекуррентные платежи.
Ребята хотели помочь людям быстро оплачивать парковочное место, а также стимулировать их пользоваться парковкой как отдельным продуктом (то есть просто оставлять автомобиль на этой парковке и идти по своим делам, а не в сам гипермаркет).
Как было раньше?
Пользователь приезжает на парковку, получает парковочную карту, идет за покупками. Если он успел решить свои дела до окончания срока бесплатной парковки, то он оставляет в терминале парковочную карту, подъезжает к шлагбауму и уезжает. Если же лимит превышен и парковку нужно оплатить, то часто пользователь спохватывается уже около шлагбаума. Это значит, что ему нужно развернуться, подойти к терминалу, оплатить и только потом вернуться и выехать. Все это время остальные водители его ненавидят.
Что нужно было сделать?
На парковочной карте появляется QR-код. Сканируя его, пользователь попадает в браузерное окно, где с ним будет разговаривать бот в разных браузерах. Он проинформирует, нужно ли оплатить парковку, примет платеж и «выпустит» пользователя с парковки. К терминалу ехать больше не нужно. Кроме того, задачей бота было делать из разовых посетителей постоянных. В диалоге он сразу говорит пользователю: „Знаешь, ты мог бы оставлять у нас авто всегда… давай это сделаем!“ — и так в моменте продает парковку.
Для решения задачи нам нужно было интегрировать 4 системы
Парковочные терминалы r-p-s.ru — которые уже стояли у клиента.
CRM клиента — bitrix24.ru — которая уже была настроена.
Интерфейс для взаимодействия с пользователем. Тут мы выбрали Borisbot потому, что
есть браузерная версия и версия в мессенджерах. + удобные форма работы с переменными.
Система платежей — для реккурентов cloudpayments — лучшие.
Архитектура бота состояла из блоков, которые можно создавать в web-интерфейсе. Нужно было научить бота отправлять и принимать переменные с внешних сервисов и иметь возможность использовать их в диалоге. Сейчас я покажу, что в итоге получилось „под капотом“.
Шаг 1
Сначала нужно было решить понять, как получать данные парковочной карты по QR-коду, который на ней размещен. Когда клиент сканирует QR-код, бот знакомится с ним и просит ввести номер карты. Далее бот отправляет запрос во внешнюю парковочную систему (ту, которая открывает и закрывает шлагбаум) и спрашивает, был ли этот клиент здесь раньше. В конструкторе это делается через блок HHTP запрос.

Шаг 2
Мы пришли никольную возможность создавать переменные на каждый блок в конструкторе.
Передавать переменные на внешние сервисы и получать ответы можно с помощью блока „HTTP-запрос»: %answer_XX%, где xx — номер блока. Каждый ответ проверяется через true/false, от него можно продолжить разные ветки скрипта. Например, если мы получаем ответ success и это = true, то идет маршрут вправо. А если использовать переменные в открытом тексте, то они заменяются на значения.

Шаг 3
Затем нам нужно было подтягивать данные клиента из парковочной системы и маршрутизировать варианты:
  • если платежная карта клиента имеет положительный баланс, то предлагать подписаться на тариф (то есть оставлять авто время от времени, оплачивая услуги парковки по абонементу)
  • если клиент соглашается, то помогать с выбором тарифа и подписывать на рекуррентные платежи (абонемент)
  • если платежная карта клиента с отрицательные балансом, то пополнять баланс на недостающую сумму

Для этого пригодился блок “Маршрутизатор”, который помогает определить значение переменных и маршрутизировать цепочку диалогов в зависимости от ответа HHTP-запроса. Так мы выясняем, пользуется ли клиент каким-либо тарифом, и бот предлагает его открыть или продлить.

Шаг 4
Длее нужно было использовать в коммуникации с пользователем переменные из внешний систем. Данные, которые приходят из внешней системы, мы можем выводить в боте с помощью блока “HHTP-запрос” и использованию переменных с автозаменой. Например, это может быть номер карты, имя клиента, его номер телефона, название тарифа и так далее. Вот посмотрите как это работает в конструкторе.

Тут %answer_4% — автозаменяется на ответ из Блока 4
%response_5_client.email% — автозаменяется на HHTP-ответ в блоке 5 с полем client.email.
Шаг 5
Далее нам нужно было создать возможность привязки к кнопке конкретного продукта (простой разовой оплаты парковки или подписки, где можно применять рекуррентные платежи) Это позволяет добавлять продукты с кнопками к любым других блокам один или несколько раз. Выбранный продукт автоматически добавляется в корзину.

Шаг 6
Последняя часть — это блок 20, где происходит оплата и выбирается заранее настроенная платежная система.
Ответы можно маршрутизировать. В данном кейсе в случае успешной оплаты HHTP-запрос вносит изменение во внешнюю парковочную систему — простыми словами, в случае успешной оплаты открывается шлагбаум. В случае ошибки мы отправляем пользователю в диалог сообщение об ошибке.

Посмотреть, что получилось, можно тут
Конечно, в готовых конструкторах есть ограничение по нагрузкам, но зато вы получаете преимущество в скорости разработки и можете на конструкторах решать по настоящему сложные решения. Погружение и реализация заняла несколько недель, но это точно быстрее и дешевле чем писать все с нуля. Тут достаточно понимать как работают переменные и API запросы, а дальше уже можно создавать любые сложные решения в удобных конструкторах.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_platezhnye_sistemy (Платежные системы), #_api, #_vizualnoe_programmirovanie (Визуальное программирование), #_nocode, #_zerocode, #_avtomatizatsija (автоматизация), #_platezhnye_sistemy (
Платежные системы
)
, #_api, #_vizualnoe_programmirovanie (
Визуальное программирование
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 18:46
Часовой пояс: UTC + 5