Linangin ang plataporma · Heneral API · webhooks · mga linkor

Gumawa ng iyong plataporma Opera ng Aida.

Call 2,415 named operations through one contract-generated API, with least-privilege scopes, workspace pinning, dry-run validation and replay-safe writes. Subscribe to canonical events through HMAC-signed background webhooks, or build a governed package in the six-stage Connector Builder.

Mga tipaan ng Oso na Nasa Larawan2,415 contract actionsOpenAPI 3.0.3+ PostmanHMAC webhook pang-agham
Ippepektadong kahilingan
Nakasenyas na webhook sa → 200 OK
Mabuhay Gawa ng oso → OpsIQ → pumirma ng webhook POST /api/v1.php Authorisasyon: May Oso { "action": "tickets. reply", "dry_run": true } ERIFY · RUN · PAGTULONG key + lugar ng trabaho✓ saklaw + kontrata✓ tanong na tinunton toppoint ng iyong webhook X-OpsIQ- Pangyayari: tiket. rerecruit Tantuin ang HMAC → hawakan 200OK
2,415Pangalang Heneral API pagkilos
69mga lawak na hindi pantay
dry_runAng mga kontrata sa pagsulat bago patayin ay isinusulat muna ng isang kasulatan
24hMatagumpay na idempotente-sulat replay
Ang kahilingan na magcycle

Iprito ang kahilingan. Tandaan.

IPAGPUTOS ang isang pagkilos /api/v1.php na may accessed Bearer key. OpsIQ pink ang workspace, pinapatunayan ang kontrata sa aksiyon at mga pahintulot, pagkatapos ay isinasagawa o pinapatuyo-runs ito. ihinatawan ang kanonikal na mga pangyayari na nag-iiwan sa isang HMAC-signed delivery queue na may mga matutuntong pagtatangka at nakataling retries.

HMAC-SHA256 na webhook - Naka-out at outbound na webhook payloads ay naka-sign sa ibabaw ng hilaw na katawan; API ay 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.
Replay-ligtas na sulat - Matagumpay na idempotente ang sumulat ng gayunding tugon para sa 24 mga oras; ang sabay - sabay na mga kopya ay may iisang pag - aangkin.
Ang iyong app POST /api/v1.php Authorisasyon: May Oso idempotensiya_key: ideem_31c7 ERIFY - RUN - AUDIT Ang inyong huling habilin POST /webhooks Tiniyak ang HMAC 200OK key + workspace pindutan saklaw + papel na sinuri Nabigyang - bisa ang kontrata bitay o dry-run ISANG NAGINIGONG LABAS NG AWEBOOK { X-OpsIQ_- event: tiket. rereited X-OpsIQ-Kaligtasan: dlv_8f2a9 X-OpsIQ- Orasan: 1786584362 X-OpsIQ-Tagalog: 9c4e0a7b... } na inilabas
01 Kahilingan ng tagapagdala 02 " pin workspace " 03 Nagpapatunay na kontrata 04 bitay o dry-run 05 Malinaw na nilagdaan
Mabilis na Bituin

Mula sa susi hanggang sa pinamamahalaang pagsasama - sama tatlong hakbang.

Issue a thin-privilege key, diskubre ang nalikhang kontrata, dry-run a was write, pagkatapos ay mag-skripto ng isang webhook kapag ang inyong aplikasyon ay nangangailangan ng background na pangyayari na paghahatid.

NakapagpapatibayPinagdugtung - dugtong
PANINIGARILYO API · kontratang pinapatakbo 1 · Tumugtog na susi Opq_live_xx · isang courd Bearer key 2 · Natuklasan ang mga kontrata POST /api/v1.php · meta.a. 3 · Isulat ang isang liham mga tiket. reply · dry_run: totoo 4 · Mag - aral sa mga pangyayari tiket. rereriated · HMAC paghahatid
PEROdry_run → sinang - ayunang isulat, ang kontrata ring iyon
01

Kumuha ng susi

Magsenyas at gumawa ng isang tagapalibot API ( keyopq_…) sa mga landscaper setting, at ibigay ang bawat pagsasanib lamang ng mga ibabaw na kailangan nito.

02

Natuklasan & Patotoo

Basahin meta.actions, meta.action at meta.scopes; gamitin dry_run upang patunayan na siya'y sumulat bago patayin.

03

Exective & kripto

Magdagdag ng isang idempotensiyal na susi para sa pagsusulat, pagkatapos ay i-script ang inyong endpoint sa kanonikal na mga pangyayari na kailangan ng inyong aplikasyon.

Kung paano ito nagkakabagay

Isang connektor na padron. Limang malilinis na primado.

Anumang platform-specific ay nakatira sa isang connektor. Ang platform. OpsIQ Ang core ay nananatiling generic, ang AI ay nananatiling mahuhulaan, at ang inyong pagsasama - sama ay nananatiling hindi mababago.

01
Mga trigger

Sabihin OpsIQ kung ano ang nangyari.

Ang mga kanonikal na pangyayari mula sa iyong plataporma, o ang pagbibigay ng kahulugan sa isang pinamamahalaang kaganapang pang-ugali. Ang mga subscriber ay tumatanggap ng pangyayari sa pamamagitan ng nakarehistrong mga tuntuning priyoridad at pahatid.

Pangyayaring reperensiya
invoice.paid kanonikal na pangyayari Utak ng AIkonteksto ng buhay mga alituntuninUnahin 20 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

Sabihin OpsIQ kung ano ang pinahihintulutang gawin ng AI.

Ang bawat isang operasyong pinangalanan ay tumatanggap ng kontratang panglikha: saklaw, tampok, pagbasa o pagsusulat ng uri, panganib, patakarang kumpil, kahilingan at tugon sa sekwensiya, suportang dry-run, idempotensiya at matatag na mga pagkakamali.

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.
lumilikha ng kontrata sa aksiyon · JSON
{
  "action": "tickets.reply",
  "kind": "write",
  "scopes": ["tickets.write", "admin"],
  "feature": "ticket_system",
  "risk": "medium",
  "confirmation": "recommended",
  "idempotency": "supported",
  "dry_run": true,
  "request": { "type": "object" },
  "response": { "required": ["success"] }
}
03 / Nakasenyas na mga webhook

Ilagay ang mga pangyayari sa iyong salansanan ng cryptographic proof.

Subscribe any URL to any of the 52 deliverable events. OpsIQ POSTs the JSON payload signed with HMAC-SHA256 over the scheme version, the timestamp, the delivery ID and the body together, not the body alone, so yesterday's delivery cannot be replayed at you today.

Muling mag - ingatMasugpong paghahatid ID5-step back-off
Pangalan ng Webhook
Tiyaking webhook - php
$raw = file_get_contents('php://input');
$sig = $_SERVER['HTTP_X_OPSIQ_SIGNATURE'] ?? '';   // "v2=<hex>"
$ts  = (int)($_SERVER['HTTP_X_OPSIQ_TIMESTAMP'] ?? 0);
$id  = (int)($_SERVER['HTTP_X_OPSIQ_DELIVERY'] ?? 0);

if (abs(time() - $ts) > 300) http_response_code(401);   // replay window
[$ver, $hex] = array_pad(explode('=', $sig, 2), 2, '');  // split the prefix

$signed   = $ver . '.' . $ts . '.' . $id . '.' . $raw;   // NOT the body alone
$expected = hash_hmac('sha256', $signed, $secret);
if (!hash_equals($expected, $hex)) http_response_code(401);

$event = json_decode($raw, true);   // $id is stable across retries
04 / Mga SDK

Gumamit ng direktang HTTP o lumikha ng kliyente na gusto mo.

Ang Buong HeneralAPI ay inilalathala bilang OpenAPI 3.0.3 at Postman. PHP reference senderss plat Node and Python integration clients sumasaklaw sa mga napirmang pangyayari at mga daloy ng webhook; ang anumang salansan ay maaaring tumawag ng parehong talaksan JSON tuwirang lumilitaw ang pagkilos.

Mga halimbawa ng kliyente
const response = await fetch(`${base}/api/v1.php`, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.OPSIQ_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    action: "tickets.reply",
    dry_run: true,
    idempotency_key: crypto.randomUUID(),
    body: "Thanks. We are checking this now."
  })
});
$payload = json_encode([
  'action' => 'tickets.reply',
  'dry_run' => true,
  'idempotency_key' => bin2hex(random_bytes(16)),
  'body' => 'Thanks - we are checking this now.',
]);

$ch = curl_init($base . '/api/v1.php');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => $payload,
  CURLOPT_HTTPHEADER => [
    'Authorization: Bearer ' . getenv('OPSIQ_KEY'),
    'Content-Type: application/json',
  ],
]);
response = requests.post(
    f"{base}/api/v1.php",
    headers={
        "Authorization": f"Bearer {os.environ['OPSIQ_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "action": "tickets.reply",
        "dry_run": True,
        "idempotency_key": str(uuid.uuid4()),
        "body": "Thanks - we are checking this now.",
    },
)
Tuwiran JSON HTTPOpenAPI3.0.3Pamumuhunan pagkatapos ngmanMga Katulong sa Pandarayuhan
05 / Ang connektor na parisan

Magtayo ng isang beses.

Ang isang connektor ay isang pinamamahalaang pakete na nililikha o inangkat sa pamamagitan ng Identity, Auth, Test, Actions, Triggers and Review. OpsIQ ay hinahayaang magbilad.

Buksan ang anim-na-stage na Tagapagtayo
Anim na yugtong gabayAng pagiging kagalang-galang, Auth, Test, Aksiyon, Triggers and Review ay nagpapanatiling maipaliwanag ang henerasyon ng pakete. Kontrata-dripsyon8 profiles and 57 capability types declare the surfaces a package implements. PinalayaAng mga tsekeng pangkaligtasan, napatunayan at naaayon ay tumatakbo bago ang isang pakete ay ituring na handa.
Mula sa layon hanggang sa ligtas na pagkilos

Ang wikang Ingles ay ginagamit. Ang indibidwal na operasyon.

OpsIQ Ito 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.
4 Mga hakbanglayon → audit
HMACpumirma bago patayin
"Ibalik ang huling invoice ni Adam" Hakbang 1 · May layon na resolusyon → Magkapares: Saas. refund_invoice ibabaw: admin · papel: may - ari · Hakbang 2 Patotoo Hakbang 3 · Kumpil & sign Larawan ng card · nasa Voice #8421 Kumpil Hakbang 4 · Hiwa - hanay aktor · reaksyon · resulta · 412ms May-ari-lamang · mailuluwas bilang CSV
Walang inimbentong tawagkontrata lamang
Nakumpilview bago ang mga side-proces
Humingi ng markaaktor + kontrata + resulta
Ang reperensiya

API pang - ibabaw sa isang sulyap.

One JSON POST surface exposes 2,415 named actions. Each generated contract declares auth scopes, read/write kind, risk, confirmation, request schema, dry-run, idempotency and stable errors.

OpenAPI3.0.3reference
PagkilosAng AuthIsulat ang iyong sarili sa isang ligtas na lugarHangganan
Isulat ang mga ginawa moPOST /api/v1.php · kontratang pinagtibay
ACTION tickets.replytickets.writetuyong_run + idempotensiyaNakukumpirma / oras
ACTION security.reportsecurity.writetuyong_run + idempotensiyaNakukumpirma / oras
ACTION platform.routes.writeadminkumpil + susiNakukumpirma / oras
Basahin & tuklasin ang mga pagkilosISANG POST sa ibabaw · matatag na sobre
ACTION meta.actionsPagkatuklas ng publikoMagbasa lamangNakukumpirma / oras
ACTION tickets.listtickets.readMagbasa lamangNakukumpirma / oras
ACTION connectors.listconnectors.readMagbasa lamangNakukumpirma / oras
ORAS NA HALAGANapetsa hr.* kontrata · hr.read / hr.write saklaw
ACTION hr.people.listhr.readMagbasa lamangNakukumpirma / oras
ACTION hr.people.createhr.writetuyong_run + idempotensiyaNakukumpirma / oras
ACTION hr.org.treehr.readMagbasa lamangNakukumpirma / oras
Ang PeopleOS HR ay hindi nagpapadala ng mga kaganapang pang-extound HR webhook. Dahan-dahang abutin ito sa parehong POST ibabaw, o suskribe sa mga pangyayaring inilalathala ng ibang module. Buong reference: MGA OOAPIat mga connektor at ang Bahagi ng PeopleOS ang reperensiyang developer. Ang module ay may gategory, kaya ang isang susi na walang takip hr ay tumatanggi, hindi sa walang - saysay na listahan. Ang HR ng PeopleOS.

Ang mga limitasyon sa bilis ay nakaayos sa bawat susi sa isang bintanang may oras. X-RateLimit-Limit, X-RateLimit-Remaining at X-RateLimit-Reset; nagbalik ang tinanggihang kahilingan 429 kasama Retry-After. Gamitin ang OpenAPI 3.0.3 kontrata o Pamumuhunan pagkatapos ngman na mula sa parehong runtime registry.

Gumawa ng isang koneksyon

Magtayo, subukin at ilabas anim na yugto.

Magsimula mula sa isang pinamamahalaang profile o bigyan ng kahulugan ang kontrata. Ang Tagapagtayo ay nagbibigay-diin sa bawat yugto bago ito lumikha ng sariling-contaited connector na pakete.

1Pagkakakilanlan. Pangalan, linta, profile at ipinahayag na may kakayahang magibabaw.
2Auth. API Tip #, Oso, Saligang Bagay OAuth 2.0, HMAC o isang kliyenteng pang-industriya.
3Subukin. Iayos ang nakataling mga connection setting bago mag - iimpake.
4Mga pagkilos. Pinangalanan ng Mapa ang mga operasyon, parameter, saklaw at panganib.
5Mga ribosa. Ipahayag ang di - mabilang na mga pangyayari, webhooks, pagsusurbey at sabay - sabay na paggawi.
6Repaso. Suriin ang kontratang nagawa at ipasa ang tarangkahang de - release.
Subukin bago ka maglayag

Maging maingat, pagkatapos ay dumaan sa pintong de - free.

Gamitin dry_run sa suportadong mga gawa ng pagsulat, pangasiwaan ang naka-taling pagsubok sa koneksyon ng Magtatayo, at siyasatin ang nalikhang maniprodyus at kontrata bago ilabas. pakete aficiation checks may kakayahang pangalan, settings, resoundance at nangangailangan ng files; background workers hawakan ang reactitive polling at outbound delivery.

Si Dry-run ay sumulat Naglagay ng pagsubok sa koneksyon Pagsang - ayon Pamahayang Croron-driving
contrator. php · php
klase AcmeConnektor mga pagpapalawak AbstractConnector { tungkulin ng publiko fallow(): string { bumalik 'acme'; } tungkulin ng publiko Pangalan(): string { bumalik 'Acme'; } tungkulin ng publiko paglalarawan(): string { bumalik 'Acme bridge'; } // Gamitin ang mga pangalan mula sa ConnectorCont tungkulin ng publiko mga kakayahan(): hanay { bumalik ['Mga aksiyon', 'webhook']; } tungkulin ng publiko Mga kalagayangSchema(): hanay { bumalik [['key' => 'Tokken', 'type' => 'pasword']]; } tungkulin ng publiko testConnection(pagpasa ng mga larawan)hanay $settings): hanay { bumalik ['Matagumpay' => totoo]; } tungkulin ng publiko hawakanWebhook() hanay $payload, hanay $headers, hanay $settings ): hanay { bumalik ['Matagumpay' => totoo]; } }
01 · Connector contract 2.4

Hindi maaaring mag-angkin ng kakayahan ang pakete Wala ang kodigo nito.

OpsIQ\Connectors\ConnectorContract ay ang awtoridad. Runtime Discovery, ang Tagapagtayo, first-party packages, paayon, ang General API at bawat reperensiya ay kababasahan na ang isang rehistro ay nagpapahayag ng kakayahan at tatlong files na kailangang magkasundo muna bago OpsIQ ay may iisang hanay na patungo sa iyo.

PIG. 01paketeng connektor, mga bahaging hayag scale 1:1 · contract 2.4
  1. 01 connector.php ang klase sa oras ng pagtakbo
  2. 02 IdentityProvider.php matatag na panlabas na key
  3. 03 SalesIngest.php Mga couple()
  4. 04 actions.json Mga operasyong ipinangalan sa pangalan
  5. 05 settings.json pagsasaayos ng operator
  6. 06 connector_contract.json machine-basahing awtoridad
07 signature.json isa HMAC sa ibabaw ng SHA-256 ng bawat talaksan sa itaas, at isang ed25519 na patotoo ng pinagmulan
Madaling Magamit na Seriksiyon all 57, as registered
pagkilos nag - uudyok webwik journey_events konteksto guest_lookup Kung sino sales sales_reconciliation pagbabayad ng pera payments komersiyo inbound_ticket outbound_reply ticket_merge sync_users sync_departments sync_orders sync_products sync_projects customer_import security_events security_native_block survey reply_feedback promo_audience promo_feed email_mailbox inbound_email outbound_email mailbox ai_tickets ai_reply ai_brain_aware native_api platform_bridge native_data crm block_registry inbound_comment outbound_note outbound_notification oauth reviews lokal ito site_intelligence mga analisis comms admin_assets enterprise_hooks durable_queue ticket_mirror attachment_bridge database_migrations scheduled_workers conflict_resolution
nalikha 30 Pag - aalis ng init 20 extensyon 7
Dalawang lagda, dalawang tanong.

hmac-sha256 sa ibabaw ng isang deterministikong payload ng per-file SHA-256 mga kasagutan ay binago mula nang pumirma. An. ed25519 Mga sagot sa lagda ang nilagdaan nito Nabtech, na-secure sa pamamagitan ng naka-breast na public key at walang kabahaging lihim. Edit isang byte at ang unang paghinto ay nagtutugma.

marketplace.json ay nasa labas ng lagda sa pamamagitan ng pagpapakahulugan: ang installer ay sumusulat nito pagkatapos pumirma, kaya hindi ito maaaring nilagdaan ng mamamahayag.
02 · mga kasangkapan/mutasyon_proof.php

Isang bantay na hindi kailanman nabigo ay hindi mapatunayan.

Hindi sinasabi sa iyo ng mga bagong pagsubok na ang bantay na iyong isinulat ay itigil ang bagay na ito, sapagkat ang isang guwardiya na hindi kailanman nag - eehersisyo ay dumaraang kagayang - kagaya ng isang guwardiyang walang ginagawa. Kaya't ating pinipigil ang puso nito sa layunin, at hinihiling na ang monitor ay sumigaw.

bantay · Basahin ang papel na dapat tanggihan ang isang mapangwasak na pagkilos CH1 verify_commerce_contracts
src/Connectors/CommerceRoleMapVerifier.php MUTURA
211    /* A read role must never reach a destructive operation. */
212-   if ($isRead && $isDestructive) {
212+   if (false) {
213        $errors[] = "read role '{$role}' points at a destructive op";
214        return false;
215    }
Tamang - tama isa Kailangan ang posporo sa teksto, o dalawang posporo, at ang patotoo ay humihinto bago ito makapagsisinungaling.
$ php tools/mutation_proof.php --spec=proofs.json
1[ ok ]hash    sha256 4f2a9c1e…
          remember the file exactly as it is
2[ ok ]control exit 0
          green BEFORE anything is touched
3[ ok ]mutate  1 match, lint ok
          one replacement, then php -l the mutant
4[RED ]prove   exit 1
          and "read role destructive" IS in the failures
5[ ok ]restore bytes written
          the original, not a regenerated copy
6[ ok ]verify  sha256 matches
          and the check is green again
 ══ PROVEN. file restored, hash matched, 1 proof run, 0 failed.
Ang nabigong patotoo ay Hindi kailanman Ang ebidensiya na nagkamali ang isang tseke ay hindi katibayan na gumagana ang isang bantay.

Hindi kailanman ginamit ang mutasyon.

Ang tekstong hinahanap ay hindi tugma, ang talaksan ay hindi pa tapos, ang suite ay lumipas, at ang patotoong naitala berde sa ilalim ng matandang kodigo Napaliligiran ng isang eksaktong pag - uugnay ng teksto at paghahambing ng talaksang hashes sa magkabilang panig.

Ang mutasyon ay sumira ng iba pang bagay.

Ang suite ay namula dahil ang file ay tumigil sa parsing o ang bootrap ay namatay, at ang patunay ay nag-rekord ng isang pula na walang kaugnayan sa bantay. Pangalan subukin ang mga kabiguan.

Hindi ito makapag - iiwan ng isang mutant sa disk.

Bawat mutasyon ay naggaya ng orihinal sa isang sidecar sa labas ng punong web-served, sumulat ng marka na ipinangalan ang katangi-tanging pagbabago, at muling ginagawa ng isang deflux handler sa bawat daanang labasan. Ang isang marker mula sa isang nakabanggang pagtakbo ay pinararangalan bago ang susunod na mutasyon ng file na iyon.

03 · Pagsang - ayon

Ang certification ay isang utos na may kodigo ng labasan.

Not a review queue where somebody reads your code and forms an opinion. Run the same suites we run, on your own machine, before you submit. 8 published JSON Schemas under doc/contracts/schemas/ Ang mga setting sa pabalat, pagkilos, paggawa ng mga spec, paglalakbay at mga paligsahan sa komersiyo na ginagawang mapa, mga resipi sa trabaho, mga kontrata sa pag - uugnay at paglalabas ay makikita.

  1. manifests I-parse at magkasundo
  2. kakayahan Umiiral sa klase ng runtime
  3. interfaces Ikinapit kung saan ipinahayag
  4. files ang bawat hinihiling na talaksang naroroon
  5. pagkilos ang ipinakikita ng mga kilos
  6. destructive sabi ng kumpil
  7. Kung sino matatag na panlabas na key, hindi email
  8. Muling pag - iensayo isang paulit - ulit na update, hindi kailanman kinopya
  9. Negosyo Ang mga deklarasyon ay tumutugma sa ekstensiyon
  10. mga doc PAGBABASA, PAGTANGGAP SA ESPER, ATBELOG
  11. Mga schema bawat isa JSON Mga Patotoo
labasan 0 acme: conformant against contract 2.4 Isang bigong suite ang nagbigay ng pangalan sa tseke at sa file. Ayusin mo ito, hindi kami.
$ php tools/test_connector_conformance_all.php --connector=acme $ php tools/test_connector_json_schemas.php $ php tools/verify_commerce_contracts.php $ php tools/release_gate_connectors.php --require-signatures

Ituro ang una sa isang tunay na hindi-produksiyon na account kasama ang --live-settings=/secure/test-acme.json. Habang ikaw ay nag - iinteriya pa, ipagpalit mo ang huling nabanggit sa --unsigned-ok: itinuturing nito ang nawawalang lagda bilang isang inaasahang babala sa halip na pagkukunwari ito ay mainam.

04 · komersiyo_roles.json

Pagsasabi ng puwede mong ipagbili ay isang file, hindi isang pagpaparehistro.

Ang isang kawing na maaaring magbenta ay nagpapahayag kung alin sa sarili nito sagot ng mga operasyon OpsIQAng pag-aangkin ay lumilitaw sa mga marketing settings ang sandaling ito ay nagpapahayag at naglalaho kapag tumigil na ito. walang listahan upang sumali at walang sinuman na magtatanong.

kanonikal na papel commerce_roles.json ang iyong operasyon
catalog_search READ acme_search_products OK order_get READ acme_get_order OK order_create WRITE acme_create_order recovery: acme_get_order order_create WRITE db_insert_record Ang rekord ng generic ay sumusulat, walang paggaling
NAG - AABULOK

Isang kanonikal sumulat Ang papel na ipinasulat sa isang rekord ng generic ay ang kayarian: isang panaguring pangngalan sa tabi ng pandiwang panlapi, anuman ang pangalan mo. Ang pagsulat ng hanay ng negosyo ay tuwirang pag - anap sa prising ng plataporma, madaling pagkuha at pagbibigay ng sulat, at paggawa ng utos na bahagya lamang pinaniniwalaan ng mismong sistema ng negosyante. recovery Isa pa, hindi rin naman maaaring alisin ang isang timeout.

commerce_roles.jsonALID
{
  "commerce": {
    "roles": {
      "catalog_search": { "operation": "acme_search_products", "transport": "http" },
      "order_get":      { "operation": "acme_get_order",       "transport": "http" },
      "order_create":   { "operation": "acme_create_order",    "transport": "http",
                         "recovery":  "acme_get_order" }
    }
  }
}
Ang sariling talaksan nito sa layunin: connector_contract.json ay nililikha at ang mga set nito ng schema additionalProperties:false, kaya ang isang hand-authored block doon ay hindi ma-fixation at pagkatapos ay overriged sa susunod na generator run.
01
Saradong bokabularyo

Isang papel na wala sa CommerceRole ay hindi umiiral. OpsIQ Hindi kailanman umaagaw sa pangalan ng isang operasyon, sapagkat ang pangalan ay hindi isang pangako.

02
Ang iyong sariling pagkilos

Ang operasyon ay dapat na lumitaw sa iyong katawan actions.json. Ang paghahayag sa isa na hindi umiiral ay nangangako sa parokyano ng isang bagay na pagkatapos ay walang anumang nagagawa.

03
Ipinahahayag ng mga sulat ang paggaling

Ang pinakamapanganib na timeout ay ang isa pagkatapos marahil ay nagawa na ng plataporma ang trabaho. Walang isang idempotenteng "ginawa ang aking lupang panulat" na hitsura, ang tanging mga pagpipilian ay retry blind o pagkawala ng order.

04
Ang mga Papel na ginagampanan ay nagsisilbing garantiya

Ipinahayag din ang anumang papel na pay-class payment_profile kasama ng kapaligiran, webhook_verify paggamit ng sariling pakana ng tagapaglaan, at event_map. Ang isang hindi nabanggit na kapaligiran ay kung paano kumukuha ng live na kabayaran ang isang test-mode provider.

Pinatutunayan ito ng Tagapagtayo habang minamakinilya mo at pinatutunayan ng verifier ang ipinadalang pakete.
⚖️ 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
Nakopyang Oso API + HMAC-signed webhooks Naka-roled
Si Dry-run ay nagsusulat + 24-oras matagumpay na muling pag-play DIY
1m→5m→30m→ 2h → 12hMga retrition MADIG NA queue
Action-contract register (Hindi makaimbento ng tawag ang AI)
patakarang kumpil sa harap ng mga side-productions
Matutto error envelope + request IDs Manu - manong pagtotroso
Tuwirang HTTP + lumikha ng mga pagpipiliang kliyente Isulat ang sarili mong mga akda
OpenAPI 3.0.3 machine-readable kontrata Siguro
Anim na-stage Builder + pakete release gate Gumawa ng isang kagamitan
Mga susing pang-workspace-pined at mga limitasyong oras-oras Mga Varyo
Pattern: Ang kodigo ng plataporma ay nananatiling nakabukod
KABAITAN

Mga tanong na bumabangon, ang sagot.

Ang awdisyon, kontrata, retries, client generation, ligtas na pagsubok at ang connektor model, bago ang unang produksyon kahilingan.

Heneral API ipinadadala ang mga tawag Authorization: Bearer opq_…. Mga susi ay maaaring hindi nalilimitahan, nililimitahan o nababasa-lamang, magdala ng mga di-pribilehiyong saklaw, sumunod sa isang oras na hangganan at maaaring i-incan sa isang workspace. Webhook signing ay hiwalay: outbound carry feeds X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event at X-OpsIQ-Delivery.
No. Ang AI ay makapagmumungkahi lamang ng mga operasyon sa rehistro ng aksiyon. Ang bawat nalilikhang kontrata ay nagpapahayag ng saklaw, request fields, panganib at polisiya; mga operasyon na ang patakaran ay nangangailangan ng pagpapatunay na pang-ibabaw ng isang tao bago ang pagpatay.
I-recalculate hash_hmac('sha256', $rawBody, $secret) at ihambing ang hexadecimal na pagtunaw nito sa lusaw na sangkap X-OpsIQ-Signature paggamit hash_equals. E. Ebangheliko X-OpsIQ-Timestamp sa loob ng iyong replaying window at gamitin X-OpsIQ-Delivery bilang ang matutuntong pang-edukasyon na identifier.
Ang isang hindi matagumpay na pagtatangka ay pumapasok sa background delivery queue. OpsIQ Mga retribusyon sa mga1- Tapos na, 5- Tapos na, 30- Tapos na,2-oras at 12--hour hagdan habang pinananatili ang paghahatid na identifier at sinusubukan ang kasaysayan para sa mga diyagnosis.
Tawagin JSON Tuwirang ibabaw ng aksiyon, pag-angkat ng nalikhang Postman collection, o paglikha ng kliyente mula sa OpenAPI 3.0.3. PHP reference senders at Node/Python integration clients supported sa kaganapan at mga webhook pag-agos; sila ay mga katulong sa halip na hiwalayAPI mga kontrata.
Gamitin dry_run tungkol sa mga aksiyon na ang kontratang likha ay sumusuporta rito, nagpapatakbo ng naka-saklay na pagsubok ng connector Buildinger, nagreresulta sa mga talaksang lumilikha nito, at nagpapasa ng paketeng aayonansiya at naglalabas ng mga tarangkahan bago gamutin ang kompyuter bilang handa na.
Ang naka-install na release ang gumagawa ng kanyang API At ang mga kontrata ng tagakabit ay mula sa sarili nitong registry sa oras ng pagtakbo. URL, mga lihim, imbakan at cron/manggagawa, kaya ang pag-uugali ay dapat patunayan laban sa naka-install na release sa halip na ipagpalagay mula sa isang maulap na kapaligiran.
Ang isang connektor ay isang pinamamahalaang pakete na naglalaman ng taga-angkop, settings.json, opsyonal actions.json, isang gawang kontrata sa kakayahan, dokumentasyon at opsyonal na mga ekstensyon ng negosyo. Ang anime-stage Builder ay nagtitipon nito; natutuklasan ito ng registry; ang pag-ayon at pagpapalabas ng mga tarangkahan ay nagpapatunay dito.