Опыт интеграции с leeloo.ai

2021.08.13
Обзор разработки интеграции облачной кассы с сервисом Leeloo.ai при помощи WebHook при оплате заказов
php

Интеграция облачной кассы с сервисом leeloo была одновременно простой и слегка непонятной:

Но обо всем по подробнее.

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

Что такое leeloo?

Я сам не до конца понимал что это, поэтому немного ознакомился с платформой и в этом разделе кратко резюмирую.

LEELOO.AI — платформа для комплексной автоматизации пути клиента от первого клика до регулярных продаж.

Вкратце, leeloo это:

Но для российского рынка, с его 54-ФЗ обязывающего торговцев в онлайне использовать контрольно-кассовую технику, leeloo не имеет интеграций с облачными кассами.

ЛК и firefox

Для серфинга и работы я использую firefox, но страница с виджетами, которая открывается сразу после авторизации в личном кабинете, некорретно отображается.

Личный кабинет leeloo в браузере firefox

Я решил отправить в техническую поддержку баг-репорт, на что получил четкий ответ: leeloo сделана для использования в google chrome.

Ответ технической поддержки leeloo о баг-репорте в браузере firefox

Документация

Документация leeloo достаточно понятная, есть 2 версии v1 (устаревшая, но судя по ajax запросам используемая в веб-интерфейсе личного кабинета) и v2 (рекомендуемая).

Вспоминая опыт интеграции с Tilda, первым делом я решил узнать про WebHook leeloo, и он здесь есть, при чем исчерпывающий, по сравнению с Tilda.

Интеграция по WebHook

Заходим в Настройки-Интеграции-Leeloo.ai API` и по документации (ссылка выше) настраиваем WebHook.

Страница настройки 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 то сначала получаем кучу приветсвий, затем ведем общение с ботом, потом бот понимает что не справляется и передает диалог человеку.

Приветствие Telegram бота leeloo Продолжение приветствия Telegram бота leeloo

На вопросы получал ответ, не быстро, потому что общался сам напрямую. Но после исчерпания моего терпения подключил клиента, у которого как оказалось была премиум поддержка. В целом удовлетворительно.

Итог

В целом впечателния после интеграции с сервисом Leeloo.ai позитивные, так как действий со стороны подключаемого внешнего сервиса немного - достаточно реагировать на WebHook. Действий со стороны интегратора больше - нужно вникнуть в суть интеграции и хоть немного понять что это за сервис :)

Объем кода интеграции составил ~80 строк.

В телеграм канале DevOps от первого лица можно оставить комментарий или почитать интересные истории из практики DevOps