Asiguraţi-vă platforma Al-operabil.
OpsIQ_ expune un REEST curat API, HMAC-semnate webhooks, un registru de acțiune-contract și gata-la-navă SDKs. Definește ce evenimente foc din sistemul tău, ce acțiuni AI este permis să ruleze, și ce date este sigur de citit. OpsIQ_ se ocupă de semnături, retries, jurnale de audit și fluxuri de confirmare pentru tine.
Solicităm intrarea. Semnat webhook afară.
POST la OpsIQ API cu tasta ta de suport. OpsIQ verifică domeniul și rolul, execută acțiunea contractată, scrie un rând de audit - apoi trage un webhook semnat HMAC înapoi la obiectivul dumneavoastră. Fiecare salt este autentificat, idepotent și retried pe eșec.
De la zero la o integrare live în patru paşi.
Generați o cheie, concediați primul eveniment, abonați-vă la un webhook, înregistrați o acțiune. Puteți rula întreaga buclă împotriva sandbox înainte de a atinge datele de producție.
Ia o cheie.
Înregistrează-te și generează o cheie de intrare API (opq_…) în setări dezvoltator, și de a da fiecare integrare numai suprafețele de care are nevoie.
Abonează focul
Postează un semn events/fire (sau să utilizeze un SDK), apoi să indice orice URL la orice eveniment, semnat, cu un ID de livrare și retururi de rezervă.
Înregistrează o acțiune
Declara un contract de acţiune semnat astfel încât AI să poată efectua operaţiuni în siguranţă, cu controale ale rolurilor, politica de confirmare şi o pistă de audit completă.
Un model de conector. Cinci primitivi curaţi.
Orice traieste intr-o platforma specifica intr-un conector. Nucleul OpsIQ ramane generic, AI ramane previzibil, iar integrarea ta ramane auditabila.
Spune.OpsIQce s-a întâmplat.
Trage evenimente universale de pe platforma ta - sau nume de evenimente personalizate. Fiecare abonat reacţionează în timp real, în ordine prioritară.
Referință la evenimentinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up sau a ta.
Abonați la Fan-outCreierul AI, regulile de automatizare, conectorii oglinda si obiectivele dvs. webhook toate reactioneaza.
Ordinea prioritarăDispecerat determinant, astfel încât oglinzile să scrie înainte de foc alerte.
Spune.OpsIQce AI are voie să facă.
Un contract de actiune este o declaratie semnata JSON_: ce actionare face, ce roluri il pot rula, ce parametri accepta, daca este necesara confirmarea si ce obiectiv trebuie sa apeleze.
Schema de acțiune{
"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
}
Împinge evenimente la stiva ta - cu dovezi reproductibile.
Aboneaza orice URL la orice eveniment. OpsIQ Postează sarcina utilă JSON semnată cu HMAC-SHA256 peste corpul brut - verifică-l în câteva rânduri.
$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);
Clienţi cu cartelă pentru limba pe care o folosiţi deja.
Trei SDK-uri oficiale manipulează autentificarea, semnarea, retierele, cheile de idempotenţă şi răspunsurile tastate. Sau rămân fără cadru - fiecare SDK este un ambalaj subţire în jurul aceleiaşi suprafeţe 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",
})
Construieşte o dată şi conectează-te la orice.
Un conector este un dosar cu o singură clasă PHP. OpsIQ descoperă, registrul fire evenimente, și codul dvs. de platformă-specifică rămâne curat separate de miez.
Ghid conectoridentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook().
Cu motor cu piston alternativ cu aprindere prin scânteieactions.json şi settings.json să declare contracte și configurări.
AutodescoperitAruncă dosarul, semnează-l, dă-i drumul la admin.
Engleză simplă. Operaţiunea auditată terminată.
OpsIQ_ nu inventează niciodată apelul corect. Trece prin contractele înregistrate, pregătește sarcina utilă, cere confirmarea atunci când acțiunea o cere și produce un rând complet de audit atunci când execută, astfel încât un AI care poate Act Niciodată nu devine un AI nu poți avea încredere.
APIsuprafață dintr-o privire.
Fiecare obiectiv principal, autch-ul, idempotenţa şi rata de pe chei. Contractul complet care poate fi citit automat trăieşte în OpenAPI 3.0.3 referinţă.
POST /v1/events/fireHMACDa.1000/minPOST /v1/actions/runHMACDa.200/minPOST /v1/webhooks/testHMACDa.60/minGET /v1/customers/{id}HMACDa.2000/minGET /v1/ticketsHMACDa.2000/minGET /v1/connectorsHMACDa.2000/minLimitele ratei sunt per cheie și returnate la fiecare răspuns ca X-OpsIQ-RateLimit-Remaining; peste o limită de returnare 429 cu Retry-After antetul. Contractul complet de citire a maşinilor (fiecare criteriu final, schema şi eroarea) trăieşte în OpenAPI 3.0.3 referință.
Ambarcaţiunea conectorului cinci paşi.
Un conector este un dosar autonom. OpsIQ_ descoperă, registrul fire evenimente, și codul dvs. specific platformei nu se scurge în miez.
connector.php extinderea AbstractConnector.actions.json şi settings.json Manifeste.O cheie de nisip şi un tester de webhook.
Fiecare spațiu de lucru expune o cutie de nisip: o cheie separată cu acoperire care atinge aceeași suprafață API fără a atinge datele de producție. POST /v1/webhooks/test pentru a trage o livrare de probe semnat la obiectivul dvs. și confirma verificarea semnăturii înainte de a merge în direct. Auto-hosted instalaţii rula calea de cod identice, fără nici o abatere comportamentală între nor și on-prem.
OpsIQ vs a Integrare DIY.
Ce platformă de contractare, semnată şi auditată îţi oferă faptul că rularea propriilor tale site-uri web şi instalaţii de acţiune AI nu vor face niciodată.
| Capacitatea | Rostogoleşte-te singur. | 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) | Variază | ✓ |
| Connector pattern: platform code stays isolated | — | ✓ |
Întrebări de dezvoltator, Răspuns.
Auth, semnături, SDK-uri, sandboxing şi modelul conectorului: tot ce veţi cere înainte de prima cerere.
Authorization: Bearer opq_…. OpsIQ verifică domeniul de aplicare al cheii și rolul actorului înainte de orice rulează. Webhook-urile sunt separate: fiecare webhook OpsIQ trimite poartă un X-OpsIQ-Signature (un hex HMAC-SHA256 al corpului brut) și un X-OpsIQ-Timestamp pentru a replay protection, astfel încât să puteți verifica ne în schimb, și inbound webhooks pe care le trimiteți sunt verificate în același mod.requires_confirmation suprafeţele o carte de previzualizare pentru un om înainte de a se rula efectul secundar.hash_hmac('sha256', $rawBody, $secret) (un hex digera cu nici un prefix) și comparați-l cu X-OpsIQ-Signature antet cu o verificare constantă a timpului (hash_equals) Fiecare livrare are, de asemenea, o marca de timp, o cheie idempotenta si un ID de livrare puteti urmari. Fragmentul PHP de pe aceasta pagina este intreaga verificare.POST /v1/webhooks/test pentru a trage o livrare de probe semnat la obiectivul final și confirma verificarea înainte de a merge în direct.AbstractConnector, plus actions.json şi settings.json Exemplare. identityProviders(), contextProviders(), registerActions(), subscribers() şi handleWebhook(). OpsIQ îl descoperă automat, firează evenimentele și păstrează codul specific platformei separat curat de nucleu.