1. Створіть точку видачі

Створіть «REST API» з напрямом «Видача даних потоку». Укажіть назву, версію API та ідентифікатор, наприклад stock. Адреса матиме вигляд GET /api/v1/data/stock із префіксом вашої установки. Виберіть JSON, JSON Lines, CSV або XML. Для CSV налаштуйте роздільник; для XML назви колонок повинні бути допустимими назвами елементів.

Для закритої точки не потрібен окремий секрет у підключенні: споживач використовує власний API-клієнт. Задайте найбільший вік даних для збережених результатів. На вкладці «Ліміти API» можна обмежити рядки відповіді; значення limit запиту понад цю межу зменшується до дозволеного.

Напрями обміну даними через API
Напрями обміну даними через API

2. Під’єднайте результат у потоці

Додайте «Видача даних API» з групи «API: приймання й видача даних» та виберіть вільну точку. З’єднайте її вхід із блоком, таблицю якого потрібно видавати. Це може бути підготовлений результат перетворень або результат отримувача після запису. Для маршрутизатора виберіть потрібний вихід.

Блок завершує гілку й не має виходів. У потоці дозволений один блок видачі; одна точка належить одному опублікованому потоку. Повторне використання зайнятої точки відхиляється як API_POINT_TAKEN. Збережіть і опублікуйте потік. До публікації точка повертає 409 API_ENDPOINT_NOT_READY; для режиму збережених результатів виконайте перший запуск.

3. Оберіть режим актуальності

«Збережені результати останнього запуску» повертає таблицю останнього завершеного Production-запуску, успішного або часткового. GET не запускає потік. Оновлення організуйте розкладом чи іншим дозволеним способом. Якщо дані старші за встановлений вік, відповідь — 409 API_DATA_STALE; нуль вимикає перевірку віку.

«Запускати потік на кожен запит» виконує Production без інтерактивної участі. Установіть очікування 1–120 секунд і повторне використання результату 0–3600 секунд. Однакові параметри запуску можуть використати готовий результат; одночасні однакові запити очікують той самий запуск. Власнику ключа потрібне право запуску, а клієнту — «Читання». У цьому режимі обмеження віку збережених даних не застосовується.

4. Додайте параметри API

У властивостях блоку натисніть «Додати параметр». Назва починається з латинської літери й містить до 40 літер, цифр або підкреслень; offset, limit і run зарезервовані. Додайте опис для інтегратора. Параметр може відбирати рядки за полем або передавати значення параметру запуску; другий варіант доступний лише для запуску на запит.

Задайте тип — текст, число чи дата, обов’язковість, список дозволених значень або межі. Наприклад, warehouse відбирає поле Warehouse, а date — дату. Повторення warehouse=KYIV&warehouse=LVIV обирає кілька значень; date_from і date_to задають включний діапазон. Різні параметри діють разом. На відміну від приймання, префікс p. тут не підтримується.

5. Прочитайте сторінки одного результату

Запит нижче передбачає, що ви налаштували параметр warehouse. Додайте ключ і HMAC відповідно до правил клієнта. Відповідь містить X-Total-Rows, X-Run-Id, X-Run-Finished і ETag. Для наступної сторінки використовуйте Link або X-Next-Offset, зберігаючи параметри й ідентифікатор запуску.

GET /api/v1/data/stock?warehouse=KYIV&offset=0&limit=100
Authorization: Bearer API_KEY
X-UBC-Timestamp: UNIX_SECONDS
X-UBC-Signature: v1=HMAC_HEX

Якщо новий запуск не завершився вчасно, 202 API_RUN_PENDING повертає next, Location, Retry-After і run.id. Зачекайте й запитайте next: вона містить run=... та не починає новий запуск. Для незмінного ETag можна передати If-None-Match й отримати 304.

6. Доступ, помилки й приймання

Залишайте точку закритою для внутрішніх даних. Перемикач «Публічна точка — доступ без ключа й підпису» відкриває її будь-кому після підтвердження; діють окремий IP-ліміт і загальний ліміт API. Технічна документація та інші маршрути автоматично публічними не стають.

Перевірте правильний і відсутній параметр, кілька сторінок, застарілі дані й користувача без права. 400 API_PARAMETER_REQUIRED означає пропуск; API_PARAMETER_INVALID — неправильне значення; API_QUERY_UNKNOWN — невідому назву. Відсутнє поле дає 409 API_PARAMETER_FIELD, невдалий запуск — 502 API_RUN_FAILED. Звірте кількість після відбору, конкретні ключі й run.id, а не лише HTTP 200.

У режимі запуску публічна точка виконує потік із правами користувача, який його опублікував; перевірте ці права перед відкриттям доступу. Параметри самого блоку зібрані в довіднику «Видача даних API».