Piattaforma di sviluppo · REST · webhooks · SDKs

Fai la tua piattaforma AI-operabile.

OpsIQespone un REST pulitoAPI, HMAC-signed webhooks, un registro di azione-contrattuali e SDK pronti a-ship. Definire che cosa gli eventi fuoco dal sistema, quali azioni l'IA è permesso di eseguire, e quali dati è sicuro da leggere.OpsIQgestisce le firme, i retries, i registri di audit e i flussi di conferma per voi.

HMAC-SHA256 entrambi i modiPHP · Nodo · Python SDKsAprire l'API3.0.3contratto100% copertura di audit
Richiesta firmata
Firmato webhook out →200Ok.
Vivi curl → OpsIQ → webhook firmato POST /v1/actions/run X...OpsIQ- Gravidanza { "action": "rimborso_fattura", "confermato": vero } VERIFICA · RUN · AUDIT firma ✓ ruolo + portata ✓ riga di audit scritta @opsiq/sdkwidget del widget su("action. executed") verifica HMAC → maniglia 200Ok.
3SDKs ufficiale: PHP, Node, Python
HMACSHA-256 firmato su ogni richiesta
40+eventi universali per abbonarsi
100%copertura audit-log sulle azioni
Il ciclo di vita della richiesta

Richiesta. Firmato webhook fuori.

L'utente POST al OpsIQ_API con la chiave del cuscinetto a portata di mano. OpsIQ_ controlla l'ambito e il ruolo, esegue l'azione contratta, scrive una riga di audit - poi spara un webhook firmato HMAC al punto finale. Ogni hop è autenticato, idempotent e riattivato sul fallimento.

Webhooks HMAC-SHA256 - i carichi di pagamento in entrata e in uscita webhook sono firmati sopra il corpo grezzo; API chiama autentica con una chiave di Bearer a portata di mano.
Ritmo automatico - le consegne fallite e riprovano, con un documento di consegna che puoi rintracciare.
Tasti di Idempot - replay-safe per design, quindi una consegna riattivata non raddoppia mai.
La tua app POST /v1/actions/run X...OpsIQ- Gravidanza X...OpsIQ- Timestamp VERIFICA - RUN - AUDIT Il tuo punto di vista POST /webhooks verifica HMAC 200Ok. firma verificata campo di applicazione + ruolo controllato esecuzione di un'azione contratta riga di audit scritta VICATORE ESTERO PAGAMENTO { "evento": "azione. eseguita", delivery_id: "dlv_8f2a9", "Impostatency_key": "idem_31c7", "firma": "Sottotitoli"9c4e0a7b..." } consegnati
01 richiesta firmata 02 verifica HMAC 03 contratto di esecuzione 04 scrittura di audit riga 05 firmata webhook
Avvio rapido

Da zero a un'integrazione live in quattro passi.

Genera una chiave, spara il tuo primo evento, iscriviti a un webhook, registrati un'azione. Puoi eseguire l'intero ciclo contro la sandbox prima di toccare i dati di produzione.

Console SandboxCollegato
SVILUPPO CONSOLE · sandbox 1· Generare chiave opq_live_xxx · una chiave di Bearer per scopi 2· Fuoco di un evento POST/v1/events/fire"ordina.shipped" 3· Iscriviti a un webhook → https://api.you.com/webhooks 4· Registrare un'azione saas. refund_invoice · audited
PromuovereSandbox → produzione, stesso codice
01

Prendi una chiave

Registrati e genera un Bearer di portata API key (opq_…) nelle impostazioni dello sviluppatore, e dare ogni integrazione solo le superfici di cui ha bisogno.

02

Fire & abbonarsi

POST a firma events/fire (o utilizzare un SDK), quindi puntare qualsiasi URL in qualsiasi evento, firmato, con un ID di consegna e un retro-off.

03

Registrare un'azione

Dichiarare un contratto d'azione firmato in modo che l'IA possa eseguire in modo sicuro operazioni, con controlli di ruolo, politica di conferma e un percorso completo di audit.

Come si adatta insieme

Un modello di connettore. Cinque primitivi puliti.

Qualsiasi piattaforma-specifica vive in un connettore. Il core OpsIQ rimane generico, l'intelligenza artificiale rimane prevedibile e la tua integrazione resta verificabile.

01
Trigger

Dillo.OpsIQquello che e' appena successo.

Gli eventi universali di fuoco dalla vostra piattaforma - o i vostri nomi di eventi personalizzati. Ogni abbonato reagisce in tempo reale, in ordine prioritario.

Riferimento
invoice.paid eventi. fire() cervellocontesto vivo regolepriorità20 specchioscrivere prima webhookfirmato
Eventi universali + personalizzatiinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up o il tuo. Abbonati Fan-outIl cervello AI, regole di automazione, connettori a specchio e i endpoint webhook reagiscono tutti. Ordine prioritarioLa spedizione di deternistica così gli specchi scrivono prima di avvisare il fuoco.
02/ Contratti di azione

Dillo.OpsIQche cosa l'IA è permesso di fare.

Un contratto d'azione è una dichiarazione firmata JSON: che cosa fa l'azione, quali ruoli possono eseguirlo, quali parametri accetta, se è richiesta la conferma e il punto finale da chiamare.

Schema di azione
L'IA non può inventare azioniPuò solo chiedere di eseguire quelli che hai registrato. Politica di confermaLe azioni risky innescano una scheda di anteprima prima di qualsiasi effetto collaterale. Role + superficie di garofanoOgni azione dichiara i ruoli e le superfici per poterlo eseguire.
contratto d'azione -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/ Segnalato webhooks

Spingere gli eventi al vostro stack - con la prova crittografica.

Iscriviti qualsiasi URL_ a qualsiasi evento. OpsIQ_ POSTs the JSON_ payload firmato con HMAC-SHA256 sul corpo grezzo - verificalo in poche righe.

Protezione da riproduzioneID di consegna trascurabileRipiani di ritorno
Riferimento Webhook
verifica webhook - 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

Clienti drop-in per la lingua che si utilizza già.

Tre SDK ufficiali gestiscono l'autenticazione, la firma, i retries, idempotency key e le risposte digitate. O rimangono senza framework - ogni SDK è un wrapper sottile intorno alla stessa superficie REST.

esempi di client
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",
})
PHP8.4+Node.js18+Python3.10+REST · OpenAPI3.0.3
05/ Il modello del connettore

Costruisci una volta, infilati in qualsiasi cosa.

Un connettore è una cartella con una classe PHP. OpsIQ_ lo scopre, il registro collega gli eventi e il codice specifico della piattaforma rimane pulito separato dal nucleo.

Guida del connettore
Cinque ganciidentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook(). Manifestoactions.json e settings.json dichiarare contratti e config. Auto-scopertaGetta la cartella, firmala, abilitalo in admin.
Dall'intento all'azione sicura

In inglese. E' stata controllata.

OpsIQ non inventa mai la chiamata giusta. Passa attraverso i contratti registrati, prepara il carico di pagamento, chiede la conferma quando l'azione lo richiede e produce una riga di audit completa quando esegue, in modo da un AI che può atto non diventa mai un'intelligenza artificiale di cui non puoi fidarti.

Contratto. L'IA propone solo azioni che hai registrato.
Confermare prima degli effetti collaterali. Le azioni risky superficie una carta di anteprima prima.
Ricordo totale. Ogni risultato di risposta e azione catturato nella storia dell'intelligenza artificiale.
4passiintento → audit
HMACfirmato prima dell'esecuzione
"Rimborso dell'ultima fattura di Adamo" Passo1· risoluzione degli intenti → abbinato: saas. refund_invoice superficie: admin · ruolo: proprietario · Passo2convalidare Passo3· Conferma & segno scheda di anteprima · fattura #8421 Conferma Passo4· Remi di controllo attore · prompt · risultato ·412ms Solo proprietario · esportabile comeCSV
Nessuna chiamata inventatasolo il registro di contratto
Confermatoanteprima prima degli effetti collaterali
100% auditingprompt + risposta + risultato
Riferimento

APIsuperficie a colpo d'occhio.

Ogni punto di riferimento, il suo limite di auth, idempotency e per-key rate. Il contratto completo leggibile dalla macchina vive nel riferimento OpenAPI 3.0.3_.

OpenAPI 3.0.3 riferimento
FineAutorizzazioneIdemponteLimite di tasso
Scrivi un commentoSuperfici a effetto collaterale firmate
POST /v1/events/fireHMACSì.1000 / min
POST /v1/actions/runHMACSì.200 / min
POST /v1/webhooks/testHMACSì.60 / min
LeggiContesto, biglietti e inventario dei connettori
GET /v1/customers/{id}HMACSì.2000 / min
GET /v1/ticketsHMACSì.2000 / min
GET /v1/connectorsHMACSì.2000 / min

I limiti di tariffa sono per chiave e restituiti su ogni risposta come X-OpsIQ-RateLimit-Remaining; superiore a un limite di rendimenti 429 con un Retry-After intestazione. Il contratto completo di lettura della macchina (ogni punto finale, schema ed errore) vive nella OpenAPI 3.0.3 riferimento.

Costruire un connettore

Nascondi un connettore 5 passi.

Un connettore è una cartella autocontenuta. OpsIQ lo scopre, il registro collega gli eventi e il codice specifico della piattaforma non perde mai nel core.

1Scaffold una cartella con connector.php proroga AbstractConnector.
2Dichiarazioni actions.json e settings.json Si manifesta.
3Implementare i fornitori di identità, contesto e webhook.
4Iscriviti agli eventi a cui tieni.
5Firma, lascialo entrare, abilitarlo in admin.
Prova prima di spedire

Una chiave di sandbox e un tester webhook.

Ogni spazio di lavoro espone una sandbox: una chiave separata che colpisce la stessa superficie API senza toccare i dati di produzione. POST /v1/webhooks/test per lanciare una consegna di campioni firmata al vostro punto finale e confermare la vostra verifica firma prima di andare in diretta.

Tastiere per Sandbox Tester Webhook Lavori in Cron-driven Cloud & auto-hosting parity
connettore. php · php
classe AcmeConnector Prolungamento AbstractConnector { funzione pubblica chiave(): stringa { ritorno 'acme'; } // Risolvere chi è l'attore funzione pubblica identitÃProvider(): array { ritorno [nuovo AcmeIdentityProvider()]; } // Feed dati in diretta nel prompt AI funzione pubblica contestoProvider(): array { ritorno [nuovo AcmeContextProvider()]; } // Reagire aOpsIQeventi eventi funzione pubblica abbonati(): array { ritorno [Fatturato. => [nuovo BillingMirror()]]; } // Ricevi webhooks in entrata da Acme funzione pubblica manigliaWebhook(array $body): vuoto { /* … */ } }
⁇ Come si confronta

OpsIQcontro un Integrazione fai da te.

Che una piattaforma a contratto, firmata e controllata ti dà che rotolare i tuoi webhooks e AI-action idraulico mai lo farà.

CapacitàFai come ti pare.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) Vasi
Connector pattern: platform code stays isolated
FAQ

Domande sullo sviluppatore, rispose.

Auth, firme, SDK, sandboxing e il modello di connettore: tutto quello che chiederai prima della prima richiesta.

API chiama autentica con un singolo tasto Bearer: inviare Authorization: Bearer opq_…. OpsIQ controlla la portata della chiave e il ruolo dell'attore prima di tutto viene eseguito. Webhooks sono separati: ogni webhook OpsIQ__ invia porta un X-OpsIQ-Signature (un esagonale HMAC-SHA256 del corpo grezzo) e un X-OpsIQ-Timestamp per la protezione di riproduzione, in modo da poterci verificare in cambio, e webhooks in entrata che si invia sono verificati allo stesso modo.
No. L'IA può proporre solo azioni che esistono nel registro di azione-contrattuali, non può inventare una chiamata. Ogni contratto dichiara le superfici, i ruoli e i parametri consentiti, e qualsiasi azione segnata requires_confirmation superfici una carta di anteprima a un umano prima che l'effetto collaterale funzioni.
Ricompenso hash_hmac('sha256', $rawBody, $secret) (un esagonale digerente senza prefisso) e confrontarlo con X-OpsIQ-Signature intestazione con un controllo costante (hash_equals). Ogni consegna porta anche un timestamp, una chiave di idempotency e un ID di consegna che puoi tracciare. Il cecchino PHP in questa pagina è l'intera verifica.
Le consegne che non restituiscono un 200 sono rielaborate con back-off esponenziale, ognuna delle quali porta la stessa chiave di idempotency in modo da una consegna riattivata non doppi effetti.
SDK ufficiali per PHP8.4+, Node.js18+ e Python3.10+ impugnatura firma, retries, chiavi idempotency e risposte digitate. Sono sottili wrapper intorno alla superficie REST, in modo da poter anche generare il proprio cliente dal pubblicato OpenAPI3.0.3contratto o chiamareAPIdirettamente.
Ogni spazio di lavoro espone una sandbox con la propria chiave a portata di mano che colpisce la stessa superficie API senza toccare i dati di produzione, più POST /v1/webhooks/test per sparare una consegna di campioni firmata al vostro punto finale e confermare la verifica prima di andare in diretta.
Le installazioni auto-hosted eseguono il percorso di codice identico (la stessa firma, lo stesso registro di connettore, lo stesso contratto OpenAPI) quindi non c'è deriva comportamentale tra cloud e on-prem.
Un connettore è una cartella autocontenuta con una classe PHP che estende AbstractConnector# Piu' # actions.json e settings.json manifesti. identityProviders(), contextProviders(), registerActions(), subscribers() e handleWebhook(). OpsIQ_ lo scopre automaticamente, collega gli eventi e mantiene il codice specifico della piattaforma pulitamente separato dal core.