{"interfaceId":"commerce","graphqlPath":"/graphql","interfaceDocumentsPath":"/interface-documents","detailsPath":"/interface-documents?detail=full","discoveryQuery":"query { contractInfo { interfaceId fingerprint catalogFingerprint } modules { id name description operationCount resourceTypes } capabilities(first:5) { items { id name module interfaceId coordinate } totalCount nextCursor } }","discoveryRequests":{"overview":{"purpose":"确认实例与模块；然后只加载任务相关能力。","query":"query { contractInfo { interfaceId fingerprint catalogFingerprint } modules { id name description operationCount resourceTypes } capabilities(first:5) { items { id name module interfaceId coordinate } totalCount nextCursor } }","exampleVariables":{},"access":"public-contract"},"operation":{"purpose":"使用上一页稳定id，获取一个操作的完整执行契约；先读inputNotes和场景description再替换样例，不把样例version/null当作当前事实。对象字段已有正确子选择。recoveryOperations直接连到原恢复操作的真实样例，保留原键并替换变量；收据是历史结果，现状沿verify关系读取。变量样例须替换为真实任务与当前观察。","query":"query Operation($id:String!) { capability(id:$id) { id name module interfaceId coordinate description relatedOperations { operationId relation description } verificationOperations:relatedOperations(relation:VERIFY) { operationId description operation { id coordinate examples { id title description query variablesJson } } } recoveryOperations:relatedOperations(relation:RECOVER) { operationId description operation { id coordinate signature { arguments { name typeExpression namedType } result { typeExpression namedType } } examples { id title description query variablesJson } recovery } } signature { arguments { name description typeExpression namedType defaultValue } result { typeExpression namedType } } authorization { kind permissionIds scope conditions } invocations { actionKind action actionInput resourceKind resourceInput resourceType resourceIdSource when } inputNotes { kind field rule source } sideEffects recovery failureRecovery { kind code action } examples { id title description query variablesJson } } }","exampleVariables":{"id":"api-access.caller.get"},"access":"public-contract"},"selfAccess":{"purpose":"实例概览与本人资格（需要有效凭据）：调用者上限与当前RBAC取交集；null上限不表示全部权限。当前会话activation直接提供同一策略观察的有效激活授予页；原activatedAssignmentIds仅为持久选择记录，具体目标用explainAccess判断与凭据上限的交集；未激活授予不授权；activation.nextCursor非空则原样传给currentRoleSession.after续页；可激活列表nextAfterId非空则用eligibleRoleAssignments续页，激活页使用绑定观察身份的游标，可激活页保持其policyVersion。各根是独立观察，策略版本不一致须重读；部分FORBIDDEN不抹去其他成功观察。Revision仅说明数值编码，各字段版本不可互换。角色可持有但定义按ownerScope另行授权。角色、授予、会话的version仅对应该资源，不能代替policyVersion；按目标读取结果形成并发前提。 policyVersion观察角色、权限、继承及授予策略；会话生命周期不递增它。不同查询的观察版本不一致须重读，不构成原子快照。 策略收据的policyVersion是原提交时的历史策略观察，不保证当前策略或资源状态；按action与目标核验后重读现状。公司、部门或集团成员的version仅对应该资源；任职变更使用所属成员version，不是单条任职版本或API请求计数；使用实际成功观察值，不按调用次数推算。 topologyVersion观察公司/部门结构，不能代替资源或授权策略版本；结构意图按用例声明的观察复核。 组织收据/审计revision定位历史提交，不是资源现状版本；原键和action证明原提交，当前状态另行读取。","query":"query SelfAccess($first:Int=20) {\n    contractInfo { interfaceId fingerprint catalogFingerprint }\n    modules { id name description operationCount resourceTypes }\n    __type(name:\"Revision\") { name description }\n    currentCaller { subjectId tenantId source { kind } credentialLimits { expiresAt defaultSessionId activationLimits permissionLimits { permissionId scope { kind companyId departmentId } } callLimits { action resource { kind type id } } } }\n    currentRoleSession(first:$first) { ok code policyVersion session { id status version activatedAssignmentIds } activation { assignments { id roleId status version scope { kind companyId departmentId } } nextCursor } }\n    eligibleRoleAssignments(first:$first) { ok code policyVersion assignments { id roleId status version scope { kind companyId departmentId } } nextAfterId }\n  }","exampleVariables":{"first":20},"access":"authenticated-business"}},"description":"discoveryRequests可直接查询概览、完整单操作及已安装业务配方；先读操作inputNotes/场景说明和关联恢复/验证。搜索与类型配方沿detailsPath获取。业务资格由实际认证与授权决定，入口不证明就绪。"}