В сегодняшней статье расскажем, как настроить обмен данными между коробкой и облаком Битрикс24, а именно: как выгрузить задачи, комментарии и файлы в задачах, а также проверить успешное срабатывание интеграций. Подробную инструкцию настройки интеграции Пинкит без помощи инженеров читайте далее.
1. Бизнес-польза автоматического обмена задачами между несколькими Битрикс24. Проблема и решение
Одна из популярных бизнес-задач для наших заказчиков — настройка обмена данными между несколькими порталами Битрикс24. Например, с порталом партнера, который занимается технической поддержкой вашей платформы.
Взаимодействие выглядит следующим образом: ваши сотрудники ставят задачи в своем портале Битрикс24 (в формате тикетов), эти задачи выгружаются на портал партнера вместе с вложениями и комментариями. Там их обрабатывают сотрудники партнера, пишут свои комментарии, которые выгружаются обратно на ваш портал. Таким образом упрощается взаимодействие и исключается использование мессенджеров, электронной почты или звонков.
Кейс на эту тему читайте в нашей статье.
Еще один бизнес-сценарий — это обмен данными между порталом франчайзера и франчайзи. Для сети франшиз быть постоянно на связи с головной компанией крайне важно. При этом порталов может быть много, и вручную передавать данные из главного портала Битрикс24 — задача неосуществимая.
Автоматизация помогает не запутаться в больших массивах данных, уменьшить время отклика на задачу и сократить затраты на ручной труд. Можно еще дополнительно настроить уведомления о том, что задача выгружена на нужный портал, например, в Телеграм. Это поможет избежать потери данных и времени.
Кейс об обмене задачами для франшизы читайте здесь.
Сценариев может быть множество, но их всех объединяет одна задача — автоматизация обмена данными. При создании задачи на одном портале Битрикс24 она должна автоматически создаваться и на другом. Выгружаться должны не только название и описание задачи, но и комментарии к ней, а также вложения (файлы).
Далее мы расскажем, как настроить такие интеграции с подробным описанием всех инструментов.
2. Интеграция по выгрузке задач из портала А в портал Б. Подробная настройка
2.1. Шаг 1: Откуда. Пинкит забирает данные из портала А в момент создания задачи.
2.2. Шаг 2: Инструменты
2.2.1. Задача выгружалась раньше?
Чтобы избежать дублирования, проверяем, есть ли задача с таким ID на портале Б. Указываем в названии поля source.id, добавляем доступы к порталам А и Б и выбираем необходимую сущность - задачу.
2.2.2. Проверка сопоставления
Указываем название поля - step13, Условие - Пустое значение, Действие - Продолжить, если проверка пройдена.
2.2.3. Получить вложения задачи
Получаем файлы из задачи, используя API-запрос GET-методом с указанием следующего урла: /task.item.getfiles.json?TASKID={{source.id}}. Не забываем указать доступ к порталу А.
2.2.4. Вложения в задаче найдены?
Используем инструмент "Если-Иначе". Указываем Название поля step3.result, Условие - Не пустое значение. Результату при успешной проверке присваиваем значение 1, при неуспешной - 0.
2.2.5. Постановщик сопоставления
Используем инструмент "Сопоставление данных". Указываем название поля для сопоставления source.createdBy - это поле Постановщик. Далее сопоставляем сотрудников по ID на порталах А и Б, как это указано на скриншоте.
2.2.6. Наблюдатель указан в задаче?
Используем инструмент "Если-Иначе". Указываем Название поля source.auditors - это поле Наблюдатель, Условие - Не пустое значение. Результату при успешной проверке присваиваем значение 1, при неуспешной - 0.
2.2.7. Выполнить, если указан наблюдатель. Сопоставить наблюдателей
Используем инструмент "Сопоставление данных". Указываем Условие выполнения - step7, название поля для сопоставления - source.auditors - это поле Наблюдатель. Далее сопоставляем сотрудников по ID на порталах А и Б, как это указано на скриншоте.
2.2.8. Убрать дубли из массива (Наблюдатели)
Используем инструмент "Объединение массивов". Условие выполнения - step7, Массивы для объединения - step2, отмечаем галочки Игнорировать ошибки и Исключить повторы.
2.2.9. Соисполнители указаны в задаче?
Используем инструмент "Если-Иначе". Указываем Название поля source.accomplices - это поле Соисполнитель, Условие - Не пустое значение. Результату при успешной проверке присваиваем значение 1, при неуспешной - 0.
2.2.10. Выполнить, если указан соисполнитель. Сопоставить соисполнителей
Используем инструмент Сопоставление данных. Указываем Условие выполнения - step8, название поля для сопоставления - source.accomplices - это поле Соисполнитель. Далее сопоставляем сотрудников по ID на порталах А и Б, как это указано на скриншоте.
2.2.11. Убрать дубли из массива (Соисполнители)
Используем инструмент Объединение массивов. Условие выполнения - 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: Инструменты
3.2.1. Вложение было?
Используем инструмент проверки, Название поля - source.int3992.step10, Условие - (Число)Равно, Сравниваемое значение - 1, Действие - Продолжить, если проверка пройдена.
3.2.2. Для каждого вложения
Используем инструмент "Для каждого", Название поля - source.int3992.step3.result.
3.2.3. Получить развернутую информацию о вложениях
Используем API-запрос GET-методом с указанием следующего урла: /disk.attachedObject.get?id={{step2.ATTACHMENT_ID|default()}}
3.2.4. Вытащить формат файла
Используем инструмент "Замена по регулярному выражению", Название поля - step3.result.NAME|default(), Регулярное выражение - /.+\./.
3.2.5. Скачать файл
Используем инструмент "Скачать файл". Воспользуемся 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 - Инструменты
4.2.1. Получить комментарии из портала откуда выгружаем
Используем API-запрос GET-методом с указанием следующего урла: /task.commentitem.getlist.json?TASKID={{source.int3992.source.id}}&order[POST_DATE]=desc
4.2.2. Для каждого комментария
Используем инструмент Для каждого, Название поля - step1.result.
4.2.3. Есть ли вложения
Используем инструмент Если-Иначе. Указываем Название поля - step2.ATTACHED_OBJECTS, Условие - Существует. Результату при успешной проверке присваиваем значение 1, при неуспешной - 0.
4.2.4. Отфильтровать файл
Используем инструмент "Фильтр элементов массива". Условие выполнения - step7, Название поля - step2.ATTACHED_OBJECTS|default(). Название поля внутри элемента массива - DOWNLOAD_URL, Условие - Не пустое значение.
4.2.5. Взять формат файла
Используем инструмент "Замена по регулярному выражению". Условие выполнения - step7, Название поля - step3.0.NAME|default(). Регулярное выражение - /.+\./.
4.2.6. Скачать файл
Используем инструмент "Скачать файл". Воспользуемся GET-методом с указанием следующего урла: {{step3.0.DOWNLOAD_URL}}, укажем также расширение файла - {{step5}}. Условие выполнения - step7.
4.2.7. Загрузить файл на диск
Используем инструмент 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.
4.2.8. Закрепить файл или нет
Используем инструмент "Если-Иначе". Указываем Название поля 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.
Алексей Окара, основатель Пинол и продакт-менеджер Пинкит
#пинол #пинкит #pinall #pinkit #bitrix24 #битрикс24 #amo #amocrm #амо #амоцрм #crm #црм #црмсистема #црм_система #внедрениецрм #интеграция #миграция #обмен #пинкит_битрикс24_битрикс24