Задача и предварительные условия
Прочитайте ресурс API, извлеките массив data.items, оставьте открытые заказы и сформируйте Excel.
В примере используются демонстрационные данные и настройки. Проверьте ожидаемый результат в своей среде до подключения рабочих получателей. Идентификаторы demo_* условны: выберите собственные учебные подключения или источники в редакторе. JSON ниже показывает структуру блоков и связей, а не готовый архив потока для переноса.
Пример настроек подключения:
{
"kind": "rest_api",
"name": "Навчальні замовлення API",
"options": {
"base_url": "https://example.invalid/api",
"auth": "none",
"resource_path": "/orders",
"method": "GET",
"response_format": "json",
"records_path": "data.items",
"pagination": "none",
"timeout": 60
}
}Учебные входные данные
{
"data": {
"items": [
{
"id": "A1",
"status": "open",
"total": 120
},
{
"id": "A2",
"status": "closed",
"total": 60
},
{
"id": "A3",
"status": "open",
"total": 90
}
]
}
}Блоки, связи и точные настройки
Схема примера 15: блоков — 3, связей — 2. Идентификаторы узлов и порты настроенной схемы сохранены.
Добавьте перечисленные блоки в конструкторе, откройте свойства каждого и задайте эти значения. Имена demo_* обозначают учебные источники и подключения.
| Блок | Настройка |
|---|---|
| 1 Подключение api |
|
| 2 Фильтрация filter |
|
| 3 Экспорт данных out |
|
Связи портов
- api
out→ filterin - filter
out→ outin
Полная конфигурация схемы в JSON
{
"version": 3,
"nodes": [
{
"id": "api",
"type": "connection",
"label": "api",
"config": {
"role": "source",
"connection_id": "demo_api_orders",
"external": {
"extra_params": "region=UA"
}
}
},
{
"id": "filter",
"type": "filter",
"label": "filter",
"config": {
"mode": "all",
"predicates": [
{
"column": "status",
"op": "eq",
"value": "open",
"numeric": false,
"value_mode": "constant"
}
]
}
},
{
"id": "out",
"type": "export",
"label": "out",
"config": {
"format": "xlsx",
"filename": "api_open_orders",
"destination": "download",
"delimiter": ";",
"timezone": "Europe/Kyiv"
}
}
],
"edges": [
{
"source": "api",
"target": "filter",
"source_port": "out",
"target_port": "in"
},
{
"source": "filter",
"target": "out",
"source_port": "out",
"target_port": "in"
}
]
}Ожидаемый результат
| id | status | total |
|---|---|---|
| A1 | open | 120 |
| A3 | open | 90 |
Если тестовый API возвращает показанный документ, api_open_orders.xlsx будет содержать два заказа с total=210.
Запуск и проверка
- Настройте собственный тестовый HTTP-сервис, возвращающий показанный JSON; example.invalid — условный адрес, который не должен работать.
- Создайте подключение REST API с настройками ниже, замените только адрес тестового сервиса и настройте нужную аутентификацию.
- Проверьте предпросмотр подключения, затем запустите поток и проверьте A1/A3.
Частые ошибки
- Настройте ресурс и обработку ответа в подключении; external.extra_params добавляет параметры конкретного блока.
- Пишите по одному параметру name=value на строку, без начального ?.
- Если API возвращает несколько страниц, pagination=none читает только одну; измените политику согласно контракту API.
- Не помещайте Authorization в обычные заголовки: вводите секреты в специальное поле подключения.