1. Создайте точку выдачи
Создайте «REST API» с направлением «Выдача данных потока». Введите название, версию API и идентификатор, например stock. Адрес будет иметь вид GET /api/v1/data/stock с префиксом вашей установки. Выберите JSON, JSON Lines, CSV или XML. Настройте разделитель CSV; для XML названия колонок должны быть допустимыми именами элементов.
Защищённой точке не нужен отдельный секрет подключения: потребитель использует своего API-клиента. Задайте максимальный возраст сохранённых данных. «Лимиты API» ограничивают число строк ответа; значение limit выше этой границы уменьшается до допустимого.
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=... и не создаёт новый запуск. Передайте If-None-Match с неизменным ETag, чтобы получить 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» содержит настройки блока.