Как передать данные из чат-бота в Mindbox
Связка между Mindbox и чат-ботом позволяет наполнять профиль на платформе данными из мессенджера.
Настроить передачу данных из чат-бота в Mindbox
Принцип следующий:
1. Создайте операцию, которая будет передавать на платформу собранные данные, например:
2. Соберите нужные данные от пользователя в чате.
Выбор компонента в Botmother зависит от типа принимаемых данных.
Строки, числа, даты
Для строки, числа, даты подойдет «Ввод от пользователя».
В нем нужно задать переменную, в которой сохранится ответ. Далее, с помощью этой переменной, ответ будет передан в Mindbox.
Также нужно указать ожидаемый тип данных.
При сборе дат нужно учитывать, что Botmother записывает их в формате "Mon Jan 01 1990 00:00:00 GMT+0300 (Москва, стандартное время)"
Поэтому нужно либо поправить ответ с помощью функции formatDate, либо задать регулярное выражение, например ^\d\d\.\d\d\.\d\d\d\d$
для формата дд.мм.гггг:
Пол, логический тип, перечисление
Когда пользователь должен выбрать один из двух вариантов, удобно использовать компонент «Кнопки» или «Кнопки с подсказками».
В компоненте:
- добавьте кнопки под оба варианта ответа;
- укажите текст на кнопке;
- для каждого варианта задайте:
- имя переменной — где будет храниться ответ пользователя; должна быть одинаковой для обоих вариантов.;
- значение переменной — какое значение будет передано дальше, если клиент выберет этот вариант. Нужно учитывать принимаемые форматы на стороне Mindbox
Например, запишем пол пользователя.
Ответ пользователя будем записывать в переменной gender
.
Есть несколько принимаемых форматов для пола: m/f, m/w, male/female
Остановимся на последнем и запишем в качестве ответов варианты ответа female и male:
При клике на «Женский» в переменной gender записывается значение female, которое дальше можно передать на платформу.
3. Передайте собранные данные в Mindbox.
На нужном экране добавьте компонент «Запрос».
Для его заполнения можно сверяться с ранее созданной операцией:
- Метод запроса — POST
- URL запроса — скопируйте из спецификации, указав корректную точку интеграции и синхронный тип вызова.
- Заголовки — скопируйте из спецификации JSON-формата. Секретный ключ точки интеграции можно взять с ее страницы.
- «Использовать парсер» — JSON
- Тело запроса — скопируйте из спецификации JSON-формата и поставьте параметры BotMother в качестве их значений.
Подробнее по последнему пункту.
Шаблон тела запроса в Mindbox для передачи имени, даты рождения и пола выглядит следующим образом:
{
"customer": {
"ids": {
"telegramID": "<TelegramID>"
},
"firstName": "{Имя}",
"birthDate": "{Дата рождения}",
"sex": "{Пол}"
}
}
"telegramID" — системное имя идентификатора в телеграм. Создается вручную как дополнительное поле типа идентификатор, поэтому может отличаться от проекта к проекту.
В значение идентификатора, вместо <TelegramID>
, нужно записать переменную Botmother — {{this_user.platform_id}}
Для имени, даты и пола в полях ввода были заданы переменные name, birthdate и gender соответственно. Переменные в Botmother выводятся так: {{переменная}}
Получается код для компонента:
{
"customer": {
"ids": {
"telegramID": "{{this_user.platform_id}}"
},
"firstName": "{{name}}",
"birthDate": "{{birthdate}}",
"sex": "{{gender}}"
}
}