必须手动构造带鉴权、重试和字段映射的http请求链路:先用postman验证api(含x-api-key头及响应结构),oauth2.0需用自定义函数实现授权;bot中配置http节点时严格匹配变量名、启用失败重试;解析响应须用jsonpath或javascript函数容错提取;消息模板变量须从解析节点output插入,不可直连http输出。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在扣子(Coze)机器人中真正调用外部接口完成业务闭环,比如查快递、同步订单、触发企业微信通知,必须绕过平台默认的「HTTP请求」插件限制,亲手构造带身份认证、错误重试和字段映射的完整请求链路。
确认API可用性与鉴权方式
打开 Postman 或 curl 命令行,用目标 API 的文档示例请求先跑通一次,重点验证:【必须携带 X-API-Key 请求头】,否则扣子侧即使配置正确也会返回 401;观察响应体是否含嵌套 JSON(如 data → result → list),这直接影响后续 JSONPath 提取逻辑。
若 API 要求 OAuth2.0,跳过扣子内置 HTTP 插件——它不支持动态获取 access_token 并刷新,改用「自定义函数」+「Secret Key」存储 client_secret 后自行实现三步授权流。
在扣子中创建可复用的 HTTP 请求节点
进入 Bot 编辑页 → 点击「工作流」→ 新建「HTTP 请求」节点 → 填写 URL、选择 Method(GET/POST)、设置 Headers(手动键入 Content-Type: application/json 和认证字段)。
Body 类型选「Raw JSON」,直接输入:{"order_id": "{{input.order_id}}", "timestamp": {{sys.time}} } —— 注意这里 【双大括号变量必须与上游节点输出字段名完全一致,大小写敏感】,输成 orderid 或 OrderId 都会导致空值传入。
勾选「启用失败重试」,次数设为 2,间隔 1000ms;不勾选的话,网络抖动或目标服务瞬时超时就会中断整个流程,用户收不到任何反馈。
解析并安全提取响应数据
方法一:用「JSONPath 提取」节点接在 HTTP 请求后 → 在「表达式」栏输入 $.data.items[0].status,提取第一个包裹状态;若响应结构不稳定(比如有时返回数组,有时是单对象),必须提前加「条件分支」判断 $.data.items 是否为数组类型。
方法二:用「JavaScript 函数」节点编写容错逻辑:
const res = $input; if (Array.isArray(res.data?.items)) { return { status: res.data.items[0]?.status || 'unknown' }; } else { return { status: res.data?.status || 'error' }; }
这一步不能省——扣子原生 JSONPath 遇到缺失字段直接报错中断,而 JS 函数可兜底返回默认值,保证下游「发送消息」节点总有内容可发。
将 API 结果注入消息模板并发送
第一步:拖入「发送消息」节点 → 消息类型选「文本」→ 在内容框输入:
? 快递状态:{{output.status}}
预计送达:{{output.estimated_delivery}}
第二步:点击「插入变量」→ 从下拉列表中逐个选择 output.status、output.estimated_delivery;不要手动敲变量名,拼错一个字符就无法渲染。
第三步:检查「发送消息」节点上方连接线是否来自「JSONPath 提取」或「JavaScript 函数」节点的 output,而不是直接连 HTTP 节点——HTTP 节点输出的是原始响应体字符串,未解析无法取值。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










