как узнать id поля в amocrm
Как узнать ID полей в custom_fields в amocrm?
Добавляю сделку в НЕРАЗОБРАННОЕ из формы, и в контакте сделки мне нужно указать телефон, но во всех примерах, которые я нашел, указывается ID поля, но как мне этот ID узнать?
Так же мне нужно указать адрес заказа, email и детали заказа (товар/материал, количество).
Вот мой код:
// Создаем новую заявку в неразобранном при добавлении из веб-формы
$incomingLead = new AmoIncomingLeadForm();
// Устанавливаем обязательные параметры
$incomingLead->setIncomingLeadInfo([
‘form_id’ => 1,
‘form_page’ => ‘https://site.com’,
‘form_name’ => ‘Тестовая заявка’
]);
// Добавляем параметры сделки
$lead = new AmoLead([
‘name’ => ‘Новая заявка с сайта’
]);
$lead->setCustomFields([ 25475362 => ‘#1543252’ ]);
$incomingLead->addIncomingLead($lead);
// Добавляем параметры контакта
$contact = new AmoContact([
‘name’ => ‘Ганс-Дитрих Геншер’
]);
$contact->setCustomFields([
255114 => [[
‘value’ => ‘+10349654820’,
‘enum’ => ‘WORK’
]],
255116 => [[
‘value’ => ‘hans@example.com’,
‘enum’ => ‘WORK’
]]
]);
$incomingLead->addIncomingContact($contact);
// Добавляем параметры компании
$incomingLead->addIncomingCompany([
‘name’ => ‘Freie Demokratische Partei’
]);
// Сохраняем заявку
$incomingLead->save();
Сделка в неразобранном создается, но телефон и email естественно не сохраняются, т.к. id неверные. Как мне эти id узнать?
Редактирование полей
Данный функционал доступен только администратору аккаунта.
Поменять название/Удалить поле или значение.
Вам нужно зайти в раздел, который необходим. Открыть одну из карточек. Выбрать вкладку «Настроить». Нажать на нужное поле. В открывшемся окне редактирования, можно изменить ему название или значения поля. (Если вы измените название/значение поля, то изменения применяться ко всем карточкам, где встречается данное поле).
Для добавления новой группы полей, вам нужно нажать на +, откроется окно по добавлению новой закладки, введите название и нажмите «Добавить». После этого вы можете переходить между вкладками и добавлять новые поля.
Также возможно переносить поля между группами, для этого вам нужно нажать на три точки слева от поля и двигать в нужную группу. Откроется настройка этой группы и вам нужно его перенести в перед полем «Добавить поле» или в определенное место.
Изменить порядок полей.
Для этого вам нужно нажать на три точки слева от поля, и потянуть вверх или вниз меняя порядок полей.
Посмотреть идентификатор у поля.
Посмотреть id поля можно в режиме настроек полей в карточке сделки, контакта, компании или покупателя.
Если вам больше не нужно поле, то вы можете его удалить. Но нужно учесть то, что после удаления удаляться все данные по этому полю во всех карточках в аккаунте. Восстановить их будет невозможно.
Восстановить данные после удаления поля
Даже если поле было удалено, в карточке остается системное примечание о том как оно было заполнено, например:
«14.09.2017 14:32 Менеджер Для поля «Метро» установлено значение «Автозаводская»»
После удаления поля системное примечание будет выглядеть так:
«14.09.2017 14:32 Менеджер Для поля «Поле удалено» установлено значение «Автозаводская»
Значение можно скопировать и вставить в новое поле.
Изменить тип поля, нет возможности. Данное изменение было сделано осознано, чтобы избежать потери данных при случайно смене типа поля.
Как сделать поля разные для всех воронок?
К сожалению, сделать отдельные поля для каждой воронки нет возможности, во всех сделках поля будут одинаковые, и все группы полей будут видны.
Настройка интеграции
Как работает интеграция¶
Настроенная интеграция работает следующим образом: при оформлении заявки на сайте автоматически создается новый лид в CRM, в который передается номер визита из cookie roistat_visit в дополнительное поле с именем roistat.
Дополнительное поле roistat доступно в amoCRM по умолчанию, поэтому его не нужно добавлять вручную. Однако если требуется ручное заполнение поля (например, для данных из оффлайн-источников), нужно создать дополнительное поле roistat вручную. Если вы создадите поле roistat вручную, при создании сделки будут заполняться оба поля – и доступное по умолчанию, и созданное вручную.
Если используется два поля roistat – доступное по умолчанию (системное) и созданное вручную, и при этом в оба поля передается номер визита, при загрузке заявок в Roistat приоритет отдается полю, созданному вручную.
Если в системном поле передается маркер источника, а в созданном поле – номер визита, в заявке будет передан маркер источника.
Если поле, созданное вручную, не заполнено, будет передаваться значение системного поля.
Если значение из поля roistat будет случайно удалено, то при загрузке заявок (лидов и сделок) Roistat самостоятельно определит источник обращения, чтобы сделка попала в нужный рекламный канал.
Если менеджер принимает заказ по телефону, он может спросить промокод (настраивается отдельно) и затем ввести этот код в поле roistat. Чтобы была возможность самостоятельно заполнять поле roistat, необходимо создать его вручную.
Roistat загружает из amoCRM полную историю изменения сделок.
Если на страницах вашего сайта установлены онлайн-чаты и формы amoCRM, то номер визита и данные из них также будут отправляться в Roistat при условии, что на этих страницах установлен счетчик Roistat.
Отправка заявки в CRM¶
Если заявка не была помечена как дубль, то:
Если в контактах прописано несколько номеров, то проверка на дубли будет срабатывать только по первому номеру.
Если вы хотите, чтобы контакты создавались с типом «Рабочий», активируйте соответствующую опцию в настройках интеграции.
Шаг 1. Настройка интеграции с amoCRM¶
1. Подключение интеграции с amoCRM в каталоге интеграций¶
В интерфейсе Roistat перейдите в раздел Интеграции и нажмите Добавить интеграцию. В блоке CRM выберите amoCRM:
Нажмите кнопку Настроить интеграцию:
2. Настройка авторизации с CRM-системой¶
Выберите аккаунт с правами администратора, на который будет установлено приложение для авторизации и с которым будет настроена интеграция.
Нажмите кнопку Разрешить. После этого вас перенаправит на шаг распределения статусов.
3. Распределение статусов из CRM-системы¶
В разделе Загрузка заявок из CRM: распределение статусов распределите статусы сделок по группам, перетаскивая их в нужный блок. Подробнее об этом читайте в статье Распределение статусов сделок.
После распределения статусов нажмите Продолжить.
4. Включение отправки заявок¶
Ознакомьтесь с инструкцией по включению отправки заявок:
Вы можете настроить отправку заявок на этом этапе или после завершения настройки интеграции. Подробнее об автоматической отправке сделок в amoCRM – в Шаге 2.
Чтобы продолжить настройку интеграции, нажмите Следующий шаг.
5. Расширенные настройки интеграции¶
В разделе Загрузка заявок из CRM: расширенные настройки вы можете:
Указать параметры для фильтрации сделок. Подробнее – в статье Фильтрация сделок.
Указать значения полей бизнес-показателей. Подробнее – в статье Поля бизнес-показателей.
Установить компании в качестве клиентов в Roistat (по умолчанию в качестве клиентов используются контакты).
Включить загрузку даты продажи из CRM. По умолчанию датой продажи сделки считается время, когда сделка в Roistat получила статус из группы «Оплачено». В этом случае дата продажи берется из поля «Дата оплаты» (date_paid) amoCRM. При загрузке сделок из только что подключенной CRM датой продажи считается время загрузки сделок в проект. Если вы хотите, чтобы дата продажи загружалась из вашей CRM-системы, включите опцию Использовать дату продажи из CRM. Если вы используете свой статус для определения продажи по сделке, используйте общий механизм определения даты продажи.
Нажмите кнопку Сохранить, чтобы применить изменения.
6. Создание контактов с типом «Рабочи黶
По умолчанию контакты создаются с типом «Мобильный». Если вы хотите, чтобы контакты создавались с типом «Рабочий», активируйте соответствующую опцию в разделе Отправка заявок в CRM-систему: базовые настройки:
7. Отправка заявок в «Неразобранно延
Если сделка находится в Неразобранном, то она не будет выгружаться в проект.
По умолчанию заявки создаются как сделки. Если вам необходимо создавать заявки в сущности Неразобранное, настройте данный механизм по шагам:
Установите флажок Отправлять лиды в Неразобранное:
В amoCRM подключите форму, даже если вы не будете размещать ее на сайте. Это необходимо из-за особенностей реализации передачи заявок в CRM через Roistat. В настройках интеграции с amoCRM в поле Идентификатор формы введите идентификатор формы, подключенной в amoCRM:
Как узнать идентификатор формы в amoCRM¶
В правом верхнем углу нажмите Настроить.
Пройдите по ссылке с названием формы, чтобы открыть ее настройки.
В поле Идентификатор формы вставьте ID формы из предыдущего шага.
В поле Наименование формы вставьте Название формы из предыдущего шага.
Как узнать идентификатор воронки статусов¶
В проекте amoCRM откройте раздел Сделки. В верхнем левом углу отображается название воронки, которую вы просматривали в прошлый раз.
Нажмите на название воронки. Откроется список всех имеющихся в проекте воронок:
Нажмите на название той воронки, идентификатор которой вы хотите узнать.
В адресной строке браузера скопируйте идентификатор воронки:
В поле Идентификатор воронки введите идентификатор той воронки статусов в аmoCRM, к которой будут отнесены поступающие из Roistat сделки со статусом Неразобранное. Если вы не укажете идентификатор воронки, сделки будут отнесены к воронке статусов, которая расположена первой в списке воронок статусов в amoCRM.
Если в настройках интеграции с amoCRM и Tilda вы укажете разные воронки, заявки в статусе Неразобранное будут отнесены к воронке, указанной в настройках amoCRM.
Если в настройках интеграции отключить создание заявок в «Неразобранное», и условия создания сделок не будут установлены, то новые сделки будут отправляться в первый статус воронки продаж, исключая «Неразобранное».
8. Распределение заявок¶
Вы можете указать, на каких менеджеров ставить новые заявки в CRM-системе. Менеджеры будут назначаться по порядку.
В поле Ответственные за заявки выберите менеджеров из выпадающего списка:
После этого Roistat будет автоматически распределять сделки по указанным менеджерам. Чтобы узнать идентификатор менеджера, выберите его из выпадающего списка.
Если вы хотите, чтобы менеджер, переводящий сделку из статуса Неразобранное в какой-либо другой статус, назначался ответственным за сделку, оставьте поле Ответственные за заявки пустым.
Чтобы назначать повторное обращение клиента на того же менеджера, который отвечает за контакт, включите соответствующую настройку на данном шаге.
Вы не сможете назначать ответственных за сделки менеджеров при включённой опции оправки сделок в статус Неразобранное.
9. Создание задач¶
Для того, чтобы менеджеры эффективнее работали со входящими обращениями, вы можете установить создание задач на ответственного менеджера по новым заявкам в CRM-системе. Сделать это можно в разделе Отправка заявок в CRM-систему: создание задач:
Механизм работает только при создании заявок как Сделки в amoCRM. При отправке в Неразобранное задачи устанавливаться не будут.
Чтобы включить данный механизм, активируйте переключатель Создавать задачи при создании сделки.
Укажите время на выполнение задачи – количество минут, которое определит дедлайн по задаче для менеджера. По умолчанию устанавливаются сутки, если в поле ничего не введено.
Выберите тип задачи: Звонок, Встреча или Письмо.
Введите текст задачи, который будет отображаться в CRM.
Нажмите Сохранить.
Шаг 2. Настройка автоматической отправки сделок¶
Рекомендуем настроить передачу сделок в CRM через Roistat – механизм отправки сделок, при котором сделки сначала передаются в Roistat, затем отправляются в CRM. Механизм обладает рядом преимуществ. Подробнее читайте в статье Передача заявок в CRM через Roistat.
Если отправка сделок с сайта в CRM уже настроена с помощью вашего кода, для обмена данными с Roistat нужно настроить передачу в CRM значения cookie roistat_visit. Для этого откройте PHP-файл, в котором настроена отправка заявок в вашу CRM. Над кодом для отправки заявок в CRM вставьте следующий скрипт:
Затем добавьте полученное значение roistatVisitId к данным, отправляемым в CRM. При необходимости обратитесь за помощью к веб-разработчику.
Шаг 3. Заполнение дополнительного поля roistat¶
Дополнительные поля в amoCRM могут быть заполнены:
Заполнение поля с использованием переменных¶
Поле roistat, встроенное в amoCRM по умолчанию, можно редактировать по API, используя переменные Roistat. Подробнее об использовании переменных
Заполнение поля вручную¶
Если нужна возможность заполнять поле вручную (например, для оффлайн-источников), сначала нужно вручную создать новое поле roistat:
В amoCRM откройте раздел Сделки и в правом верхнем углу нажмите Новая сделка.
В окне свойств сделки перейдите на закладку Настроить. Откроется окно Настройка свойств полей и групп. В этом окне можно настраивать поля, которые будут доступны для всех сделок amoCRM.
В конце первого блока полей нажмите кнопку Добавить поле:
В качестве типа поля выберите Текст. В поле Название введите roistat:
Дополнительное поле обязательно должно иметь название roistat, иначе интеграция работать не будет.
Нажмите кнопку Сохранить.
ID поля отображается в левом верхнем углу в окне настройки уже созданного поля:
При создании сделки будут заполняться оба поля roistat – и доступное по умолчанию, и созданное вручную.
Если по каким-либо причинам вы создаете сделку вручную (например, для оффлайн-источников), вы можете заполнить поле roistat данными об источнике сделки. Тогда информация об источнике сделки будет отображена в Аналитике.
Чтобы отнести сделку к определенному рекламному каналу, вводите в поле roistat следующие маркеры:
Если в поле roistat вместо одного из перечисленных маркеров вы введете название соответствующего рекламного канала, то в проекте Roistat будет создан пользовательский несистемный рекламный канал, и сделка будет отнесена к созданному рекламному каналу. В отчете Аналитики системный рекламный канал отличается от пользовательского наличием пиктограммы, расположенной справа от названия:
Поля, поддерживаемые системой amoCRM по умолчанию¶
Идентификатор посетителя¶
Уникальный идентификатор посетителя. Системное название (id поля) – visitor_uid.
Бюджет¶
Бюджет сделки. Системное название (id поля) – sale.
Идентификатор воронки¶
Создает сделку в определенной воронке. Системное название (id поля) – pipeline_id.
Статус¶
Создает сделку с определенным статусом в определенной воронке. Системное название (id поля) – status_id.
Создает теги через запятую. Системное название (id поля) – tags.
Менеджер¶
Идентификатор ответственного за сделку менеджера. Системное название (id поля) – responsible_user_id.
Произвольное пользовательское поле¶
Поле, созданное вручную в amoCRM. Системное название (id поля) – ID поля в amoCRM.
Roistat поддерживает все типы пользовательских полей. Однако если у клиента полем является не строка, а выпадающий список, то нужно передавать не значение поля (например, Яндекс Директ), а ID, который закреплен за этим значением в выпадающем списке.
Например, список «Вопрос при обращении» и выбор значения «Консультация».
Roistat забирает значение из поля мультисписок.
Как узнать ID поля в amoCRM¶
Откройте сделку в amoCRM и нажмите Настроить:
Кликните на поле. Перед вами появится окно с ID поля:
Как работают поля amoCRM при интеграции с Roistat¶
DATE – поле типа Дата. Возвращает и принимает значения в формате год-месяц-день час-минута-секунда (Y-m-d H:m:s).
SMART_ADDRESS – поле типа Адрес (в интерфейсе является набором из нескольких полей). Передает первое значение, введенное в списке.
Поле Переключатель работает с Roistat при передаче по API в PHP-скрипте.
Проверка работы¶
В проекте Roistat откройте раздел Диагностика проекта, перейдите в Список отправленных заявок и найдите созданную заявку:
Проверьте, что в поле Промокод указан номер визита.
Проверьте статус отправки заявки: в поле Отправлен должен появиться успешный статус отправки (V), а в CRM – новая заявка с номером визита.
Создавать сделки в amoCRM Roistat может только в том случае, если CRM оплачена, либо активен тестовый тариф. В противном случае сделки не создаются.
Работа с отчетом Воронка статусов¶
Для пользователй amoCRM с тарифами Расширенный и Профессиональный доступна максимально точная история сделок по воронке статусов: в Roistat будут отражаться только те статусы сделки, через которые она реально прошла. Таким образом, данные о конверсии и стоимости сделок в отчете всегда будут достоверными.
Для пользователй amoCRM с тарифом Базовый точность отчета по воронке статусов ниже. Это связано с тем, что на Базовом тарифе не допускается использование вебхуков. Информация о сделках поступает не в режиме реального времени, а с небольшой задержкой. Если в момент задержки сделка сменит статус, пропустив какой-либо промежуточный статус, Roistat будет считать, что сделка прошла через все промежуточные статусы.
Настройка Товарной аналитики¶
Интеграция Roistat с amoCRM позволяет использовать Товарную аналитику – инструмент, с помощью которого можно анализировать эффективность продаж отдельных товаров и групп товаров (брендов, категорий).
Чтобы настроить Товарную аналитику:
Убедитесь, что в amoCRM созданы товары. Для этого нажмите Списки → Все контакты и компании:
Затем выберите пункт Товары. Чтобы создать новый товар, нажмите Добавить элемент:
В проекте Roistat откройте раздел Аналитика, перейдите на вкладку Товарная аналитика и нажмите Включить товарную аналитику:
Теперь информация о товарах будет отображаться в разделе Аналитика → Отчеты:
Также подробная информация о товаре отображается в карточке сделки:
Как узнать ID полей в custom_fields в amocrm?
Добавляю сделку в НЕРАЗОБРАННОЕ из формы, и в контакте сделки мне нужно указать телефон, но во всех примерах, которые я нашел, указывается ID поля, но как мне этот ID узнать?
Так же мне нужно указать адрес заказа, email и детали заказа (товар/материал, количество).
Вот мой код:
// Создаем новую заявку в неразобранном при добавлении из веб-формы
$incomingLead = new AmoIncomingLeadForm();
// Устанавливаем обязательные параметры
$incomingLead->setIncomingLeadInfo([
‘form_id’ => 1,
‘form_page’ => ‘https://site.com’,
‘form_name’ => ‘Тестовая заявка’
]);
// Добавляем параметры сделки
$lead = new AmoLead([
‘name’ => ‘Новая заявка с сайта’
]);
$lead->setCustomFields([ 25475362 => ‘#1543252’ ]);
$incomingLead->addIncomingLead($lead);
// Добавляем параметры контакта
$contact = new AmoContact([
‘name’ => ‘Ганс-Дитрих Геншер’
]);
$contact->setCustomFields([
255114 => [[
‘value’ => ‘+10349654820’,
‘enum’ => ‘WORK’
]],
255116 => [[
‘value’ => ‘hans@example.com’,
‘enum’ => ‘WORK’
]]
]);
$incomingLead->addIncomingContact($contact);
// Добавляем параметры компании
$incomingLead->addIncomingCompany([
‘name’ => ‘Freie Demokratische Partei’
]);
// Сохраняем заявку
$incomingLead->save();
Сделка в неразобранном создается, но телефон и email естественно не сохраняются, т.к. id неверные. Как мне эти id узнать?
Как передать данные из формы в 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 формате.
Полный запрос на создание сделки
На последнем этапе я объединил все функции в одну для удобного использования. Теперь вам нужно будет только создать одну функцию которая, в которую передать массив с параметрами значений из формы.
Вспомогательные функции
Теперь давайте рассмотрим дополнительные функции, которые я выписал для себя, но думаю они вам тоже могут пригодиться.