Призначення

Будь-який HTTP-сервіс: читання записів (JSON, XML, CSV / TSV, JSON Lines) і передавання рядків (JSON, XML, форма, CSV). Одне підключення — один ресурс API з методом запиту; для іншого ресурсу або методу створіть ще одне підключення.

Поля підключення

Знімок інтерфейсуЗбільшити ↗Поля підключення REST API. Верхня частина форми REST API: назва, сервіс, базова адреса, автентифікація та додаткові заголовки. api.example — навчальна адреса.
Поля підключення REST API

Верхня частина форми REST API: назва, сервіс, базова адреса, автентифікація та додаткові заголовки. api.example — навчальна адреса.

ПолеПравило й типове значенняПояснення
Базова адреса API
base_url
Обов’язковоЗадайте значення відповідно до конфігурації вашого сервісу.
Автентифікація
auth
За налаштуванням
Типово: none
none — Без автентифікації
basic — Basic (користувач і пароль)
bearer — Bearer token
api_key — Ключ API у заголовку
oauth2 — OAuth 2.0 client credentials
Користувач
username
За налаштуваннямПоказується за умов: auth = basic
Заголовок ключа API
header_name
За налаштуванням
Типово: X-API-Key
Показується за умов: auth = api_key
Адреса отримання токена
token_url
За налаштуваннямПоказується за умов: auth = oauth2
Client ID
client_id
За налаштуваннямПоказується за умов: auth = oauth2
Scope (необов’язково)
scope
За налаштуваннямПоказується за умов: auth = oauth2
Додаткові заголовки
headers
За налаштуваннямПо одному в рядку: «Назва: значення». Секрети задавайте в полі секрету, а не тут.
Час очікування відповіді, секунд
timeout
За налаштуванням
Типово: 60
Межі: 1–600
Задайте значення відповідно до конфігурації вашого сервісу.
Шлях ресурсу
resource_path
За налаштуваннямВідносно базової адреси, без параметрів (? …). Для надсилання окремими запитами в шлях можна вставити поле рядка: /orders/{{Номер}}.
Метод запиту
method
За налаштуванням
Типово: GET
GET — GET — читання
POST — POST — читання із тілом запиту або надсилання рядків
PUT — PUT — надсилання рядків (заміна)
PATCH — PATCH — надсилання рядків (зміна)
Базові параметри запиту
query_params
За налаштуваннямДодаються до кожного запиту цього підключення. По одному в рядку: «назва=значення» або лише «назва» (наприклад, json). Значення кодуються автоматично. Блок джерела може додати власні параметри.
Формат тіла запиту
request_format
За налаштуванням
Типово: json
Для надсилання рядків і для тіла запиту читання методом POST.
json — JSON
xml — XML
form — Форма (application/x-www-form-urlencoded)
csv — CSV — текст із роздільником
Показується за умов: method = POST, PUT, PATCH
Тіло запиту
body
За налаштуваннямЛише для читання методом POST, у вибраному форматі тіла (для форми — по одному «назва=значення» в рядку). Під час надсилання тілом запиту є рядки таблиці, а це поле не використовується.
Показується за умов: method = POST
Елемент рядка XML
xml_record
За налаштуванням
Типово: record
Кожен рядок надсилається елементом з цією назвою; колонки — його дочірні елементи.
Показується за умов: method = POST, PUT, PATCH, request_format = xml
Формат відповіді
response_format
За налаштуванням
Типово: auto
auto — Визначати автоматично (за заголовком Content-Type)
json — JSON
xml — XML
csv — CSV / TSV — текст із роздільником
jsonl — JSON Lines (NDJSON) — один об’єкт JSON у рядку
Показується за умов: method = GET, POST
Кодування відповіді
response_encoding
За налаштуванням
Типово: auto
Автоматично — із заголовка Content-Type або оголошення XML, інакше UTF-8.
auto — Автоматично
utf-8 — UTF-8
windows-1251 — Windows-1251
iso-8859-1 — ISO-8859-1 (Latin-1)
Показується за умов: method = GET, POST
Роздільник CSV
csv_delimiter
За налаштуванням
Типово: comma
comma — Кома ( , )
semicolon — Крапка з комою ( ; )
tab — Табуляція (TSV)
pipe — Вертикальна риска ( | )
Доступність залежить від методу та формату запиту.
Перший рядок CSV у відповіді — назви колонок
csv_header
За налаштуванням
Типово: True
Показується за умов: method = GET, POST, response_format = csv
Шлях до записів у відповіді
records_path
За налаштуваннямJSON: шлях через крапку (data.items); порожньо — масив записів або об’єкт з одним масивом. XML: шлях елементів від кореня (./item, ./data/item, .//item); порожньо — елементи, що повторюються: найбільша група однакових елементів (для простого переліку — дочірні елементи кореня). Вкладені об’єкти й елементи стають колонками «a.b», атрибути XML — «@назва».
Показується за умов: method = GET, POST, response_format = auto, json, xml
Додавати до записів XML атрибути батьківських елементів
xml_ancestors
За налаштуванням
Типово: True
Кожен запис отримує атрибути елементів між коренем і записом. Наприклад, у курсах ЄЦБ дата Cube.Cube.@time стоїть у кожному рядку валюти. Назва колонки — шлях елементів від кореня й «@атрибут»; поле самого запису має перевагу.
Показується за умов: method = GET, POST, response_format = auto, xml
Сторінки відповіді
pagination
За налаштуванням
Типово: none
none — Одна відповідь
next_link — Посилання на наступну сторінку в тілі відповіді (JSON, XML)
link_header — Посилання на наступну сторінку в заголовку Link (rel="next")
page — Номер сторінки в параметрі
offset — Зсув (offset) у параметрі
Показується за умов: method = GET, POST
Шлях до посилання на наступну сторінку
next_link_path
За налаштуванням
Типово: next
JSON — шлях через крапку; XML — шлях елемента (текст елемента) або «шлях@атрибут». Посилання має вести на той самий сервер.
Показується за умов: method = GET, POST, pagination = next_link
Параметр номера сторінки або зсуву
page_param
За налаштуванням
Типово: page
Показується за умов: method = GET, POST, pagination = page, offset
Параметр розміру сторінки (необов’язково)
size_param
За налаштуваннямПоказується за умов: method = GET, POST, pagination = page, offset
Розмір сторінки
page_size
За налаштуванням
Типово: 100
Межі: 1–10000
Показується за умов: method = GET, POST, pagination = page, offset
Номер першої сторінки
first_page
За налаштуванням
Типово: 1
Межі: 0–1
Показується за умов: method = GET, POST, pagination = page
Найбільше сторінок
max_pages
За налаштуванням
Типово: 100
Межі: 1–10000
Показується за умов: method = GET, POST, pagination = next_link, link_header, page, offset
Як надсилати рядки
send_mode
За налаштуванням
Типово: row
Для отримувача. JSON: рядок — об’єкт «колонка: значення», пакет — масив об’єктів. XML: елемент рядка, пакет — у кореневому елементі. Форма — лише окремими запитами. CSV: рядок заголовків і рядки значень.
row — Окремий запит для кожного рядка
batch — Пакетами — кілька рядків в одному запиті
Показується за умов: method = POST, PUT, PATCH
Рядків у пакеті
batch_size
За налаштуванням
Типово: 100
Межі: 1–10000
Показується за умов: method = POST, PUT, PATCH, send_mode = batch
Ключ масиву в тілі пакета JSON (необов’язково)
batch_key
За налаштуваннямПоказується за умов: method = POST, PUT, PATCH, send_mode = batch, request_format = json
Кореневий елемент пакета XML
xml_root
За налаштуванням
Типово: records
Показується за умов: method = POST, PUT, PATCH, send_mode = batch, request_format = xml
Пароль, токен, ключ або client secret
secret
Окреме захищене полеСекрет не показується після збереження. Порожнє поле наявного підключення зберігає його поточний секрет.

Налаштування та перевірка

  1. Створіть підключення та надайте йому зрозумілу назву.
  2. Заповніть обов’язкові поля й окреме поле секрету.
  3. Виконайте «Тест» і прочитайте діагностику.
  4. Збережіть підключення та виберіть його у відповідному блоці потоку.

Успішний тест не замінює перевірку доступу до потрібного об’єкта та конкретного режиму запису.

Використання в потоці

Налаштування сервера й облікового запису зберігаються у підключенні. Конкретний об’єкт, поля та поведінка потоку визначаються в блоці. Перейдіть до правил роботи з даними →

Важливі особливості