Публичные кейсы уменьшения ручного труда с помощью Пинкит, интеграции между разными веб-сервисами и опыт наших клиентов.
Продолжаем наш цикл статей про интеграцию МойСклад и Битрикс24 (если пропустили начало — вот ссылка).
В предыдущей статье мы подробно рассказали, как автоматически создавать сделки в Битрикс24 при появлении заказа в МойСклад.
Сегодня же подготовили для вас еще два отличных сценария интеграции: как при создании заказа в МойСклад автоматически добавить нужные товары в сделку в Битрикс24 и как связать остаточные контакты для юридических лиц.
Чтобы вам было еще проще, мы сделали готовый шаблон интеграции, который доступен для скачивания.
Просто установите его по ссылке, адаптируйте под свои задачи — и ваша автоматизация заработает в полную силу!
А если хотите — можете настроить все с нуля, следуя подробному гайду ниже.
1. Сделка - назначить товары
Шаг первый: Откуда
Указываем Пинкит и интеграцию, настроенную ранее.
Шаг второй: Инструменты
1.2.1. Получаем информацию о товарных позициях
- Получить Meta ссылку на позиции товара
Преобразуем строку в массив в поле source.int11996.source.positions.meta.href.
- Получаем позиции товара (Пока зашита конкретная ссылка)
Используем API-запрос Методом GET с указанием URL = {{step1.1}}
- Для каждого товара из заказа
Используем инструмент Для каждого в поле step2.rows.
- Сделать одиночный товар снова массивом
Используем преобразование массивов данных в поле step3.
- Получить Meta ссылку на развернутую информацию о товаре
Преобразуем строку в массив в поле step3.assortment.meta.href.
- Получаем развернутую информацию о товарной позиции на стороне МойСклад
Используем API-запрос Методом GET с указанием URL = {{step5.1}}.
1.2.2. Создание товара при необходимости
- Ищем товар в Битрикс24 по идентификатору МойСклад
Используем API-запрос Методом GET с указанием URL = /crm.product.list?filter[PROPERTY_70]={{step6.id}}.
- Если товар по UID не найден, тогда готовимся к созданию товара
Используем инструмент Если-Иначе в поле step7.result. Условие - (Логическое) Ложь, Результат при успешной проверке = 1, Результат при успешной проверке = 0.
- Товар был по UID не найден, создать товар
Используем API-запрос Методом POST с указанием URL = /catalog.product.add.
Запрос:
{
"fields": {
"name": "{{step6.name|escape()}}",
"code": "{{step6.code|default()}}",
"PROPERTY_70": "{{step6.id|default()}}",
"DETAIL_TEXT": "{{step6.description|escape()}}",
"PROPERTY_82": "{{step6.article|default}}",
"PRICE": "{{step9}}"
}
}
- Выбрать новый товар или уже существующий
Используем инструмент Если-Иначе в поле step10.result.Условие*(Логическое) Истина, Результат при успешной проверке = {{step10.result}}, Результат при неуспешной проверке = {{step7.result.0.ID}}.
- Собрать массив товаров
Объединяем прогоны.
- Подогнать массив с товаром в нужный формат
Используем Преобразование массива объектов в поле step12.
- Фильтр
Используем Фильтр элементов массива в поле step13. Условие - Существует.
Шаг третий: Куда
Назначаем товары сделке.
Шаг четвертый: Сопоставление данных
Сопоставляем данные:
ID сделки - {{source.int11996.result.result}}
Массив товаров - {{step14}}
Шаг пятый: Запуск
Запускаем.
2. Привязать остаточные контакты, если это юридическое лицо
Шаг первый: Откуда
Указываем Пинкит и интеграцию, настроенную ранее.
Шаг второй: Инструменты
2.2.1. Проверяем это ФЛ или ЮЛ
- Если это физ.лицо, тогда СТОП
Используем проверку в поле source.int11996.stepstepstep30. Условие*(Число) Равно, Сравниваемое значение = 3, Действие - Прервать, если проверка пройдена.
2.2.2. Получаем список привязанных контактов
- Получить ссылку на привязанных контрагентов
Преобразуем строку в массив в поле source.int11996.step28.contactpersons.meta.href.
- Получить список
Используем API-запрос Методом GET с указанием URL ={{step2.1}}.
- Если массив привязанных контактов пустой, тогда прервать
Используем проверку по полю step3.rows. Условие - Пустое значение, Действие - Прервать, если проверка пройдена.
2.2.3. Перебор контактов
- Для каждого контакта
Используем инструмент Для каждого в поле step3.rows.
- Превратить контакт обратно в одиночный массив
Используем Преобразование типов данных в поле step5. Тип данных - Массив.
- → ищем контакт по UID→
Используем API-запрос Методом GET с указанием URL =/crm.contact.list?filter[UF_CRM_CONT_UID]={{step6.0.id}}.
- → Если по UID нет → ищем по Email и Phone
Используем инструмент Если-Иначе в поле step7.result. Условие - (Логическое) Ложь, Результат при успешной проверке = 1, Результат при неуспешной проверке = 0.
- Если поле Email существует, тогда искать по Email
Используем инструмент Если-Иначе в поле step6.0.email. Условие - существует, Результат при успешной проверке = 1, Результат при неуспешной проверке = 0.
- → ищем контакт по email →
Используем API-запрос Методом GET с указанием URL =/crm.contact.list?filter[EMAIL]={{step6.0.email}}.
- → Если по Email и UID нет → ищем по Phone
Используем инструмент Если-Иначе в поле step10.result. Условие - (Логическое) Ложь, Результат при успешной проверке = 1, Результат при неуспешной проверке = 0.
- Если поле Телефон существует, тогда искать по Телефону
Используем инструмент Если-Иначе в поле step6.0.phone. Условие - Существует, Результат при успешной проверке = 1, Результат при неуспешной проверке = 0.
- → закодировать + у телефона если он есть→
Используем Замену по регулярному выражению. Условие выполнения = step12, Название поля - step6.0.phone.
- → ищем контакт по phone→
Используем API-запрос Методом GET с указанием URL = /crm.contact.list?filter[PHONE]={{step13}}.
- → Если по Email, UID, Телефону нет → создаем контакт
Используем инструмент Если-Иначе в поле step14.result. Условие - (Логическое) Ложь, Результат при успешной проверке = 1, Результат при неуспешной проверке = 0.
- → создаём контакт
Используем API-запрос Методом POST с указанием URL = /crm.contact.add.
Запрос:
{
"fields": {
"NAME": "{{step6.0.name|escape()}}",
"PHONE": [
{
"VALUE": "{{step6.0.phone|default()}}",
"VALUE_TYPE": "WORK"
}
],
"EMAIL": [
{
"VALUE": "{{step6.0.email|default()}}",
"VALUE_TYPE": "WORK"
}
],
"UF_CRM_UID": "{{step6.0.id}",
"COMPANY_ID": "{{source.int11996.step41.0|default()}}"
}
}
2.2.4. Если мы создали новый контакт или нашли старый, определяем какой ID берем
- Преобразовать созданный контакт в Массив
Используем Преобразование типов данных в поле step16.result|default().
- Преобразовать найденные результаты в 1
Используем Преобразование массива объектов в поле step7.result, step10.result, step14.result.
- Склеить полученный массив ID и убрать дубликаты ID
Используем Объединение массивов для массивов:
step17
step18.step7_result
step18.step10_result
step18.step14_result
Шаг третий: Куда
Добавляем контакт к сделке.
Шаг четвертый: Сопоставление данных
Сопоставляем данные:
Идентификатор сделки - {{source.int11996.result.result}}
Идентификатор контакта - {{step19.0}}
Шаг пятый: Запуск
Запускаем.
Итог
В этой статье мы показали, как легко настроить интеграции в Пинкит, которые автоматически добавляют товары в сделки Битрикс24 и связывают их с остаточными контактами, когда в МойСклад создается заказ.
Напомним, что это всего лишь 2 из 9 интеграционных сценариев, которые мы реализовали для нашего клиента — компании, занимающейся продажей товаров.
МойСклад помогает им управлять заказами и складом, а Битрикс24 — вести и закрывать сделки.
Чтобы сразу начать пользоваться, просто скачайте готовые шаблоны по ссылке, подстройте их под свои нужды — или настройте интеграции с нуля, следуя нашему подробному руководству из статьи.
![]()
Если у вас есть вопросы, пишите нам в Телеграм или WhatsApp, расскажите о вашем бизнес-сценарии, и наши инженеры помогут настроить интеграцию без ручного труда и разработки.
Если вам нужна интеграция с сервисом, которого в Пинкит нет, или приватное событие/действие, через Пинкитбилдер вы можете самостоятельно настроить авторизацию, необходимые события и действия без разработки с ограниченным доступом к ним.
Подберите свой шаблон интеграции без регистрации здесь.
Алексей Окара,
продакт-менеджер Пинкит
|
Павел Филатов
|
|
Сервис – это незаменимый инструмент для обмена данными с внешними web-сервисами.
Самые востребованные интеграции по API: Google Sheets, Unisender, СберБанк, HH.ru, Контур.Фокус, GetCourse, Банки, iiko. |
|
Павел Филатов
|
|
А вы уже смотрели наш раздел ""? Здесь мы регулярно публикуем полезные материалы по работе с CRM.
|
|
Павел Филатов
|
|
Для тех, кто идет в ногу со временем, мы проводим регулярные
Если у Вас есть вопросы по настройке, по функционалу или вы просто хотите быть в курсе новых трендов, тогда регистрируйтесь и подключайтесь к нашим вебинарам. Для вас всегда интересные спикеры, разбор задач на примере реальных кейсов, а также подарки самым активным. |












































