Интеграция amoCRM с сайтом API
AmoCRM одна из самых популярных CRM, при этом ее API один из самых странных, по моему субъективному мнению. Понадобилось передавать данные формы с сайта в crm. Использовать CRM Формы вместо своих дизайнерских не хочется. Было бы здорово открыть статейку в гугле, подставить ключ и не париться особо, но на удивление не нашел ни одной статьи с актуальной инфой, где-то версия api уже не актуальна, где-то вместо использования дефолтных полей контакта, создаются кастомные. В общем решил поделиться своим решением, для тех, кому сложно/лень вникать в их API.
В этой статье я буду создавать сделку в «Неразобранном», контакт и компанию.
Создаем файлы интеграции
Создаем папку amo, например в корне сайта.
Файлы внутри:
amo.php
access.php
config.php
get.php
cookie.txt
tokens.txt
Названия могут быть произвольными.
Получение ключей
Открываем AmoCRM, заходим в Настройки > Интеграции.
Жмем «+ Создать интеграцию» и создаем внешнюю интеграцию.
Указываем ссылку на наш amo.php файл, ставим галочку предоставления доступа и вводим произвольное название и описание:
P.S. Перед сохранением прочтите этот раздел до конца
У нас появится 3 ключа и 20 минут, чтоб сделать следующее:
Открываем config.php и вписываем их туда:
Поддомен AmoCRM берем из url нашей CRM
В $redirect_uri не забудьте поменять свой домен сайта
Затем идем в файл auth.php и вставим следующее:
Тут мы отправляем запрос в AmoCRM для получения токенов. Токены сохраняются в файл (45-57 строки), вы можете сохранять их в БД.
Запустите файл, https://site.com/amo/auth.php
Как результат в файле tokens.txt должны появится данные.
Обновление токена
Access token является временным и требует обновления.
Открываем файл access.php и добавляем следующее:
Если вы сохраняли токены из предыдущего запроса в БД, пропишите получение их из БД (59-61 строки). Если сохранили в файл, как было в примере, переходите к след этапу.
Переходим к интеграции
Не буду приводить пример html формы, нужно обработать форму и передать в amo.php необходимые данные. Открываем amo.php и добавляем:
В самом начале у нас список переменных, куда необходимо передать данные из формы, например: $name = $_POST[‘name’];
В $pipeline_id необходимо записать id воронки, его можно получить из url crm:
Открываем раздел «Сделки», берем id открывшейся воронки (число в конце url), либо переключаемся на другую.
К $user_amo вернемся чуть позже. Заполняем остальные переменные.
Массив $data заполните информацией на свое усмотрение, согласно документации.
Если вы не используете дополнительные поля, удалите:
[
«field_id» => (int) $custom_field_id,
«values» => [
[
«value» => $custom_field_value
]
]
]
Получение id полей
Получение идентификаторов полей, пользователей и всего остального реализовано через GET запросы. Подробнее можно ознакомиться в документации, а для наших целей я подготовил отдельный файл, нужные эти данные. Открываем файл get.php и добавляем в него:
Запустите файл: https://site.com/amo/get.php
Вы увидите перечень ссылок, перейдя по которым получаете список id и других параметров полей для utm меток, пользователей, контактов. По аналогии можно просмотреть остальное.
Вернемся к переменной $user_amo . Сюда нужно вписать id пользователя, ответственного за сделку.
Вывод
На этом все, если все сделано правильно, лиды будут приходить в неразобранное, создаваться контакт, подтягиваться в него имя, телефон, а также кастомные поля, utm метки, которые были указаны в $data и название компании.
Интеграция форм AmoCRM
Чтобы заявки с сайта попадали в AmoCRM можно либо через Api их передавать из своих форм, либо создавать формы в AmoCRM и вставлять их на сайт.
Первый способ более основательный и технологичный, но сходу сделать это у меня не вышло. Принцип описан здесь, но у меня на стадии проверки пользователя происходила ошибка.
Второй способ я несколько доработал, мне не понравилось в каком виде формы выводятся на сайте, с кучей лишних скриптов и стилей. Опишу процесс внедрения формы AmoCRM.
Создание формы AmoCRM
Формы в AmoCRM создаются в Сделки > Настроить воронку > Добавить источник > Конструктор форм. Я предпочел создавать не кучу форм для каждой формы на сайте, а создать одну общую, поэтому включаем в форме все возможные поля которые встречаются во всех формах сайта. Копируем получившиеся скрипты и вставляем на сайт. Смотрим получившийся iFrame с формой и копируем из него саму форму.
Форма будет иметь весьма перегруженный вид, очистим ее убрав все лишнее div, label, span, input:hidden (!кроме полей с name form_id и hash). Также можно почистить лишние классы у полей. Из всего кода у нас должна остаться чистая форма:
В последствии и она нам нужна не будет, нужны будут только идентификаторы полей.
Создаем свою форму на сайте
Вставляем поля с формы AmoCRM в свою форму, при этом можно менять типы полей (например tel на text).
Для отправки формы есть 2 варианта:
- Отправляем сразу на обработчик AmoCRM action=»https://forms.amocrm.ru/queue/add». Только в этом случае желательно сделать отправку без перезагрузки страницы.
- Отправляем на собственный обработчик. Например action=»/wp-content/themes/meinland/call.php». Это нужно в том случае, если помимо самой AmoCRM нужно разослать форму на электронную почту.
Рассмотрим второй вариант. Во втором варианте мы можем исключить из формы скрытые поля form_id и hash и прописать их напрямую в параметры (см. ниже). Создаем обработчик который будет содержать: отправку формы на эл. почту, отправку формы в AmoCRM, страницу благодарности.
Отправка формы в AmoCRM
if (isset($_POST[‘name’]) && isset($_POST[‘phone’])) — проверка, чтобы при прямом заходе на данный URL не создавались заявки в AmoCRM.
Чтобы создать правильную структуру (вложенность полей) в массиве $paramsArray нужно при отправке формы посмотреть структуру поступающих данных:
При правильной структуре данных в массиве $paramsArray форма успешно поступает в Сделки (Необработанное) с теми полями которые заполнены. Если форм на сайте несколько то для удобства можно в одно из полей формы AmoCRM передавать название формы.
Отправка формы на почту
Для того чтобы письма не отправлялись по прямому заходу на url обработчика добавляем в форму поле с указанием сайта:
А в обработчике делаем проверку по нему:
Проверка конечно странная, т.к. можно было не писать весь url сайта, но тут важен принцип.
Альтернативный код отправки писем (для обработчика):
Также проверку на отправку формы человеком можно проверять ReCaptcha.
Отслеживание пользователей AmoCRM и Google Analitics
Внедрим в формы идентификаторы посетителей. Идентификатор пользователя AmoCRM (visitor_uid) и идентификатор пользователя GA (cid). Для поддержки Google Analitics нужно при создании формы в AmoCRM в настройках поставить галку Использовать Google Analytics.
Добавим в форму на сайте 2 дополнительных поля
Их мы будем заполнять при отправке получая соответствующие идентификаторы с помощью скриптов:
Для определения идентификатора GA на сайте должен быть установлен счетчик GA. Для определения идентификатора AmoCRM нужно подключить универсальный скрипт:
Как передать данные из формы в amoCRM с помощью API
Всем привет сегодня я вам покажу готовые скрипты которые я использую для передачи значений из формы обратной связи в amoCRM через API данного сервиса. Мы рассмотрим скрипт для создания сделок с прязкой контактов.
Каждый тип запроса я разбил по функциям, а полное подключение выложил в отдельную функцию, в самом конце. На данный момент, на 2020 год, эта реализация отрабатывает без каких либо ошибок.
Для того чтобы подключить ваш проект к amoCRM нужно сделать следующие действия:
1) Создать аккаунт на amoCRM
2) После этого переходим в Настройки и создаем новую интеграцию. Во время создания интеграции вам нужно указать адрес вашего сайта, предоставить все доступы для данной интеграции после чего сохранить.
3) После создания интеграции, переходим во вкладку «Ключи и доступы» — эти данные нам понадобятся для авторизации нашей интеграции. Мы не будем их использовать при каждом запросе, но переодически они нам будут нужны.
Внимание. Код авторизации обновляется каждые 20 мин, а значит если вы его скопируете за пару минут до обновления, вы можете не успеть сделать запрос и у вас выведется ошибка. Если у вас появилась ошибка связанная с авторизацией, то просто попробуйте заново копировать данные.
Теперь вам нужно создать PHP файл и в нем мы будем создавать подключение к нашей CRM системе.
Авторизация интеграции
Первый запрос нам нужно сделать на авторизацию созданной интеграции. Для своей задачи я использовал «Упрощённую систему авторизации» — https://www.amocrm.ru/developers/content/oauth/step-by-step#easy_auth
Для начала нам нужно выполнить запрос на авторизацию, код написан ниже. Для запроса я буду использовать библиотеку CURL.
Следующим запросом мы уже можем создавать наши контакты и сделки используя для авторизации наш токен.
Входные параметры
Для начала нужно подготовить массив с параметрами с удобным представлением. Для своей задачи я сделал следующий массив. Здесь перечислены основные переменные для запроса, у вас возможно будут свои данные, в дальнейшем вам просто нужно будет переделать функцию под себя.
Ключ CONTACT перечисляет данные для создания контакта. На последним этапе я делаю проверку, что если массив CONTACT пустой, то пользователь не создается, это сделано для форм в которых не указывается имя пользователя.
Создание контакта
Типичная ошибка при создание контакта, это нарушение структуры массива для запроса, поэтому внимательно создавайте массив для запроса. Ранее созданный массив с данными полей, мы передаем в функцию amoAddContact, где создается специальный массив для запроса.
Скажу сразу что я не понял как передавать значения для стандартных полей amoCRM типа телефон, email и прочих, поэтому я создал свои кастомные поля и уже в них передаю необходимые данные.
Каждое поле в запросе оборачивается в отдельный массив где id — это идентификатор поля, который вы можете получить следующим образом.
Функция amoAddContact возвращает id созданного контакта, которого мы будем привязывать к новой сделки.
Добавляем сделку
Сделка добавляется аналогично, в функцию передается токен и массив с параметрами + передается третий параметр contactId в котором указывается id контакта для привязки.
Сложность работы с amoCRM в том что у них access_token действует только сутки, по истечению времени он становится не рабочим и для того чтобы получить новый токен access_token вам нужно сделать запрос, передав refresh_token и вы получите новый access_token и refresh_token.
Нужно эти данные где то записать, чтобы можно было их использовать вновь на следующий день.
Для этого я сделал специальную функцию которая будет проверять актуальность токена и делать новый запрос если это необходимо.
Значения токенов будут сохраняться в файле в JSON формате.
Полный запрос на создание сделки
На последнем этапе я объединил все функции в одну для удобного использования. Теперь вам нужно будет только создать одну функцию которая, в которую передать массив с параметрами значений из формы.
Вспомогательные функции
Теперь давайте рассмотрим дополнительные функции, которые я выписал для себя, но думаю они вам тоже могут пригодиться.
Узнать допустимые поля для «Сделки»
Узнать допустимые поля для «Контакты»
- Написание материала для курса по разработке ботов на Telegram
- Разработка универсального парсера на PHP
Поддержите мой сайт!
Каждый переведённый донат, мотивирует на создание новых записей и уроков на YouTube
Что такое amoCRM, и как работает эта система
С помощью CRM руководители автоматизируют рутинные бизнес-процессы, улучшают взаимодействие с клиентами и контролируют действия сотрудников. Одна из самых популярных систем – amoCRM. Рассказываем о ее преимуществах, недостатках и возможностях применения.
Что такое amoCRM и зачем она нужна
AmoCRM – это система, в которой менеджеры эффективно управляют продажами за счет оптимизации внутренних процессов. Программа подходит не только крупному бизнесу, но и небольшим компаниям. С ее помощью определяют наиболее полезные каналы лидогенерации и налаживают коммуникацию с клиентами.
AmoCRM легко освоить. У приложения понятные структура и интерфейс, с которыми удобно работать. Лучше всего система показывает себя в длинном цикле продаж, когда необходимо постоянно взаимодействовать с клиентом. Менеджер в любой момент может посмотреть, на каком этапе сделки находится покупатель, а не тратить время на восстановление истории.
Это возможно благодаря следующим функциям:
- автоматическая запись всех взаимодействий с клиентом по разным каналам;
- отображение сделок на любых этапах воронки продаж;
- создание удобного списка целей;
- получение отчетов и подробной статистики по каждому сотруднику.
Все перечисленное есть в одной системе, поэтому не придется переключаться между разными инструментами.
Плюсы и минусы
Всего выделяют шесть основных преимуществ:
- Доступная цена. Базовый тариф подходит даже небольшому бизнесу. Для изучения всех возможностей системы предусмотрен тестовый период, который длится 14 дней.
- Понятный интерфейс. Разработчики постоянно совершенствуют приложение, чтобы сделать его максимально простым. Если новые функции улучшают конверсию, их оставляют. Если же они неэффективны – убирают.
- Сбор лидов. AmoCRM автоматически записывает все взаимодействия клиента с компанией. Если правильно настроить систему, получится собирать контакты из разных каналов и объединять их в одном профиле.
- Воронка продаж. Формируется автоматически на всех этапах. Менеджеры подогревают интерес клиента, чтобы он купил товар и позже обратился к вам снова. . Поддерживает интеграцию с 80 поставщиками услуг связи. Чтобы позвонить клиенту, нужно лишь зайти в его карточку и нажать на соответствующую кнопку.
Бизнес
Возвращаем форму: 5 фактов о фитнес-индустрии 2020
Возвращаем форму: 5 фактов о фитнес-индустрии 2020
Однако система не подходит для управления производством или финансами. Ее также не получится использовать для оперативной email-переписки, так как она обновляется только раз в 20 минут. Проблему можно решить путем интеграции с сервисами, но это увеличивает сложность и стоимость внедрения.
Возможности сервиса
- Улучшить качество работы менеджеров. Так как у системы простой интерфейс, сотрудники быстрее понимают, как обращаться с инструментом. Они не тратят время на печать и доставку договоров, выполнение рутинных задач.
- Наладить коммуникации. Менеджеры общаются между собой во встроенном мессенджере системы. AmoCRM помогает подготавливать клиента к сделке и отслеживать личные показатели эффективности.
- Организовать контроль. CRM помогает руководителям следить за работой персонала. Отчеты формируются автоматически, поэтому менеджерам проще анализировать, делегировать задачи, планировать маркетинговую стратегию. В любой момент можно настроить этапы воронки продаж, изучить сделки и установить индивидуальные цели.
Управляйте расходами на маркетинг с продуктами Calltouch. С их помощью вы проанализируете эффективность рекламных кампаний и воронку продаж, сохраните все обращения клиентов в одной системе и рассчитаете конверсию.
Разделы системы
Для работы с amoCRM не нужно проходить обучение, так как интерфейс интуитивно понятен. После регистрации пользователь автоматически перейдет в личный кабинет. Слева находится панель, на которой расположены разделы amoCRM. Это основные инструменты, с которыми предстоит работать, так что в первую очередь следует изучить их особенности и функции.
Рабочий стол
В окне показаны все процессы отдела продаж. Информация представлена кратко и емко. С помощью этого раздела руководители определяют текущее положение дел в компании. При необходимости они настраивают виджеты или добавляют в систему новых сотрудников.
Среди основных показателей выделяют:
- выполненные и предстоящие задачи;
- количество сделок, которые обрабатывают менеджеры;
- запланированные задачи на сегодня;
- длительность входящих и исходящих звонков; – индекс лояльности покупателей.
Все отчеты выводятся в виде графиков, в том числе и индивидуальные.
Сделки
Представлены в виде карточек, которые выводятся списком или по типу воронки продаж. Этапы сделок представляют собой колонки, которые легко редактировать. Информацию на карточках можно изменять, например, исправить имя, добавить менеджера или указать бюджет. Есть поисковая строка, фильтрация, импорт и экспорт в Excel и Google.
Подобное распределение помогает работать с разными типами сделок: для основных, дополнительных и повторных продаж. Разделение идет и по клиентам: холодным, теплым или горячим. Если войти в карточку, будет видна информация о покупателе и история работы с ним.
Покупатели
В разделе с клиентами отслеживают периодические покупки. Например, когда пользователь оформляет годовую подписку, система обеспечивает возможность покупателю продлить ее. Карточка может передвигаться по воронке самостоятельно, если ее правильно настроить.
Также этот раздел подходит и для единовременных покупок, но в таком случае придется постоянно корректировать значения. Можно поставить определенные задачи в виде рассылок или показа рекламы, а потом провести клиента по всем стадиям.
Задачи
Если руководители обычно просматривают сделки, то менеджерам лучше ориентироваться по задачам. В сервисе предусмотрена система фильтров, с помощью которой можно расставлять приоритеты. Это удобно при большом количестве задач, чтобы внимание менеджера не рассеивалось. Обычно настраивают работу таким образом, чтобы после выполнения задачи сделка автоматически закрывалась.
В этом разделе руководитель добавляет напоминания, выставляет дедлайны и выбирает исполнителей. Пользователи могут переключаться между режимами отображения:
-
или канбан-доска;
- список;
- календарь.
В дорогих тарифных планах предусмотрены еще и цели, но их создает только администратор CRM.
Контакты и компании
Это большая «записная книжка» для телефонов, адресов электронной почты и другой контактной информации о клиентах и партнерах. Данные представлены в виде информативной таблицы.
Есть фильтрация по контактам и множественный выбор. Можно выделить несколько контактов или компаний, назначить новых исполнителей или изменить задачи. Ненужные показатели отключают. Контакты добавляют не только здесь, но и в разделе со сделками.
Почта
AmoCRM может интегрироваться с email-сервисами. Все сообщения автоматически отправляются в раздел со сделками и контактами. Также можно создавать шаблоны писем, чтобы не тратить время на однотипные переписки.
Менеджерам не нужно переключаться между инструментами. Есть возможность подключить личные ящики сотрудников или корпоративную почту.
Дашборд
Чтобы визуально оценить результаты работы организации, используют стандартный дашборд . В него добавляют диаграммы, таблицы или числовые сравнения. На панели отображаются задачи на разных этапах, менеджеры с лучшими показателями и сумма всех сделок.
Один из самых удобных и полезных визуальных инструментов – планы продаж. Они показывают результаты работы всего отдела продаж и конкретных сотрудников в разные периоды. Помимо этого, доступна информация о количестве часов, которые сотрудники проводят в системе.
Аналитика
Чтобы определить слабые места в воронке продаж и узнать качество работы менеджеров, используют раздел аналитики. С его помощью не только отслеживают эффективность рабочих процессов, но также формируют отчеты и делают прогнозы.
- Отчет по звонкам. Доступна вся информация о звонках и записи разговоров. Можно включить фильтр по дате или отделу.
- Анализ продаж. Здесь видны отказы, средняя продолжительность сделок, количество успешных обращений. Руководители отслеживают конверсию на каждом этапе и принимают решения.
- Отчет по покупателям. Пригодится тем, у кого работают периодические продажи. Можно определить средний чек и LTV каждого клиента.
- Отчет по сотрудникам. Представлен в виде таблицы, но если нажать на имя менеджера, появится вся информация о его работе. Отображаются сделки, количество контактов, звонки, задачи.
- Список событий. Сотрудники заносят в него информацию о проделанной работе.
Помимо этого, в разделе аналитики есть подпункты с целями и звонками.
Бизнес
Матрица Эйзенхауэра: что это за способ повышения продуктивности, преимущества и недостатки
Матрица Эйзенхауэра: что это за способ повышения продуктивности, преимущества и недостатки
Как настроить права доступа
Настройки в amoCRM доступны только для администратора. Так как у сотрудников разные должностные обязанности, для каждого из них определяют права доступа. Настройки достаточно гибкие, например, менеджеры могут видеть сделки коллег или даже редактировать их.
Настройте доступ так, чтобы менеджеры не могли экспортировать базу данных, удалять задачи или сделки. Обычно права доступа назначают индивидуально для каждого сотрудника. Это относится к отображению любых разделов, в том числе и дашборда.
Как настроить уведомления
Настройка уведомлений гибкая. Можно создать сообщение для конкретного менеджера, чтобы напомнить о предстоящей задаче. Также можно задать время отправки уведомлений.
Руководители могут получать на почту или в мессенджер автоматические ежедневные отчеты сотрудников. Это может быть информация о звонках, задачах, сделках, средних чеках.
Как использовать amoCRM с Calltouch
Сквозная аналитика необходима, чтобы следить за продажами и улучшать их эффективность. В сервисе Calltouch предусмотрена интеграция с amoCRM.
С ее помощью сотрудники могут моментально перемещать информацию из личного кабинета в систему управления продажами, выбирать ответственных сотрудников и обрабатывать похожие сделки. Все это положительно сказывается на росте продаж. Сам процесс интеграции простой, так как разработчики позаботились о максимальной автоматизации подключения.
Любую из CRM-систем можно интегрировать со сквозной аналитикой Calltouch. Объедините нужные для анализа данные и контролируйте ключевые показатели в одной системе. Детальные отчеты помогут качественно анализировать продажи и рекламу.