Gumawa ng iyong plataporma Opera ng Aida.
OpsIQay naglalantad ng isang malinis na RSTAPI, HMAC-signed webhooks, isang action-contract register at handa-to-ship SDKs. Ipaliwanag kung anong mga pangyayari ang sunog mula sa inyong sistema, anong mga aksiyon ang pinapayagang patakbuhin ng AI, at kung anong datos ang ligtas na basahin.OpsIQAng mga lagda, retries, audit logs at kumpil ay dumadaloy para sa iyo.
Pakiusap na tumuloy. Nagsesenyas na webhook.
IKAW AY MUMUMAMAY saOpsIQ APIsa pamamagitan ng iyong crowser key.OpsIQSinisiyasat ang saklaw at papel, pinapatakbo ang kontratang aksiyon, nagsusulat ng audit row - pagkatapos ay apoy isang HMAC-signed webhook pabalik sa inyong endpoint. Bawat hop ay mapagkakatiwalaan, idempotente at muling sinipula sa kabiguan.
Mula sa sero hanggang sa isang live na pagsasama - sama apat na hakbang.
Itala ang isang susi, paputok ang iyong unang pangyayari, mag-skripto ng isang webhook, mag-rehistro ng isang aksiyon. Puwede mong patakbuhin ang buong presilya laban sa sandbox bago hawakan ang mga datos sa produksiyon.
Kumuha ng susi
Magsenyas at gumawa ng isang tagapalibotAPI( keyopq_…) sa mga landscaper setting, at ibigay ang bawat pagsasanib lamang ng mga ibabaw na kailangan nito.
Apoy & subscribe
IPAGPUTOS ang isang nilagdaan events/fire (o gumamit ngSDK), pagkatapos ay ituro ang anumangURLSa anumang kaganapan, pumirma, sa pamamagitan ng paghahatid ng ID at back-off retries.
Ibalik ang isang pagkilos
Ipahayag ang kontratang pirmadong aksiyon upang ligtas na makapagpatakbo ang AI ng mga operasyon, na may mga tsekeng papel, patakarang pangkompirma at isang buong audit na landas.
Isang connektor na padron. Limang malilinis na primado.
Anumang platform-specific ay nakatira sa isang connektor. Ang platform.OpsIQAng core ay nananatiling generic, ang AI ay nananatiling mahuhulaan, at ang inyong pagsasama - sama ay nananatiling hindi mababago.
SabihinOpsIQkung ano ang nangyari.
Ang lahat ng mga pangyayaring urbano mula sa iyong platform - o sariling mga pangalan ng kaugalian. bawat kripto ay tumutugon sa tunay na panahon, sa prioridad.
Pangyayaring reperensiyainvoice.paid, ticket.created, subscription.cancelled, customer.signed_up o ikaw.
Mga subscriber na Fan-outAng utak ng AI, mga tuntunin sa automation, mga koneksiyon sa salamin at ang iyong mga webhook endpoint ay pawang tumutugon.
presidensiyal na kaayusanAng tiyak na mga pahatid kaya ang mga salamin ay sumusulat bago mag - anunsyo ng apoy.
SabihinOpsIQkung ano ang pinahihintulutang gawin ng AI.
Ang kontrata sa aksiyon ay isang nilagdaanJSONPagpapahayag: kung ano ang ginagawa ng aksiyon, aling papel ang maaaring gumanap nito, kung anong mga parameter ang tinatanggap nito, kung kinakailangan ang kumpil, at ang endpoint na tawagan.
Aksiyong schema{
"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
}
Ilagay ang mga pangyayari sa iyong salansanan ng cryptographic proof.
Mag - atas ng anumang bagayURLsa anumang pangyayari.OpsIQIPALIWANAG ang mga Bagay - bagayJSONAng payload na naka-sign kasama ang HMAC-SHA256 sa ibabaw ng hilaw na katawan - kumpirmahin ito sa ilang linya.
$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);
Drop-in clients para sa wikang ginagamit mo na.
Tatlong opisyal na SDK ang humahawak ng awtentidad, paglagda, retries, mga idempotensiya key at mga tugong tipo. or manatili sa balangkas-free - bawat isaSDKay isang manipis na pambalot sa palibot ng iisang REST na ibabaw.
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",
})
Magtayo ng isang beses.
Ang isang connektor ay isang folder na may isang klase ng PHP.OpsIQNatuklasan ito, ang registry ay nag-iinteres sa mga pangyayari, at ang iyong platform-specific code ay nananatiling malinis na hiwalay mula sa core.
Magkonektang giyaidentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook().
Madamaying-Tumatanggapactions.json at settings.json ang pahayag ng mga kontrata at mga pag - aayos.
Awtomatikong natuklasanIhulog ang folder in, i-sign ito, gawin itong nasa admin.
Ang wikang Ingles ay ginagamit. Ang indibidwal na operasyon.
OpsIQIto ay hindi nag-imbento ng tamang tawag. ito ay naglalakad sa mga nakarehistrong kontrata, naghahanda ng payload, humihingi ng kumpil kapag ang aksiyon ay nangangailangan nito, at gumagawa ng isang kumpletong audit row kapag ito ay nagpapatupad, kaya isang AI na maaaring mag-isyu ng isang AI na pwedeng gumawa ng isang ganap na audit kumilos Huwag kang maging AI na hindi mo mapagkakatiwalaan.
APIpang - ibabaw sa isang sulyap.
Ang bawat core endpoint, ang auth, idempotency at per-key rate limit. Ang buong machine-basable contract ay nakatira sa OpenAPI3.0.3reperensiya.
POST /v1/events/fireHMACMayroon1000/ minPOST /v1/actions/runHMACMayroon200/ minPOST /v1/webhooks/testHMACMayroon60/ minGET /v1/customers/{id}HMACMayroon2000/ minGET /v1/ticketsHMACMayroon2000/ minGET /v1/connectorsHMACMayroon2000/ minAng mga limitasyon sa bilis ay nasa bawat key at ibinabalik sa bawat pagtugon bilang X-OpsIQ-RateLimit-Remaining; Higit sa limitadong mga pakinabang 429 na may a Retry-After header. Ang buong machine-basable contract (bawat endpoint, schema at error) ay nakatira sa full machine-readable contract (bawat endpoint, schema at error) OpenAPI3.0.3reference.
Isakay ang isang linkor sa limang hakbang.
Ang isang connektor ay isang self-contained folder.OpsIQNatutuklasan ito, ikinakabit ng rehistro ang mga pangyayari, at ang iyong platform-specific code ay hindi kailanman tumatagas sa pinakapusod.
connector.php pagpapalawak AbstractConnector.actions.json at settings.json ang sabi ng ilan.Isang susing pangsandbox at isang webhook tester.
Ang bawat workspace ay naglalantad ng isang kahon ng buhangin: isang hiwalay na clushed key na tumatama sa iisang duloAPIna hindi hinihipo ang mga impormasyon tungkol sa produksiyon. POST /v1/webhooks/test upang i-fired ang isang pirmadong sampol na paghahatid sa inyong endpoint at pagtibayin ang iyong lagda beripikasyon bago mabuhay. Ang self-hosted installs ay nagpapatakbo ng magkatulad na code path, na walang pag-uugaling pag-anod sa pagitan ng ulap at on-prem.
OpsIQvs a PAGLILILILILIPAS ng DIY.
Ang isang kontrata-bound, napirmahan, audited platform ay nagbibigay sa iyo na ang paggulong ng iyong sariling mga webhook at AI-action tubercum ay hindi kailanman magiging.
| May Kakayahan | Igulong ang sarili mong lakas | 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) | Mga Varyo | ✓ |
| Connector pattern: platform code stays isolated | — | ✓ |
Mga tanong na bumabangon, ang sagot.
Auth, lagda, SDKs, sandboxing at ang connektor model: lahat ng iyong itatanong bago ang unang kahilingan.
Authorization: Bearer opq_…. OpsIQtingnan ang saklaw ng key at ang papel ng aktor bago tumakbo. Ang mga Webhook ay hiwalay: bawat webhookOpsIQay nagdadala ng X-OpsIQ-Signature (a hex HMAC-SHA256 ng hilaw na katawan) at isang X-OpsIQ-Timestamp Para sa proteksiyong muli, maaari mo kaming tiyakin bilang ganti, at ang mga webhook na naka-bound na ipinadala mo ay napatunayan din sa gayong paraan.requires_confirmation ay nag-ibabaw ng isang kard na pang-proview sa isang tao bago ang side-produce ay tumatakbo.hash_hmac('sha256', $rawBody, $secret) (Tunawin ang hex nang walang panlapi) at ihambing ito sa unlapi X-OpsIQ-Signature header na may palagiang-panahong tseke (seats)hash_equals). Bawat paghahatid ay nagdadala rin ng isang timestamp, isang idempotensiyang susi at isang paghahatid na ID na matutunton mo. Ang PHP sampet sa pahinang ito ay ang buong beripikasyon.POST /v1/webhooks/test upang paputukin ang isang nilagdaang sampol na inihahatid sa inyong endpoint at tiyakin ang inyong beripikasyon bago ka mabuhay.AbstractConnector, bukod pa actions.json at settings.json ay ipinakikita mo identityProviders(), contextProviders(), registerActions(), subscribers() at handleWebhook(). OpsIQPinatuklas ito ng auto-scriptions, i-transmit ang mga pangyayari at panatilihin ang iyong platform-specific code na malinis na hiwalay sa core.