跳转到内容

只读查询原接续意图结果

POST
/t1/runtime-continuity/v1/operations
curl --request POST \
--url https://api.tansr.com/t1/runtime-continuity/v1/operations \
--header 'Content-Type: application/json' \
--header 'x-tansr-app-token: <x-tansr-app-token>' \
--data '{ "protocol": "sdk2-runtime-continuity-v1", "issuerId": "example", "keyId": "example", "purpose": "execute", "issuedAtMs": 1, "expiresAtMs": 1, "intent": "example", "signature": "example" }'

独立宿主issuer HMAC与当前app_user同时验证;普通appkey、持票和同用户均不具备历史见证权。接口默认不装配。purpose须为lookup,intent保留原operation及全部字段。拒绝query、Content-Encoding、重复JSON键、未知字段及非法UTF-8。签名及原意图必须由真实Store成功接受历史后的可信宿主创建,密钥不得下终端。新接续保留旧binding/runtime和原C2财务身份;旧在途或结果未知拒接续。未知结果只能用原意图查询/重放,禁止生成新ID或回退旧请求。

Media typeapplication/json

严格JSON最多16384 UTF-8字节。有效窗为(issuedAtMs,expiresAtMs]差值1..300000ms;发行时刻最多领先API时钟30000ms,过期拒绝。HMAC-SHA256覆盖固定域前缀与移除signature后的规范JSON;新签名可以刷新时窗,但不得改变已持久化intent。

object
protocol
required
Allowed value: sdk2-runtime-continuity-v1
issuerId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
keyId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
purpose
required
Allowed values: execute lookup
issuedAtMs
required
integer
<= 9007199254740991
expiresAtMs
required
integer
>= 1 <= 9007199254740991
intent
required

Resume要求新旧runtime不同;checkpoint/delete要求相同。history代际不得回退,同代际必须同commit。源修订、expectedHistory及删除代际在同一owner事务严格CAS;enroll只接受当前真实绑定且不能冒认另一来源。

object
operation
required
Allowed values: enroll checkpoint resume delete
requestId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
applicationScopeId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
endUserId
required
string
>= 1 characters <= 512 characters
sourceNamespace
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
sourceId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
expectedSourceRevision
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])$/
previousRuntimeSessionId
required
Any of:
string
>= 1 characters <= 512 characters
runtimeSessionId
required
string
>= 1 characters <= 512 characters
bindingId
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9][A-Za-z0-9._~-]*$/
expectedBindingRevision
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])$/
expectedHistory
required
Any of:
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}$/
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}$/
signature
required
string
/^[a-f0-9]{64}$/

同一意图重放原结果;lookup不铸造新关系。

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-v1
code
required
string
state
required
Allowed value: not-confirmed
action
required
Allowed values: stop query-original-intent
Example
{
"protocol": "sdk2-runtime-continuity-v1",
"state": "not-confirmed",
"action": "stop"
}
Cache-Control
required
Allowed value: no-store

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

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

发行者未授权或被撤销

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

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

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

显式归档、来源已删除或原结果已压缩,不能重执行

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

请求体超过16384字节

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

原统一库存已满

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

事务或原结果不确定,只查询原意图

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