curl 示例(沙箱口径)
以下命令可直接在沙箱执行;以 <base> 表示沙箱 API 根(如 https://demo.solavia.io/api)。全部为 SIM_PGK 模拟数据、mock Sevis、零真实 PII。
1. 登录换会话
curl -sS -X POST "<base>/auth/login" \
-H "X-API-Key: $TENANT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"subject":"gov_demo","password":"Gov-Demo-2026"}'
返回 session_token(沙箱账号口令仅演示用)。
2. G2P 发放
curl -sS -X POST "<base>/gov/disbursements" \
-H "X-Session-Token: $SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"subject_id":"C-T1","amount_minor":500,"purpose":"sandbox demo"}'
201 + receipt_hash;金额单位为分,币种 SIM_PGK。
3. 审计链 + 复算
curl -sS "<base>/audit/chain/PAY-GOV-0001" \ -H "X-Session-Token: $SESSION_TOKEN"
返回 claims→binding→payment→receipt;recomputed 与 receipt_hash 比对,matches 为 true。
4. 离线入队 + 复联补验
# 离线入队:202 QUEUED(不产回执、不入账)
curl -sS -X POST "<base>/agent/cico" \
-H "X-Session-Token: $AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"consumer_handle":"gov_t0_demo","direction":"IN","amount_minor":100,"offline":true,"device_id":"DEV-DEMO-1","device_seq":1}'
# 复联补验:QUEUED → SIMULATED_OK
curl -sS -X POST "<base>/agent/sync" \
-H "X-Session-Token: $AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"device_id":"DEV-DEMO-1"}'
离线队列是服务端真实状态(不是 UI 假状态);重复 device_seq 返回 409 DUPLICATE_OFFLINE。
5. interop 验签/复算
curl -sS -X POST "<base>/interop/v1/verify" \
-H "X-Session-Token: $OPERATOR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"type":"receipt_verify"}'
当前为 mock peer 阶段;对端公钥未配置时返回 501 INTEROP_NOT_CONFIGURED(诚实边界,不伪造互通)。
6. 身份模拟核验(可选)
curl -sS -X POST "<base>/identity/verify/mock" \
-H "X-Session-Token: $SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"nid_no":"SIM-NID-0000000001","route":"non_biometric"}'
只接受 SIM- 前缀假证件号;不保存 NID 原文。
★ 所有示例均为沙箱:SIM_PGK、mock Sevis、零真实 PII、不产真实资金;错误码以 errors 页为准。