Интеграция облачной кассы с сервисом leeloo была одновременно простой и слегка непонятной:
Но обо всем по подробнее.
Вариант представленной здесь интеграции специфичен для конкретно моего случая и может быть только опциональным для других клиентов сервиса leeloo.
Я сам не до конца понимал что это, поэтому немного ознакомился с платформой и в этом разделе кратко резюмирую.
LEELOO.AI — платформа для комплексной автоматизации пути клиента от первого клика до регулярных продаж.
Вкратце, leeloo это:
Но для российского рынка, с его 54-ФЗ обязывающего торговцев в онлайне использовать контрольно-кассовую технику, leeloo не имеет интеграций с облачными кассами.
Для серфинга и работы я использую firefox, но страница с виджетами, которая открывается сразу после авторизации в личном кабинете, некорретно отображается.
Я решил отправить в техническую поддержку баг-репорт, на что получил четкий ответ: leeloo сделана для использования в google chrome.
Документация leeloo достаточно понятная, есть 2 версии v1 (устаревшая, но судя по ajax запросам используемая в веб-интерфейсе личного кабинета) и v2 (рекомендуемая).
Вспоминая опыт интеграции с Tilda, первым делом я решил узнать про WebHook leeloo, и он здесь есть, при чем исчерпывающий, по сравнению с Tilda.
Заходим в Настройки
-Интеграции-
Leeloo.ai API` и по документации (ссылка выше) настраиваем WebHook.
Надо обратить внимание на "Время следующей синхронизации", по моим наблюдением это время следующей отправки всех накопившихся WebHook'ов (то есть данные придут не точно в момент создания события, а с небольшой задержкой).
Данные можно получать по 4 видам операций на сервисе, однако для интеграции облачной кассы, нужно реагировать только на события продажи, причем речь идет об оплаченных заказах.
А по указанному URL
получаем следующие POST
данные:
{
"events":[
{
"type":"SALE",
"data":{
"order_id":"6116087b2882bf155152ada4",
"account_id":"6111277787303c11277c55c6",
"person_id":"6111211117303c6a839c55c5",
"offer_id":"60786732a41628881101f8bb",
"offer_name":"Название оффера",
"price":30240,
"price_usd":395.8972542555293,
"currency":"RUB",
"payment_method":"603ca3e25875340012dc8c3a",
"email":"byurrer@mail.ru",
"phone":"+79999999999",
"connection_id":"600f1b9c04b963000eb9fc07",
"created_at":"2021-08-13T05:53:12.687Z",
"account_name":"Виталий Бутурлин",
"connection_name":"Тестовый заказ"
}
}
]
}
В отличии от многих других сервисов, leeloo предоставляет идентификаторы заказов/юзеров/прочего в строковом представлении. Из-за чего пришлось модифицировать API и БД принимающего сервиса, так как другие интеграции использовали unsigned int
.
Просматривая
POST
данные видно что в одном запросе речь идет о покупке только одного товара/услуги.
В ходе интеграции и общения с партнером выяснилось, что единственным вариантом идентификации клиента является ключ payment_method
, который указывает на идентификатор платежной системы клиента. Этот идентификатор можно найти в Настройки-Интеграции-Платежи-Id для вызовов API
.
Тестирование интеграции проводили путем создания нового ЛГТ (лидогенерационного туннеля???) через leeloo на сайте партнера.
К слову, с момента первой интеграции и до написания этой статьи, интерфейс оплаты был доработан.
Ссылку клиент получает через мессенджер, при общении с ботом.
Поддержка нормальная. Если обратиться в чат WhatsApp или Telegram то сначала получаем кучу приветсвий, затем ведем общение с ботом, потом бот понимает что не справляется и передает диалог человеку.
На вопросы получал ответ, не быстро, потому что общался сам напрямую. Но после исчерпания моего терпения подключил клиента, у которого как оказалось была премиум поддержка. В целом удовлетворительно.
В целом впечателния после интеграции с сервисом Leeloo.ai позитивные, так как действий со стороны подключаемого внешнего сервиса немного - достаточно реагировать на WebHook. Действий со стороны интегратора больше - нужно вникнуть в суть интеграции и хоть немного понять что это за сервис :)
Объем кода интеграции составил ~80 строк.