HTTP 请求、幂等与任务轮询

shift-scheduler HTTP-REQUESTS.md

HTTP 请求、幂等与任务轮询

默认 BASE=${AI_SKILLS_API_URL:-https://ai-skills.open-idea.net/api/v1}。每个新业务动作生成 UUID Idempotency-Key;不确定的网络结果只能用相同操作、请求体和键重放。不要修改请求体后复用旧键,注意 errors.idempotency_key

  • /api/v1/shift-scheduler/schedule.generate/api/v1/shift-scheduler/schedule.generate/tasks/{task_id}
  • /api/v1/shift-scheduler/schedule.read/api/v1/shift-scheduler/schedule.read/tasks/{task_id}
  • /api/v1/shift-scheduler/schedule.update/api/v1/shift-scheduler/schedule.update/tasks/{task_id}
  • /api/v1/shift-scheduler/schedule.export/api/v1/shift-scheduler/schedule.export/tasks/{task_id}
curl -sS -X POST "$BASE/shift-scheduler/schedule.read" \
  -H "Authorization: Bearer $SHIFT_SCHEDULER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $REQUEST_UUID" \
  --data '{"schedule_id":"实际 UUID"}'

200 表示完成;收到 202 后按任务 ID 轮询对应 /tasks/{task_id},使用 1、2、4、8 秒的有界退避;约 60 秒后仍未终结则让用户稍后查询,不能重复生成。终态为 succeeded(成功)、partial(部分成功)、failed(失败)。读取结构化结果与 artifacts 字段,并保留 X-AI-Skills-Billing-CurrencyX-AI-Skills-Billing-ChargedX-AI-Skills-Billing-Balance。错误优先读取 errors.code,兼容 error.code