Paunlad na plataporma · REST · webhooks · SDKs

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.

Ang HMAC-SHA256 ay parehong paraanAng mga ito ay: PythonOpenAPI3.0.3kontrata100%Pagsaklaw ng audit
Tandaang kahilingan
Nakasenyas na webhook sa →200OK
Mabuhay Pagbaluktot →OpsIQ→ pumirma ng webhook POST /v1/actions/run X-OpsIQ-Tagalog { "action": "Refund_invoice", "kumpirmado": totoo } ERIFY · RUN · PAGTULONG lagda ✓ papel + saklaw ✓ Isinulat ang hanay ng mga audit @opsiq/sdkHinango sa("aksiyon. executed") Tantuin ang HMAC → hawakan 200OK
3Mga opisyal na SDK: PHP, Node, Python
HMACSHA-256pumirma sa bawat kahilingan
40+Mga pangyayari sa sansinukob na isuskribe
100%pagsaklaw ng audit-log tungkol sa mga kilos
Ang kahilingan na magcycle

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.

HMAC-SHA256 na webhook - Naka-out at outbound na webhook payloads ay naka-sign sa ibabaw ng hilaw na katawan;APIay tinatawag na reality na may isang excluded Bearer key.
Awtomatikong mga retriksiyon - Nabigong mag-transport pabalik at muling mag-ebolb, sa pamamagitan ng isang delivery ID maaari mong matalunton.
Mga susing pang - imempotensiya - replay-ligtas sa pamamagitan ng disenyo, kaya ang isang retried na paghahatid ay hindi kailanman doble-akts.
Ang iyong app POST /v1/actions/run X-OpsIQ-Tagalog X-OpsIQ- Orasan ERIFY - RUN - AUDIT Ang inyong huling habilin POST /webhooks Tiniyak ang HMAC 200OK Nakumpirma ang lagda saklaw + papel na sinuri all ng aksiyon Isinulat ang hanay ng mga audit IBINIGONG WABOOOOHOK { "Pito": "paggawa.", "Kaligtasan_id".: "dlv_8f2a9", "idempotensiya_key".: "idem_31c7", "Pamamagitan": "sha256=470 BCE - c." } na inilabas
01 Nalagdaan ang kahilingan 02 Tiniyak ang HMAC 03 kontratang run 04 sumulat ng audit row 05 nakalagdang webhook
Mabilis na Bituin

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.

Ang Andox na KaaliwanPinagdugtung - dugtong
DEVELOPER CONSOLE ·box ng buhangin 1· Tumugtog na susi Opq_live_xx · isang courd Bearer key 2· Apoyin ang isang pangyayari POST/v1/events/fire"order.shipped" 3· Isulat ang webhook → https://api.you.com/webhooks 4· Itibay ang isang pagkilos saas. refund_invoice · audited
ItaguyodSandbox → produksiyon, gayunding kodigo
01

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.

02

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.

03

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.

Kung paano ito nagkakabagay

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.

01
Mga trigger

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 reperensiya
invoice.paid mga pangyayari. apoy() Utak ng AIkonteksto ng buhay mga alituntuninUnahin20 salaminunang isulat webwikpumirma
Pansansinukob + mga pangyayari sa kaugalianinvoice.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.
02/ Mga kontrata sa Pagkilos

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
Hindi makaimbento ng mga aksiyon ang AIMaaari lamang nitong hilingin na patakbuhin ang mga inirehistro mo. patakaran ng kumpilAng mga mapanganib na kilos ay nag-uudyok ng isang spisual card bago ang anumang side-production. Bahagi + ibabaw na glingIpinahahayag ng bawat kilos ang mga papel at ibabaw na ipinahihintulot upang pangasiwaan ito.
kontrata -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/ Nakasenyas na mga webhook

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.

Muling mag - ingatMasugpong paghahatid IDMga retrie na back-off
Pangalan ng Webhook
Tiyaking 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/ Mga SDK

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.

Mga halimbawa ng kliyente
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/ Ang connektor na parisan

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 giya
Limang kawitidentityProviders(), 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.
Mula sa layon hanggang sa ligtas na pagkilos

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.

Kontrata-bound. Ang AI ay nagmumungkahi lamang ng mga kilos na iyong naitala.
Tiyakin sa harap ng side-produces. Ang mapanganib na mga pagkilos ay unang nag - aalis ng isang kard sa unahan.
Kabuuang alaala. Bawat pag-aalsa, tugon at aksiyon ay nagbunga ng pagkabihag sa AI History.
4Mga hakbanglayon → audit
HMACpumirma bago patayin
"Ibalik ang huling invoice ni Adam" Hakbang1· May layon na resolusyon → Magkapares: Saas. refund_invoice ibabaw: admin · papel: may - ari · Hakbang2Patotoo Hakbang3· Kumpil & sign Larawan ng card · nasa Voice #8421 Kumpil Hakbang4· Hiwa - hanay aktor · reaksyon · resulta ·412ms May-ari-lamang · mailuluwas bilangCSV
Walang inimbentong tawagkontrata lamang
Nakumpilview bago ang mga side-proces
100%Pinag - aralan+ agad na tugon + resulta
Ang reperensiya

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.

OpenAPI3.0.3reference
WakasAng AuthWalang - SaysayHangganan ng bilang
SumulatNakasenyas na mga ibabaw ng side-fault
POST /v1/events/fireHMACMayroon1000/ min
POST /v1/actions/runHMACMayroon200/ min
POST /v1/webhooks/testHMACMayroon60/ min
BasahinContext, tiket at imyunaryong imbentaryo
GET /v1/customers/{id}HMACMayroon2000/ min
GET /v1/ticketsHMACMayroon2000/ min
GET /v1/connectorsHMACMayroon2000/ min

Ang 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.

Gumawa ng isang koneksyon

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.

1Itupi ang isang folder kasama ng connector.php pagpapalawak AbstractConnector.
2Ipahayag actions.json at settings.json ang sabi ng ilan.
3Implement identity, konteksto at webhook providers.
4Isulat ang mga pangyayaring gusto mo.
5Isenyas ito, ihulog ito, gawin sa admin.
Subukin bago ka maglayag

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.

Mga susi ng Sandbox Webhook tagasuri Mga trabahong koron-driving Ulap & self-hosted paridad
contrator. php · php
klase AcmeConnektor mga pagpapalawak AbstractConnector { tungkulin ng publiko key (): string { bumalik 'acme'; } // Pagpasiya kung sino ang aktor tungkulin ng publiko Mga taga-EPerhensiya ng pagkakakilanlan(): hanay { bumalik [bago AcmeIdentityProvider()]; } // Pakainin ang live data sa AI prompt tungkulin ng publiko konteksto Mga Tagapagpaliban(): hanay { bumalik [bago AcmeContextProvider()]; } // Pagtugon saOpsIQpangyayari tungkulin ng publiko mga kriter(): hanay { bumalik ['invoice. paid' => [bago BillingMirror()]]; } // Tumanggap ng naka-bound na mga webhook mula sa Acme tungkulin ng publiko hawakanWebhook()hanay $body): kulang { /* … */ } }
⚖️ Paano ito ihahambing

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 KakayahanIgulong ang sarili mong lakasOpsIQ
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
KABAITAN

Mga tanong na bumabangon, ang sagot.

Auth, lagda, SDKs, sandboxing at ang connektor model: lahat ng iyong itatanong bago ang unang kahilingan.

APIay nagsasabi ng totoo sa pamamagitan ng isang cluster key: ipadala 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.
Hindi. Ang AI ay makapagmumungkahi lamang ng mga aksiyon na umiiral sa iyong aksyon-contract register. Hindi ito makaimbento ng tawag. Ang bawat kontrata ay nagpapahayag ng mga ibabaw, papel at parameter na pinapayagan, at anumang aksiyon na minarkahan ng isang aksyon. requires_confirmation ay nag-ibabaw ng isang kard na pang-proview sa isang tao bago ang side-produce ay tumatakbo.
I-recalculate 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.
Mga importasyon na hindi nagbabalik ng kahit isang200ay retriated ng exponential back-off, ang bawat isa ay nagdadala ng parehong idempotency key kaya ang isang retried delivery ay hindi kailanman dobleng-aktad. Matutunton mo ang bawat pagtatangka sa pamamagitan ng paghahatid ng ID sa admin o ang iyong mga troso.
Opisyal na mga SDK para sa PHP8.4+, Node.js18+ at Python3.10+ Paglagda, retries, idempotency keys at typeed na mga tugon.Ito ay manipis na pambalot sa paligid ng REST na ibabaw, kaya maaari ka ring lumikha ng iyong sariling kliyente mula sa inilathalang OpenAPI3.0.3kontrata o tawag saAPITuwiran.
Inilalantad ng bawat workspace ang isang kahon ng buhangin sa pamamagitan ng sarili nitong cluster na parehong tumatamaAPIna hindi hinihipo ang mga impormasyon sa produksiyon, at saka POST /v1/webhooks/test upang paputukin ang isang nilagdaang sampol na inihahatid sa inyong endpoint at tiyakin ang inyong beripikasyon bago ka mabuhay.
Oo. Ang mga defall-hosed installs ay nagpapatakbo ng magkatulad na code path (parehong signing, ang parehong connector regulator, ang parehong OpenAPI kontrata) kaya walang pag-uugali na pag-anod sa pagitan ng ulap at on-prem.
Ang isang connektor ay isang self-contained folder na may isang PHP class extension 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.