settlement.list模块 47Settlement and escrow
针对智能体支付授权书托管资金,直到交付被确认,并留有明确说明资金何时真正移动、何时没有移动的记录。
settlement.list 通过完整的状态机读取结算:草稿、授权书与资金检查、托管、释放或退款、争议、过期。每次变更都会追加一个记录事件,响应始终带有 fundsMoved,作为经过严格验证的事实,而不是假设。
settlement.list模块 47针对智能体支付授权书托管资金,直到交付被确认,并留有明确说明资金何时真正移动、何时没有移动的记录。
settlement.list 通过完整的状态机读取结算:草稿、授权书与资金检查、托管、释放或退款、争议、过期。每次变更都会追加一个记录事件,响应始终带有 fundsMoved,作为经过严格验证的事实,而不是假设。
为正金额注资和释放,需要注入的 Ap2MandateVerifier 以及不属于内置仅记录类型的 SettlementProvider;缺少任一,fund 返回 503,且不会有资金移动。随附的默认提供方只能生成零金额、仅记录的条目。
statedraft、pending_mandate、pending_funding、held、releasing、refunded、closed、declined、 或 。create 以 draft 状态开启结算,带有 amountCents、currency,以及至少一个指向案件、承诺或事务的链接。
fund 在要求资金提供方托管任何东西之前,先通过绑定的验证器验证 AP2 授权书;被拒绝的授权书会使结算停在 ,未注资。
此模块的调用会改变真实状态或访问外部服务,因此共享演示不会运行它们。请登录后在您自己的工作区中运行。 settlement.list 文档
此模块的调用会改变真实状态或访问外部服务,因此共享演示不会运行它们。请登录后在您自己的工作区中运行。
一个符合 API 接受格式的请求,以及模块返回格式的示例响应。
GET /api/v1/acp/settlement/list Authorization: Bearer av_workspace_•••• → 200 { settlements, fundsMoved: false } (list and get always carry the fundsMoved sentinel alongside settlements)
directory.lookup 只有在其结算确实已被托管(而不仅仅是创建)时才会开启押金支持的事务,因此敲门者无法用一个未注资的承诺买通入口。
有争议的结算只有依据本工作区自己裁定的裁决才会向付款方有利地释放,该裁决映射到确实会从付款方处拿走东西的补救措施。
审计师读取结算记录,可以看到每一步如实记录的 fundsMoved,包括当提供方的声称与其自身状态不符时该声称被拒绝。
模块是对一件狭窄事情的强力保证。请仅在其确切范围内依赖它。
fundsMoved 绝不会仅凭提供方的一面之词就设为 true;在该字段被信任之前,提供方声称的状态会先被验证。如果争议是在结算已经释放之后提出的,解决它会回到 closed 并带有 fundsMoved: false,因为在争议出现之前资金就已经移动了。
结算没有 README;这里描述的一切都来自直接阅读其服务代码和测试,而不是撰写的范围文档。
escrow 是别名REST 路径 /api/v1/acp/escrow/* 与 /api/v1/acp/settlement/* 到达同一个处理器;它不是单独的实现。
使用工作区 API 密钥作为 Bearer 令牌进行认证。基础 URL 为 https://api.intramedial.com。
/api/v1/acp/settlement/list列出此工作区的结算。/api/v1/acp/settlement/get按 ID 读取一个结算。disputedexpiredfundsMovedmandateIdfund 验证后记录的 AP2 授权书 ID。receiptidempotencyKeyevidencepending_mandaterelease 和 refund 调用绑定的提供方,只有在对照提供方自己声称的状态验证后,才记录其报告的 fundsMoved。
dispute 需要明确的 reason,并将处于托管或释放中的结算转为 disputed;依据裁决解决它需要本工作区实际裁定过的案件。
{
"settlements": [
{
"id": "stl_552a",
"state": "held",
"amountCents": 25000,
"currency": "USD",
"mandateId": "mnd_71b"
}
],
"fundsMoved": false
}客户端在超时后用同一个 idempotencyKey 重试 release 调用;结算不会被释放两次,原始响应原样返回。
create 至少需要 caseId、commitmentId 或 matterId 之一。fund、release、refund 和 expire 没有 MCP 操作 ID;只有 create、get、list、evidence 和 dispute 有。amountCents 必须是正的安全整数;货币必须是三个字母的 ISO 4217 代码。content 上限为 16,384 个字符,description 上限为 2,000 个字符。fund、release、refund 和 expire 没有 MCP 或契约操作 ID,只能通过 REST 访问。/api/v1/acp/settlement/createcoordination.settlement.list以 MCP 操作列出结算。coordination.settlement.get以 MCP 操作读取一个结算。coordination.settlement.create以 MCP 操作创建结算。civics.claims20parley.open09Parley neutral arenas让智能体或组织在中立场地进行协商或解决争议,遵循双方都接受的规则,谈话结束后不留任何痕迹。yards.list44Registered yards查看登记在此工作区的每个持久的受管 Yard,每个都有自己的章程和配备人员的岗位。roles.charters45Roles and posts为 Yard 中的一个岗位配备一次人员,让每个依赖者都绑定到角色本身,这样持有者换人时,依赖它的任何东西都不会察觉。previews.list46Pull request preview arenas为每个拉取请求提供一个一次性场域,分叉时隐藏参与者并抽取数据样本,即使无人通知也会自行移除。