签名的 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 重试会重用相同的密钥。如果您的端点看到一个它已经处理过的密钥,它会返回原始结果,而不会重复执行工作。

相关文章