Platforma dezvoltatorului · General API · Prosoape web · conectori

Asiguraţi-vă platforma Al-operabil.

Call 2,420 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.

Chei de portar învechite2,420 contract actionsOpenAPI 3.0.3 + PostasLivrare HMAC webhook
Cerere în domeniul de aplicare
Semnat webhook out → 200 Bine.
Trăieşte Acţiune de suport → OpsIQ → webhook semnat POST /api/v1.php Autorizatie: Purtator { "action": "bilete. Rply," "Dry_run": True } Verificarea · Executarea · Auditul cheie + spațiu de lucru ✓ Domeniul de aplicare + contract ✓ cerere urmărită obiectivul dvs. webhook X-OpsIQ Eveniment: bilet. replicat verifică mânerul HMAC → 200 Bine.
2,420Nume general API acţiuni
69domeniul de aplicare cel mai puțin privilegiat
dry_runvalidează contractele de scriere înainte de executare
24hreluare idepotent-scriere de succes
Cererea de ciclu de viață

Cererea de aplicare a domeniului de aplicare inch Eveniment semnat.

Postează o acțiune la /api/v1.php cu o cheie telescopică.OpsIQpini spatiul de lucru, valideaza contractul de actiune si permisiunile, apoi executa sau se usuce-runs ea. Evenimente canonice subscrise lasa printr-o HMAC-coada de livrare semnata cu incercari de urmarit si retries delimitate.

HMAC-SHA256 de site-uri web - se semnează încărcăturile utile de pe webhook cu intrare şi ieşire peste corpul brut; API apelurile autentifică cu o cheie de la purtător.
Retușări automate - Livrările eşuate înapoi şi rejudecarea, cu un act de livrare pe care îl poţi urmări.
Scriere de siguranţă a reluării - idepotentul reuşit scrie returnează acelaşi răspuns pentru ore 24; duplicatele simultane împart o singură afirmaţie.
Aplicația dumneavoastră POST /api/v1.php Autorizatie: Purtator idempotency_key: idem_31c7 Verificarea - Rularea - Auditul Obiectivul final POST /webhooks verifică HMAC 200 Bine. cheie + spațiu de lucru fixat Domeniul de aplicare + rolul verificat contract validat executa sau se usucă LIVRARE DE CĂLĂTORIE ÎN SEMNATĂ { X-OpsIQ-Event: ticket. repliced X-OpsIQ-Delivery:Lv_8f2a9 X-OpsIQ-Timestamp: 1786584362 X-OpsIQ-Signature: 9c4e0a7b... } livrat
01 Cerere de purtător 02 spațiu de lucru cu pini 03 validează contractul 04 executa sau se usucă 05 Eveniment semnat la coadă
Start rapid

De la cheie la integrare guvernată în trei paşi.

Emite o cheie de cel mai puțin-privilege, descoperi contractul generat, seceta rulați un scrie, apoi abonați un webhook atunci când aplicația are nevoie de livrare eveniment fundal.

Consolă de contractConectat
GENERALITĂȚI API · Contract condus 1 · Generează cheia opq_live_xx · o singură cheie de poartă 2 · Descoperiți contractele POST /api/v1.php · meta. acţiuni 3 · Validarea unei scrieri tickets. reply · dry_run: true 4 · Abonare la evenimente bilet. replicat · Livrare HMAC
Executăsery_run → a aprobat scrierea, același contract
01

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.

02

Descoperă & validează

Citit meta.actions, meta.action şi meta.scopes; utilizare dry_run pentru a valida scrierile înainte de execuție.

03

Execută & abonează

Adăugați o cheie idempotency pentru scrie, apoi abonați-vă obiectivul la evenimentele canonice de care aveţi nevoie.

Cum se potriveşte împreună

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.

01
Declanșatoare

Spune. OpsIQ ce s-a întâmplat.

Evenimentele canonice Emit de pe platforma ta, sau definesc un eveniment personalizat reglementat. Abonatii primesc evenimentul prin intermediul prioritatii si regulilor de livrare inregistrate.

Referință la eveniment
invoice.paid Eveniment canonic Al creiercontext live reguliprioritate 20 oglindăScrie mai întâi webhookCommentsemnat
Evenimente universale + personalizateinvoice.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.
02 / Contracte de acţiune

Spune. OpsIQ ce AI are voie să facă.

Fiecare operațiune numită primește un contract generat: domeniu de aplicare, caracteristică, citire sau scriere tip, risc, politica de confirmare, schema cererii și a răspunsului, suport uscat-run, idepotență și erori stabile.

Schema de acțiune
AI nu poate inventa acţiuniNu poate cere decât să-i verifice pe cei pe care i-ai înregistrat. Politica de confirmareAcţiunile riscante declanşează un card de previzualizare înaintea oricărui efect secundar. Rol + Garaj de suprafațăFiecare acțiune declară rolurile și suprafețele care le permit să-l ruleze.
contract de acţiune generat · 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 / Cârlige web semnate

Împinge evenimente la stiva ta - cu dovezi reproductibile.

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.

Protecţia din nouID-ul de livrare trasabil5-step back-off
Referinţă webhook
verifică 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 / SDK-uri

Utilizați HTTP direct sau de a genera clientul pe care doriți.

General completAPI este publicat ca OpenAPI 3.0.3 și Postman. expeditori de referință PHP plus Node și Python Integration clienții acoperă eveniment semnat și fluxuri webhook; orice stiva poate apela la același JSON suprafața de acțiune direct.

exemple de client
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.",
    },
)
DirectJSONHTTPOpenAPI3.0.3Colecţia de poştaşAjutor pentru integrare
05 / Modelul conectorului

Construieşte o dată şi conectează-te la orice.

Un conector este un pachet reglementat generat sau importat prin Identitate, Auth, Test, Acţiuni, Declanşări şi Revizuire. Manifestul său declară suprafeţele de capacitate OpsIQ este permis să se expună.

Deschide constructorul în şase etape
Șase etape ghidateIdentitatea, Auth, Test, Acţiuni, Declanşări şi Revizuiri păstrează generaţia de pachete explicabilă. Decontate în contract8 profiles and 57 capability types declare the surfaces a package implements. Cu un conținut de grăsimi de peste 10% din greutateVerificarea siguranței, provenienței și conformării se efectuează înainte ca un pachet să fie tratat ca fiind pregătit.
De la intenţie la acţiune sigură

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 solicită și produce un rând de audit complet atunci când execută, astfel încât un AI care poate Act Niciodată nu devine un AI nu poți avea încredere.

Legat de contract. AI propune doar acţiuni pe care le-ai înregistrat.
Confirmaţi înainte de efecte secundare. Acţiunile riscante ies la suprafaţă mai întâi o carte de previzualizare.
Rechemare totală. Fiecare rezultat prompt, răspuns şi acţiune capturat în istoria AI.
4 trepteintenţie → audit
HMACsemnat înainte de executare
"restitui ultima factură a lui Adam" Pas 1 · Rezoluţia intenţiei → potrivit: saas. refund_facke suprafata: admin · rol: proprietar · Pas 2 valideaza Pasul 3 · Confirmă & semn carte de previzualizare · factură #8421 Confirmă Pas 4 · Rândul auditului actor · prompt · rezultat · 412ms Proprietar numai · exportabil ca CSV
Nu există apeluri inventateNumai registrul contractelor
Confirmatprevizualizare înainte de efecte secundare
Cerere de urmărireactor + contract + rezultat
Referință

API suprafață dintr-o privire.

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

OpenAPI 3.0.3 referință
AcțiuneAuthScrieți siguranțaLimita
Scrie acțiuniPOST /api/v1.php · Validarea contractului
ACTION tickets.replytickets.writesecond_run + idempotențăConfigurat / oră
ACTION security.reportsecurity.writesecond_run + idempotențăConfigurat / oră
ACTION platform.routes.writeadminconfirmare + cheieConfigurat / oră
Citiți & acțiunile de descoperireAceeași suprafață POST · plicuri stabile
ACTION meta.actionsDescoperirea publicăNumai citireConfigurat / oră
ACTION tickets.listtickets.readNumai citireConfigurat / oră
ACTION connectors.listconnectors.readNumai citireConfigurat / oră
Acţiuni peopleOS HRCurata hr.* contracte · hr.read / hr.write domeniul de aplicare
ACTION hr.people.listhr.readNumai citireConfigurat / oră
ACTION hr.people.createhr.writesecond_run + idempotențăConfigurat / oră
ACTION hr.org.treehr.readNumai citireConfigurat / oră
PeopleOS HR nu trimite evenimente de tip HR outbound. Ajungeți la acesta prin aceeași suprafață POST sau abonați-vă la evenimentele publicate de alte module. PeopleOS API și conectori şi Secţiunea PeopleOS a referinţei dezvoltatoruluiModulul este îndreptat, deci o cheie fără hr Primeşte un refuz, nu o listă goală. Ce este PeopleOS HR.

Limitele ratei sunt configurate pe tasta de la o fereastră orară. X-RateLimit-Limit, X-RateLimit-Remaining şi X-RateLimit-Reset; o cerere respinsă returnează 429 cu Retry-AfterFoloseşte-l. Contractul OpenAPI 3.0.3 sau Colecţia de poştaş generate din aceleași registre de timp de funcționare.

Construiește un conector

Construire, testare și eliberare în 6 etape.

Începeţi de la un profil reglementat sau definiţi contractul singur. Constructorul validează fiecare etapă înainte ca acesta să genereze un pachet conector autonom.

1Identitate. Numele, melcul, profilul și suprafețele de capacitate declarate.
2Auth. API cheie, Purtător, Basic, OAuth 2.0, HMAC sau un client personalizat.
3Test. Validarea setărilor de conectare delimitate înainte de ambalare.
4Acţiuni. Harta nume operatiuni, parametri, domenii de aplicare si risc.
5Declanşatoare. Declaraţi evenimente de intrare, proteze web, sondaje şi sincronizare comportament.
6Revizuire. Inspectaţi contractul generat şi treceţi de poarta de lansare.
Testaţi înainte de a vă deplasa

Validarea în condiții de siguranță, apoi trece poarta de eliberare.

Utilizare dry_run privind acțiunile de scriere sprijinite, efectuarea testului de conectare delimitată al constructorului și verificarea manifestului generat și a contractului înainte de eliberare. Validarea pachetelor verifică numele capacităților, setările, proveniența și fișierele necesare; lucrătorii de fundal se ocupă de sondajele reactive și livrarea în străinătate.

Scrie "curățare uscată" Încercarea de conectare prin legături Conformitate contract Livrare cu ajutorul unui cron
conector. php · php
clasă AcmeConnector se extinde AbstractConnector { funcția publică melc (): șir { Înapoi "Acme"; } funcția publică denumirea (denumirile) șir { Înapoi "Acme"; } funcția publică descrierea (de exemplu, descrierea) șir { Înapoi "Acme bridge"; } // Utilizați numele din Connector Contract funcția publică Capacități (): matrice { Înapoi ["acţiuni", "webhook"]; } funcția publică configurăriSchema(): matrice { Înapoi [["cheie" => "Token", "tip" => "Pasword"]]; } funcția publică TestConnection (matrice $settings): matrice { Înapoi ['succes' => Adevărat.]; } funcția publică manerWebhook( matrice $payload, matrice $headers, matrice $settings ): matrice { Înapoi ['succes' => Adevărat.]; } }
01 · Connector contract 2.4

Un pachet nu poate pretinde o capacitate codul său nu are.

OpsIQ\Connectors\ConnectorContract Este autoritatea. Descoperirea pe termen lung, Constructorul, pachetele de prim-partid, conformare, General API şi fiecare referinţă a citit că un registru. Declaraţi o capacitate şi trei fişiere trebuie să fie de acord unul cu altul înainte OpsIQ Trasee un singur rând la tine.

Fig. 01pachet conector, manifest piese scale 1:1 · contract 2.4
  1. 01 connector.php clasa de funcționare
  2. 02 IdentityProvider.php cheie externă stabilă
  3. 03 SalesIngest.php reconcilieriVânzare()
  4. 04 actions.json operațiuni numite
  5. 05 settings.json configurare operator
  6. 06 connector_contract.json autoritatea care poate citi automat
07 signature.json unu HMAC peste un SHA-256 din fiecare fișier de mai sus, plus o dovadă de origine ed25519
Matricea capacității all 57, as registered
acțiuni declanșatoare webhookComment journey_events context guest_lookup identitate sales sales_reconciliation facturare payments comerț 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 locale Seo site_intelligence analiză comms admin_assets enterprise_hooks durable_queue ticket_mirror attachment_bridge database_migrations scheduled_workers conflict_resolution
generate 30 declarativ 20 extensie 7
Două semnături, două întrebări.

hmac-sha256 peste o sarcină utilă deterministă a SHA per file-256 Hashes raspunsuri a fost modificat de la semnarea- O. ed25519 răspunsuri privind semnătura a fost semnat de Nabtech, verificat cu cheia publică pachet și nu are secrete comune. Editați un octet și primul se oprește potrivire.

marketplace.json este în afara semnăturii prin definiție: instalatorul o scrie după ce semnează, astfel încât editorul nu ar fi putut să-l semneze.
02 · instrumente/mutare_proof.php

Un gardian care nu a dat greş niciodată. este nedovedit.

Testele verzi vă spun că nu s-a rupt nimic astăzi. Nu vă spun ca paznicul pe care l-aţi scris va opri lucrul ce a fost scris pentru a se opri, deoarece un gardian care nu este niciodată exercitat trece exact ca un paznic care nu face nimic. Aşa că îi oprim inima intenţionat şi cerem monitorului să ţipe.

garda · rolul de citire trebuie sa refuze o operatie distructivă CH1 verify_commerce_contracts
src/Connectors/CommerceRoleMapVerifier.php MUTAT
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    }
Exact. unu Este necesară o potrivire textuală. Zero meciuri, sau două, iar dovada se opreşte înainte de a putea minţi.
$ 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.
O dovadă eşuată este Niciodată. Dovezile că un cec a mers prost nu sunt dovezi că un gardian lucrează.

Mutaţia nu s-a aplicat niciodată.

Textul de căutare nu se potrivea, dosarul a fost neatins, suita a trecut, iar dovada înregistrată verde sub codul vechi despre codul care nu a fost niciodată vechi. Prins prin solicitarea exact un meci textual și compararea hashes fișier fiecare parte.

Mutaţia a distrus altceva.

Apartamentul a devenit roşu pentru că dosarul nu mai era în patrulare sau a murit boottrap-ul, iar dovada a înregistrat un roşu care n-a avut nimic de-a face cu paznicul. numit test printre eșecuri.

Nu poate lăsa un mutant pe disc.

Fiecare mutație copia original la un ataș în afara copacului web-servit, scrie un marker de numire schimbare remarcabilă, și este anulată printr-un handler oprire pe fiecare cale de ieșire. Un marker dintr-o rula prăbușită este onorat înainte de următoarea mutație a acelui fișier.

03 · Conformitate

Certificarea este o comandă cu un cod de ieşire.

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/ să acopere setările, acțiunile, specificațiile constructorilor, cartografiile evenimentelor de călătorie și comerț, rețetele fluxului de lucru, contractele conectorului și manifestele de eliberare.

  1. manifests parse și sunt de acord unul cu altul
  2. capacitate există pe clasa de funcționare
  3. interfaces implementată în cazul în care este declarată
  4. files fiecare fișier necesar prezent
  5. acțiuni se potrivesc cu acțiunile manifeste
  6. destructive declară confirmarea
  7. identitate o cheie externă stabilă, nu e-mail
  8. reluare o actualizare repetată, niciodată nu se repetă
  9. întreprindere declarațiile corespund prelungirii
  10. documente Readme, Developer, Changelog
  11. Schimes fiecare JSON validează
Ieșire 0 acme: conformant against contract 2.4 Un apartament care nu a reuşit să dea numele cecului şi fişierului.
$ 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

Punctul primul la un cont real non-producție cu --live-settings=/secure/test-acme.jsonÎn timp ce sunt încă iterează, schimba ultima pentru --unsigned-ok: tratează o semnătură lipsă ca pe un avertisment așteptat, în loc să pretindă că este bine.

04 · Comerţ_roluri.json

Declararea ceea ce se poate vinde este un dosar, nu o înregistrare.

Un conector care poate vinde declară care dintre propria sa Operaţiunile răspund rolurilor comerciale canonice ale OpsIQ_Rolurile de comerţ canonic. Prezenţa fişierului este revendicarea. Apare în seturile de vânzare în momentul în care declară şi dispare când acesta se opreşte. Nu există o listă pentru a adera şi nimeni să ceară.

Rolul canonic commerce_roles.json funcționarea dumneavoastră
catalog_search READ acme_search_products Bine. order_get READ acme_get_order Bine. order_create WRITE acme_create_order recovery: acme_get_order order_create WRITE db_insert_record scriere generică, fără recuperare
REFUZ

Un canonic scrie rol cartografiat la un text generic. Meciul este structural: un substantiv de stocare lângă un verb mutating, indiferent de convenția dvs. de numire. Scrierea rândul de afaceri direct sare tarifarea platformei, blocare disponibilitate și confirmare mail, și produce o comandă sistemul propriu comerciantului doar jumătate crede în. recovery fie, astfel încât o pauză ar fi nerecuperabil.

commerce_roles.jsonALEGERE
{
  "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" }
    }
  }
}
Dosarul său propriu în scop: connector_contract.json este generat și seturile sale schema additionalProperties:false, astfel încât un bloc manual autor acolo ar eșua validare și apoi să fie suprascris pe următoarea alergare generator.
01
Vocabular închis

Un rol în CommerceRole nu există. OpsIQ niciodată nu deduce unul dintr-un nume de operație, deoarece un nume nu este o promisiune.

02
Propria ta acţiune.

Operaţia trebuie să apară în... actions.json. Declararea unei persoane care nu există promite clientului ceva ce apoi nu produce nimic.

03
Scrie declara recuperare

Cea mai periculoasă pauză este cea după ce platforma ar fi putut deja să facă munca. Fără un "idepotent" l-a căutat pământul meu scris, singurele opțiuni sunt reîncercarea orbească sau pierderea comenzii.

04
Atestare a rolurilor de plată

Orice rol de clasă de plăți declară, de asemenea, payment_profile cu mediu, webhook_verify utilizarea schemei proprii a furnizorului și event_mapUn mediu neevaluat este modul în care un furnizor de mod de testare ia o plată live.

Constructorul validează acestea pe măsură ce tastați și verificatorul validează pachetul expediat. Ambele numesc aceleași funcții, astfel încât acestea nu pot fi de acord.
⚖️ Cum se compară

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

CapacitateaRostogoleşte-te singur.OpsIQ
Suport de acoperire API + cârlige web cu semnătură HMAC Cu o grosime de minimum 0,75 mm, dar maximum 0,35 mm
Reluare cu succes a șervețelului + 24- oră DIY
1m→5m→30m→ 2h → 12hretries Coadă de diy
Registrul de acţiune-contract (AI nu poate inventa apeluri)
Politica de confirmare înaintea efectelor secundare
Pachet de eroare stabil + ID-uri cerere Exploatarea manuală
Opțiuni directe HTTP + client generate Scrie-ţi propriul tău nume.
OpenAPI 3.0.3 contract de citire automată Poate.
Constructor în şase etape + poartă de eliberare pachet Construiește un lanț de unelte
Cheile cu piniaj în spațiu de lucru și limitele orare Variază
Model Conector: codul platformei rămâne izolat
Întrebări frecvente

Întrebări de dezvoltator, Răspuns.

Autentificare, contracte, retries, generarea de clienti, testarea în condiții de siguranță și modelul conectorului, înainte de prima cerere de producție.

General API apeluri trimise Authorization: Bearer opq_…Cheile pot fi nelimitate, restricţionate sau citite numai, să aibă lunete de interes minim, să respecte o limită orară şi poate fi fixat la un spaţiu de lucru. Semnarea prin webhook este separată: livrările în afara drumului X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event şi X-OpsIQ-Delivery.
Nu. AI poate propune doar operaţiuni numite în registrul de acţiune. Fiecare contract generat declară domeniul de aplicare, câmpurile de cerere, politica de risc şi confirmare; operaţiunile a căror politică necesită confirmarea suprafeţei unei previzualizare umană înainte de execuţie.
Recalculează hash_hmac('sha256', $rawBody, $secret) și compara digerat hexazecimal cu X-OpsIQ-Signature cu hash_equals. Validarea X-OpsIQ-Timestamp în fereastra de reluare şi utilizare X-OpsIQ-Delivery ca identificator de livrare trasabil.
O încercare fără succes intră în coada de livrare. OpsIQ retriries on the1- minute, 5- minute, 30- minute,2- ore şi 12- scara orei în timp ce păstrarea identificatorului de livrare și istoric încercare pentru diagnostice.
Sună-l. JSON suprafața de acțiune direct, importa colecția de postas generat, sau genera un client din OpenAPI 3.0.3. Expeditori de referință PHP și Node/Python Integration Clienți sprijină evenimentul și fluxurile webhook; ei sunt mai degrabă ajutatori decât separațiAPI contracte.
Utilizare dry_run privind acțiunile al căror contract generat îl susține, executați testul de conectare delimitată al Connector Builder-ului, inspectați fișierele generate și treceți de conformitatea pachetului și eliberați porțile înainte de a trata conectorul ca fiind pregătit.
Eliberarea instalată generează API şi contracte de conectori din propriile registre de funcţionare. URL, secrete, depozitare și cron / muncitori, astfel încât comportamentul ar trebui să fie verificate împotriva eliberării instalate mai degrabă decât asumat dintr-un mediu cloud.
Un conector este un pachet de acţiune care conţine adaptorul, settings.json, opțional actions.json, un contract de capacitate generata, documentatii si extensii opţionale ale intreprinderilor. Constructorul in sase etape il asambleaza; registrul il descoperi; conformarea şi eliberarea portilor valideaza-l.