做你的平台( 平台) AI可操作.
Call 2,415 named operations through one contract-generated API, with least-privilege scopes, workspace pinning, dry-run validation and replay-safe writes. Subscribe to canonical events through HMAC-signed background webhooks, or build a governed package in the six-stage Connector Builder.
范围要求 签名活动结束。
将动作插入到 /api/v1.php 带有有瞄准镜的熊鼠键。OpsIQ 标出工作空间, 验证动作合同和权限, 然后执行或干燥它。 订阅的犬科事件通过 HMAC 签名的交付队列离开, 并带有可追踪的尝试和限制的重试 。
从关键到管理下的整合 三个步骤。
发布最小优先键, 发现生成的合同, 干燥运行一个写入, 然后在应用程序需要背景事件交付时订阅一个 Webhook 。
获取密钥
签名并生成一个有瞄准镜的 Bearer API 键( 键) (opq_…)在开发者设置中,并只给出每个集成所需的表面.
发现验证( A)
读取 meta.actions, meta.action 财务报告和已审计财务报表 meta.scopes; 使用 dry_run 以在处决前验证。
执行订阅( P)
添加一个身份验证键用于写作, 然后订阅您的终端到您需要的 Cononical 事件 。
一个连接器模式。 五清净原始.
任何特定平台都生活在连接器中。OpsIQ 核心是通用的,人工智能是可预测的, 而您的整合仍然可以审计。
invoice.paid, ticket.created, subscription.cancelled, customer.signed_up 或你自己的,你没有。
粉丝用户AI脑,自动化规则,镜像连接器和你的"网络wook"端点都反应了.
优先权顺序定时调度,所以镜像在提示起火前写出.
{
"action": "tickets.reply",
"kind": "write",
"scopes": ["tickets.write", "admin"],
"feature": "ticket_system",
"risk": "medium",
"confirmation": "recommended",
"idempotency": "supported",
"dry_run": true,
"request": { "type": "object" },
"response": { "required": ["success"] }
}
将事件推到你的堆里 并带有密码证明
Subscribe any URL to any of the 52 deliverable events. OpsIQ POSTs the JSON payload signed with HMAC-SHA256 over the scheme version, the timestamp, the delivery ID and the body together, not the body alone, so yesterday's delivery cannot be replayed at you today.
$raw = file_get_contents('php://input');
$sig = $_SERVER['HTTP_X_OPSIQ_SIGNATURE'] ?? ''; // "v2=<hex>"
$ts = (int)($_SERVER['HTTP_X_OPSIQ_TIMESTAMP'] ?? 0);
$id = (int)($_SERVER['HTTP_X_OPSIQ_DELIVERY'] ?? 0);
if (abs(time() - $ts) > 300) http_response_code(401); // replay window
[$ver, $hex] = array_pad(explode('=', $sig, 2), 2, ''); // split the prefix
$signed = $ver . '.' . $ts . '.' . $id . '.' . $raw; // NOT the body alone
$expected = hash_hmac('sha256', $signed, $secret);
if (!hash_equals($expected, $hex)) http_response_code(401);
$event = json_decode($raw, true); // $id is stable across retries
使用直接的 HTTP 或者生成您喜欢的客户端 。
全体将军API 以 OpenAPI 发布 3.0.3 和 Postman. PHP 参考发送器加节点和 Python 集成客户端覆盖已签名的事件和webhook 流量;任何堆栈都可以调用相同的 JSON 动作直接浮出水面
const response = await fetch(`${base}/api/v1.php`, {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.OPSIQ_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
action: "tickets.reply",
dry_run: true,
idempotency_key: crypto.randomUUID(),
body: "Thanks. We are checking this now."
})
});
$payload = json_encode([
'action' => 'tickets.reply',
'dry_run' => true,
'idempotency_key' => bin2hex(random_bytes(16)),
'body' => 'Thanks - we are checking this now.',
]);
$ch = curl_init($base . '/api/v1.php');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $payload,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('OPSIQ_KEY'),
'Content-Type: application/json',
],
]);
response = requests.post(
f"{base}/api/v1.php",
headers={
"Authorization": f"Bearer {os.environ['OPSIQ_KEY']}",
"Content-Type": "application/json",
},
json={
"action": "tickets.reply",
"dry_run": True,
"idempotency_key": str(uuid.uuid4()),
"body": "Thanks - we are checking this now.",
},
)
普通英语 审计业务结束.
OpsIQ 它从不发明正确的呼叫。它穿过已登记合同,准备有效载荷,在行动需要时要求确认,并在执行时产生完整的审计行,所以一个可以 动作 永远不能成为你无法信任的人工智能。
API 表面 看着她
One JSON POST surface exposes 2,415 named actions. Each generated contract declares auth scopes, read/write kind, risk, confirmation, request schema, dry-run, idempotency and stable errors.
ACTION tickets.replytickets.writedry_run + 专有性配置/ 小时ACTION security.reportsecurity.writedry_run + 专有性配置/ 小时ACTION platform.routes.write管理员+ 键配置/ 小时ACTION meta.actions公开发现仅读配置/ 小时ACTION tickets.listtickets.read仅读配置/ 小时ACTION connectors.listconnectors.read仅读配置/ 小时hr.* 合同 · hr.read / hr.write 范围ACTION hr.people.listhr.read仅读配置/ 小时ACTION hr.people.createhr.writedry_run + 专有性配置/ 小时ACTION hr.org.treehr.read仅读配置/ 小时hr 获得拒绝,而不是空列表。 人民OSHR是什么 人: 人际关系.小时窗口上每按键配置利率限制。 回复会曝光 X-RateLimit-Limit, X-RateLimit-Remaining 财务报告和已审计财务报表 X-RateLimit-Reset; 被拒绝的请求返回 429 与 Retry-After。使用 打开API 3.0.3 合同 或 单 邮递员收藏 由同一运行时间登记册生成。
构建、测试和释放 六个阶段。
从一个受支配的配置文件或定义合同开始。构建器在生成自定义的连接器包之前先验证每个阶段。
安全地验证,然后通过释放门。
使用 dry_run 使用支持的写作动作,运行构建器的有限度连接测试,并在发布前检查生成的运算单和合同。软件包验证检查能力名称、设置、出处和所需文件;背景工作者处理被动投票和出站交付。
包件不能声称具有能力 它的代码没有。
OpsIQ\Connectors\ConnectorContract 是权威。运行时发现、构建器、第一当事方包、符合性、通用 API 并且每个参考文献都读取了一个登记册。 OpsIQ 沿着一条线走到你身边
- 01 connector.php 运行时的类
- 02 IdentityProvider.php 稳定的外部密钥
- 03 SalesIngest.php 调和销售( )
- 04 actions.json 命名操作
- 05 settings.json 操作员配置
- 06 connector_contract.json 机器可读权限
hmac-sha256 超过每个文件SHA的确定有效载荷...256 散列回答( H) 已经自签署以来修改。一个 ed25519 签名答案 是否是签名 Nabtech,可以使用捆绑的公钥进行核对,没有共享的秘密。编辑一个字节,第一个停止匹配。
marketplace.json 定义上它位于签名之外:安装者在签名后写出,因此出版商不可能签下它.
一个从未失败的警卫 未经证实。
绿色测试告诉你今天没有崩溃。他们没有告诉你,你写的警卫会阻止它被写下来的, 因为一个从未锻炼过的警卫就像一个无所事事的警卫一样通过。所以我们故意停止它的心,并要求监视器发出尖叫。
211 /* A read role must never reach a destructive operation. */ 212- if ($isRead && $isDestructive) { 212+ if (false) { 213 $errors[] = "read role '{$role}' points at a destructive op"; 214 return false; 215 }
1[ ok ]hash sha256 4f2a9c1e… remember the file exactly as it is 2[ ok ]control exit 0 green BEFORE anything is touched 3[ ok ]mutate 1 match, lint ok one replacement, then php -l the mutant 4[RED ]prove exit 1 and "read role destructive" IS in the failures 5[ ok ]restore bytes written the original, not a regenerated copy 6[ ok ]verify sha256 matches and the check is green again ══ PROVEN. file restored, hash matched, 1 proof run, 0 failed.
变异从未应用过.
搜索文本不匹配,文件未被触及,套房通过,并记录了证据 旧代码下的绿色 用于匹配文本和比较文件散列的代码。
变异已破别相.
套房红了,因为文件停止解析或靴子被拖走,证据记录了与警卫无关的红色。 名称 测试失败者。
它不能在磁盘上留下变异者。
每次变异都复制原件到网络服务树外的侧车,写出一个标记来命名未完成的更改,并在每一个出站路径上被一个关闭处理器所抵消。在文件下一次变异之前,一个崩溃运行的标记会被实现 。
认证是一个命令 有个出口代码
Not a review queue where somebody reads your code and forms an opinion. Run the same suites we run, on your own machine, before you submit. 8 published JSON Schemas under doc/contracts/schemas/ 覆盖设置、动作、构建器规格、行程和商务事件映射、工作流程配方、连接器合同和发布清单。
- manifests 彼此解释和同意
- 能力 运行时类中存在
- interfaces 已宣布执行
- files 显示每个需要的文件
- 动作 匹配显示的动作
- destructive 声明确认
- 身份 一个稳定的外部密钥, 不是电子邮件
- 重放( E) 重复更新,永远不要重复
- 企业 声明与扩展名相匹配
- 文档 读取,发展中国家,变相
- 计划 每张 JSON 验证
$ php tools/test_connector_conformance_all.php --connector=acme
$ php tools/test_connector_json_schemas.php
$ php tools/verify_commerce_contracts.php
$ php tools/release_gate_connectors.php --require-signatures
将第一个指向一个真正的非生产账户 --live-settings=/secure/test-acme.json。当你还在想着, 换上一个 --unsigned-ok:它把缺失的签名当作预期的警告,而不是假装它没事.
宣布你能够卖的东西 是一个文件,而不是一个注册。
能够出售的连接器宣布其中哪一种 其所属 操作答案 OpsIQ'cononical 商业角色。 文件的存在就是权利要求。 它在它宣布时和停止时消失时的销售设置中出现。 没有要加入的列表, 没有人可以要求 。
犬科动物 写 角色映射到通用记录写入。 匹配是结构的: 移动动词旁的存储名词, 无论您命名的常规如何 。 写商业行直接跳过平台的定价、 可用性锁定和确认邮件, 并生成商家系统只相信一半的命令 。 no recovery 要么,所以暂停是无法恢复的。
{
"commerce": {
"roles": {
"catalog_search": { "operation": "acme_search_products", "transport": "http" },
"order_get": { "operation": "acme_get_order", "transport": "http" },
"order_create": { "operation": "acme_create_order", "transport": "http",
"recovery": "acme_get_order" }
}
}
}
connector_contract.json 生成及其计划 additionalProperties:false,所以一个手写块在那里会失败验证,然后被覆盖在下一个生成器运行上.
角色不参与 CommerceRole 不存在。 OpsIQ 绝对不能从行动名称中推断出一个, 因为名字不是承诺。
手术必须出现在您身上 actions.json宣称不存在的客户承诺 某种东西,然后一无所获。
最危险的是平台可能已经完成该工作之后的一次超时,没有"我写地"的象素取景,唯一的选择就是重试盲从或失去订单.
任何支付级角色也声明 payment_profile 与 环境, webhook_verify 使用提供者自己的计划,以及 event_map。未说明的环境是测试模式提供者如何接受现场付款。
OpsIQ 对a DIY整合.
合同捆绑的 签名的 审计过的平台 让你知道 滚出自己的网路 和AI行动管道永远不会。
| 能力 | 自己滚 | OpsIQ |
|---|---|---|
| 范围覆盖者 API + HMAC 签名的网络呼号 | 手卷轴 | ✓ |
| 干跑写出 + 24- 小时成功重放 | 编辑 | ✓ |
| 1米长→5米长→3 000米(每分钟)→ 2h → 12h重试 | DIY 队列 | ✓ |
| 行动合同登记(AI不能发明电话) | — | ✓ |
| 副作用前的确认政策 | — | ✓ |
| 稳定错误信封+请求ID | 人工记录 | ✓ |
| 直接 HTTP + 生成的客户端选项 | 写你自己的 | ✓ |
| 打开API 3.0.3 可读合同 | 也许 | ✓ |
| 六相建构器 + 包放出闸门 | 构建工具链 | ✓ |
| 工作空间键和小时限制 | 变数 | ✓ |
| 连接器模式: 平台代码保持隔离 | — | ✓ |
开发者问题, 回答过
认证,合同,复试,客户端生成,安全测试和连接器模型,在第一次生产请求之前.
Authorization: Bearer opq_…键可以不受限制、受限制或只读,带最小优惠范围,遵守小时限制,并被固定在工作空间。Webhook签名是分开的:外出交货携带。 X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event 财务报告和已审计财务报表 X-OpsIQ-Delivery.hash_hmac('sha256', $rawBody, $secret) 并将其十六进制文摘与 X-OpsIQ-Signature 使用 hash_equals校验 X-OpsIQ-Timestamp 重播窗口中并使用 X-OpsIQ-Delivery 以可追踪的交付标识符。dry_run 检查其生成的文件,通过包兼容度并释放出门,然后将连接器视为已准备好。settings.json,可选 actions.json,生成的能力合同、文件和可选企业扩展。六级构建器组装;登记处发现;兼容并释放出门。