[Платежные системы, API, Визуальное программирование] Как автоматизировать процессы с помощью конструктором с low code: пример платных парковок
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Давно хотел погрузиться в нишу 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
===========
Похожие новости:
- [Информационная безопасность, Платежные системы] Как я нашёл уязвимость в QIWI и заработал $200
- [Интерфейсы, Яндекс API, Расширения для браузеров, Старое железо, Звук] Не спешите выкидывать свой PolyCom
- [Информационная безопасность] Страх перед автоматизацией работы и другие тренды в мировой и российской кибербезопасности
- [PHP, API, Тестирование веб-сервисов, Тестирование мобильных приложений] API для QA: тестируем фичи без доступа к коду
- [JavaScript] Делаем симулятор двухпозиционного регулятора на JavaScript
- [Разработка под MacOS, Разработка под Linux, Разработка под Windows, Визуальное программирование] Фреймворки и библиотеки для кроссплатформенной разработки десктопных программ
- [Firefox, Браузеры] В Firefox 83 внедрили режим «только HTTPS»
- [Управление персоналом] Дает ли автоматизация HR какие-то преимущества в условиях кризиса?
- [Системное администрирование, IT-инфраструктура, Help Desk Software, CRM-системы, Service Desk] Как выбрать Service Desk для управления мобильными сотрудниками? И на что обратить внимание при внедрении?
- [Программирование, Совершенный код, Учебный процесс в IT, Карьера в IT-индустрии] Что такое красивый код и как научиться его писать
Теги для поиска: #_platezhnye_sistemy (Платежные системы), #_api, #_vizualnoe_programmirovanie (Визуальное программирование), #_nocode, #_zerocode, #_avtomatizatsija (автоматизация), #_platezhnye_sistemy (
Платежные системы
), #_api, #_vizualnoe_programmirovanie (
Визуальное программирование
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:46
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Давно хотел погрузиться в нишу 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 =========== Похожие новости:
Платежные системы ), #_api, #_vizualnoe_programmirovanie ( Визуальное программирование ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:46
Часовой пояс: UTC + 5