Entwicklerplattform · Allgemein API · Webhooks · Connectors

Machen Sie Ihre Plattform AI-operabel.

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.

Schlüssel mit ausgeklapptem Träger2,415 contract actionsOpenAPI 3.0.3 + PostboteHMAC-Webhook-Lieferung
Antrag auf Genehmigung in
Signierter Webhook out → 200 OK
Lebend Bearing Action → OpsIQ → signierter Webhook POST /api/v1.php Genehmigung: Inhaber { "action": "tickets. reply" "dry_run": wahr } VERIFIZIERUNG · RUHREN · AUDIT key + Arbeitsbereich ✓ Umfang + Vertrag ✓ Rückverfolgung des Antrags Dein Webhook-Endpunkt X-OpsIQ-Event: ticket. replid HMAC überprüfen → Handle 200 OK
2,415Allgemeine API Aktionen
69Anwendungsbereiche mit den geringsten Privilegien
dry_runvalidieren Sie Schreibverträge vor der Ausführung
24hErfolgreiches idempotent-write Replay
Der Request Lifecycle

Scoped Request in. Signiertes Event out.

POST eine Aktion zum /api/v1.php mit einem Scoped Bearer-Schlüssel. OpsIQ pins den Workspace, validiert den Aktionsvertrag und die Berechtigungen, führt ihn dann aus oder läuft trocken durch. Abonnierte kanonische Ereignisse gehen durch eine HMAC-signierte Lieferwarteschlange mit nachvollziehbaren Versuchen und begrenzten Wiederholungen.

HMAC-SHA256 Webhooks - Ein- und ausgehende Webhook-Nutzlasten werden über den Rohkörper signiert; API ruft sich mit einem Scoped Bearer-Schlüssel authentifizieren.
Automatische Versuchsreihen - fehlgeschlagene Lieferungen zurück und erneut versuchen, mit einer Liefer-ID, die Sie verfolgen können.
Replay-Safe Writes - erfolgreiche idempotent schreibt die gleiche Antwort für 24 Stunden; gleichzeitige Duplikate teilen sich einen Anspruch.
Deine App POST /api/v1.php Genehmigung: Inhaber idempotency_key: idem_31c7 ÜBERPRÜFUNG — RUN — AUDIT Dein Endpunkt POST /webhooks HMAC überprüfen 200 OK Key + Arbeitsbereich angeheftet Umfang und Rolle geprüft validierter Vertrag Execution oder Dry-run SIGNED WEBHOOK DELIVERY { X-OpsIQ-Event: ticket. replid X-OpsIQ-Delivery: dlv_8f2a9 X-OpsIQ-Timestamp: 1786584362 X-OpsIQ-Signature: 9c4e0a7b ... } geliefert
01 Antrag des Inhabers 02 Pin Workspace 03 Vertrag validieren 04 Execution oder Dry-run 05 signiertes Ereignis
Schnellstart

Vom Schlüssel zur regierten Integration in drei Stufen.

Geben Sie einen Schlüssel mit den geringsten Privilegien aus, entdecken Sie den generierten Vertrag, führen Sie ein Schreiben durch und abonnieren Sie dann einen Webhook, wenn Ihre Anwendung eine Hintergrundereignislieferung benötigt.

VertragskonsolenVerbunden
ALLGEMEINE API · Vertragsgesteuert 1 · Schlüssel erzeugen opq_live_xxx · ein Scope Bearer-Schlüssel 2 · Verträge entdecken POST /api/v1.php · meta. actions 3 · Einen Schreibvorgang validieren tickets. reply · dry_run: true 4 · Abonnieren Sie Ereignisse ticket. replid · HMAC Lieferung
Ausführendry_run → genehmigter Schreibauftrag, gleicher Vertrag
01

Holen Sie sich einen Schlüssel

Melden Sie sich an und erzeugen Sie einen Scoped Bearer API Schlüssel (in Englisch)opq_…) in Entwicklereinstellungen, und geben Sie jeder Integration nur die Oberflächen, die sie benötigt.

02

Entdecken & validieren

Lesen meta.actions, meta.action und meta.scopes; Verwendung dry_run um Schreibvorgänge vor der Ausführung zu validieren.

03

Ausführen & Abonnieren

Fügen Sie einen idempotency Schlüssel für Schreibvorgänge hinzu und abonnieren Sie dann Ihren Endpunkt zu den kanonischen Ereignissen, die Ihre Anwendung benötigt.

Wie es zusammenpasst

Ein Steckverbindermuster. Fünf saubere Primitive.

Alles, was plattformspezifisch ist, lebt in einem Connector. Der OpsIQ -Kern bleibt generisch, die KI bleibt vorhersehbar und Ihre Integration bleibt auditierbar.

01
Trigger

Sagen Sie OpsIQ, was gerade passiert ist.

Senden Sie kanonische Ereignisse von Ihrer Plattform aus oder definieren Sie ein geregeltes benutzerdefiniertes Ereignis. Abonnenten erhalten das Ereignis über die registrierten Prioritäts- und Lieferregeln.

Datum des Ereignisses
invoice.paid kanonisches Ereignis KI-GehirnLive-Kontext VorschriftenPriorität 20 SpiegelSchreibe zuerst Netzhakenunterzeichnet
Universal + Custom Eventsinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up oder Ihre eigene. Fan-Out-AbonnentenDas KI-Gehirn, Automatisierungsregeln, Spiegelsteckverbinder und Ihre Webhook-Endpunkte reagieren alle. RangfolgeDeterministischer Versand, so dass Spiegel vor Alarmen Feuer schreiben.
02 / Aktionsverträge

Sagen Sie OpsIQ, was die KI tun darf.

Jede benannte Operation erhält einen generierten Vertrag: Umfang, Funktion, Lese- oder Schreibart, Risiko, Bestätigungsrichtlinie, Anfrage- und Antwortschema, Dry-Run-Unterstützung, Idempotenz und stabile Fehler.

Aktionsschema
Die KI kann keine Aktionen erfindenEs kann nur darum bitten, diejenigen zu führen, die Sie registriert haben. BestätigungsrichtlinienRiskante Aktionen lösen eine Vorschaukarte vor jeglichem Nebeneffekt aus. Rolle und OberflächenverzahnungJede Aktion erklärt die Rollen und Oberflächen, die erlaubt sind, sie auszuführen.
generierter Aktionsvertrag · 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 / Signierte Webhooks

Push-Events auf Ihren Stack - mit kryptographischen Beweis.

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.

WiedergabeschutzKennung der rückverfolgbaren Lieferung5-step back-off
Referenznummer des Netzhakens
Verifizieren Sie 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 /SDKs

Verwenden Sie direktes HTTP oder generieren Sie den Client, den Sie bevorzugen.

Der vollständige GeneralAPI veröffentlicht als OpenAPI 3.0.3 PHP-Referenzsender plus Node- und Python-Integrationsclients decken signierte Ereignis- und Webhook-Flows ab; jeder Stack kann dasselbe aufrufen JSON Aktionsfläche direkt.

Kundenbeispiele
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.",
    },
)
Direkt JSON HTTPOpenAPI 3.0.3PostbotensammlungIntegrationshelfer
05 / Das Steckermuster

Einmal bauen. Stecken Sie sich in alles ein.

Ein Konnektor ist ein Regelpaket, das durch Identität, Auth, Test, Aktionen, Trigger und Review generiert oder importiert wird. Sein Manifest erklärt die Fähigkeit der Oberflächen OpsIQ darf freigelegt werden.

Öffnen Sie den sechsstufigen Builder
Sechs geführte EtappenIdentität, Auth, Test, Aktionen, Trigger und Review halten die Paketgenerierung erklärbar. Kontraktabhängig8 profiles and 57 capability types declare the surfaces a package implements. Release-GatedSicherheits-, Herkunfts- und Konformitätsprüfungen laufen, bevor ein Paket als fertig behandelt wird.
Von der Absicht zum sicheren Handeln

Einfaches Englisch in. Audited Operation Out.

OpsIQ erfindet nie den richtigen Aufruf. Es geht durch die registrierten Verträge, bereitet die Nutzlast vor, fragt nach Bestätigung, wenn die Aktion es erfordert, und erzeugt eine vollständige Audit-Zeile, wenn es ausgeführt wird, also eine KI, die Akt wird nie zu einer KI, der man nicht vertrauen kann.

Kontraktgebunden. Die KI schlägt nur Aktionen vor, die Sie registriert haben.
Bestätigen Sie vor Nebenwirkungen. Riskante Aktionen tauchen zuerst eine Vorschaukarte auf.
Totaler Rückruf. Jede Aufforderung, Antwort und Aktion Ergebnis in AI History erfasst.
4 SchritteAbsicht → audit
HMACUnterzeichnet vor der Ausführung
"Erstatten Sie Adams letzte Rechnung" Schritt 1 · Absichtsauflösung → abgebildet: saas. refund_invoice Oberfläche: admin · Rolle: owner · Schritt 2 validieren Schritt 3 · Bestätigen & Zeichen Vorschaukarte · Rechnung #8421 Bestätigen Schritt 4 · Prüfreihe Schauspieler · prompt · Ergebnis · 412ms Nur Eigentümer · exportierbar als CSV
Keine erfundenen Anrufenur Vertragsregister
BestätigtVorschau vor Nebenwirkungen
Anfrage nach TraceAkteur + Vertrag + Ergebnis
Bezugsnummer

API Oberfläche Auf einen Blick.

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.

OpenAPI 3.0.3 Referenz
AktionAuthentienSchreibsicherheitBegrenzung
Schreibe AktionenPOST /api/v1.php · validierter Vertrag
ACTION tickets.replytickets.writedry_run + idempotenzKonfiguriert / Stunde
ACTION security.reportsecurity.writedry_run + idempotenzKonfiguriert / Stunde
ACTION platform.routes.writeAdminBestätigung + SchlüsselKonfiguriert / Stunde
Lesen und Entdecken von AktionenGleiche POST-Oberfläche · stabile Umschläge
ACTION meta.actionsÖffentliche EntdeckungNur lesenKonfiguriert / Stunde
ACTION tickets.listtickets.readNur lesenKonfiguriert / Stunde
ACTION connectors.listconnectors.readNur lesenKonfiguriert / Stunde
PeopleOS HR-MaßnahmenKuratiert hr.* Verträge · hr.read / hr.write Anwendungsbereiche
ACTION hr.people.listhr.readNur lesenKonfiguriert / Stunde
ACTION hr.people.createhr.writedry_run + idempotenzKonfiguriert / Stunde
ACTION hr.org.treehr.readNur lesenKonfiguriert / Stunde
PeopleOS HR sendet keine ausgehenden HR-Webhook-Events. Erreichen Sie es über die gleiche POST-Oberfläche oder abonnieren Sie die Events, die andere Module veröffentlichen. Vollständige Referenz: PeopleOS API und Steckverbinder und die PeopleOS Abschnitt der EntwicklerreferenzDas Modul ist rights gated, also ein Schlüssel ohne hr Eine Ablehnung, keine leere Liste. Was PeopleOS HR ist.

Die Tarifgrenzen werden pro Schlüssel in einem Stundenfenster konfiguriert. Antworten zeigen X-RateLimit-Limit, X-RateLimit-Remaining und X-RateLimit-Reset; eine abgelehnte Anfrage kehrt zurück 429 mit Retry-After. Verwenden Sie die OpenAPI 3.0.3 Vertrag oder Postbotensammlung aus denselben Laufzeitregistern generiert.

Bauen Sie einen Connector

Build, Test und Release in sechs Etappen.

Beginnen Sie mit einem geregelten Profil oder definieren Sie den Vertrag selbst. Der Builder validiert jede Phase, bevor er ein in sich geschlossenes Steckverbinderpaket generiert.

1Identität. Oberflächen von Name, Nacken, Profil und deklarierter Fähigkeit.
2Auth. API Schlüssel, Bearer, Basic, OAuth 2.0, HMAC oder einem kundenspezifischen Client.
3Prüfung. Validieren Sie die Einstellungen der begrenzten Verbindung vor dem Verpacken.
4Aktionen. Map benannte Operationen, Parameter, Umfang und Risiko.
5Auslöser. Deklarieren Sie eingehende Ereignisse, Webhooks, Polling- und Synchronisierungsverhalten.
6Überprüfung. Überprüfen Sie den generierten Vertrag und passieren Sie das Release Gate.
Testen Sie, bevor Sie versenden

Validieren Sie sicher und passieren Sie dann das Release Gate.

Verwendung dry_run bei unterstützten Schreibaktionen den Test der begrenzten Verbindung des Builders durchführen und das generierte Manifest und den Vertrag vor der Veröffentlichung prüfen; die Validierung von Paketen überprüft Fähigkeitsnamen, Einstellungen, Herkunft und erforderliche Dateien; Hintergrundmitarbeiter behandeln reaktive Abfragen und Outbound-Lieferung.

Trockenlauf-Schreiben Prüfung der Verbindung mit einer Leitung Vertragskonformität Cron-getriebene Lieferung
connector. php · php
Klasse AcmeConnector erstreckt sich AbstractConnector { öffentliche Funktion Slug(): String { Rücklauf „acme; } öffentliche Funktion Name(n): String { Rücklauf „Acme; } öffentliche Funktion Beschreibung(): String { Rücklauf "Acme Bridge"; } // Verwenden Sie Namen von ConnectorContract öffentliche Funktion Fähigkeiten(): Array { Rücklauf ["Aktionen", „webhook]; } öffentliche Funktion settingsSchema(): Array { Rücklauf [[„Schlüssel => „Token, „Typ => "Passwort"]]; } öffentliche Funktion testAnschluss()Array $settings): Array { Rücklauf ["Erfolg" => wahrheitsgemäß]; } öffentliche Funktion handleWebhook() Array $payload, Array $headers, Array $settings ): Array { Rücklauf ["Erfolg" => wahrheitsgemäß]; } }
01 · Connector contract 2.4

Ein Paket kann keine Fähigkeit beanspruchen Der Code hat es nicht.

OpsIQ\Connectors\ConnectorContract Runtime Discovery, der Builder, First-Party-Pakete, Konformität, die General API und jede Referenz liest, dass ein Register. Deklarieren Sie eine Fähigkeit und drei Dateien müssen vorher miteinander übereinstimmen OpsIQ Eine einzelne Reihe führt zu Ihnen.

Fig. 01Steckverbinderpaket, Teile Manifest scale 1:1 · contract 2.4
  1. 01 connector.php Laufzeitklasse
  2. 02 IdentityProvider.php stabiler externer Schlüssel
  3. 03 SalesIngest.php concusi (Verkaufspreis)
  4. 04 actions.json benannte Operationen
  5. 05 settings.json Betreiberkonfiguration
  6. 06 connector_contract.json maschinenlesbare Behörde
07 signature.json ein HMAC über einem SHA-256 von jeder Datei oben, plus einen ed25519 Herkunftsnachweis
Kapazitätsmatrix all 57, as registered
Maßnahmen Auslöser Netzhaken journey_events Kontext guest_lookup Identität sales sales_reconciliation Abrechnung payments Handel 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 seo site_intelligence Analytik comms admin_assets enterprise_hooks durable_queue ticket_mirror attachment_bridge database_migrations scheduled_workers conflict_resolution
erzeugt 30 Deklaration 20 Verlängerung 7
Zwei Unterschriften, zwei Fragen.

hmac-sha256 über eine deterministische Nutzlast von per Datei SHA-256 Hashes Antworten wurde seit der Unterzeichnung geändert. An ed25519 Unterschriftenantworten Es wurde von Nabtech signiert, mit dem gebündelten öffentlichen Schlüssel und ohne gemeinsames Geheimnis überprüfbar.

marketplace.json liegt definitionsgemäß außerhalb der Signatur: Der Installateur schreibt sie nach dem Signieren, so dass der Publisher sie niemals hätte signieren können.
02 · tools/mutation_proof. php

Ein Wächter, der nie versagt hat ist unbewiesen.

Grüne Tests sagen Ihnen heute nichts ist kaputt. Sie sagen Ihnen nicht, dass der Wächter, den Sie geschrieben haben, das Ding stoppen würde, für das er geschrieben wurde, weil ein Wärter, der nie ausgeübt wird, genau wie ein Wächtern geht, der nichts tut.

Rolle lesen muss eine destruktive Operation ablehnen 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    }
Genau one Es ist eine Textübereinstimmung erforderlich. Null Übereinstimmungen, oder zwei, und der Beweis stoppt, bevor er lügen kann.
$ 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.
Ein gescheiterter Beweis ist nie Der Nachweis, dass eine Kontrolle falsch gelaufen ist, ist kein Beweis dafür, dass ein Wachmann funktioniert.

Die Mutation hat nie angewendet.

Der Suchtext stimmte nicht überein, die Datei war unberührt, die Suite bestanden und der Beweis aufgezeichnet Grün unter dem alten Code Über Code, der nie alt war. Gefangen durch die Anforderung genau einer Textübereinstimmung und Vergleich von Datei-Hashes auf beiden Seiten.

Die Mutation hat etwas anderes gebrochen.

Die Suite wurde rot, weil die Datei nicht mehr analysiert wurde oder der Bootstrap starb und der Beweis ein Rot aufzeichnete, das nichts mit dem Wächter zu tun hatte. Name Testen Sie unter den Fehlern.

Es kann keine Mutante auf der Festplatte hinterlassen.

Jede Mutation kopiert das Original auf einen Beiwagen außerhalb des web-servierten Baumes, schreibt eine Markierung mit der Bezeichnung der ausstehenden Änderung und wird von einem Shutdown-Handler auf jedem Ausstiegspfad rückgängig gemacht. Eine Markierung aus einem abgestürzten Lauf wird vor der nächsten Mutation dieser Datei geehrt.

03 · Übereinstimmung

Zertifizierung ist ein Kommando mit einem Ausstiegscode.

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/ umfassen Einstellungen, Aktionen, Builder-Spezifikationen, Journey- und Commerce-Event-Mappings, Workflow-Rezepte, Connector-Verträge und Release-Manifeste.

  1. manifests Parse und vereinbaren miteinander
  2. Fähigkeiten auf der Runtime-Klasse vorhanden
  3. interfaces umgesetzt, wenn erklärt
  4. files jede erforderliche Datei vorhanden
  5. Maßnahmen Die Aktionen manifestieren sich
  6. destructive Bestätigung der Erklärung
  7. Identität ein stabiler externer Schlüssel, keine E-Mail
  8. Wiederholung a Wiederholungs-Updates, niemals Duplikate
  9. Unternehmen Erklärungen entsprechen der Verlängerung
  10. Dokumente README, ENTWICKLUNGSBEREICH
  11. Schemata Jede JSON validiert
Ausgang 0 acme: conformant against contract 2.4 Eine ausfallende Suite benennt den Scheck und die Datei. Sie reparieren ihn, nicht wir.
$ 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

Richten Sie den ersten auf ein echtes Nicht-Produktionskonto mit --live-settings=/secure/test-acme.jsonWährend Sie noch iterieren, tauschen Sie den letzten für --unsigned-ok: Es behandelt eine fehlende Signatur als erwartete Warnung, anstatt so zu tun, als wäre es in Ordnung.

04 · commerce_roles.json

Erklären, was Sie verkaufen können Es ist eine Datei, keine Registrierung.

Ein Steckverbinder, der verkaufen kann, erklärt, welche von eigene Betriebsanweisungen OpsIQDie kanonischen Handelsrollen. Das Vorhandensein der Datei ist die Behauptung. Sie erscheint in den Verkaufseinstellungen, sobald sie erklärt wird und verschwindet, wenn sie aufhört. Es gibt keine Liste, der man beitreten kann und niemanden, den man fragen kann.

Kanonische Rolle commerce_roles.json Ihre Operation
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 Generisches Record Write, keine Erholung
VERWEIGERT

Ein kanonisches Schreibe Die Übereinstimmung ist strukturell: ein Speichernumer neben einem mutierenden Verb, was auch immer Ihre Namenskonvention ist. Das Schreiben der Business-Zeile überspringt die Preisgestaltung, Verfügbarkeitssperrung und Bestätigungsmail der Plattform und erzeugt eine Bestellung, an die das System des Händlers glaubt nur die Hälfte. Nein recovery Auch ein Timeout wäre nicht wiederherstellbar.

commerce_roles.jsonGÜLTIGKEIT
{
  "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" }
    }
  }
}
Eigene Akte mit Absicht: connector_contract.json wird generiert und seine Schemasätze additionalProperties:false, so dass ein von Hand verfasster Block dort die Validierung nicht bestehen würde und dann beim nächsten Generatorlauf überschrieben wird.
01
Geschlossenes Vokabular

Eine Rolle, die nicht in CommerceRole OpsIQ leitet niemals einen von einem Operationsnamen ab, weil ein Name kein Versprechen ist.

02
Deine eigene Handlung

Die Operation muss in Ihrem actions.jsonEine Erklärung, die nicht existiert, verspricht dem Kunden etwas, das dann nichts produziert.

03
Schreibt die Wiederherstellung erklären

Die gefährlichste Zeitüberschreitung ist die, nachdem die Plattform die Arbeit möglicherweise bereits erledigt hat.

04
Zahlungsrollen zertifizieren

Jede Rolle der Zahlungsklasse erklärt auch payment_profile mit dem Umwelt, webhook_verify das System des Anbieters selbst nutzen und event_mapEine nicht angegebene Umgebung ist, wie ein Testmodus-Anbieter eine Live-Zahlung nimmt.

Der Builder validiert diese beim Eingeben und der Verifier validiert das versendete Paket. Beide rufen die gleichen Funktionen auf, so dass sie nicht widersprechen können.
⚖️ Wie es verglichen wird

OpsIQ vs. a DIY Integration.

Was für eine vertragsgebundene, unterzeichnete, geprüfte Plattform Ihnen bietet, dass das Rollen Ihrer eigenen Webhooks und AI-Action-Klebeinstallation niemals wird.

LeistungsfähigkeitRoll Your OwnOpsIQ
Scoped Bearer API + HMAC-signierte Webhooks Handgerollt
Dry-Run schreibt + 24 h erfolgreiche Wiederholung DIY
1 m→5 m→30 m→ 2h → 12hWiederholungsversuche DIY-Warteschlange
Action-Vertragsregister (KI kann keine Anrufe erfinden)
Bestätigungsrichtlinie vor Nebenwirkungen
Stabile Fehlerumschlag + Request-IDs Manuelle Protokollierung
Direkt HTTP + generierte Clientoptionen Schreibe dein eigenes
OpenAPI 3.0.3 maschinenlesbarer Vertrag Vielleicht
Sechsstufiger Builder + Package Release Gate Erstellen Sie eine Toolchain
Workspace-angepinnte Tasten und Stundenlimits Sorten
Steckermuster: Plattformcode bleibt isoliert
FAQ

Entwicklerfragen, beantwortet.

Authentifizierung, Verträge, Retries, Clientgenerierung, sicheres Testen und das Steckverbindermodell vor der ersten Produktionsanforderung.

Allgemeine API Anrufe senden Authorization: Bearer opq_…. Schlüssel können uneingeschränkt, eingeschränkt oder nur lesbar sein, Bereiche mit den geringsten Privilegien enthalten, eine Stundengrenze einhalten und an einen Arbeitsbereich angeheftet werden. X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event und X-OpsIQ-Delivery.
Nein. Die KI kann nur benannte Operationen im Aktionsregister vorschlagen. Jeder generierte Vertrag deklariert Umfang, Anforderungsfelder, Risiko- und Bestätigungsrichtlinie; Operationen, deren Richtlinie eine Bestätigung erfordert, erhalten vor der Ausführung eine menschliche Vorschau.
Recalcute hash_hmac('sha256', $rawBody, $secret) und vergleichen Sie seinen hexadezimalen Digest mit X-OpsIQ-Signature Verwendung hash_equals. Validieren X-OpsIQ-Timestamp innerhalb Ihres Wiedergabefensters und verwenden X-OpsIQ-Delivery als rückverfolgbare Lieferkennung.
Ein nicht erfolgreicher Versuch tritt in die Hintergrundlieferschlange ein. OpsIQ Retries auf der1-Minute, 5-Minute, 30-Minute,2- Stunde und 12 Stundenleiter unter Beibehaltung der Lieferkennung und Versuchshistorie für die Diagnose.
Rufen JSON Aktionsfläche direkt, importieren Sie die generierte Postman-Sammlung oder generieren Sie einen Client aus OpenAPI 3.0.3 PHP-Referenzsender und Node/Python-Integrationsclients unterstützen Ereignis- und Webhook-Flows; sie sind eher Helfer als separateAPI Verträge.
Verwendung dry_run Führen Sie bei Aktionen, deren generierter Vertrag ihn unterstützt, den Bounded Connection Test des Connector Builders aus, inspizieren Sie die erzeugten Dateien und übergeben Sie die Paketkonformitäts- und Releasegates, bevor Sie den Verbinder als fertig behandeln.
Das installierte Release generiert seine API und Connector-Verträge aus eigenen Laufzeitregistern. URL, Secrets, Storage und Cron/Workers, daher sollte das Verhalten mit der installierten Version verglichen werden, anstatt von einer Cloud-Umgebung angenommen zu werden.
Ein Steckverbinder ist ein Regelpaket, das den Adapter enthält. settings.json, optional actions.json, einen Vertrag über generierte Fähigkeiten, Dokumentation und optionale Unternehmenserweiterungen; der sechsstufige Builder stellt ihn zusammen; das Register entdeckt ihn; Konformitäts- und Freigabegates validieren ihn.