HTTP 请求、上传、幂等与任务轮询

contract-review HTTP-REQUESTS.md

HTTP 请求、上传、幂等与任务轮询

令 BASE=${AI_SKILLS_API_URL:-https://ai-skills.open-idea.net/api/v1}。每个新业务动作生成 UUID Idempotency-Key;所有请求携带 Authorization: Bearer ${CONTRACT_REVIEW_API_KEY:-$AI_SKILLS_API_KEY}。文件入口使用 multipart/form-data,其他入口使用 Content-Type: application/json。

  • POST /api/v1/contract-review/contract.inspect;GET /api/v1/contract-review/contract.inspect/tasks/{task_id}
  • POST /api/v1/contract-review/contract.analyze;GET /api/v1/contract-review/contract.analyze/tasks/{task_id}
  • POST /api/v1/contract-review/contract.export;GET /api/v1/contract-review/contract.export/tasks/{task_id}
curl -sS -X POST "$BASE/contract-review/contract.inspect" \
  -H "Authorization: Bearer ${CONTRACT_REVIEW_API_KEY:-$AI_SKILLS_API_KEY}" \
  -H "Idempotency-Key: $REQUEST_UUID" \
  -F "file=@contract.pdf" -F "contract_type=service" \
  -F "party_role=first_party" -F "jurisdiction=中国大陆"

200 表示完成,202 表示已接收。收到 202 后以 1、2、4、8 秒有限退避轮询对应 /tasks/{task_id};读取 succeeded、partial、failed 终态及 artifacts。优先读取 errors.code,兼容 error.code。网络结果不确定时只重放相同输入和原键;不得通过更换键制造重复任务。