Skip to content

'Первый шаг'. Добавить Lead в воронку. Внешняя интеграция (+widget*3) для amoCRM (весна 2022) + dadata подсказки.

License

Notifications You must be signed in to change notification settings

AlexandreZaytsev/amoCRM-DaData-extIntegration-Widget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

ext-integration-amoCRM-with-DaData

'Первый шаг' Добавить Lead(запрос/задачу) в воронку. Внешняя интеграция (+widger) для amoCRM (весна 2022) + dadata подсказки.
all


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

  • определитесь с хостом и загрузите туда проект (для amo нужен сертификат SSL на хосте https:\)
  • выберете имя поддомена и поключитесь к демо версии amoCRM (https://www.amocrm.ru/) (14 дней, потом через чат с техподдержкой в конце периода - продлите период еще на 10 дней)
  • зарегистрируйтесь на сервисе DaData (https://dadata.ru/) и получите бесплатный ключ api

Настройка amoCRM (для текущего релиза Весна 2022)

  1. добавьте несколько пользовательских полей в сущность Списки/Компании/Добавить компанию/Настройка' в примере это строковые поля: - ИНН - ОГРН - Юридический адрес
  2. добавьте воронку Сделки/Новая сделка
  3. создайте внешнюю интеграцию amoМаркет/Создать интеграцию/Внешняя интеграция/Создать
    • 3.1. укажите путь к исполняемому файлу index.php (странице) проекта - здесь https:// каталог на хосте /app/amoCRM/widgets/addLead/
    • 3.2. нажмите подключить, дождитесь изменения статуса на Подключено (с этого момента идет отсчет 20 минут жизни кода авторизации)
  4. добавьте значения в следующие файлы проекта
    • 4.1. \app\amoCRM\amo\config.php
      • $subdomain - имя поддомена из адреса вашего облака amoCRM
      • $client_secret - секретный ключ (из настроек вашей интеграции)
      • $client_id - id интеграции (из настроек вашей интеграции)
      • $code - код авторизации (из настроек вашей интеграции)
      • $redirect_uri путь к файлу проекта из п.п. 3.1
    • 4.2. \app\amoCRM\dadata\config.php
      • var token - ключ API (из сервиса DaData)
    • 4.2. \app\amoCRM\widgets\addLead\script.js
      • var token - ключ API (из сервиса DaData)
    • 4.3. \app\amoCRM\amo\setParty.php
      • $user_amo - ваш id пользователя amoCRM (профиль/Настройки профиля/ID пользователя)
      • $pipeline_id - id воронки (встаньте на созданную воронку (сделки) - последние цифры в адресной строке)
      • проставьте id пользовательских полей из п.п. 1

*значения можете взять из п.п. 5.2 \app\amoCRM\widgets\getInfo
*если $user_amo не указан ('') сделка будет создана от системного 'робот'

  1. авторизация (один раз, и через три месяца если не использовали свою интеграцию ни разу - повторно)
    • 5.1. запустите (index.php) \app\amoCRM\amo\auth.php
      • произойдет замена кода авторизации на токены которые будут сохранены в файле \app\amoCRM\amo\tokens.txt
      • посмотрите в настройках вашей интеграции (Выданные доступы) что текущему пользователю выдано разрешение на ее использование
    • 5.2. для проверки работоспособности выполните запрос к данным amoCRM
      • запустите (amoCRM должен быть открыт в браузере (кеш)) \app\amoCRM\amo\get.phpp (файл покажет структуру пару GET запросов вашей учетки)
      • или (amoCRM может быть закрыт) \app\amoCRM\widgets\getInfo\ (выберите запрос и посмотрите текущую структуру данных)

*если не уложились в 20 минут - отключите свою интеграцию, затем включите ее вновь, дождитесь изменения статуса и внесите новый код авторизации в $code п.п. 4.1.
если файл (index.php) \app\amoCRM\amo\tokens.txt уже содержит токены - очистите его перед авторизацией

  1. виджет (просто страница проекта)
    • 6.1. запустите (index.php) \app\amoCRM\widgets\addLead\
    • 6.2. выберите чрез что запрашиваем данные из DaData
      • через плагин (фронт, JS Плагин DaData, автолоадер + форматировынный выпадающий список и т.д.)(ключ DaData в прямой видимости)
      • через API (бэк, ключ на сервере, запрос через API, тут автолоадер не стал делать - просто первое значение из ответа)(ключ типа спрятан на сервере и вроде не виден на первый взгляд)
    • 6.3. кнопка добавить в amoCRM - создает новый Lead/Сделку с заполненными полями из формы для сущностей Сделка/Компания/Контакт

*можно добавить на форму выпадающий список воронок (значения можете взять из п.п. 5.2 (\app\amoCRM\widgets\getInfo)


Структура проекта

  • \app\amoCRM\amo - здесь бэк авторизации в amoCRM и пара страниц запросов
  • \app\amoCRM\dadata - здесь бэк для работы с DaData через сервер и свежие библиотеки js и css для JS плагина DaData
  • \app\amoCRM\widgets\addLead - здесь страница виджета добавить сделку
  • \app\amoCRM\widgets\getInfo - здесь страница не виджета (не стал делать отдельно, в рамках той-же интеграции) посмотреть структуру данных через API
  • \app\framework\ - здесь фреймворк Uikit.3 для формы виджета(ов)

*в интеграции используется OAUTH 2.0 (ограниченный набор функций) нет возможностей как в JS-виджет (приватная интеграция, где вы отписываетесь от техподдержки amoCRM) привязываться к интерфейсам сущностей (свои выпадающие списки и т.д.) проект просто собран из разных примеров код не оптимизировал (время мало - демка кончается)


Список литературы


Картинки
part1 part2


добавлено:

  • \app\amoCRM\widgets\addLeadToPipeline - здесь страница виджета добавить сделку в существующую воронку пользователем по умолчанию
    444

итого:

  • одна внешняя интеграция
  • три веб морды виджета (addLead (здесь по умолчанию), addLeadToPipeline, getInfo) на выбор
  • один раз авторизуемся auth.php, далее работаем через любую форму в браузере или добавляем виджет на рабочий стол amoCRM и работаем оттуда

ps
продолжения не будет!!!, нас переориентировали на Битрикс 24 (тоже самое вид сбоку)

About

'Первый шаг'. Добавить Lead в воронку. Внешняя интеграция (+widget*3) для amoCRM (весна 2022) + dadata подсказки.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published