Faça sua plataforma - Al-operável.
OpsIQ_ expõe um REST limpo API, webhooks assinados pelo HMAC, um registro de contrato de ação e SDKs prontos para o navio. Defina quais eventos disparam do seu sistema, quais ações a IA é permitida executar e quais dados são seguros para ler. OpsIQ_ lida com assinaturas, repetições, registros de auditoria e fluxos de confirmação para você.
Pedido de entrada. - O Webhook está a sair.
Você POST para OpsIQ API com sua chave de portador escopo. OpsIQ verifica escopo e função, executa a ação contratada, escreve uma linha de auditoria - em seguida, dispara um webhook assinado pelo HMAC de volta ao seu endpoint. Cada salto é autenticado, idempotente e retried no fracasso.
De zero a uma integração ao vivo em quatro passos.
Gerar uma chave, disparar o seu primeiro evento, subscrever um webhook, registar uma acção. Você pode executar todo o ciclo contra a sandbox antes de tocar nos dados da produção.
Obter uma chave
Inscreva-se e gere uma chave API_ (opq_…) em configurações de desenvolvedor, e dar a cada integração apenas as superfícies que ele precisa.
& Subscrever o Fogo
POSTA um assinado events/fire (ou use um SDK), então aponte qualquer URL em qualquer evento, assinado, com uma identificação de entrega e retries back-off.
Registar uma acção
Declare um contrato de ação assinado para que a IA possa executar operações com segurança, com verificação de funções, política de confirmação e uma trilha de auditoria completa.
Um padrão de conector. Cinco primitivos limpos.
Qualquer coisa específica de plataforma vive em um conector. O núcleo OpsIQ permanece genérico, a IA permanece previsível e sua integração permanece auditável.
Diga a OpsIQ o que aconteceu.
Dispare eventos universais da sua plataforma - ou seus próprios nomes de eventos personalizados. Cada assinante reage em tempo real, em ordem prioritária.
Referência do eventoinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up Ou a tua própria.
Assinantes de fan-outO cérebro IA, as regras de automação, os conectores de espelho e os seus terminais webhook todos reagem.
Ordem de prioridadeEnvio determinístico para que os espelhos escrevam antes de alertar o fogo.
Diga OpsIQ_ o que a IA pode fazer.
Um contrato de ação é uma declaração assinada JSON_: o que a ação faz, quais papéis podem executá-la, quais parâmetros ela aceita, se a confirmação é necessária e o endpoint para chamar.
Esquema de ação{
"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
}
Empurre os eventos para sua pilha - com prova criptográfica.
Subscreva qualquer URL_ para qualquer evento. OpsIQ POSTS a JSON__ carga de trabalho assinada com HMAC-SHA256 sobre o corpo bruto - verifique-o em algumas linhas.
$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);
Clientes para o idioma que você já usa.
Três SDKs oficiais lidam com autenticação, assinatura, retries, chaves de indempotência e respostas digitadas. Ou ficam livres de frameworks - cada SDK é uma embalagem fina em torno da mesma superfície 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",
})
Conectar uma vez, ligar qualquer coisa.
Um conector é uma pasta com uma classe PHP. OpsIQ descobre-a, o registro liga os eventos, e seu código específico da plataforma permanece limpo separado do núcleo.
Guia do conectoridentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook().
Manifestoactions.json e settings.json declarar contratos e config.
Auto-descobertaLargue a pasta, assine-a, habilite-a no administrador.
- Inglês puro. Operação auditada desligada.
OpsIQ nunca inventa a chamada certa. Ele percorre os contratos registrados, prepara a carga útil, pede confirmação quando a ação requer, e produz uma linha de auditoria completa quando executa, então uma IA que pode ato Nunca se torna uma IA em que não se possa confiar.
API_ superfície de relance.
Cada endpoint de núcleo, sua autenticação, indempotência e limite de taxa por chave. O contrato completo legível por máquina vive na referência OpenAPI 3.0.3_.
POST /v1/events/fireHMACSim.1000/minPOST /v1/actions/runHMACSim.200/minPOST /v1/webhooks/testHMACSim.60/minGET /v1/customers/{id}HMACSim.2000/minGET /v1/ticketsHMACSim.2000/minGET /v1/connectorsHMACSim.2000/minLimites de taxa são por chave e retornados em cada resposta como X-OpsIQ-RateLimit-Remaining; superior a um limite retorna 429 com uma Retry-After cabeçalho. O contrato completo legível por máquina (cada endpoint, esquema e erro) vive na Referência do OpenAPI 3.0.3.
Enviar um conector para dentro cinco passos.
Um conector é uma pasta auto-suficiente. OpsIQ descobre-a, o registro liga os eventos, e seu código específico de plataforma nunca vaza para o núcleo.
connector.php extensão AbstractConnector.actions.json e settings.json Manifesta.Uma chave de caixa de areia e um verificador webhook.
Cada espaço de trabalho expõe uma caixa de areia: uma chave separada com escopo que atinge a mesma superfície API sem tocar em dados de produção. POST /v1/webhooks/test para disparar uma entrega de amostra assinada no seu ponto final e confirmar a sua verificação da assinatura antes de entrar em directo. Instalações auto- hospedadas executam o caminho do código idêntico, sem deriva comportamental entre nuvem e on-prem.
OpsIQ vs a Integração de DY.
Que uma plataforma de contrato, assinada e auditada, dá-lhe que rolar os seus próprios webhooks e canalização IA-ação nunca irá.
| Capacidade | Rola o teu próprio | 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) | Variações | ✓ |
| Connector pattern: platform code stays isolated | — | ✓ |
Perguntas de desenvolvimento, - Não.
Auth, assinaturas, SDKs, sandboxing e o modelo de conector: tudo o que você vai pedir antes da primeira solicitação.
Authorization: Bearer opq_…. OpsIQ_ verifica o escopo da chave e o papel do ator antes de qualquer coisa ser executada. Webhooks são separados: cada webhook OpsIQ envia X-OpsIQ-Signature (um hex HMAC-SHA256 da massa bruta) e uma X-OpsIQ-Timestamp para proteção replay, assim você pode verificar-nos em troca, e os webhooks inbound que você envia são verificados da mesma forma.requires_confirmation aparece um cartão de pré-visualização para um ser humano antes do efeito secundário correr.hash_hmac('sha256', $rawBody, $secret) (um feitiço digerir sem prefixo) e compará-lo com o X-OpsIQ-Signature cabeçalho com uma verificação de tempo constante (hash_equals). Cada entrega também carrega uma data-limite, uma chave de indempotência e um ID de entrega que você pode rastrear. O trecho PHP nesta página é a verificação completa.POST /v1/webhooks/test para disparar uma entrega de amostra assinada no seu ponto final e confirmar a sua verificação antes de entrar em directo.AbstractConnector, mais actions.json e settings.json manifesta. Você implementa identityProviders(), contextProviders(), registerActions(), subscribers() e handleWebhook(). OpsIQ_ auto-descobre-o, fios os eventos e mantém o seu código específico plataforma limpo separado do núcleo.