Faça sua plataforma Al-operável.
OpsIQExpõe um REST limpoAPIDefina quais eventos disparam do seu sistema, quais ações a IA pode executar, e quais dados são seguros para ler.OpsIQLida com assinaturas, repetições, registros de auditoria e fluxos de confirmação para você.
Pedido de entrada. -Teia desligada.
Você POST para oOpsIQ APICom sua chave de portador.OpsIQVerifica o escopo e o papel, executa a ação contratada, escreve uma linha de auditoria, então dispara um webhook assinado pelo HMAC de volta ao seu ponto final.
De zero a uma integração ao vivo em Quatro passos.
Gere uma chave, deite fogo no seu primeiro evento, assine um webhook, registre uma ação, você pode rodar o loop inteiro contra a caixa de areia antes de tocar os dados da produção.
Pegue uma chave.
Registre-se e gere um portador de escopo.APIChave (opq_…) em configurações de desenvolvimento, e dar a cada integração apenas as superfícies que ele precisa.
Fogo e assinatura
POSTE UM ASSINATO events/fire (ou use um SDK), então aponte qualquer URL em qualquer evento, assinado, com uma identificação de entrega e repetições de retrocesso.
Registre uma ação.
Declare um contrato assinado para que a IA possa executar operações com segurança, com verificação de papéis, política de confirmação e uma pista completa de auditoria.
Um padrão de conector. Cinco primitivos limpos.
Qualquer coisa específica de plataforma vive em um conector.OpsIQO núcleo continua genérico, a IA permanece previsível, e sua integração permanece auditável.
Diga.OpsIQO que aconteceu.
Dispare eventos universais da sua plataforma ou seus próprios nomes de eventos personalizados.
Referência do eventoinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up Ou o seu próprio.
Assinantes de fãs.O cérebro da IA, regras de automação, conectores de espelho e seus terminais de webhook todos reagem.
Ordem PrioritáriaEnvio determinístico para que os espelhos escrevam antes de alertar o fogo.
Diga.OpsIQO que a IA está autorizada a fazer.
Um contrato de ação é assinado.JSONDeclaração: 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 ponto final para ligar.
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 provas criptográficas.
Assine qualquer um.URLpara qualquer evento.OpsIQPosts oJSONCarga assinada com HMAC-SHA256 sobre o corpo cru - verifique 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 ao redor da mesma superfície do 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 qualquer coisa.
Um conector é uma pasta com uma classe PHP.OpsIQDescobri-lo, o registro fios os eventos, e seu código específico plataforma permanece perfeitamente separado do núcleo.
Guia de conexãoidentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook().
Manifesto-conduzidoactions.json e settings.json declarem contratos e config.
AutodescobertaDeixe a pasta entrar, assine, habilite-a na administração.
Inglês puro. Operação auditada desligada.
OpsIQEle 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 Atue. Nunca se torna uma IA em que não se pode confiar.
API superfície em um olhar.
Todos os pontos centrais, sua permissão, indempotência e o limite de taxa por chave.3.0.3Referência.
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 retornam em cada resposta como X-OpsIQ-RateLimit-Remaining; Excedendo um limite retorna 429 com um Retry-After O contrato completo de leitura automática (cada ponto final, esquema e erro) vive na OpenAPI 3.0.3_ referência.
Envie um conector para dentro. Cinco passos.
Um conector é uma pasta auto-suficiente.OpsIQdescobre, o registro liga os eventos, e seu código específico da plataforma nunca vaza para o núcleo.
connector.php estendendo AbstractConnector.actions.json e settings.json - Manifesta.Uma chave de caixa de areia e um verificador de ganchos.
Cada espaço de trabalho expõe uma caixa de areia: uma chave separada que atinge o mesmo.APIsuperfície sem tocar dados de produção. POST /v1/webhooks/test As instalações auto-hospedeiras executam o caminho de código idêntico, sem desvio comportamental entre nuvem e on-prem.
OpsIQ vs um Integração de DY.
Que plataforma de contrato, assinada e auditada, dá a você que enrolar seus próprios webhooks e encanamento de IA nunca vai funcionar.
| Capacidade | Role o seu 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) | Varias | ✓ |
| Connector pattern: platform code stays isolated | — | ✓ |
Perguntas de desenvolvedor, -Respondeu.
Auth, assinaturas, SDKs, sandboxing e o modelo de conector: tudo que você vai pedir antes do primeiro pedido.
Authorization: Bearer opq_…. OpsIQOs webhooks são separados: cada webhook.OpsIQEnvia um. X-OpsIQ-Signature (um HMAC-SHA256 Hex do corpo cru) e um X-OpsIQ-Timestamp Para proteção de repetição, então pode nos verificar em troca, e os hooks que você envia são verificados da mesma forma.requires_confirmation Aparece um cartão de pré-visualização para um humano antes do efeito colateral ser executado.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 constante do tempo (hash_equalsCada entrega também carrega uma senha, uma chave de indemnidade e uma identificação de entrega que você pode rastrear.POST /v1/webhooks/test para disparar uma amostra assinada no seu ponto final e confirmar sua verificação antes de ir ao vivo.AbstractConnector, mais actions.json e settings.json Você implementa o que eu digo. identityProviders(), contextProviders(), registerActions(), subscribers() e handleWebhook(). OpsIQAuto-descobre, liga os eventos e mantém seu código específico da plataforma bem separado do núcleo.