Skip to content

Resources API

Endpoints Resources управляют delivery resources и их публичными setup flows. Все маршруты на этой странице используют канонический namespace /api.

GET /api/resources

Возвращает resources.

Аргументы:

АргументГдеОписание
workspaceQueryОпциональный фильтр по workspace fullname.
projectQueryОпциональный фильтр по project fullname.

Тело запроса: нет.

Ответ: ResourceView[].

GET /api/resources/:fullname

Возвращает resource.

Аргументы:

АргументГдеОписание
fullnamePathResource fullname.

Тело запроса: нет.

Ответ: ResourceView.

PUT /api/resources/:fullname

Создает или обновляет resource.

Аргументы:

АргументГдеОписание
fullnamePathResource fullname. Должен совпадать с payload.fullname.

Тело запроса:

ПолеОбязательноеОписание
nameДаИмя resource.
fullnameДаResource fullname.
workspaceДаWorkspace fullname.
projectНетProject fullname, если resource привязан к project.
blueprintДаBlueprint fullname, который задает setup/action behavior.
dataНетДанные конкретного resource.
tagsНетTags.
labelsНетLabels.
meta.titleНетВидимое название.

Ответ: ResourceView.

DELETE /api/resources/:fullname

Удаляет resource.

Аргументы:

АргументГдеОписание
fullnamePathResource fullname.

Тело запроса: нет.

Ответ: OperationResult.

Три setup-session endpoints ниже доступны, только когда на сервере включена безопасная настройка Telegram destination.

POST /api/resources/:fullname/setup-sessions

Создает безопасную setup session для выбора Telegram destination. Авторизованный account должен быть владельцем workspace, которому принадлежит resource, а сам resource должен использовать внешний Telegram blueprint.

У resource может быть только одна активная setup session. Новая session переводит предыдущую активную session в статус superseded, но не меняет текущий destination resource.

Аргументы:

АргументГдеОписание
fullnamePathFullname Telegram resource.

Тело запроса: нет.

Ответ:

ПолеОписание
idID setup session для проверки статуса или отмены.
statuspending.
setupTokenОдноразовый секрет для запуска setup flow в Telegram-боте. Возвращается только в этом ответе; его нельзя логировать или сохранять.
expiresAtISO timestamp. Session и setupToken истекают через 15 минут после создания.

Старый destination продолжает получать alerts, пока Telegram не подтвердит новую цель и session не перейдет в статус completed.

После завершения сервер сохраняет подтвержденный target в приватном data, устанавливает ready: true и очищает remark. Controller workspace получает безопасное название, тип и опциональный topic через destinationSummary; Telegram target id и приватные данные в этом view отсутствуют. Для отображения настроенного destination нужно использовать destinationSummary, а не remark.

GET /api/resources/:fullname/setup-sessions/:id

Возвращает публичный статус Telegram destination setup session. Ответ никогда не содержит setupToken.

Аргументы:

АргументГдеОписание
fullnamePathFullname Telegram resource.
idPathID setup session.

Тело запроса: нет.

Ответ:

ПолеОписание
idID setup session.
resourceFullnameFullname resource.
statuspending, claimed, completed, cancelled, expired или superseded.
expiresAtISO timestamp окончания session.

DELETE /api/resources/:fullname/setup-sessions/:id

Отменяет активную Telegram destination setup session. Для уже настроенного resource отмена безопасна: его текущий destination не изменяется.

Аргументы:

АргументГдеОписание
fullnamePathFullname Telegram resource.
idPathID setup session.

Тело запроса: нет.

Ответ: пустой успешный ответ.

GET /api/resources/external/:token

Читает состояние external resource setup по capability ресурса.

Безопасность: :token — это постоянная bearer capability ресурса, а не одноразовый 15-минутный setupToken Telegram setup session. Считайте секретом весь URL: передавайте его только по HTTPS и не помещайте в аналитику, логи приложений, сообщения поддержки или ссылки, передающие referrer.

Аргументы:

АргументГдеОписание
tokenPathПостоянная bearer capability ресурса.

Тело запроса: нет.

Ответ: ExternalResourceView.

POST /api/resources/external/:token

Отправляет payload external resource setup по capability ресурса.

Аргументы:

АргументГдеОписание
tokenPathПостоянная bearer capability ресурса.

Тело запроса:

ПолеОбязательноеОписание
transformДаОбъект или null, resource/app-specific результат transform/setup.

Ответ: OperationResult.