签名的 Webhooks 和 API 操作用于自动化 — OpsIQ
本文由机器自动翻译。
签名的 Webhooks 和 API 操作用于自动化 — OpsIQ 允许您流式传输 HMAC 签名的 webhooks,接收入站事件,并通过批准的操作使 AI 调用您的后端。该系统设计为可重试、幂等和重放保护。
概述
使用 OpsIQ,您可以在任何地方触发任何操作。功能包括:
- 出站事件
- 入站收据
- 批准的操作
- 一个总线,三个方向
即使端点出现故障,交付也不会丢失。您可以接收事件并让 AI 安全地执行操作。
Webhooks 和自动化
将任何 URL 订阅到任何 OpsIQ 事件。webhooks 是 HMAC-SHA256 签名的,具有重放保护、幂等性键和重试意识。您可以将触发器和操作组合成自动化规则,而无需编写任何代码,或者您可以使用 REST API 创建自己的规则。
主要特性
- 40+ 标准事件
- 每次交付都使用 HMAC-SHA256
- 最长可重试 24 小时
- 幂等性键
- 在源头签名
- 重试直到成功交付
事件路由器
OpsIQ 事件路由器管理:
- 出站事件:将任何 HTTPS 端点订阅到标准 OpsIQ 事件,并为每个目标设置过滤器。
- 入站收据:接收来自 Stripe、Calendly、Zapier、Make 或您自己的应用程序的签名事件。
- 批准的操作:AI 提出操作,必须经过人类或规则的批准,才能在 OpsIQ 发布到您的后端。
交付可靠性
端点可能会出现故障,但交付不会丢失。失败的交付将使用指数退避策略重试:1分钟 → 5分钟 → 30分钟 → 2小时 → 12小时。每次尝试都会记录其HTTP状态和延迟,并且一旦接收方恢复正常,您可以手动重放任何交付。每次重试都携带相同的幂等性密钥,确保重新交付不会重复收费或重复配置。
幂等性密钥
每次重试都重用相同的X-OpsIQ-Idempotency密钥,确保写入操作保持精确一次。
双向自动化
入站端点和操作端点服务于不同的目的。入站端点将外部事件映射到联系人,而操作端点在调用后端之前对AI操作进行控制。
入站端点
创建一个唯一的URL和签名密钥,映射JSON字段,并让OpsIQ将每个接受的事件附加到匹配的联系人。
- 联系人电子邮件路径: $.customer.email
- 事件类型路径: $.type
- 幂等性密钥路径: $.id
操作端点
AI可以请求工作,但不能绕过审批。声明操作合同,定义范围,并仅在获得批准后向您的后端POST。
API密钥和安全性
API密钥附带权限、限制和白名单。您可以为工具和合作伙伴发放工作区密钥,而无需授予对每个集成的完全访问权限。安全措施包括:
- 交付URL受到SSRF保护。
- 密钥仅限于一个工作区。
- 跨租户请求在读取任何数据之前被阻止。
工作区保险库
租户边界是关键的一部分。端点、入站收据、交付日志和API密钥都带有创建它们的工作区印章。
测试和验证
在上线之前,您可以发送样本有效负载进行出站和入站,以检查返回的确切JSON、签名和HTTP状态。可视化规则构建器允许您在不编写代码的情况下创建条件和操作。
常见问题
我如何验证Webhook签名?
使用您的共享密钥对原始请求体计算HMAC-SHA256,前缀为sha256=,并使用常量时间比较函数(如hash_equals())与X-OpsIQ-Signature进行比较。
如果我的端点出现故障会发生什么?
我们会以指数退避的方式重试,最长可达24小时。之后,交付将被暂停,您可以在接收方恢复正常后从交付日志中手动重放。
Webhook密钥可以轮换吗?
可以,每个端点都有自己的密钥,可以在不宕机的情况下进行轮换,在24小时的重叠窗口内同时接受旧签名和新签名。
我可以在不编写代码的情况下运行自动化吗?
可以,可视化规则构建器涵盖大多数工作流程,条件基于客户等级、优先级或关键字。对于复杂情况,可以通过REST API使用仅代码路径。
我可以订阅哪些事件?
提供超过40个涵盖商业、计费、支持和CRM的标准事件。每个端点可以订阅通配符*或精确子集。
OpsIQ可以接收事件,而不仅仅是发送事件吗?
是的,通过创建一个入站端点,您将获得一个唯一的 URL 和签名密钥。您可以将 Stripe、Calendly、Zapier 或 Make 等服务指向它,每个被接受的事件都会成为匹配联系人的一个活动。
什么是操作端点?
操作端点允许 AI 通过定义的合同在您的后端执行操作。AI 提出一个操作,必须获得批准后,OpsIQ 才会向您的端点发送签名的 POST 请求。
API 密钥和作用域是如何工作的?
您可以为 REST API 发放密钥,并为每个密钥选择一个权限模式:全部、只读或受限。每个密钥都锁定在其创建的工作区中。
重试是否会导致双重收费或双重配置?
不会,每个写入操作都携带一个幂等性密钥,Webhook 重试会重用相同的密钥。如果您的端点看到一个它已经处理过的密钥,它会返回原始结果,而不会重复执行工作。
相关文章
这篇文章对您有帮助吗?