Разработчикам
Действия с подтверждением
Fail-closed контракт для изменения данных внешнего продукта без прямого write-доступа модели.
Обновлено: 10 августа 2026
Draft capability
jsonKanyman docs
{
"name": "prepare_delivery_retry",
"capability_version": "1.0.0",
"side_effect": "draft",
"confirmation_policy": "required",
"idempotency_policy": "required",
"method": "POST",
"url": "https://api.example.com/kenyman/actions/delivery-retry"
}Жизненный цикл
textKanyman docs
awaiting_confirmation
→ confirmed
→ executing
→ succeeded | failed | unknown_result
awaiting_confirmation | confirmed
→ cancelled
awaiting_confirmation
→ expiredEndpoint продукта не вызывается до server-side confirmation. Действие может подтвердить owner/admin проекта в ЛК или конечный пользователь в своей авторизованной Web Chat-сессии. После подтверждения действие попадает в durable-очередь и выполняется отдельным worker.
Запрос к вашему endpoint
httpKanyman docs
POST /kanyman/actions/delivery-retry
Idempotency-Key: action_...
Authorization: Bearer ...
X-Kanyman-Key-Id: connector-current
X-Kanyman-Timestamp: ...
X-Kanyman-Nonce: ...
X-Kanyman-Body-SHA256: ...
X-Kanyman-Signature: ...
{
"request_id": "ktc_action_...",
"integration_id": "ext_...",
"action_id": "action_...",
"capability_version": "1.0.0",
"subject": "opaque-user-reference",
"entities": [{ "type": "project", "ref": "prj_..." }],
"input": { "request_id": "req_..." }
}- Обрабатывайте Idempotency-Key как уникальный ключ операции и возвращайте тот же результат при повторе.
- Не доверяйте браузеру значения subject, integration_id, action_id и capability_version.
- Сохраняйте связь action_id с внутренней операцией для ручной reconciliation-проверки.