1. Необходимость в обмене данными: задачи и решение
Бизнес-сценарии, которые требуют настроить наши заказчики, бывают разные.
Однако множество из них объединяет одно - необходимость обмена данными между несколькими порталами CRM.
Рассмотрим один из примеров: нашему заказчику потребовалось связать портал Битрикс24 с аналогичным сервисом своего бизнес-партнера, помогающему с техподдержкой.
Мы настроили такой сценарий, при котором работники заказчика формируют запрос в техподдержку в виде тикета, в комментариях описывают задачу и прикрепляют, например, картинку с наглядным отображением проблемы во вложения.
Благодаря такой настройке заказчик и его партнер исключили из рабочего процесса созвоны и мессенджеры.
Из-за этого существенно облегчилась коммуникация и сократилось время на выполнение задач, так как они стали напрямую поступать из одного портала Битрикс24 в другой.
Кейс на эту тему читайте в нашей статье.
Рассмотрим другой пример - настройка обмена данными между сервисами главного офиса и филиалов (или франчайзи).
Реализация такого сценария немного сложнее, так как отделений может быть несколько, и у каждого из них свой портал Битрикс24.
В таком случае не обойтись без автоматизации, так как циркулирующий объем данных между офисами невозможно передавать вручную.
К тому же, всю информацию нужно структурировать, а также понимать, что нужное сообщение дошло до адресата.
Тут понадобится дополнительная интеграция, которая уведомит отправителя, как вариант, в Телеграме, о том, что задача достигла адресата.
Кейс об обмене задачами для франшизы читайте здесь.
Независимо от сценария, который нужно реализовать заказчикам, решение всегда одно и тоже - автоматизация обмена данными.
Как только задача появляется на одном из порталов Битрикс24, она должна появиться и на другой платформе вместе с комментариями и вложениями.
Переходим к настройке интеграций и описанию всех инструментов.
2. Интеграция по выгрузке задач из портала А в портал Б. Подробная настройка
2.1. Шаг 1: Откуда
На портале А создается задача, Пинкит забирает из нее необходимые данные.
2.2. Шаг 2: Инструменты
Инструмент “Задача выгружалась раньше?”
Чтобы избежать дублирования задачи, необходимо проверить, существует ли она на портале Б (проверяется по ID). В названии поля указываем source.id, добавляем доступы к порталам А и Б и в качестве необходимой сущности выбираем задачу.
Инструмент “Проверка сопоставления”
Указываем название поля - step13, Условие - “Пустое значение”, Действие - “Продолжить”, в случае успешного прохождения проверки.
Инструмент “Получить вложения задачи”
Даем доступ к порталу А. Далее с помощью API-запроса GET-метода получаем файлы из задачи и указываем следующий урл: /task.item.getfiles.json?TASKID={{source.id}}.
Инструмент “Вложения в задаче найдены?”
С помощью инструмента “Если-Иначе” указываем название поля step3.result, Условие - "Не пустое значение". Если проверка прошла успешно - присваиваем значение 1, если неуспешно - 0
Инструмент “Постановщик сопоставления”
При помощи инструмента “Сопоставление данных” указываем название поля для сопоставления source.createdBy - это поле “Постановщик”. Далее сопоставляем сотрудников по ID на порталах А и Б:
Инструмент “Наблюдатель указан в задаче?”
С помощью инструмента “Если-Иначе” указываем название поля source.auditors - это поле "Наблюдатель", Условие - "Не пустое значение". Если проверка прошла успешно, то присваиваем результату значение 1, если неуспешно - 0.
Инструмент “Выполнить, если указан наблюдатель. Сопоставить наблюдателей”
С помощью инструмента “Сопоставление данных” указываем условие выполнения - step7, название поля для сопоставления - source.auditors - это поле "Наблюдатель". Далее сопоставляем сотрудников по ID на порталах А и Б:
Инструмент “Убрать дубли из массива (Наблюдатели)”
С помощью инструмента “Объединение массивов” выставляем условие выполнения - step7, Массивы для объединения - step2, отмечаем галочки “Игнорировать ошибки” и “Исключить повторы”.
Инструмент “Соисполнители указаны в задаче?”
С помощью инструмента “Если-Иначе” указываем название поля source.accomplices - это поле “Соисполнитель”, условие - “Не пустое значение”. При успешной проверке присваиваем результату значение 1, при неуспешной - 0.
Инструмент “Выполнить, если указан соисполнитель. Сопоставить соисполнителей”
С помощью инструмента “Сопоставление данных” указываем условие выполнения - step8, название поля для сопоставления - source.accomplices - это поле “Соисполнитель”. Далее сопоставляем сотрудников по ID на порталах А и Б
Инструмент “Убрать дубли из массива (Соисполнители)”
С помощью инструмента “Объединение массивов” выставляем условие выполнения - step8, массивы для объединения - step9, ставим галочку “Исключить повторы”.
2.3. Шаг 3: Куда
На портале Б в необходимой группе создаем задачу и назначаем ответственного.
2.4. Шаг 4: Сопоставление данных
Сопоставляем название и описание задачи - это стандартные поля Битрикс24.
Далее с помощью инструмента “Добавить” выполняем пользовательское сопоставление:
Постановщик
Тип: Тело
Название параметра: fields.CREATED_BY
Значение параметра: {{step1}}
Наблюдатели
Тип: Тело
Название параметра: fields.AUDITORS.0
Значение параметра: {{step12}}
Крайний срок
Тип: Тело
Название параметра: fields.DEADLINE
Значение параметра: {{Крайний срок}}
Дата создания
Тип: Тело
Название параметра: fields.CREATED_DATE
Значение параметра: {{Дата создания}}
Дата изменения
Тип: Тело
Название параметра: fields.CHANGED_DATE
Значение параметра: {{Дата изменения}}
Статус
Тип: Тело
Название параметра: fields.STATUS
Значение параметра: {{Статус}}
Соисполнители
Тип: Тело
Название параметра: fields.ACCOMPLICES.0
Значение параметра: {{step11}}
2.5. Шаг 5: Запуск
Даем интеграции наименование, задаем периодичность запросов данных, сохраняем и запускаем.
3. Проверка интеграции по выгрузке задач из портала А в портал Б на успех плюс выгрузка файлов. Подробная настройка
Данная интеграция нужна для проверки успешного срабатывания первой интеграции, а также проверки удачной или неудачной выгрузки задачи. Следом выгружаем в задачу вложения.
3.1. Шаг 1: Откуда
Выбираем ранее настроенную интеграцию Пинкит, триггер - “Интеграция - успех”, подключаем доступ.
3.2. Шаг 2: Инструменты
Инструмент “Вложение было?”
Применяем инструмент проверки. Название поля - source.int3992.step10, Условие - (Число)Равно, Сравниваемое значение - 1, Действие - "Продолжить, если проверка прошла успешно".
Инструмент “Для каждого вложения”
Применяем инструмент “Для каждого”. Название поля - source.int3992.step3.result.
Инструмент “Получить развернутую информацию о вложениях”
Используем API-запрос GET-методом, указываем следующий урл: /disk.attachedObject.get?id={{step2.ATTACHMENT_ID|default()}}
Инструмент “Вытащить формат файла”
Применяем инструмент “Замена по регулярному выражению”, Название поля - step3.result.NAME|default(), Регулярное выражение - /.+\./.
Инструмент “Скачать файл”
Применяем инструмент “Скачать файл”. Пользуемся GET-методом и указываем урл: {{step3.result.DOWNLOAD_URL|default()}}, укажем также расширение файла - {{step4}}.
3.3. Шаг 3: Куда
Даем доступ к порталу Б и создаем в задаче вложение.
3.4. Шаг 4: Сопоставление данных
Сопоставляем “ID задачи”, “Название файла” и “URL файла”.
ID задачи {{source.int3992.result.result.task.id|default()}}
Название файла {{step3.result.NAME}}
URL файла {{step5}}
3.5. Шаг 5: Запуск
Даем интеграции наименование, задаем периодичность запросов данных, сохраняем и запускаем.
4. Настройка проверки интеграции по выгрузке задач из портала А в портал Б на успех плюс выгрузка комментариев.
4.1. Шаг 1: Откуда
Настройка аналогична пункту 3.1.
4.2. Шаг 2 - Инструменты
Инструмент “Получить комментарии из портала откуда выгружаем”
Используем API-запрос GET-методом и указываем урл: /task.commentitem.getlist.json?TASKID={{source.int3992.source.id}}&order[POST_DATE]=desc
Инструмент “Для каждого комментария”
Применяем инструмент “Для каждого”, “Название поля” - step1.result.
Инструмент “Есть ли вложения”
Применяем инструмент “Если-Иначе”.Название поля - step2.ATTACHED_OBJECTS, Условие - Существует. При успешной проверке присваиваем результату значение 1, при неуспешной - 0.
Инструмент “Отфильтровать файл”
Применяем инструмент “Фильтр элементов массива”. Условие выполнения - step7, Название поля - step2.ATTACHED_OBJECTS|default(). Название поля внутри элемента массива - DOWNLOAD_URL, Условие - Не пустое значение.
Инструмент “Взять формат файла”
Применяем инструмент “Замена по регулярному выражению”. Условие выполнения - step7, Название поля - step3.0.NAME|default(). Регулярное выражение - /.+\./.
Инструмент “Скачать файл”
Применяем инструмент “Скачать файл”. Пользуемся GET-методом и указываем следующий урл: {{step3.0.DOWNLOAD_URL}}, также указываем расширение файла - {{step5}}. Условие выполнения - step7.
Инструмент “Загрузить файл на диск”
Применяем инструмент API-запроса методом POST. Условие выполнения - step7, URL - /disk.storage.uploadfile.
Тело запроса:
{
"id": 1922,
"fileContent": ["file", "{{step6|get_http_content()|base64_encode()}}"],
"data": {"NAME": "{{step3.0.NAME|default()}}"},
"generateUniqueName": true
}
Заголовки: Content-Type: application/json.
Инструмент “Закрепить файл или нет”
Применяем инструмент “Если-Иначе”. Название поля step7, Условие - (Число)Равно, Сравниваемое значение - 1. Результату при успешной проверке присваиваем значение n{{step8.result.ID|default()}}, при неуспешной - {{step8.result.ID|default()}}.
4.3. Шаг 3: Куда
Добавляем комментарий в задачу на портале Б.
4.4. Шаг 4: Сопоставление данных
Сопоставляем поля:
ID задачи: {{source.int3992.result.result.task.id}}
Текст комментария: от: {{step2.AUTHOR_NAME}}
{{step2.POST_MESSAGE}}
Добавляем пользовательское сопоставление:
Файл в комментарий
Тип: Тело
Название параметра: fields.UF_FORUM_MESSAGE_DOC.0
Значение параметра: {{step9}}
4.5. Шаг 5: Запуск
Даем интеграции наименование, задаем периодичность запросов данных, сохраняем и запускаем.
5. Резюмируем
При помощи данной инструкции можно обойтись без разработки с нуля и самостоятельно настроить три интеграции: выгрузку задач из коробки в облако Битрикс24, проверку успешной выгрузки задач и выгрузку вложений и комментариев к задачам.
Интеграции автоматизируют процесс обмена данных между порталами Битрикс24, существенно сократят объем ручного труда и сэкономят драгоценное время.
Чтобы самостоятельно настроить обмен задачами, файлами и комментариями по описанной выше инструкции, регистрируйтесь в личном кабинете по ссылке: https://lk.pinkit.io/register.
Алексей Окара,
основатель Пинол и продакт-менеджер Пинкит
Время работы специалистов Пн.–Пт.: с 9:30 до 18:30; Сб.-Вс.: выходные.
Павел Филатов
|
Сервис
Самые востребованные интеграции по API: Google Sheets, Unisender, СберБанк, HH.ru, Контур.Фокус, GetCourse, Банки, iiko. |
Павел Филатов
|
А вы уже смотрели наш раздел "
|
Павел Филатов
|
Для тех, кто идет в ногу со временем, мы проводим регулярные
Если у Вас есть вопросы по настройке, по функционалу или вы просто хотите быть в курсе новых трендов, тогда регистрируйтесь и подключайтесь к нашим вебинарам. Для вас всегда интересные спикеры, разбор задач на примере реальных кейсов, а также подарки самым активным. |