Интеграция с AmoCRM

Последние изменения: 17.12.2018

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

Бот AmoCRM Connector демонстрирует возможности интеграции с AmoCRM и реализует отправку данных заявки в виде лида в AmoCRM.

Настройка окружения AmoCRM

Для подключения бота в настройках аккаунта AmoCRM надо настроить источники сделок. Для этого необходимо перейти в меню в Сделки -> Настроить воронку и добавить источник:

AmoCRM_setup_1.pngAmoCRM_setup_2.png

Для настройки интеграции с мессенджерами необходимо выбрать пункт «Онлайн чат».

AmoCRM_setup_3.png

Далее в списке выбрать нужный мессенджер, например, Telegram.

AmoCRM_setup_4.png

Перед этим необходимо создать бота в Telegram, скопировать API ключ бота, вставить в поле и нажать Сохранить:

AmoCRM_setup_5.png

После этого в источниках сделок появится добавленный бот. Также необходимо включить Неразобранное, чтобы поступающие заявки из бота создавались в Неразобранном:

AmoCRM_setup_6.png

Подключение Sherlock Platform к Amo CRM

Первым шагом необходимо в справочнике Внешние сервера указать адрес используемой копии AmoCRM:

AmoCRM_connect_sherlock_1.png

Перед запросом на отправку лида необходимо осуществить авторизацию. Для авторизации необходимы email и ключAPI, который находится в пункте Настройки -> API AmoCRM:

AmoCRM_connect_sherlock_2.png

 Email и ключ надо внести в соответствующие переменные сценария [1.0 Авторизация]:

AmoCRM_connect_sherlock_3.png

Настройка формы заявки в Sherlock Platform

Форма приема заявки включает ряд сценариев, собирающих информацию клиента. Подробно настройка получения информации в мессенджере описана в видео уроке.

Непосредственно для создания лида в AmoCRM необходимо отправить POST запрос на добавление нового лида. Пример запроса создания лида приведен в сценарии [2 Добавление лида].

Endpoint запроса: https://*********.amocrm.ru

Путь: /api/v2/incoming_leads/form?login=#AmoLogin#&api_key=#AmoHash#

Где AmoLogin и AmoHash – названия переменных Sherlock Platform, содержащие email и ключ api для доступа соответственно.

Ниже приведен пример запроса, включающий все необходимые поля:

  • source_name – произвольное название источника. Рекомендуется использовать Sherlock Platform или имя конкретного бота;
  • source_uid – произвольный идентификатор источника;
  • created_at – дата в unix формате. В примере бота формируется автоматически по дате добавления записи;
  • incoming_entities.leads.name – произвольное название сделки для отражения в реестре AmoCRM. Можно задавать по названию клиента или по другим принятым алгоритмам;
  • leads.name.contacts.name – имя контакта. Получается ботом
  • leads.name.contacts.custom_fields – реквизиты карточки контакта AmoCRM. В примере указан код для сохранения email и телефона контакта
  • incoming_lead_info – произвольный объект, который может включать любые значения полей

Примечание

Идентификаторы существующих реквизитов (включая стандартные) объекта custom_fields можно получить, выполнив запрос, который вернет необходимую информацию по стандартным полям (телефон, email, тд):

GET https://********.amocrm.ru/api/v2/account?with=custom_fields

 

Пример тела запроса

{
   "add":[
      {
         "source_name":"#source_name#",
         "source_uid":"#source_uid#",
         "created_at":"#created_at#",
         "incoming_entities":{
            "leads":[
               {
                  "name":"#lead_name#"
               }
            ],
            "contacts":[
               {
                  "name":"#contact_name#",
                  "custom_fields":[
                     {
                        "id":492913,
                        "values":[
                           {
                              "value":"#contact_email#",
                              "enum":"WORK"
                           }
                        ]
                     },
                     {
                        "id":492911,
                        "values":[
                           {
                              "value":"#contact_phone#",
                              "enum":"WORK"
                           }
                        ]
                     }
                  ]
               }
            ]
         },
         "incoming_lead_info":{
            "form_id":"348",
            "form_page":"test.com",
            "ip":"192.168.1.1",
            "service_code":"167"
         }
      }
   ]
}

 

Помогла ли вам статья?