Как подключить Mindbox и отправлять события

Интеграция с Mindbox позволяет обращаться к операциям Mindbox прямо из DTL-функций сценария бота — например, получать баланс и историю бонусов клиента, его заказы или персональные предложения, и использовать эти данные дальше в диалоге. В статье описан весь путь: предварительная настройка на стороне Mindbox (точка интеграции и сопутствующие сущности), подключение интеграции на стороне Fasttrack и вызов операций из сценария.

Предварительная настройка в Mindbox

Прежде чем подключать интеграцию на стороне Fasttrack, на стороне Mindbox нужно подготовить точку интеграции и несколько сопутствующих сущностей (папку кампаний, шаблоны действий, сегментации, дополнительные поля), а также стандартный набор операций для работы с чат-ботом. Подробное описание каждого шага — в официальной документации Mindbox: «Интеграция чат-ботов в Telegram через Fasttrack».

Как подключить Mindbox

  1. Перейдите в раздел «Интеграции» в правом меню.
  2. Найдите Mindbox в списке и нажмите «Подключить».
  3. Укажите два обязательных поля:
    • Точка интеграции
    • Секретный ключ

Обратный URL-адрес

Если рабочий адрес для интеграции — https://api.s.mindbox.ru, укажите его в поле «Обратный URL адрес».

После этого интеграция подключена, и её операции можно вызывать прямо в DTL-функциях бота.

Как отправлять события (вызывать операции)

Отправка события — это, по сути, вызов операции Mindbox с определённым телом запроса. Делается в два шага.

Шаг 1. Создайте объект — тело запроса

С помощью тега createobj формируем объект, который станет телом отправляемого запроса. Например, для получения данных клиента по номеру телефона:

{% createobj get_contact %}
{
 "page": {
    "pageNumber": "1",
    "itemsPerPage": "10"
},
 "customer": {
 "mobilePhone": "{{attributes.profile_phone_number}}"
 }
}
{% endcreateobj %}

Шаг 2. Вызовите операцию

Тегом mindbox.operation вызываем нужную операцию, передаём в неё созданный объект и сохраняем результат в переменную:

{% mindbox.operation name="ft.GetCustomer" custom_fields=get_contact as operation_ft_GetCustomer %}
{# сохраним результат выполнения операции в переменную operation_ft_GetCustomer #}
{% save_variable "operation_ft_GetCustomer" operation_ft_GetCustomer %}
  • name — название операции/кастомного метода API Mindbox (настраивается в личном кабинете Mindbox; в этом примере — ft.GetCustomer).
  • custom_fields — объект с телом запроса, созданный на шаге 1.
  • as operation_ft_GetCustomer — имя переменной, в которую попадёт ответ операции.

Итог

Чтобы начать работать с Mindbox, достаточно подключить интеграцию (точка интеграции + секретный ключ, при необходимости — обратный URL-адрес), а дальше в любом узле сценария можно собрать тело запроса через createobj и вызвать нужную операцию через mindbox.operation, сохранив результат в переменную для дальнейшего использования в сценарии.