Выгрузка файлов на Яндекс Диск
Вам нужно выгрузить файлы из записей Бипиума на Яндекс Диск. Когда данных немного — можно скачать и загрузить их вручную. Но с увеличением числа файлов ручная выгрузка файлов становится утомительной. Бипиум может автоматизировать процесс выгрузки файлов.
В каталоге «Правила загрузки» создается запись с указанием каталога и ID поля типа «Файл» из которого нужно выгрузить файлы на Яндекс Диск:

После сохранения записи Бипиум выгружает все файлы из указанного поля каталога. Состояние выгрузки можно отслеживать по полям из секции «Служебная информация» записи правила.
Запись правила в момент выгрузки:

Запись правила после успешного завершения выгрузки:

Файлы будут размещены на Яндекс Диске по следующему пути:
// disk.yandex.ru/Выгрузки Бипиум/наименование_каталога/ID_записи
Так выглядит запись из выгружаемого каталога «Товары»:

Так выглядят выгруженные из этой записи файлы на Яндекс Диске:


- При создании записи в каталоге с правилами, сценарий обработки записи проверяет наличие и тип указанного поля в структуре выбранного каталога. Указанное поле должно присутствовать в структуре каталога и его тип должен быть файлом. Если условия не выполняются, то сценарий обработки записи установит статус «Ошибка» для правила
- Если проверка прошла успешно, сценарий обработки новой записи запустит сценарий загрузки файлов.
Для загрузки файлов на Яндекс Диск вам нужно получить OAuth-токен Яндекса. Узнать о том, что такое OAuth-токен и как его получить, вы можете в документации Яндекса по ссылке.
Бипиум хранит список всех каталогов в виде записей в служебном каталоге «Каталоги». Этот каталог по умолчанию скрыт в системе. Для того, чтобы реализовать процесс загрузки файлов на Яндекс Диск, необходимо открыть отобра жение этого каталога.
Создайте новую запись в каталоге «Внешние запросы». В качестве сценария прикрепите следующий файл сценария.
Файл сценария выглядит следующим образом:

Этот сценарий открывает отображение каталога «Каталоги» в вашей системе.
В сценарии нужно изменить:
- Компонент «Открываем каталог каталогов». В поле «Заголовки (headers)» в значении заголовка «from» укажите поддомен вашей системы. Например, для домена https://test.bpium.ru нужно указать «test».
Запустите сценарий во внешнем запросе, перейдя по полному адресу внешнего запроса.
Если все сделано правильно, в отделе «Управление» появится каталог «Каталоги» со списком всех каталогов в системе.

Создайте каталог «Правила загрузки». В этом каталоге будут собраны правила загрузки файлов и статус их выполнения. Поля каталога нужно создавать в том же порядке, не нарушая последовательность id-полей:

- Правило (Секция)
- Наименование (Текст). Описание: Содержит наименование правила.
- Статус (Статус) Описание: Статус выполнения процесса загрузки файлов. Значения: «В очереди», «Запущен», «Завершен», «Ошибка». Будет меняться автоматически исходя из результата выполнения сценария загрузки. Настройки: По умолчанию: первый элемент, редактируемое только через API.
- Каталог (Связанный каталог) Описание: Содержит каталог, из записей которого будут загружаться файлы на Яндекс Диск. Настройки: Обязательное поле, связь с каталогом «Каталоги».
- ID-поля для файлов (Текст) Описание: Содержит id-поля для файлов в выбранном каталоге. Настройки: Обязательное поле.
- Служебная информация (Секция)
- Дата запуска (Дата) Описание: Содержит в себе дату создания правила. Будет проставляться автоматически при создании правила. Настройки: «С временем», редактируемое только через API.
- Дата окончания (Дата) Описание: Содержит в себе дату завершения процесса загрузки файлов. Будет проставляться автоматически после завершения сценария загрузки. Настройки: «С временем», редактируемое только через API
- Лог (Текст) Описание: Содержит в себе данные о выполнении процесса загрузки. Будет заполняться автоматически в зависимости от результатов выполнения процесса загрузки. Настройки: Многострочный текст, редактируемое только через API
В системном каталоге «Сценарии» создайте запись и приложите к нему файл сценария: «Выгрузка файлов на Яндекс-Диск».
Этот сценарий не связан с событиями. Он запускается из сценария «Запустить выгрузку файлов».
Сценарий выглядит следующим образ ом:

Сценарий выполняет:
- Создание корневого каталога «Выгрузки Бипиум»
- Создание подкаталога с названием выбранного каталога
- Получение пачки записей из выбранного каталога
В сценарии нужно изменить:
- В компоненте «path1 & path2 & Authorization» в поле «Authorization» укажите ваш OAuth-токен.
В системном каталоге «Сценарии» создайте запись и приложите к нему файл сценария: «Запустить выгрузку файлов».
Сценарий выглядит следующим образом:

Сценарий выполняет:
- Получение структуры выбранного каталога
- Проверка наличия указанного поля в структуре каталога и типа данного поля
- Если условия выполняются, то запускается сценарий выгрузки файлов. Если условия не выполняются, то в правиле фиксируется ошибка.
В сценарии нужно изменить:
- В компоненте «Запуск процесса» в поле «Сценарий» укажите сценарий «Запустить выгрузку файлов».
В системном каталоге «События» нужно создать событие для каталога «Правила загрузки»:

Событие отслеживает создание записи (уведомление) в каталоге правил и запускает сценарий запуска выгрузки файлов.
Для тестирования создайте новую запись в каталоге «Правила загрузки»: задайте правилу любое наименование. Выберите каталог, в котором есть поле для файлов. Введите id-поля для файлов в выбранном каталоге.

Если в выбранном каталоге указанное поле действительно является полем для файлов, то сценарий запустит процесс загрузки файлов, а статус перейдет на «Запущен»:

После завершения процесса загрузки файлов во всех записях каталога, статус изменится на «Завершен»:

Пример записи с файлом в Бипиум:

Файлы на Яндекс Диске после загрузки:

Last modified 7mo ago