开发者平台 · 一般 API 网络呼号 连接器

做你的平台( 平台) 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.

范围化的接听键2,415 contract actions打开API 3.0.3 + 邮递员HMAC 网络快递
范围要求
已签名的网络呼出→ 200罢
现场直播 操作器动作→ OpsIQ →已签名的 Webhook POST /api/v1.php 授权: 携带者 { "action": "脚踏车","Tickets. reply", "干":真 }(活字) 实际运行 审计 键+工作空间✓ 范围+合同✓ 追踪请求 您的网络wook 端点 X-OpsIQ-Event: ticket.replied 验证 HMAC→控件 200 罢
2,415名称为常规 API 动作
69最小范围
dry_run执行前确认书面合同
24小时成功重放等元写作
请求的生命周期

范围要求 签名活动结束。

将动作插入到 /api/v1.php 带有有瞄准镜的熊鼠键。OpsIQ 标出工作空间, 验证动作合同和权限, 然后执行或干燥它。 订阅的犬科事件通过 HMAC 签名的交付队列离开, 并带有可追踪的尝试和限制的重试 。

HMAC-SHA256网络呼号 - 在生体上签入出网钩有效载荷; API 使用可瞄准的 Bearer 键调用认证。
自动重试 - 交货失败,然后重新试一次, 并有可以追踪的交货身份证。
重放安全写入 - 成功的同位素写回同样的答复。24 小时;同时重复的索赔分担一项索赔。
你的应用 POST /api/v1.php 授权: 携带者 偶能_键:一等相_31c7 实际 - 运行 - 审计 结束点 POST /webhooks 验证 HMAC 200 罢 键+ 工作空间被绑定 范围+检查角色 合同已确认 执行或干线运行 签了韦伯霍克的委托书 { X-OpsIQ-Event: 罚单. replided X-OpsIQ-Delivery: dlv_8f2a9 数据格式 X-OpsIQ-Timestamp: 1786584362 X-OpsIQ-Signature: 9c4e0a7b (英语). } 已交付
01 请求 02 针工作空间 03 合同的确认 04 执行或干线运行 05 队列已签名的事件
快速启动

从关键到管理下的整合 三个步骤。

发布最小优先键, 发现生成的合同, 干燥运行一个写入, 然后在应用程序需要背景事件交付时订阅一个 Webhook 。

合同控制台已连接
常规 API · 合同驱动 1生成密钥 opq_live_xx_ ^ 一个范围为比勒的密钥 2 • 发现合同 邮编 /api/v1.php 元动作 3校验一则文字 票. reply \ 干线运行: 真实 4 · 订阅活动 罚单,支票...HMAC交付
执行干线运行→核准书写,同一份合同
01

获取密钥

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

02

发现验证( A)

读取 meta.actions, meta.action 财务报告和已审计财务报表 meta.scopes; 使用 dry_run 以在处决前验证。

03

执行订阅( P)

添加一个身份验证键用于写作, 然后订阅您的终端到您需要的 Cononical 事件 。

如何融为一体

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

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

01
触发器

告诉 OpsIQ 刚才发生的事

从您的平台释放出犬类事件, 或者定义一个受控自定义事件。 订阅者通过注册的优先权和发送规则接收此事件 。

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

告诉 OpsIQ AI被允许做什么。

每个命名的操作都收到生成的合同:范围,特征,读取或写出种类,风险,确认政策,请求和响应计划,干跑支持,一能和稳定出错.

动作计划
人工智能不能发明行动它只能要求运行 你注册的。 确认政策冒险动作触发预览卡,然后才会产生副作用. 角色+表面标注每一个动作都宣布允许运行的角色和表面.
生成动作合同 . JSON
{
  "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"] }
}
03 / 已签名的网络呼号

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

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.

重放保护可追踪的快递ID5-step back-off
网络浏览参考
校验网点 - php
$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
04 / SDKs 组合键

使用直接的 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.",
    },
)
直接 JSON HTTP 密码打开API 3.0.3邮递员收藏融合帮助者
05 / 连接器模式

盖一站,插入任何东西

连接器是通过身份、 Auth、 测试、 动作、 触发和审查生成或导入的受控软件包。 它的表单声明容量表面 OpsIQ 被允许曝光。

打开六相构建器
六个指导阶段身份、 Auth、 测试、 动作、 触发器和审查保留软件包生成可解释性。 合同驱动8 profiles and 57 capability types declare the surfaces a package implements. 释放安全、出处和符合规定检查在包装处理成就绪之前进行。
从意图到安全行动

普通英语 审计业务结束.

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

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

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.

打开API 3.0.3 参考文献
行动认证写作安全限制
写入动作邮编 /api/v1.php 合同得到确认
ACTION tickets.replytickets.writedry_run + 专有性配置/ 小时
ACTION security.reportsecurity.writedry_run + 专有性配置/ 小时
ACTION platform.routes.write管理员+ 键配置/ 小时
读取发现动作( A)平面平面 平平相接的封口
ACTION meta.actions公开发现仅读配置/ 小时
ACTION tickets.listtickets.read仅读配置/ 小时
ACTION connectors.listconnectors.read仅读配置/ 小时
PeopleOS 人力资源行动已解禁 hr.* 合同 · hr.read / hr.write 范围
ACTION hr.people.listhr.read仅读配置/ 小时
ACTION hr.people.createhr.writedry_run + 专有性配置/ 小时
ACTION hr.org.treehr.read仅读配置/ 小时
PeopleOS HR 不发送外出HR网络浏览事件。 通过相同的 POST 表面访问, 或订阅发布的事件。 完整引用 : 人民OS组织API和连接器 编辑 开发者参考文献的PeopleOS部分。模块被锁定,所以没有 hr 获得拒绝,而不是空列表。 人民OSHR是什么 人: 人际关系.

小时窗口上每按键配置利率限制。 回复会曝光 X-RateLimit-Limit, X-RateLimit-Remaining 财务报告和已审计财务报表 X-RateLimit-Reset; 被拒绝的请求返回 429Retry-After。使用 打开API 3.0.3 合同 或 单 邮递员收藏 由同一运行时间登记册生成。

构建连接符

构建、测试和释放 六个阶段。

从一个受支配的配置文件或定义合同开始。构建器在生成自定义的连接器包之前先验证每个阶段。

1身份证明 名称,弹道,剖面和宣布的能力表面.
2欧特 API 键, 熊鼠, 基本, OAuth 2.0, HMAC 或自定义客户端.
3试一试. 验证包装前的有界限的连接设置。
4行动 地图上命名了操作,参数,范围以及风险.
5触发者. 宣布入境事件,网络呼喊,投票和同步行为.
6检讨. 检查生成的合同并通出舱门.
飞到船前试一试

安全地验证,然后通过释放门。

使用 dry_run 使用支持的写作动作,运行构建器的有限度连接测试,并在发布前检查生成的运算单和合同。软件包验证检查能力名称、设置、出处和所需文件;背景工作者处理被动投票和出站交付。

干跑写 已设界连接测试 合同遵守情况 由一等驱动的交付
connector.php · 密码
AcmeConnector 扩展 AbstractConnector { 公共职能 弹片( S) : 字符串 { 返回( E) 阿克梅; } 公共职能 名称( C) : 字符串 { 返回( E) 艾米 来; } 公共职能 说明( I) : 字符串 { 返回( E) 艾米桥; } // 使用连接合同中的名称 公共职能 能力( ): 数组 { 返回( E) [行动, 网路(网络)]; } 公共职能 设置计划( S) : 数组 { 返回( E) [[钥匙 => "敲门", 类型 => "密码"]]; } 公共职能 测试连接( C)数组 $settings): 数组 { 返回( E) [成功 成功 => 真实]; } 公共职能 手柄Webhook( 微软) (W) 数组 $payload, 数组 $headers, 数组 $settings ): 数组 { 返回( E) [成功 成功 => 真实]; } }
01 · Connector contract 2.4

包件不能声称具有能力 它的代码没有。

OpsIQ\Connectors\ConnectorContract 是权威。运行时发现、构建器、第一当事方包、符合性、通用 API 并且每个参考文献都读取了一个登记册。 OpsIQ 沿着一条线走到你身边

菲格。 (笑声) 01连接器包, 显示部件 scale 1:1 · contract 2.4
  1. 01 connector.php 运行时的类
  2. 02 IdentityProvider.php 稳定的外部密钥
  3. 03 SalesIngest.php 调和销售( )
  4. 04 actions.json 命名操作
  5. 05 settings.json 操作员配置
  6. 06 connector_contract.json 机器可读权限
07 signature.json 一个 HMAC 过一个SHA...256 上面每个文件,加上一份ED25519原产地证明
能力矩阵 all 57, as registered
动作 触发 网络浏览 journey_events 上下文 guest_lookup 身份 sales sales_reconciliation 账单 payments 商业 inbound_ticket outbound_reply ticket_merge sync_users sync_departments sync_orders sync_products sync_projects customer_import security_events security_native_block survey reply_feedback promo_audience promo_feed email_mailbox inbound_email outbound_email mailbox ai_tickets ai_reply ai_brain_aware native_api platform_bridge native_data 缩写 block_registry inbound_comment outbound_note outbound_notification oauth reviews 当地 瑞奥 site_intelligence 分析 comms admin_assets enterprise_hooks durable_queue ticket_mirror attachment_bridge database_migrations scheduled_workers conflict_resolution
生成 30 声明 20 扩展 7
两个签名,两个问题。

hmac-sha256 超过每个文件SHA的确定有效载荷...256 散列回答( H) 已经自签署以来修改。一个 ed25519 签名答案 是否是签名 Nabtech,可以使用捆绑的公钥进行核对,没有共享的秘密。编辑一个字节,第一个停止匹配。

marketplace.json 定义上它位于签名之外:安装者在签名后写出,因此出版商不可能签下它.
02 · 工具/ mutation_防伪.php

一个从未失败的警卫 未经证实。

绿色测试告诉你今天没有崩溃。他们没有告诉你,你写的警卫会阻止它被写下来的, 因为一个从未锻炼过的警卫就像一个无所事事的警卫一样通过。所以我们故意停止它的心,并要求监视器发出尖叫。

· 读取角色必须拒绝破坏性行动; CH1 化学 verify_commerce_contracts
src/Connectors/CommerceRoleMapVerifier.php 已删除
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    }
没错 单曲 文本匹配。0匹配,或2匹配,在它说谎之前,证据就停止了。
$ php tools/mutation_proof.php --spec=proofs.json
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.
失败的证明是 永远 检查出错的证据不是警卫工作的证据。

变异从未应用过.

搜索文本不匹配,文件未被触及,套房通过,并记录了证据 旧代码下的绿色 用于匹配文本和比较文件散列的代码。

变异已破别相.

套房红了,因为文件停止解析或靴子被拖走,证据记录了与警卫无关的红色。 名称 测试失败者。

它不能在磁盘上留下变异者。

每次变异都复制原件到网络服务树外的侧车,写出一个标记来命名未完成的更改,并在每一个出站路径上被一个关闭处理器所抵消。在文件下一次变异之前,一个崩溃运行的标记会被实现 。

03 · 遵约

认证是一个命令 有个出口代码

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/ 覆盖设置、动作、构建器规格、行程和商务事件映射、工作流程配方、连接器合同和发布清单。

  1. manifests 彼此解释和同意
  2. 能力 运行时类中存在
  3. interfaces 已宣布执行
  4. files 显示每个需要的文件
  5. 动作 匹配显示的动作
  6. destructive 声明确认
  7. 身份 一个稳定的外部密钥, 不是电子邮件
  8. 重放( E) 重复更新,永远不要重复
  9. 企业 声明与扩展名相匹配
  10. 文档 读取,发展中国家,变相
  11. 计划 每张 JSON 验证
退出 0 acme: conformant against contract 2.4 一间破烂的套房给支票和文件起名 你来修,不是我们
$ 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:它把缺失的签名当作预期的警告,而不是假装它没事.

04 · 商业-角色。json

宣布你能够卖的东西 是一个文件,而不是一个注册。

能够出售的连接器宣布其中哪一种 其所属 操作答案 OpsIQ'cononical 商业角色。 文件的存在就是权利要求。 它在它宣布时和停止时消失时的销售设置中出现。 没有要加入的列表, 没有人可以要求 。

警犬角色 commerce_roles.json 您的操作
catalog_search READ acme_search_products ok order_get READ acme_get_order ok order_create WRITE acme_create_order recovery: acme_get_order order_create WRITE db_insert_record 通用记录写入, 不恢复
已修改

犬科动物 角色映射到通用记录写入。 匹配是结构的: 移动动词旁的存储名词, 无论您命名的常规如何 。 写商业行直接跳过平台的定价、 可用性锁定和确认邮件, 并生成商家系统只相信一半的命令 。 no recovery 要么,所以暂停是无法恢复的。

commerce_roles.json
{
  "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,所以一个手写块在那里会失败验证,然后被覆盖在下一个生成器运行上.
01
封闭词汇

角色不参与 CommerceRole 不存在。 OpsIQ 绝对不能从行动名称中推断出一个, 因为名字不是承诺。

02
自己动手

手术必须出现在您身上 actions.json宣称不存在的客户承诺 某种东西,然后一无所获。

03
写作声明恢复

最危险的是平台可能已经完成该工作之后的一次超时,没有"我写地"的象素取景,唯一的选择就是重试盲从或失去订单.

04
支付作用认证

任何支付级角色也声明 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 可读合同 也许
六相建构器 + 包放出闸门 构建工具链
工作空间键和小时限制 变数
连接器模式: 平台代码保持隔离
财务问题

开发者问题, 回答过

认证,合同,复试,客户端生成,安全测试和连接器模型,在第一次生产请求之前.

常规 API 呼叫发送 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 以可追踪的交付标识符。
未成功的尝试会进入背景送出队列. OpsIQ 重试于1- 一分钟, 5- 一分钟, 30- 一分钟,2- 小时和 12- 保留送货识别码和尝试诊断历史的时长阶梯。
打电话 JSON 动作直接表面, 导入生成的 Postman 收藏, 或从 OpenAPI 生成客户端 3.0.3 PHP 参考发送器和节点/Python 集成客户端支持事件和webhook流量;它们是帮助者而不是单独的API 合同。
使用 dry_run 检查其生成的文件,通过包兼容度并释放出门,然后将连接器视为已准备好。
已安装的释放生成其 API 和连接器合同,来自自己的运行时间注册。您的部署拥有其公开性 URL 秘密 存储和克龙/工人 所以应该对照安装的释放来验证行为 而不是从云层环境中推断出来
连接器是包含适配器的被管理包, settings.json,可选 actions.json,生成的能力合同、文件和可选企业扩展。六级构建器组装;登记处发现;兼容并释放出门。