Utviklerplattform · REST · webhooks SDKs

Gjør plattformen din AI-operativt.

OpsIQEksponerer en ren RESTAPI, HMAC-signert webhooks, et action-kontrakt register og klar til å sende SDK. Definere hvilke hendelser brann fra systemet ditt, hva handlinger AI er tillatt å kjøre, og hvilke data som er trygge å lese.OpsIQhåndtere signaturer, retries, revisjonslogger og bekreftelsesstrømmer for deg.

HMAC-SHA256 begge måterPHP · Node · Python SDK- erOpenAPI 3.0.3 kontrakt100%-revisordekning
Signert forespørsel i
Signert webhook ut → 200_ OK
Nivå curl → OpsIQ → signert webhook POST /v1/actions/run X-OpsIQ-Signatur { "action": "refund_invoice", "bekreftet": sant } VERIFISER · KØR · OVERVÅK signatur ✓ Rolle + omfang ✓ audit rad skrevet @opsiq/sdk_-element on ("action. executed") verifisere HMAC → håndtak 200__ OK
3offisielle SDKs: PHP, Node, Python
HMACSHA-256 signert på alle forespørsler
40+universalarrangementer å abonnere
100%revisjonslogg dekning av tiltak
Forespørselen livssyklus

Forespørsel i. Signert webhook ut.

Du POST til OpsIQ_ API med din omfangsrike Bearer-nøkkel. OpsIQ sjekker omfang og rolle, kjører den kontraktete handlingen, skriver en revisjonsrad - så brenner en HMAC-signert webhook tilbake til endepunktet ditt. Hvert humle er autentisert, idempotensielt og retried på feil.

HMAC- SHA256 webhooks - inngående og utgående webhook nyttelaster er signert over rå kroppen; APIsamtaler autentisering med en omfangsbestemt Bearer nøkkelen.
Automatiske retries - mislykkede leveranser tilbake og forsøke, med en levering ID kan du spore.
Idempatiens-nøkler - replay-safe ved design, så en retried levering aldri dobbel-acts.
Appen din POST /v1/actions/run X-OpsIQ-Signatur X-OpsIQ_-Timestamp VERIFY-RUN - AUDIT Sluttpunktet ditt POST /webhooks verifisere HMAC 200__ OK signatur verifisert omfang + rolle kontrollert kontraktshandlingskjøring audit rad skrevet SIGNERT WEBHOOK- BETALTNING { "hendelse": "action. executed", « delivery_ id »: "dlv_ 8f2a9", "idempotency_ key": "idem_ 31c7", "signatur":-sha256=9c4e0a7b..." } levert
01 signert forespørsel 02 verifisere HMAC 03 løp kontrakt 04 skrive revisjonsrad 05 signert webhook
Hurtigstart

Fra null til live integrasjon i Fire skritt.

Opprett en nøkkel, avfyr din første hendelse, abonner en webhook, registrere en handling. Du kan kjøre hele sløyfen mot sandboksen før du rører ved produksjonsdata.

Sandbox-konsollenTilkoblet
DEVELOPER COSOLE · sandkasse 1 · Opprett nøkkel opq_live_xxx · én omdøpt Bearer-nøkkel 2 · Skyt en hendelse POST /v1/events/fire "ordre. sendt" 3 · Abonner på en webhook → https://api.you.com/webhooks 4 · Registrer en handling saas. refund_invoice · revidert
FremmeSandkasse → produksjon, samme kode
01

Få en nøkkel

Registrer deg og generer en omdøpt Bearer API_ nøkkel (opq_…) i utviklerinnstillinger, og gi hver integrasjon bare de overflatene det trenger.

02

Brann & abonner

POST et signert events/fire (eller bruk en SDK), deretter peke noen URL under alle omstendigheter, signert, med leverings-ID og back-off retries.

03

Registrer en handling

Deklarere en signert handlingskontrakt slik at AI trygt kan drive operasjoner, med rollekontroll, bekreftelsespolitikk og et fullstendig revisjonsspor.

Hvordan det passer sammen

Ett kontaktmønster. Fem rene primitive.

Alt plattformspesifikk bor i en kontakt. OpsIQ-kjernen forblir generisk, AI forblir forutsigbar og din integrasjon forblir revisjonsbar.

01
Utløsere

Fortell OpsIQ hva som bare skjedde.

Skyt universelle hendelser fra plattformen din - eller dine egne tilpassede hendelsesnavn. Hver abonnent reagerer i sanntid, i prioritets rekkefølge.

Hendelsesreferanse
invoice.paid events. fire() AI-hjernenlive-kontekst ReglerPrioritet 20 speilSkriv først webhooksignert
Universal + tilpassede hendelserinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up eller din egen. Fan-out abonnenterAI-hjernen, automatiseringsreglene, speilkontaktene og dine webhook-endepunkter alle reagerer. PrioritetsordenDeterministisk forsendelse så speil skrive før varsler brann.
02/ Handlingskontrakter

Fortell OpsIQ hva AI har lov til å gjøre.

En handlingskontrakt er en signert JSON-erklæring: hva handlingen gjør, hvilke roller kan kjøre den, hvilke parametre den aksepterer, om bekreftelse er nødvendig og endepunktet å ringe.

Handlingsskjema
AI kan ikke oppfinne handlingerDet kan bare be om å kjøre dem du har registrert. BekreftelsespolicyRisikofulle handlinger utløser et forhåndsvisningskort før noen bivirkning. Rolle + overflate gatingHver handling erklærer rolle og overflater som kan kjøre den.
handlingskontrakt - 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/ Signert webhooks

Push hendelser til stabelen din - med kryptografisk bevis.

Abonner alleURLtil alle hendelser.OpsIQPOSTERJSONnyttelast signert med HMAC-SHA256 over den rå kroppen - verifisere det i noen linjer.

Replay beskyttelseSporbar levering IDTilbake-av-gjenstander
Webhook referanse
verifisere 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

Drop-in klienter for språket du allerede bruker.

Tre offisielle SDKs håndterer autentisering, signering, retries, idemppotenstaster og skrivne svar. Eller holde rammefri - hver SDK_ er en tynn pakke rundt den samme REST-overflaten.

kundeeksempler
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",
})
PHP 8.4+Node.js18+Python 3.10+· OpenAPI 3.0.3
05/ Koblingsmønsteret

Bygg en gang.

En kontakt er en mappe med én PHP-klasse. OpsIQ oppdager det, registertrådene hendelsene og plattformens bestemte kode forblir rensalig adskilt fra kjernen.

Kontaktguide
Fem krokeridentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook(). Manifest-drevetactions.json og settings.json erklære kontrakt og konfigurasjon. Auto-oppdagetLegg mappen inn, logg den på, slå den i administrator.
Fra intensjon til sikker handling

Vanlig engelsk i. -Revidert operasjon ute.

OpsIQ_ oppfinner aldri riktig samtale. Den går gjennom registrerte kontrakter, forbereder nyttelasten, ber om bekreftelse når handlingen krever det og produserer en komplett revisjonsrad når den utfører, så en AI som kan handling Aldri bli en AI du ikke kan stole på.

Kontraktbundet. AI foreslår bare handlinger du har registrert.
Bekreft før bivirkninger. Risikofulle handlinger overflater et forhåndsvisningskort først.
Total tilbakemelding. Hver rask, respons og handling resulterer i AI History.
4-trinnForsett → revisjon
HMACsignert før utførelse
"Refusjon av Adams siste faktura" Trinn 1 · intensjon-oppløsning → matchet: saas. refund_invoice overflate: admin · rolle: eier · Trinn 2 valider Trinn 3 · Bekreft og signer forhåndsvisningskort · faktura #8421 Bekreft Trinn 4 · revisjonsrad skuespiller · hurtig · resultat ·412ms Eier-beskyttet · eksporterbar som CSV
Ingen oppfunnne samtalerkun kontraktsregister
BekreftetForhåndsvisning før bivirkninger
100% revidertquick + respons + resultat
Referanse

API-overflate - Et blikk.

Hvert kjerne endepunkt, aut, idempaens og per nøkkel rentegrense. Den fulle maskinlesbare kontrakten lever i OpenAPI 3.0.3-referansen.

OpenAPI 3.0.3 referanse
EndepunktAutentiserIdempotensieltPrisgrense
SkrivSignerte sideeffektoverflater
POST /v1/events/fireHMACJa1000/min
POST /v1/actions/runHMACJa200/min
POST /v1/webhooks/testHMACJa60/min
LesKontekst, billetter og kontakt inventar
GET /v1/customers/{id}HMACJa2000/min
GET /v1/ticketsHMACJa2000/min
GET /v1/connectorsHMACJa2000/min

Prisgrensene er per nøkkel og returneres på alle svar som X-OpsIQ-RateLimit-RemainingOverskrid en grense avkastning 429 med en Retry-After overskrift. Den fulle maskinlesbare kontrakten (alle endepunkter, skjema og feil) bor i OpenAPI 3.0.3 referanse.

Bygg en kobling

Send en kobling inn Fem trinn.

En kontakt er en selvstendig mappe. OpsIQ oppdager det, registertrådene hendelsene og din plattformspesifikke kode aldri lekker inn i kjernen.

1Skaffel en mappe med connector.php forlengelse AbstractConnector.
2Deklarasjon actions.json og settings.json manifest.
3Implementer identitet, kontekst og webhook-leverandører.
4Abonner på arrangementene du bryr deg om.
5Logg den inn, slipp den inn og slå på den i administrator.
Test før du skiper

En sandkasse-nøkkel og en webhook tester.

Hvert arbeidsområde avslører en sandkasse: en separat omfangsfull nøkkel som treffer samme API-overflate uten å røre ved produksjonsdata. POST /v1/webhooks/test å skyte en signert prøvelevering ved endepunktet og bekrefte signaturverifisering før du går live. Selv-verterte installasjoner kjører den samme kodestien, uten atferdsdrift mellom sky og på prem.

Sandkassenøkler Webhook- tester Cron-drevet jobb Sky & selvvært paritet
kobling. php · php
klasse AcmeConnector strekker seg AbstractConnector { offentlig funksjon key (): streng { tilbake \"Acme\"; } // Løs hvem skuespilleren er offentlig funksjon identitetProviders(): matrise { tilbake [Ny AcmeIdentityProvider()]; } // Fôr live data i AI-prompten offentlig funksjon kontekstProviders(): matrise { tilbake [Ny AcmeContextProvider()]; } // Reager til OpsIQ_ events offentlig funksjon abonnenter (): matrise { tilbake [«faktura. payment» => [Ny BillingMirror()]]; } // Motta inngående webhooks fra Acme offentlig funksjon håndtakWebhook(matrise $body): ugyldig { /* … */ } }
Hvordan sammenligner den

OpsIQvs a DIY-integrasjon.

For en kontraktsbunden, signert og revidert plattform gir deg at rulle dine egne webhooks og AI-action VVS aldri vil.

KapabilitetRull din egenOpsIQ
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) Varierer
Connector pattern: platform code stays isolated
Ofte stilte spørsmål

Utviklerspørsmål, Svaret.

Author, signaturer, SDKs, sandboksing og kontaktmodellen: alt du vil be om før første forespørsel.

APIsamtaler autentisering med en enkelt omfang Bearer-nøkkel: send Authorization: Bearer opq_…. OpsIQ_ kontrollerer nøkkelens omfang og skuespillerens rolle før noe kjører. Webhooks er separat: hver webhook OpsIQ sender bærer en X-OpsIQ-Signature (en HEXT HMAC-SHA256 av råkroppen) og en X-OpsIQ-Timestamp for gjenspill beskyttelse, slik at du kan bekrefte oss i retur, og inbound webhooks du sender er verifisert på samme måte.
Nei. AI kan bare foreslå handlinger som eksisterer i handlingskontraktregisteret ditt. Det kan ikke oppfinne et anrop. Hver kontrakt erklærer overflatene, rollene og parametrene tillatt, og enhver handling merket requires_confirmation overflater et forhåndsvisningskort til et menneske før bivirkningen kjører.
Beregne hash_hmac('sha256', $rawBody, $secret) (en heksefordøye uten prefiks) og sammenligne det med X-OpsIQ-Signature overskrift med konstant tidskontroll (hash_equals). Hver levering har også en tidsstempel, en idempats-nøkkel og en leverings-ID du kan spore. PHP snuten på denne siden er hele verifiseringen.
Leveringer som ikke returnerer en 200_ blir retried med eksponentiell back-off, hver bærer den samme idemppotens nøkkelen slik at en retried levering aldri dobbel-acts. Du kan spore hvert forsøk ved levering ID i administrator eller loggene dine.
Offisielle SDKs for PHP8.4+, Node.js18+ og Python3.10+ håndtere signering, retries, idempacity nøkler og skrevet svar. De er tynn innpakning rundt REST-overflaten, slik at du også kan generere din egen klient fra den publiserte OpenAPI3.0.3kontrakt eller ringeAPIDirekte.
Ja. Hvert arbeidsområde avslører en sandkasse med sin egen omfangsfulle nøkkel som treffer den samme API-overflaten uten å røre ved produksjonsdata, pluss POST /v1/webhooks/test å skyte en signert prøvelevering på endepunktet og bekrefte verifisering før du går live.
Ja. Selv-verte installasjoner kjører den samme kodestien (den samme signeringen, det samme kontaktregisteret, den samme OpenAPI kontrakt) så det er ingen oppførselsdrift mellom sky og on-prem.
En kontakt er en selvstendig mappe med én PHP klasse som strekker seg AbstractConnector, pluss actions.json og settings.json Du implementerer identityProviders(), contextProviders(), registerActions(), subscribers() og handleWebhook(). OpsIQ automatisk oppdager det, ledninger hendelsene og holder din plattformspesifikke kode rengjort fra kjernen.