Найти в Дзене

Инструкция по обмену задачами Битрикс24 (из коробки в облако) и проверка интеграции на успех

В сегодняшней статье расскажем, как настроить обмен данными между коробкой и облаком Битрикс24, а именно: как выгрузить задачи, комментарии и файлы в задачах, а также проверить успешное срабатывание интеграций. Подробную инструкцию настройки интеграции Пинкит без помощи инженеров читайте далее. 1. Бизнес-польза автоматического обмена задачами между несколькими Битрикс24. Проблема и решение Одна из популярных бизнес-задач для наших заказчиков — настройка обмена данными между несколькими порталами Битрикс24. Например, с порталом партнера, который занимается технической поддержкой вашей платформы. Взаимодействие выглядит следующим образом: ваши сотрудники ставят задачи в своем портале Битрикс24 (в формате тикетов), эти задачи выгружаются на портал партнера вместе с вложениями и комментариями. Там их обрабатывают сотрудники партнера, пишут свои комментарии, которые выгружаются обратно на ваш портал. Таким образом упрощается взаимодействие и исключается использование мессенджеров, электрон
Оглавление

В сегодняшней статье расскажем, как настроить обмен данными между коробкой и облаком Битрикс24, а именно: как выгрузить задачи, комментарии и файлы в задачах, а также проверить успешное срабатывание интеграций. Подробную инструкцию настройки интеграции Пинкит без помощи инженеров читайте далее.

1. Бизнес-польза автоматического обмена задачами между несколькими Битрикс24. Проблема и решение

Одна из популярных бизнес-задач для наших заказчиков — настройка обмена данными между несколькими порталами Битрикс24. Например, с порталом партнера, который занимается технической поддержкой вашей платформы.

Взаимодействие выглядит следующим образом: ваши сотрудники ставят задачи в своем портале Битрикс24 (в формате тикетов), эти задачи выгружаются на портал партнера вместе с вложениями и комментариями. Там их обрабатывают сотрудники партнера, пишут свои комментарии, которые выгружаются обратно на ваш портал. Таким образом упрощается взаимодействие и исключается использование мессенджеров, электронной почты или звонков.

Кейс на эту тему читайте в нашей статье.

Еще один бизнес-сценарий — это обмен данными между порталом франчайзера и франчайзи. Для сети франшиз быть постоянно на связи с головной компанией крайне важно. При этом порталов может быть много, и вручную передавать данные из главного портала Битрикс24 — задача неосуществимая.

Автоматизация помогает не запутаться в больших массивах данных, уменьшить время отклика на задачу и сократить затраты на ручной труд. Можно еще дополнительно настроить уведомления о том, что задача выгружена на нужный портал, например, в Телеграм. Это поможет избежать потери данных и времени.

Кейс об обмене задачами для франшизы читайте здесь.

Сценариев может быть множество, но их всех объединяет одна задача — автоматизация обмена данными. При создании задачи на одном портале Битрикс24 она должна автоматически создаваться и на другом. Выгружаться должны не только название и описание задачи, но и комментарии к ней, а также вложения (файлы).

Далее мы расскажем, как настроить такие интеграции с подробным описанием всех инструментов.

2. Интеграция по выгрузке задач из портала А в портал Б. Подробная настройка

2.1. Шаг 1: Откуда. Пинкит забирает данные из портала А в момент создания задачи.

-2

2.2. Шаг 2: Инструменты

-3

2.2.1. Задача выгружалась раньше?

Чтобы избежать дублирования, проверяем, есть ли задача с таким ID на портале Б. Указываем в названии поля source.id, добавляем доступы к порталам А и Б и выбираем необходимую сущность - задачу.

-4

2.2.2. Проверка сопоставления

Указываем название поля - step13, Условие - Пустое значение, Действие - Продолжить, если проверка пройдена.

-5

2.2.3. Получить вложения задачи

Получаем файлы из задачи, используя API-запрос GET-методом с указанием следующего урла: /task.item.getfiles.json?TASKID={{source.id}}. Не забываем указать доступ к порталу А.

-6

2.2.4. Вложения в задаче найдены?

Используем инструмент "Если-Иначе". Указываем Название поля step3.result, Условие - Не пустое значение. Результату при успешной проверке присваиваем значение 1, при неуспешной - 0.

-7

2.2.5. Постановщик сопоставления

Используем инструмент "Сопоставление данных". Указываем название поля для сопоставления source.createdBy - это поле Постановщик. Далее сопоставляем сотрудников по ID на порталах А и Б, как это указано на скриншоте.

-8

2.2.6. Наблюдатель указан в задаче?

Используем инструмент "Если-Иначе". Указываем Название поля source.auditors - это поле Наблюдатель, Условие - Не пустое значение. Результату при успешной проверке присваиваем значение 1, при неуспешной - 0.

-9

2.2.7. Выполнить, если указан наблюдатель. Сопоставить наблюдателей

Используем инструмент "Сопоставление данных". Указываем Условие выполнения - step7, название поля для сопоставления - source.auditors - это поле Наблюдатель. Далее сопоставляем сотрудников по ID на порталах А и Б, как это указано на скриншоте.

-10

2.2.8. Убрать дубли из массива (Наблюдатели)

Используем инструмент "Объединение массивов". Условие выполнения - step7, Массивы для объединения - step2, отмечаем галочки Игнорировать ошибки и Исключить повторы.

-11

2.2.9. Соисполнители указаны в задаче?

Используем инструмент "Если-Иначе". Указываем Название поля source.accomplices - это поле Соисполнитель, Условие - Не пустое значение. Результату при успешной проверке присваиваем значение 1, при неуспешной - 0.

-12

2.2.10. Выполнить, если указан соисполнитель. Сопоставить соисполнителей

Используем инструмент Сопоставление данных. Указываем Условие выполнения - step8, название поля для сопоставления - source.accomplices - это поле Соисполнитель. Далее сопоставляем сотрудников по ID на порталах А и Б, как это указано на скриншоте.

-13

2.2.11. Убрать дубли из массива (Соисполнители)

Используем инструмент Объединение массивов. Условие выполнения - step8, Массивы для объединения - step9, отмечаем галочку Исключить повторы.

-14

2.3. Шаг 3: Куда. Создаем задачу на портале Б в нужной группе с нужным ответственным.

-15

2.4. Шаг 4: Сопоставление данных. Сопоставляем название и описание задачи - это стандартные поля Битрикс24.

-16

Далее сопоставляем пользовательские поля с помощью инструмента "Добавить пользовательское сопоставление":

-17

Постановщик
Тип: Тело
Название параметра: 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: Запуск. Указываем Название интеграции, Периодичность запросов данных, сохраняем и запускаем.

-18

3. Проверка интеграции по выгрузке задач из портала А в портал Б на успех плюс выгрузка файлов. Подробная настройка

Этой интеграцией мы выполняем два действия: проверяем, что первая интеграция сработала успешно и задача выгрузилась, и затем выгружаем в задачу вложения.

3.1. Шаг 1: Откуда. Выбираем Пинкит, интеграцию, которую настроили ранее, триггером указываем Интеграция - успех, подключаем доступ:

-19

3.2. Шаг 2: Инструменты

-20

3.2.1. Вложение было?

Используем инструмент проверки, Название поля - source.int3992.step10, Условие - (Число)Равно, Сравниваемое значение - 1, Действие - Продолжить, если проверка пройдена.

-21

3.2.2. Для каждого вложения

Используем инструмент "Для каждого", Название поля - source.int3992.step3.result.

-22

3.2.3. Получить развернутую информацию о вложениях

Используем API-запрос GET-методом с указанием следующего урла: /disk.attachedObject.get?id={{step2.ATTACHMENT_ID|default()}}

-23

3.2.4. Вытащить формат файла

Используем инструмент "Замена по регулярному выражению", Название поля - step3.result.NAME|default(), Регулярное выражение - /.+\./.

-24

3.2.5. Скачать файл

Используем инструмент "Скачать файл". Воспользуемся GET-методом с указанием следующего урла: {{step3.result.DOWNLOAD_URL|default()}}, укажем также расширение файла - {{step4}}.

-25

3.3. Шаг 3: Куда. Создаем вложение в задаче, подключаем доступ к порталу Б.

-26

3.4. Шаг 4: Сопоставление данных

-27

Сопоставляем 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 - Инструменты

-28

4.2.1. Получить комментарии из портала откуда выгружаем

Используем API-запрос GET-методом с указанием следующего урла: /task.commentitem.getlist.json?TASKID={{source.int3992.source.id}}&order[POST_DATE]=desc

-29

4.2.2. Для каждого комментария

Используем инструмент Для каждого, Название поля - step1.result.

-30

4.2.3. Есть ли вложения

Используем инструмент Если-Иначе. Указываем Название поля - step2.ATTACHED_OBJECTS, Условие - Существует. Результату при успешной проверке присваиваем значение 1, при неуспешной - 0.

-31

4.2.4. Отфильтровать файл

Используем инструмент "Фильтр элементов массива". Условие выполнения - step7, Название поля - step2.ATTACHED_OBJECTS|default(). Название поля внутри элемента массива - DOWNLOAD_URL, Условие - Не пустое значение.

-32

4.2.5. Взять формат файла

Используем инструмент "Замена по регулярному выражению". Условие выполнения - step7, Название поля - step3.0.NAME|default(). Регулярное выражение - /.+\./.

-33

4.2.6. Скачать файл

Используем инструмент "Скачать файл". Воспользуемся GET-методом с указанием следующего урла: {{step3.0.DOWNLOAD_URL}}, укажем также расширение файла - {{step5}}. Условие выполнения - step7.

-34

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.

-35

4.2.8. Закрепить файл или нет

Используем инструмент "Если-Иначе". Указываем Название поля step7, Условие - (Число)Равно, Сравниваемое значение - 1. Результату при успешной проверке присваиваем значение n{{step8.result.ID|default()}}, при неуспешной - {{step8.result.ID|default()}}.

-36

4.3. Шаг 3: Куда. Добавляем комментарий в задачу на портале Б.

-37

4.4. Шаг 4: Сопоставление данных

-38

Сопоставляем поля:

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.
Алексей Окара, основатель Пинол и продакт-менеджер Пинкит

-39

#пинол #пинкит #pinall #pinkit #bitrix24 #битрикс24 #amo #amocrm #амо #амоцрм #crm #црм #црмсистема #црм_система #внедрениецрм #интеграция #миграция #обмен #пинкит_битрикс24_битрикс24