如何使用Integromat SDK完成GoToConnect Webhook的OPTIONS请求验证
问题根因
你当前配置无法通过OPTIONS验证的核心原因有两点:
- 错误注释了OPTIONS请求的匹配逻辑,且原判断逻辑中请求方法的变量引用错误
- OPTIONS响应未返回GoToConnect要求的CORS校验头部,预检请求无法通过
正确配置修改
1. 修正api.imljson配置
把原来的verification部分替换为以下内容:
{ "output": "{{body}}", "verification": { "condition": "{{headers.request.method == 'OPTIONS'}}", "respond": { "status": "200", "headers": { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "POST, OPTIONS", "Access-Control-Allow-Headers": "Content-Type, Authorization", "Access-Control-Max-Age": "86400" }, "body": {} } } }
配置说明
- 用
headers.request.method匹配请求类型,只有OPTIONS请求会触发当前校验响应,正常的POST回调请求会进入后续业务处理逻辑 - 返回的CORS头部是GoToConnect预检请求的必填校验项,如果你需要严格限制来源,可将
Access-Control-Allow-Origin替换为GoToConnect的官方回调域名 Access-Control-Max-Age用于设置预检请求的缓存时间,减少重复OPTIONS请求的频次
2. 其他注意事项
- 你当前
dettach.imljson的文件名拼写有误,正确应为detach.imljson,避免后续webhook注销时出现路由匹配错误 - 请确认你在Integromat应用参数配置中已正确声明
channelNickname、channelLifetime两个必填参数,否则attach阶段会出现参数缺失错误
内容的提问来源于stack exchange,提问作者andersoal
相关产品推荐
相关产品推荐

