Средства интеграции с внешними системами по API, доступные в платформе Метабота, позволяют выполнять обращения в сторонние системы в любом месте сценария диалога, если возникает такая необходимость.
Разработка интеграций осуществляется с помощью встроенного в ядро платформы V8 JavaScript Engine от Google. Благодаря встроенному языку программирования перед разработчиками открываются неограниченные возможности для профессиональной разработки чат-ботов и чат-приложений.
Наличие огромного количества материалов по JavaScript в профессиональных сообщества Интернета, таких как StackOverflow, делают разработку с помощью платформы Метабот такой же привычной и естественной как и разработка на чистых языка программирования.
Для работы с данными вам доступны таблицы с настраиваемыми полями, а также локальные (пользовательские) и глобальные (на уровне бота/приложения) аттрибуты и тэги.
Пользователям не являющимися профессиональными разработчиками разобраться с интеграциями будет гораздо сложнее. Ниже мы делимся примером бота, который принимает анкету в мессенджере и затем регистрирует новый лид в платформ Битрикс24.
I. Настройте Webhooks на стороне Битрикс24
Создайте новую интеграцию для входящего веб-хука, у которой настройте права на доступ к CRM.
Если вы это делаете впервые, воспользуйтесь статьей Веб-хуки. Быстрый старт.
Скопируйте “Вебхук для вызова rest api”. На следующем шаге вам понадобится ввести этот адрес в настроках вашего бота в Метабот.
II. Добавьте системные атрибуты в бота на стороне Metabot
Создайте две системных атрибута у вашего бота, которые используются при формировании API запросов:
1. Заголовок API вызова
sys_api_headers: {"Accept":"application/json"}
2. Адреc веб-хука для вызова Rest API
sys_api_http_client_config: {"base_uri":"https://ваш_домен.bitrix24.ru/rest/24/ccyr5i4ptyg4neyw/"}
III. Создайте в боте сценарий с анкетой
Например, вы можете собрать следующий сценарий из шести полей:
Обратите внимание, что мы рекомендуем сохранять телефон и имейл пользователя в системные поля sys_phone и sys_email. Платформа использует эти поля для внутренних целей, например, они подставляются в таблицу при экспорте контактов.
IV. Добавьте в боте вызов API метода для создания лида в системе Bitrix24
Перед командой Стоп добавьте вызов JavaScript следующего вида
Список и название полей в массиве fields будет зависеть от ваших настроек CRM. Используте метод crm.lead.fields, чтобы узнать список всех полей и узнать требуемый формат полей.
Код:
// Добавляем лид в Bitrix24
api.getJson(‘crm.lead.add.json’, {}, [], {“query”: {
“fields”: {
“TITLE”: lead.getAttr(‘Компания’) + “: запрос в боте на консультацию”,
“NAME”: lead.getAttr(‘Имя’),
“COMMENTS”:
“Ниша: ” + lead.getAttr(‘Ниша’) + “<br>” +
“Задача: ” + lead.getAttr(‘Задача’),
“EMAIL”: [
{
“VALUE”: lead.getAttr(‘sys_email’),
“VALUE_TYPE”: “WORK”
}
],
“PHONE”: [
{
“VALUE”: lead.getAttr(‘sys_phone’),
“VALUE_TYPE”: “WORK”
}
]
}
}});
Поздравляем! 😊 Если вы все сделали правильно, то после прохождения анкеты в боте, в Битрикс24 сразу же будет создан новый лид и вы услушите знакомый звук уведомления.
Аналогичным образом разрабатываются любые другие интеграции как с Битрикс24, так и с другими системами.
Полезные ресурсы:
- Описание метода API crm.lead.add
- Документация API-методов платформы Bitrix24
- Сервис для проверки JSON на корректность
- Сервис тестирования API запросов