Завдання та передумови
Прочитати ресурс API, витягти масив data.items, залишити відкриті замовлення й сформувати Excel.
Приклад містить навчальні дані та налаштування. Виберіть власні тестові джерела й підключення замість ідентифікаторів demo_*, відтворіть очікуваний результат і лише потім використовуйте робочі об’єкти.
Налаштування прикладного підключення:
{
"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 у звичайні заголовки: секрети вводяться у спеціальному полі підключення.