Urobte si platformu Al-operovateľný.
Volajte 2,430 pomenovaných operácií cez jediné API generované zo zmluvy s oprávneniami najmenších práv, väzbou na pracovný priestor, overením nanečisto a zápismi bezpečnými pri opakovaní. Odoberajte kanonické udalosti cez webhooky na pozadí podpísané HMAC, alebo zostavte riadený balík v šesťkrokovom Connector Builderi.
Skrytá žiadosť. Podpísal udalosť.
POST /api/v1.php s rozsahom Bearer kľúč. OpsIQ Prihlásené kanonické udalosti odchádzajú cez front doručenia podpísaný HMAC s vysledovateľnými pokusmi a obmedzeným počtom opakovaných pokusov.Prihlásené kanonické udalosti opúšťajú front doručovania s podpisom HMA C s sledovateľnými a ohraničenými opakovanými opatreniami.
Od kľúča k riadenej integrácii tri kroky.
Vydajte si aspoň kľúč privilege, objavte generovanú zmluvu, nechajte spustiť zápis a potom sa prihláste na webhow, keď vaša aplikácia potrebuje pozadie dodanie udalosti.
Získať kľúč
Zaregistrujte sa a vygenerujte si Bearer _API kľúč (opq_…) v nastaveniach vývojárov a dať každej integrácii len povrchy, ktoré potrebuje.
Objaviť & potvrdenie
Čítanie meta.actions, meta.action a meta.scopes; použitie dry_run na overenie zápisu pred vykonaním.
Spustiť & prihlásenie
Pridajte kľúč na písanie, potom prihláste svoj koncový ukazovateľ do kanonické udalosti, ktoré vaša aplikácia potrebuje.
Jeden vzor konektora. Päť čistých primitívov.
Čokoľvek konkrétne platforma žije v konektore OpsIQ jadro zostáva generické, AI zostane predvídateľné a vaša integrácia ostáva kontrolovateľná.
Povedz OpsIQ čo sa práve stalo.
Vydajte sa na kánonické podujatia z vašej platformy, alebo zadefinujte regulovanú vlastnú udalosť. Odberatelia dostanú podujatie prostredníctvom registrovaných pravidiel priority a dodania.
Odkaz na udalosťinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up alebo tvoj vlastný.
Predplatitelia fan-outMozog AI, pravidlá automatizácie, zrkadlové konektory a vaše webové háčky koncové body všetky reagovať.
Prioritný príkazDeterministická dispečing, takže zrkadlá písať pred upozornenia požiaru.
Povedz OpsIQ čo má UI dovolené robiť.
Každá uvedená operácia dostane generovanú zmluvu: rozsah, funkcia, čítanie alebo zápis druhu, riziko, potvrdenie politiky, žiadosť a odpoveď schémy, suché-run podpora, nejasnosti a stabilné chyby.
Schéma akcie{
"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"] }
}
Tlačte udalosti do koša - s kryptografickým dôkazom.
Odoberajte ľubovoľnú URL na ktorúkoľvek z 53 doručiteľných udalostí. OpsIQ odošle obsah JSON metódou POST podpísaný HMAC-SHA256 cez verziu schémy, časovú pečiatku, ID doručenia a telo dohromady, nielen telo, takže včerajšie doručenie nemožno dnes prehrať proti vám.
$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
Použite direct HTTP alebo generujte klienta, ktorý uprednostňujete.
Úplný generálAPI je zverejnená ako OpenAPI 3.0.3 a Postman. PHP referenčných odosielateľov plus uzol a Python integračné klienti pokrývajú podpísanú udalosť a toky webhook; každý stack môže volať rovnaký JSON Akčná plocha priamo.
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.",
},
)
Zapojte sa do všetkého.
Konektor je riadený balíček generovaný alebo importovaný prostredníctvom identity, Auth, Test, Akcie, Spúšťače a Recenzie. Jeho manifest deklaruje schopnosti povrchy OpsIQ je povolené ich odhaliť.
Otvoriť šesťstupňového staviteľaJasná angličtina. Auditované operácie ukončené.
OpsIQ nikdy nevynájde správny hovor. Prechádza registrovanými zmluvami, pripravuje užitočné zaťaženie, žiada o potvrdenie, kedy si to akcia vyžaduje a vyrobí úplný riadok auditu pri jeho vykonaní, takže AI, ktorá môže akt Nikdy sa nestane UI, ktorým nemôžeš veriť.
API povrch na prvý pohľad.
Jediné rozhranie JSON POST sprístupňuje 2,430 pomenovaných akcií. Každá vygenerovaná zmluva deklaruje rozsahy overenia, typ čítania/zápisu, riziko, potvrdenie, schému požiadavky, skúšobný beh, idempotenciu a stabilné chyby.
ACTION tickets.replytickets.writesuchý_run + nevyžiadanosťNastavené / hodinaACTION security.reportsecurity.writesuchý_run + nevyžiadanosťNastavené / hodinaACTION platform.routes.writeadminpotvrdenie + kľúčNastavené / hodinaACTION meta.actionsVerejný objavLen čítanieNastavené / hodinaACTION tickets.listtickets.readLen čítanieNastavené / hodinaACTION connectors.listconnectors.readLen čítanieNastavené / hodinahr.* zmluvy · hr.read / hr.write rozsah pôsobnostiACTION hr.people.listhr.readLen čítanieNastavené / hodinaACTION hr.people.createhr.writesuchý_run + nevyžiadanosťNastavené / hodinaACTION hr.org.treehr.readLen čítanieNastavené / hodinahr dostane odmietnutie, nie prázdny zoznam. Čo je PeopleOS HR.Limity sadzieb sú nakonfigurované podľa kľúča v hodinovom okne. X-RateLimit-Limit, X-RateLimit-Remaining a X-RateLimit-Reset; odmietnuté žiadosti o vrátenie 429 s Retry-After. Použite Zmluva OpenAPI 3.0.3 alebo Postman kolekcia generované z rovnakých prevádzkových registrov.
Zostavte, otestujte a uvoľnite šesť fáz.
Začnite od riadeného profilu alebo definujte zmluvu sami. Staviteľ potvrdzuje každú etapu predtým, než vytvorí samostatný konektorový balík.
Overte to bezpečne, potom prejdite priechodom.
Použitie dry_run na podporovaných písanie akcií, spustiť ohraničené skúšku pripojenia staviteľa a skontrolovať generované manifest a zmluvu pred vydaním. Kontrola platnosti balíka kontroly spôsobilosti názvy, nastavenia, proveniencie a požadované súbory; pracovníci pozadia zvládnuť reaktívne prieskumy a odchádzajúce dodávky.
Balík nemôže požadovať spôsobilosť jeho kód nemá.
OpsIQ\Connectors\ConnectorContract je autorita. Runtime discovery, Builder, first-party packages, conformance, General API a každý odkaz čítal jeden register. Deklarovať schopnosť a tri súbory musia súhlasiť so sebou pred OpsIQ trasy jeden riadok pre vás.
- 01 connector.php trieda času
- 02 IdentityProvider.php stabilný externý kľúč
- 03 SalesIngest.php zmierenieSales ()
- 04 actions.json uvedené operácie
- 05 settings.json konfigurácia operátora
- 06 connector_contract.json strojovo čitateľný orgán
hmac-sha256 nad deterministickým užitočným zaťažením jedného súboru SHA-256 hashes odpovede bola zmenená od podpisu. Podpis ed25519 odpovede na podpis bolo podpísané Nabtech, kontrolovateľné s zviazaným verejným kľúčom a žiadne zdieľané tajomstvo. Upraviť jeden bajte a prvé zastavenie zodpovedajúce.
marketplace.json je mimo podpisu podľa definície: inštalátor ho napíše po podpise, takže vydavateľ by ho nikdy nepodpísal.
Strážca, ktorý nikdy nezlyhal. je nepotvrdená.
Zelené testy vám dnes nič nepokazia. Nehovoria, že strážnik, ktorý ste napísali, zastaví vec, ktorú bolo napísané zastaviť, pretože strážca, ktorá sa nikdy nevykonáva, prechádza presne ako strážca a nič nerobí. Takže zastavujeme jeho srdce zámerne a žiadame, aby monitor kričal.
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 }
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.
Mutácia sa nikdy nepoužila.
Text vyhľadávania sa nezhodoval, súbor bol nedotknutý, apartmán prešiel a dôkaz nahral zelená pod starým kódom o kóde, ktorý nebol nikdy starý. Chytený tým, že vyžaduje presne jeden textový zápas a porovnanie súborov hašéz oboch stranách.
Mutácia zlomila niečo iné.
Suite sa červená, pretože súbor prestal spracovať alebo topánkytrap zomrela, a dôkaz zaznamenal červený, ktorý nemal nič spoločné so strážcom. Chytený linting mutanta a vyžadujú pomenované skúška medzi poruchami.
Nemôže nechať mutanta na disku.
Každá mutácia kopíruje originál na bokomer mimo webového stromu, píše marker pomenovania vynikajúcej zmeny a je odstránená od rukoväte na každej únikovej ceste. Značka z havarovaného spustiť je ctený pred ďalšou mutáciou tohto súboru.
Certifikácia je príkaz s únikovým kódom.
Žiadny front kontroly, kde niekto číta váš kód a vytvorí si názor. Pred odoslaním spustite na vlastnom počítači rovnaké sady testov, aké spúšťame my. Zverejnených schém JSON v ceste doc/contracts/schemas/: 8. Pokrývajú nastavenia, akcie, špecifikácie Buildera, mapovanie cestovných a obchodných udalostí, receptúry pracovných postupov, konektorové zmluvy a manifesty vydaní.
- manifests spracovať a vzájomne súhlasiť
- schopnosti existujú na bežeckej triede
- interfaces implementovaný, ak je deklarovaný
- files každý požadovaný súbor
- akcie, zodpovedá manifestu činností
- destructive vyhlásenie o potvrdení
- Identita stabilný externý kľúč, nie e-mail
- opakovaný záznam opakovaných aktualizácií, nikdy duplikátov
- Podnik Vyhlásenia zodpovedajú rozšíreniu
- dokumentácia ČÍTAJTE, HOVORÍ, ZMENA
- schémy každý JSON potvrdzuje
$ 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
Napíšte prvú na skutočný nevýrobný účet s --live-settings=/secure/test-acme.jsonKým ste stále sťažovať, vymeniť posledný za --unsigned-ok: to sa považuje za chýbajúci podpis ako očakávané varovanie, skôr než predstierať, že je v poriadku.
Deklarácia toho, čo môžete predať je súbor, nie registrácia.
Konektor, ktorý môže predávať deklaruje, ktoré z vlastné odpoveď operácií OpsIQ je kanonické obchodné roly. Prítomnosť súboru je nárok. Objaví sa v nastavení predaja vo chvíli, keď vyhlási a zmizne, keď prestane. Neexistuje žiadny zoznam, ktorý by sa mohol pripojiť a nikto sa ho nepýtal.
Kánonické písať role mapovaný na generický záznam písať. Zápas je štrukturálna: úložné podstatné meno vedľa mutating slovesá, bez ohľadu na vaše pomenovanie konvencie. Písanie obchodného radu priame preskočí cenu platformy, dostupnosť uzamknutie a potvrdenie pošty, a produkuje objednávku obchodný systém len polovica verí v. Nie recovery Tiež by sme mali byť neobjaviteľní.
{
"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" }
}
}
}
connector_contract.json je generovaný a jeho schéma súbory additionalProperties:falseTakže ručne schválený blok by zlyhal v overení a potom by bol prepísaný na ďalší generátor.
Úloha, ktorá nie je CommerceRole neexistuje. OpsIQ nikdy nepreferuje jednu z názvu operácie, pretože meno nie je sľubom.
Operácia sa musí zobraziť vo Vašom actions.json. Vyhlasovanie, ktorý neexistuje sľubuje zákazníkovi niečo, čo potom nič nevyprodukuje.
Najnebezpečnejší čas je ten po platforme už možno urobil prácu. Bez nesmrteľné "did my write land" hľadať, jediné možnosti sú znovu slepý alebo stratiť objednávku.
Akákoľvek platobná úloha tiež vyhlasuje payment_profile s životné prostredie, webhook_verify používanie vlastného systému poskytovateľa a event_mapNenápadné prostredie je spôsob, akým poskytovateľ testovacieho režimu prijíma živú platbu.
OpsIQ vs a DIY integrácia.
Čo zmluvy viazané, podpísaný, auditovaný platforma vám dáva, že valcovanie vlastných webhooks a AI-action inštalatérstvo nikdy nebude.
| Schopnosť | Vytvorte si vlastný | OpsIQ |
|---|---|---|
| Rozsah Bearer API + HMAC-podpísané webhooky | Ručne valcované | ✓ |
| Suchý beh píše + 24-hodinový úspešný opakovaný záznam | Urob si sám | ✓ |
| 1m→5m→30 m→ 2h → 12hVýhrady | DIY fronty | ✓ |
| Register akcií-zmluvných vzťahov (AI nemôže vymyslieť hovory) | — | ✓ |
| Potvrdzovacia politika pred vedľajšími účinkami | — | ✓ |
| Stabilný chybový obal + ID žiadosti | Ručná protokolácia | ✓ |
| Priame HTTP + generované možnosti klienta | Napíš si vlastný | ✓ |
| OpenAPI 3.0.3 strojom čitateľná zmluva | Možno. | ✓ |
| Staviteľ + brána na uvoľnenie balíka | Zostrojiť reťaz na náradie | ✓ |
| Kľúče s rozlíšením pracovného priestoru a hodinové limity | Vary | ✓ |
| Konektor vzor: kód platformy zostane izolovaný | — | ✓ |
otázky vývojárov, odpovedal.
Autentifikácia, zmluvy, retries, generovanie klienta, bezpečné testovanie a konektor model, pred prvou žiadosťou o výrobu.
Authorization: Bearer opq_…. Kľúče môžu byť neobmedzené, obmedzené alebo len na čítanie, majú najmenej-privilege rozsahy, poslúchať hodinový limit a môže byť pripnutý do pracovného priestoru. Webhook podpis je samostatný: odchádzajúce dodávky vykonávať X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event a X-OpsIQ-Delivery.hash_hmac('sha256', $rawBody, $secret) a porovnať jeho hexadecimálny digestor s X-OpsIQ-Signature použitie hash_equalsOveriť X-OpsIQ-Timestamp v rámci vášho prehrávania a používania X-OpsIQ-Delivery ako identifikátor vysledovateľného dodania.dry_run na akciách, ktorých vytvorená zmluva podporuje, spustite skúšku pripojenia Connector Builder je ohraničený, skontrolujte jeho generované súbory, a prejsť balíček zhody a uvoľnenie brány pred ošetrením konektora ako pripravený.settings.json, voliteľné actions.json, generovaná kapacita zmluva, dokumentácia a voliteľné rozšírenia podniku. Šesťstupňový staviteľ ju zhromažďuje; register ho objavuje; zhoda a uvoľnenie brány potvrdiť.