开发者平台 · REST · 网络呼号 · SDKs

做你的平台( 平台) AI可操作.

OpsIQ暴露一个干净的RESTAPI, HMAC 所签名的 Webhooks , 动作合同登记簿和随时可以发送的 SDK 。 定义您系统中的哪些事件起火, 允许AI运行哪些行动, 以及哪些数据是安全的读取 。OpsIQ处理签名、重试、审计日志和确认流程。

HMAC-SHA256 两种方式PHP 节点 – Python SDKs打开API3.0.3合同100%审计范围
已签名请求 :
已签名的网络呼出_200罢
现场直播 卷起OpsIQ__ 已签名的网络钩 POST /v1/actions/run XOpsIQ- 签字 { "action": "退款发票", "确认":真 } 实际运行 审计 签名 : 作用+范围 写出审计行 @opsiq/sdk部件 打开( “ 已执行 ” ) 校验 HMAC – 手柄 200罢
3官方 SDK: PHP, 节点, Python
常规莎丽...256每一份申请都签名
40+订阅的通用事件
100%审计记录对行动的报道
请求的生命周期

请求进入。 已经签了

你过去OpsIQ API带着你瞄准的"熊鼠"钥匙OpsIQ检查范围和作用, 运行合同动作, 写一行审计行 - 然后将一个 HMAC 签名的 Webhook 发射回您的端点。 每一次跳都经过认证, 并被选中, 如果失败就重新测试 。

HMAC-SHA256网络呼号 - 在生体上签入出网钩有效载荷;API使用可瞄准的 Bearer 键调用认证。
自动重试 - 交货失败,然后重新试一次, 并有可以追踪的交货身份证。
频密钥 - 设计上是安全性的,所以再试的送货 从来不会重复
你的应用 POST /v1/actions/run XOpsIQ- 签字 XOpsIQ时间戳 实际 - 运行 - 审计 结束点 POST /webhooks 验证 HMAC 200罢 签名已验证 范围+检查角色 订约动作运行 写出审计行 签了韦伯霍克的战舰 { "事件" , 活动:"行动.执行", 交付_id( 交付_ id) Name: : 关于我们 "独一无能"(英語:Idempotency_key),简称"独一无能".: " 同上_31c7 ", "签名": " 关于9c4e0a7b 互联网档案馆的存檔,存档日期2013-12-02." } 已交付
01 签名请求 02 验证 HMAC 03 运行合同 04 写出审计行 05 已签名的网络hook
快速启动

从零到活融合 四个步骤。

生成一个密钥, 启动您的第一个事件, 订阅一个网页, 注册一个动作。 您可以在触摸生产数据之前, 将整个循环对接沙盒 。

沙盒控制台已连接
· 沙盒 1生成密钥 opq_live_xx_ ^ 一个范围为比勒的密钥 2· 启动一个事件 邮编/v1/events/fire"订单. 发货" 3订阅网签 → https://api.you.com/webhooks 4登记一项行动; 审计的已收回款项
宣传沙盒 – 生产,同码
01

获取密钥

签名并生成一个有瞄准镜的 BearerAPI键( 键) (opq_…)在开发者设置中,并只给出每个集成所需的表面.

02

点火订阅( P)

邮编签名 events/fire (或使用SDK,然后指向任意URL无论如何,签名, 并有送货身份证 和备份的回覆。

03

注册动作

宣布一项已签署的行动合同,以便AI能够安全地运行,并有角色检查,确认政策和完整的审计线索.

如何融为一体

一个连接器模式。 五清净原始.

任何特定平台都生活在连接器中。OpsIQ核心是通用的,人工智能是可预测的, 而您的整合仍然可以审计。

01
触发器

告诉OpsIQ刚才发生的事

从您的平台点火通用事件 - 或您自己的自定义事件名称。 每个订阅者都会实时反应, 按优先级顺序 。

事件参考
invoice.paid 事件。 开火( ) AI 大脑现场环境 规则优先级20 镜像写到第一个 网络浏览签名
通用+自定义活动invoice.paid, ticket.created, subscription.cancelled, customer.signed_up 或你自己的,你没有。 粉丝用户AI脑,自动化规则,镜像连接器和你的"网络wook"端点都反应了. 优先权顺序定时调度,所以镜像在提示起火前写出.
02/ 行动合同

告诉OpsIQAI被允许做什么。

诉讼合同是签的JSON声明:动作的作用,哪些角色可以运行它,它接受什么参数,是否需要确认,以及需要调用的终点.

动作计划
人工智能不能发明行动它只能要求运行 你注册的。 确认政策冒险动作触发预览卡,然后才会产生副作用. 角色+表面标注每一个动作都宣布允许运行的角色和表面.
诉讼合同 -- --JSON
{
  "key": "saas.refund_invoice",
  "label": "Refund a paid invoice",
  "surface": ["admin"],
  "roles": ["owner", "billing_admin"],
  "requires_confirmation": true,
  "params": {
    "invoice_id": { "type": "int", "required": true },
    "reason": { "type": "string", "max": 500 }
  },
  "endpoint": "https://api.you.com/refund",
  "audit": true
}
03/ 已签名的网络呼号

将事件推到你的堆里 并带有密码证明

订阅任何URL任何事件。OpsIQ邮政JSON在生体上与HMAC-SHA256签署有效载荷——用几行来验证.

重放保护可追踪的快递ID退后复试
网络浏览参考
校验网点 - php
$raw = file_get_contents('php://input');
$sig = $_SERVER['HTTP_X_OPSIQ_SIGNATURE'] ?? '';
$expected = hash_hmac('sha256', $raw, $secret); // hex digest, no prefix
if (!hash_equals($expected, $sig)) http_response_code(401);
$event = json_decode($raw, true);
04/ SDKs 组合键

用于您已经使用的语言的下投客户端 。

3个SDK官方处理认证、签名、重试、一能键和打出的反应。SDK是一个薄薄的包装器 围绕相同的REST表面。

客户端示例
import { OpsIQ } from "@opsiq/sdk";
const ops = new OpsIQ({ apiKey: process.env.OPSIQ_KEY });

await ops.events.fire("order.shipped", {
  customer_id: 421,
  order_ref: "NB-9182",
  carrier: "DHL"
});

const result = await ops.actions.run("saas.send_kb_link", {
  ticket_id: 5519,
  article: "how-to-reset-password"
});
use OpsIQ\Client;

$ops = new Client([
  'api_key' => getenv('OPSIQ_KEY'),
]);

$ops->events->fire('order.shipped', [
  'customer_id' => 421,
  'order_ref' => 'NB-9182',
]);

$result = $ops->actions->run('saas.send_kb_link', [
  'ticket_id' => 5519,
  'article' => 'how-to-reset-password',
]);
from opsiq import OpsIQ

ops = OpsIQ(
    api_key=os.environ["OPSIQ_KEY"],
)

ops.events.fire("order.shipped", {
    "customer_id": 421,
    "order_ref": "NB-9182",
})

result = ops.actions.run("saas.send_kb_link", {
    "ticket_id": 5519,
    "article": "how-to-reset-password",
})
ưμ㼯A8.4+节点.js18+Python 键3.10+REST —— OpenAPI 软件3.0.3
05/ 连接器模式

盖一站,插入任何东西

连接器是一个带有一个 PHP 类的文件夹 。OpsIQ发现它, 注册系统连接事件, 而您的平台专用代码 保持干净的与核心分离。

连接器指南
五个钩子identityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook(). 明确驱动actions.json 财务报告和已审计财务报表 settings.json 宣布合同和配置。 自动发现将文件夹放入, 签名, 启用它 。
从意图到安全行动

普通英语 审计业务结束.

OpsIQ它从不发明正确的呼叫。它穿过已登记合同,准备有效载荷,在行动需要时要求确认,并在执行时产生完整的审计行,所以一个可以 动作 永远不能成为你无法信任的人工智能。

合同有规定。 AI只提议你登记的行动.
副作用前确认 冒险动作首先会浮出预览卡.
彻底召回. AI史上记录的每一个迅速,反应和行动的结果.
4步骤意图 —— 审计
常规执行前签名
"退钱亚当的最后一张发票" 步骤1· 解决意图问题 → 匹配: saas. refund_invoice 发票退款 平面: 管理\\ 角色: 拥有者 \ 步2验证 步骤3确认签名( S) 预览卡-发票#8421 确认 步骤 4 审计行 行动者 —— 迅速 —— 结果 ——412ms 仅所有者 ^ 可导出为CSV
没有发明的电话仅合同登记
确认预览到副作用
100%审计快速 + 响应 + 结果
参考文献

API表面 看着她

每个核心端点,其认证,一能和每键率限制。完整的机器可读合同都生活在 OpenAPI 中3.0.3参考文献。

打开API3.0.3参考文献
终点认证引文使用过时费率限制
写作已签名的副作用表面
POST /v1/events/fire常规1000分钟
POST /v1/actions/run常规200分钟
POST /v1/webhooks/test常规60分钟
读取上下文、票和连接器库存
GET /v1/customers/{id}常规2000分钟
GET /v1/tickets常规2000分钟
GET /v1/connectors常规2000分钟

利率限制是按键,每回回复一次,以 X-OpsIQ-RateLimit-Remaining; 超过限制返回 429 含1个 Retry-After 头部。完整的机器可读合同(每个终点、计划和错误)都存在于 打开API3.0.3参考文献.

构建连接符

将连接器运入 5个步骤。

连接器是自成一体的文件夹.OpsIQ发现它,注册系统会给事件带线, 而您的平台特定代码 永远不会泄露到核心。

1脚手架文件夹 connector.php 扩展 AbstractConnector.
2声明 actions.json 财务报告和已审计财务报表 settings.json 名单
3执行身份、上下文和网络浏览提供方。
4订阅您关心的事件。
5签字,放入,在管理中启用.
飞到船前试一试

沙盒钥匙和网络测试器

每个工作空间都暴露出一个沙盒:一个单独的瞄准镜键,击中相同API不触摸生产数据。使用 POST /v1/webhooks/test 以在端点点点点点点火进行签名的样本发送,并在启动前确认您的签名验证。自装入的安装运行相同的代码路径,在云和在前端之间没有行为漂移。

沙盒密钥 Webhook 测试器 由连线驱动的工作 云端自备的等同( S)
连接器. php → php
ACME 连接器 扩展 AbstractConnector { 公共职能 键( ): 字符串 { 返回( E) 阿克梅; } // 解决谁是演员 公共职能 身份证明( I) : 数组 { 返回( E) [新建( N) AcmeIdentityProvider()]; } // 将活数据输入AI 提示 公共职能 提供者( C) : 数组 { 返回( E) [新建( N) AcmeContextProvider()]; } // 反应到OpsIQ事件 公共职能 订阅者( C) : 数组 { 返回( E) [发票,付了 => [新建( N) BillingMirror()]]; } // 接收来自Acme的入网网呼 公共职能 手柄Webhook( 微软) (W)数组 $body): 无效 { /* … */ } }
如何比较

OpsIQ对a DIY整合.

合同捆绑的 签名的 审计过的平台 让你知道 滚出自己的网路 和AI行动管道永远不会。

能力自己滚OpsIQ
HMAC-signed requests & webhooks (both ways) Hand-rolled
Idempotency keys + replay protection DIY
Automatic back-off retries with delivery IDs DIY queue
Action-contract registry (AI can't invent calls)
Confirmation policy before side-effects
100% audit-log coverage on actions Manual logging
Official PHP / Node / Python SDKs Write your own
OpenAPI 3.0.3 machine-readable contract Maybe
Sandbox keys + webhook tester Build a staging rig
Cloud & self-hosted parity (same code path) 变数
Connector pattern: platform code stays isolated
财务问题

开发者问题, 回答过

认证,签名,SDK,沙盒和连接器模型:在第一次请求之前,你会问的一切.

API使用单一范围 Bearer 密钥调用认证: 发送 Authorization: Bearer opq_…. OpsIQ检查密钥的范围和演员在运行前的角色。 Webhooks是分开的: 每个webhookOpsIQ送来一个 X-OpsIQ-Signature (活体的HMAC-SHA256六分之一)和 X-OpsIQ-Timestamp 重新播放保护,这样你就可以验证我们作为回报, 输入的网络呼号,你发送的被验证的方式相同。
不,大赦国际只能建议您行动合同登记册中存在的行动,不能发明呼叫。每个合同都宣布允许的表面、作用和参数,以及任何标记为动作的行动。 requires_confirmation 在副作用运行前向人类显示预览卡。
重算 hash_hmac('sha256', $rawBody, $secret) (一个无前缀的六分法文摘) 并将其与 X-OpsIQ-Signature 带有常时检查的页眉( Q)hash_equals。每一次发送都带有时间戳、一等钥匙和可以追踪的发送ID。本页上的PHP片段是整个验证。
送货不还的200重审时, 每一个都带有相同的等效键, 所以重审后发送不会重复。 您可以在管理员或日志中跟踪每次发送ID的尝试 。
PHP 的官方 SDKs8.4+,节点.js18+和 Python 键3.10+ 手柄签名、 重试、 偶数键和打出的答复。 它们绕着 REST 表面是薄的包装器, 这样您也可以从已公布的 OpenAPI 生成自己的客户端3.0.3合同或打电话API直接来.
是的,每个工作空间都暴露出 沙盒有它自己的 瞄准键,击中相同API表面不触摸生产数据,加 POST /v1/webhooks/test 发射一个签名的样本 交付到您的端点 并确认你的验证之前开始运行。
是的,自装安装运行相同的代码路径(相同的签名,相同的连接器注册,相同的OpenAPI合同),因此云和上-prem之间没有行为漂移.
连接器是一个自成一体的文件夹,其中有一个 PHP 类扩展 AbstractConnector附加时 actions.json 财务报告和已审计财务报表 settings.json 清单,您执行 identityProviders(), contextProviders(), registerActions(), subscribers() 财务报告和已审计财务报表 handleWebhook(). OpsIQ自动发现它, 连接事件, 并保持您的平台专用代码 干净地与核心分离。