QoderWake API集成指南:手把手教你在业务系统中无缝调用AI能力
先说几个关键要点:QoderWake API的集成流程本质上分为五步——OAuth鉴权、配置Workspace头、四阶段任务流程、技能网关规范以及权限校验。缺少任何一步,API调用都将失败。实际开发中最容易卡住的地方往往是几个细小的阻塞点:Bearer Token里的空格没注意、Workspace ID误填成了账号ID、关键步骤遗漏确认、请求体结构与要求不符、权限未提前校验。任何一个问题都能让你的请求石沉大海。

所以,如果你在自己的业务系统调用QoderWake AI能力时,频繁遇到鉴权失败、端点返回404或请求体格式报错,多半就是上述环节中某一步没有走通。接下来我们逐项详细拆解,帮你顺利接入。
配置Bearer Token与工作区头信息
所有REST API调用的第一道门槛就是身份凭证。没有它,直接返回401错误,后续路由逻辑完全无法执行。
第一步:访问https://auth.qoder.com/oauth/token,使用你的client_id和client_secret获取access_token。响应体中的token字段就是你的Bearer值。
第二步:在HTTP Header中添加 Authorization: Bearer 【your_access_token】。这里有一个极易出错的细节:Bearer与token之间必须且只能有一个空格。多一个或少一个都会导致认证被拒绝。
第三步:别忘了添加 X-QoderWake-Workspace-ID 头,其值应为Qoder控制台中创建的工作区ID(格式如:ws-7f3a9b2c)。请注意,这个ID不是你的个人账号ID,如果误填为账号ID,将直接触发权限沙盒拦截。
发起任务请求并处理高危操作确认
QoderWake将敏感操作拆分为四个阶段:发起、确认、轮询、获取。虽然步骤稍多,但跳过确认环节将导致任务永远挂在“Action Required”状态,无法继续。
首先向 https://api.qoder.com/v1/quest/start 发送POST请求,Body中的 spec 字段必须是一个JSON对象,至少包含 goal(字符串)和 context(对象)两个键,缺一不可。
拿到返回的 quest_id 后,立即调用 /v1/quest/{id}/confirm 接口,Body传入空JSON {} 即可完成授权。操作很简单,只需将 quest_id 填入URL路径即可,但遗漏这一步会导致整个流程中断。默认超时时间为300秒,超时后任务自动进入“Failed”状态且不可恢复,因此务必及时确认。
轮询任务状态并下载产物
任务执行是异步的,不要以为POST成功后结果就准备好了。必须主动轮询直到状态变为“Ready”,才能下载产物。
有两种方式可选:
- 轮询:调用
/v1/quest/{id}/status,检查响应中的status是否为 "Ready"。如果不是,等待2秒再次尝试,最多重复120次。 - Webhook回调:创建quest时,通过
callback_url参数指定一个接收地址。当状态变为 "Ready" 后,QoderWake会主动向该地址推送一次POST通知。
状态变为Ready后,调用 /v1/quest/{id}/artifacts 下载ZIP包。注意:响应体为二进制流,文件名不带扩展名,你需要手动添加 .zip 才能解压。
调用技能执行网关触发预注册能力
如果你想复用QoderWake已经封装好的岗位技能(例如代码审查、简历解析),不必走通用的quest接口,直接使用技能执行网关。这条路径更短,上下文也更加精准。
向 /v1/skill/execute 发送POST请求,Body中的 skill_id 必须与QoderWake技能目录中显示的ID完全一致(注意区分大小写),例如 interview-assistant-v2。
input_payload 字段必须是合法的JSON,且结构需严格匹配该技能定义的 input_schema。如果缺少字段或类型错误,将直接返回422错误,并明确告知具体哪个字段校验失败。
最后,target_workspace 字段的值必须与 X-QoderWake-Workspace-ID 头保持一致。若两者不一致,会触发权限红线校验端点阻断,返回 allowed:false。
集成前必做权限红线校验
任何操作在调用前最好主动校验权限,避免被静默拒绝或引发审计风险。
向 /v1/permission/check 发送PUT请求,Body中 action_type 填写目标操作类型(如 skill_execute、memory_retrieve),resource_path 填写对应API路径(如 /v1/skill/execute),impact_level 填写 low、medium、high 三者之一。
响应中 allowed 字段为 true 才能继续。若为 false,务必查看 reason 字段中的内容——这是定位策略冲突点的唯一线索,请勿忽略。
