跳转到内容

通过受信后端凭据执行已固定的运行接续操作

POST
/t1/runtime-continuity-bridge/v1/execute
curl --request POST \
--url https://api.tansr.com/t1/runtime-continuity-bridge/v1/execute \
--header 'Content-Type: application/json' \
--header 'x-tansr-app-token: <x-tansr-app-token>' \
--data '{ "protocol": "sdk2-runtime-continuity-bridge-v1", "requestId": "example", "credential": "example" }'

独立短期grant与当前app_user同时验证。issuer私钥不下终端;受信后端先核真实Store租约、当前授权及删除状态,并耐久固定完整原intent。沿原接续事务执行或同意图重放,保留C2 pending阻断、原资金和删除墓碑。requestId必须与grant固定原intent一致;过期仅向受信后端刷新同intent时窗,不能换ID或自报历史。拒绝query、Content-Encoding、重复JSON键、未知字段、非法UTF-8及非规范base64url/JSON。全部错误不回显凭据。

Media typeapplication/json

Credential为RuntimeContinuityGrant的无padding规范base64url;原字节须为规范JSON。requestId必须与签名覆盖的原intent一致;终端不能另传history/source/runtime或intent。

object
protocol
required
Allowed value: sdk2-runtime-continuity-bridge-v1
requestId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
credential
required
string
>= 1 characters <= 21846 characters /^[A-Za-z0-9_-]+$/

原接续结果;响应沿既有严格回执格式,凭据本身不证明操作已完成。

Media typeapplication/json
object
protocol
required
Allowed value: sdk2-runtime-continuity-v1
requestId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
operation
required
Allowed values: enroll checkpoint resume delete
state
required
Allowed value: completed
source
required
object
sourceId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
sourceNamespace
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
revision
required

规范十进制字符串,0至9223372036854775806;禁止Number转换,保留递增空间。

string
<= 19 characters /^(0|[1-9][0-9]{0,17}|[1-8][0-9]{18}|9[0-1][0-9]{17}|92[0-1][0-9]{16}|922[0-2][0-9]{15}|9223[0-2][0-9]{14}|92233[0-6][0-9]{13}|922337[0-1][0-9]{12}|92233720[0-2][0-9]{10}|922337203[0-5][0-9]{9}|9223372036[0-7][0-9]{8}|92233720368[0-4][0-9]{7}|922337203685[0-3][0-9]{6}|9223372036854[0-6][0-9]{5}|92233720368547[0-6][0-9]{4}|922337203685477[0-4][0-9]{3}|9223372036854775[0-7][0-9]{2}|922337203685477580[0-6])$/
deletionGeneration
required

规范十进制字符串,0至9223372036854775806;禁止Number转换,保留递增空间。

string
<= 19 characters /^(0|[1-9][0-9]{0,17}|[1-8][0-9]{18}|9[0-1][0-9]{17}|92[0-1][0-9]{16}|922[0-2][0-9]{15}|9223[0-2][0-9]{14}|92233[0-6][0-9]{13}|922337[0-1][0-9]{12}|92233720[0-2][0-9]{10}|922337203[0-5][0-9]{9}|9223372036[0-7][0-9]{8}|92233720368[0-4][0-9]{7}|922337203685[0-3][0-9]{6}|9223372036854[0-6][0-9]{5}|92233720368547[0-6][0-9]{4}|922337203685477[0-4][0-9]{3}|9223372036854775[0-7][0-9]{2}|922337203685477580[0-6])$/
state
required
Allowed values: active deleted
runtimeSessionId
required
string
>= 1 characters <= 512 characters
bindingId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
history
required
object
generation
required

规范十进制字符串,0至9223372036854775806;禁止Number转换,保留递增空间。

string
<= 19 characters /^(0|[1-9][0-9]{0,17}|[1-8][0-9]{18}|9[0-1][0-9]{17}|92[0-1][0-9]{16}|922[0-2][0-9]{15}|9223[0-2][0-9]{14}|92233[0-6][0-9]{13}|922337[0-1][0-9]{12}|92233720[0-2][0-9]{10}|922337203[0-5][0-9]{9}|9223372036[0-7][0-9]{8}|92233720368[0-4][0-9]{7}|922337203685[0-3][0-9]{6}|9223372036854[0-6][0-9]{5}|92233720368547[0-6][0-9]{4}|922337203685477[0-4][0-9]{3}|9223372036854775[0-7][0-9]{2}|922337203685477580[0-6])$/
commit
required
string
/^[a-f0-9]{64}$/
binding
required
object
protocol
required
Allowed value: sdk2-cache-v1
audience
required
Allowed value: gateway-cache
bindingId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
logicalRef
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
revision
required

Canonical unsigned decimal 0..2^63-1. Never parse through IEEE754 Number.

string
<= 19 characters /^(0|[1-9][0-9]{0,17}|[1-8][0-9]{18}|9[0-1][0-9]{17}|92[0-1][0-9]{16}|922[0-2][0-9]{15}|9223[0-2][0-9]{14}|92233[0-6][0-9]{13}|922337[0-1][0-9]{12}|92233720[0-2][0-9]{10}|922337203[0-5][0-9]{9}|9223372036[0-7][0-9]{8}|92233720368[0-4][0-9]{7}|922337203685[0-3][0-9]{6}|9223372036854[0-6][0-9]{5}|92233720368547[0-6][0-9]{4}|922337203685477[0-4][0-9]{3}|9223372036854775[0-7][0-9]{2}|922337203685477580[0-6]|9223372036854775807)$/
state
required
string
Allowed values: active closed revoked expired
mode
required
Allowed value: private-logical-v1
groupGeneration
required

Canonical unsigned decimal 0..2^63-1. Never parse through IEEE754 Number.

string
<= 19 characters /^(0|[1-9][0-9]{0,17}|[1-8][0-9]{18}|9[0-1][0-9]{17}|92[0-1][0-9]{16}|922[0-2][0-9]{15}|9223[0-2][0-9]{14}|92233[0-6][0-9]{13}|922337[0-1][0-9]{12}|92233720[0-2][0-9]{10}|922337203[0-5][0-9]{9}|9223372036[0-7][0-9]{8}|92233720368[0-4][0-9]{7}|922337203685[0-3][0-9]{6}|9223372036854[0-6][0-9]{5}|92233720368547[0-6][0-9]{4}|922337203685477[0-4][0-9]{3}|9223372036854775[0-7][0-9]{2}|922337203685477580[0-6]|9223372036854775807)$/
projection
required
Any of:
object
projectionRef
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
revision
required

Canonical unsigned decimal 0..2^63-1. Never parse through IEEE754 Number.

string
<= 19 characters /^(0|[1-9][0-9]{0,17}|[1-8][0-9]{18}|9[0-1][0-9]{17}|92[0-1][0-9]{16}|922[0-2][0-9]{15}|9223[0-2][0-9]{14}|92233[0-6][0-9]{13}|922337[0-1][0-9]{12}|92233720[0-2][0-9]{10}|922337203[0-5][0-9]{9}|9223372036[0-7][0-9]{8}|92233720368[0-4][0-9]{7}|922337203685[0-3][0-9]{6}|9223372036854[0-6][0-9]{5}|92233720368547[0-6][0-9]{4}|922337203685477[0-4][0-9]{3}|9223372036854775[0-7][0-9]{2}|922337203685477580[0-6]|9223372036854775807)$/
status
required
string
Allowed values: current rebuild-required missing
reason
required
string
Allowed values: unchanged policy-changed generation-changed provider-changed source-missing legacy-missing key-rotated
expiresAt
required
string format: date-time
availability
required
Allowed value: legacy-complete
ticket
required
Any of:
string
/^[A-Za-z0-9_-]{43}$/
ticketExpiresAt
required
Any of:
string format: date-time
Example
{
"protocol": "sdk2-runtime-continuity-v1",
"operation": "enroll",
"state": "completed",
"source": {
"state": "active"
},
"binding": {
"protocol": "sdk2-cache-v1",
"audience": "gateway-cache",
"state": "active",
"mode": "private-logical-v1",
"projection": {
"status": "current",
"reason": "unchanged"
},
"availability": "legacy-complete"
}
}
Cache-Control
required
Allowed value: no-store

严格格式、协议或凭据编码错误

Media typeapplication/json
object
protocol
required
Allowed value: sdk2-runtime-continuity-bridge-v1
code
required
string
state
required
Allowed value: not-confirmed
action
required
Allowed values: stop query-original-intent
Example
{
"protocol": "sdk2-runtime-continuity-bridge-v1",
"state": "not-confirmed",
"action": "stop"
}
Cache-Control
required
Allowed value: no-store

当前用户认证或签名过期/错误

Media typeapplication/json
object
protocol
required
Allowed value: sdk2-runtime-continuity-bridge-v1
code
required
string
state
required
Allowed value: not-confirmed
action
required
Allowed values: stop query-original-intent
Example
{
"protocol": "sdk2-runtime-continuity-bridge-v1",
"state": "not-confirmed",
"action": "stop"
}
Cache-Control
required
Allowed value: no-store

发行者未授权或已撤销

Media typeapplication/json
object
protocol
required
Allowed value: sdk2-runtime-continuity-bridge-v1
code
required
string
state
required
Allowed value: not-confirmed
action
required
Allowed values: stop query-original-intent
Example
{
"protocol": "sdk2-runtime-continuity-bridge-v1",
"state": "not-confirmed",
"action": "stop"
}
Cache-Control
required
Allowed value: no-store

RequestId、来源、历史或修订冲突;存在pending_execution

Media typeapplication/json
object
protocol
required
Allowed value: sdk2-runtime-continuity-bridge-v1
code
required
string
state
required
Allowed value: not-confirmed
action
required
Allowed values: stop query-original-intent
Example
{
"protocol": "sdk2-runtime-continuity-bridge-v1",
"state": "not-confirmed",
"action": "stop"
}
Cache-Control
required
Allowed value: no-store

运行已归档、来源已删除或原结果已压缩

Media typeapplication/json
object
protocol
required
Allowed value: sdk2-runtime-continuity-bridge-v1
code
required
string
state
required
Allowed value: not-confirmed
action
required
Allowed values: stop query-original-intent
Example
{
"protocol": "sdk2-runtime-continuity-bridge-v1",
"state": "not-confirmed",
"action": "stop"
}
Cache-Control
required
Allowed value: no-store

请求体超过32768字节

Media typeapplication/json
object
protocol
required
Allowed value: sdk2-runtime-continuity-bridge-v1
code
required
string
state
required
Allowed value: not-confirmed
action
required
Allowed values: stop query-original-intent
Example
{
"protocol": "sdk2-runtime-continuity-bridge-v1",
"state": "not-confirmed",
"action": "stop"
}
Cache-Control
required
Allowed value: no-store

原统一库存已满

Media typeapplication/json
object
protocol
required
Allowed value: sdk2-runtime-continuity-bridge-v1
code
required
string
state
required
Allowed value: not-confirmed
action
required
Allowed values: stop query-original-intent
Example
{
"protocol": "sdk2-runtime-continuity-bridge-v1",
"state": "not-confirmed",
"action": "stop"
}
Cache-Control
required
Allowed value: no-store

原操作结果不确定,仅查询原意图

Media typeapplication/json
object
protocol
required
Allowed value: sdk2-runtime-continuity-bridge-v1
code
required
string
state
required
Allowed value: not-confirmed
action
required
Allowed values: stop query-original-intent
Example
{
"protocol": "sdk2-runtime-continuity-bridge-v1",
"state": "not-confirmed",
"action": "stop"
}
Cache-Control
required
Allowed value: no-store