Важной задачей информационного бота компании является возможность принять заявку клиента. Такая заявка может отправляться на email, но максимально удобным является отправка заявки в виде лида прямо в используемую CRM систему.
Бот Bitrix24 Connector демонстрирует возможности интеграции с Bitrix24 и реализует отправку данных заявки в виде лида в Bitrix24 CRM.
Регистрация приложения в Marketplace Bitrix24
Если у вас права администратора на вашем портале, зайдите в раздел Приложения — Добавить приложение. Выбрать для личного пользования (в этом случае, никто кроме вас и вашего портала не сможет использовать это приложение):
Откроется форма добавления приложения. В форме заполняем:
- Название приложения — произвольное.
- Приложение использует только API – обязательно
- Права доступа — указываем к каким разделам будет доступ у данного приложения (для нашей задачи CRM, если Вашему боту потребуется доступ к другим объектам – укажите и в списке)
- Укажите ссылку — указываем произвольный ваш сайт (или любую произвольную страницу).
После этого нажимаем «Сохранить»
После этого в списке «Мои приложения» появится созданное приложение, и для него – [Код приложения] и [Ключ приложения]. Они будут необходимы в дальнейшем для авторизации и выполнения методов REST API.
OАuth-авторизация
Для авторизации необходимо открыть браузер и перейти на адрес вида:
где
- мой_портал.bitrix24.ru — адрес портала
- client_id — код приложения, который был получен на после успешной регистрации приложения.
- response_type — тип ответа “code’ (константа)
- redirect_uri — адрес который был указан при создании приложения в Маркетплейс (необходимо указывать как urlencode), например, http%3A%2F%2Fexample.ru
Далее произойдет редирект на адрес вида:
http://redirect_uri/?code=код_получения_авторизации&domain=мой_портал.bitrix24.ru
где
- code – код получения авторизации, необходим для выполнения дальнейших шагов.
- domain – адрес портала Битрикс24 (например, мой_портал.bitrix24.ru)
Далее необходимо выполнить следующий запрос (например, в Postman):
где
- client_id — код приложения, который был получен после регистрации приложения.
- client_secret – секретный ключ приложения, который был получен после регистрации приложения.
- redirect_uri — адрес на который должен произойти редирект
- code - код получения авторизации
- scope – требуемый набор разрешений
В ответ сервер вернет json-структуру со всеми необходимыми для совершения запросов к серверу данными.
Из результатов данного запроса нам будет необходимо взять refresh_token
Использование в Sherlock
Для подключения API в Sherlock platform необходимо перейти в Настройки -> Справочники -> Внешние сервера.
И далее добавить новый сервер. Ввести заголовок, тип (Url), URL сервера, тип авторизации Bearer Authorization.
В поле Логин указать переменную #BitrixToken#, в которой будет сохраняться значение access token’a. Поле Пароль оставить пустым. Нажать Сохранить.
Далее надо в сценарии авторизации бота указать необходимые параметры команд для обновления токена, включая:
- Refresh token, полученный ранее, в команде по пунктом 1
- client_id и client_secret в команде 2
Данный сценарий авторизации будет вызываться для обновления токена перед обращением к API Битрикс.
Пример POST запроса на добавление нового лида в боте выглядит следующим образом:
Внешний источник:
https://b24-lnv0t7.bitrix24.ru
Path:
/rest/crm.lead.add?auth=#BitrixToken#
Body:
{
"fields":
{
"TITLE": "Всё еще самый лучший лид",
"NAME": "Иван",
"SECOND_NAME": "Иванович",
"LAST_NAME": "Иванов",
"PHONE": [ { "VALUE": "111111", "VALUE_TYPE": "WORK" } ]
},
"params": { "REGISTER_SONET_EVENT": "Y" }
}
Другие доступные поля для лида можно получить с помощью следующего GET запроса:
https://b24-lnv0t7.bitrix24.ru/rest/crm.lead.fields.json?auth=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX01000003ea6c6a3cb4e09d97e3e81790d4eee1ff, где auth – access token
В ответ будет возвращена json структура со всеми существующими полями:
Дополнительно можно обратиться к документации Битрикс.