Ontwikkelaarplatform · Algemeen API · webhooks · connectors

Maak uw platform Al-operable.

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.

Scoped Bearer-toetsen2,420 contract actionsOpenAPI 3.0.3 + _PostmanHMAC webhook levering
Toepassingsgebied van het verzoek in
Ondertekend webhook out → 200 OK
Levend Bearer actie → OpsIQ → ondertekende webhook POST /api/v1.php Autorisatie: Bearer { "action": "tickets. reply," "dry_run": waar } VERIFY · RUN · CONTROLE sleutel + werkruimte ✓ Scope + contract ✓ verzoek getraceerd uw webhook eindpunt X-OpsIQ-Event: ticket. replied HMAC → handvat verifiëren 200 OK
2,420genaamde algemene API acties
69de minst bevoorrechte scopen
dry_runvalideren van schriftelijke contracten voor uitvoering
24h_succesvol idempotent-write replay
De levenscyclus van de aanvraag

- Een verzoek van de orde. Getekend evenement.

POST een actie aan /api/v1.php met een scoped Bearer-toets. OpsIQ pinnen de werkruimte, valideert het actiecontract en machtigingen, voert dan uit of droogt deze uit. Geplaatst canonieke gebeurtenissen vertrekken via een HMAC-signede leveringswachtrij met traceerbare pogingen en begrensde herhalingen.

HMAC-SHA256 webhooks - inkomende en uitgaande webhook payloads worden ondertekend over de ruwe lichaam; API Aanroepen authenticeren met een scoped Bearer sleutel.
Automatische herhalingen - mislukte leveringen terug en opnieuw proberen, met een levering ID die u kunt traceren.
Schrijven met veilige herhaling - succesvolle idempotent schrijft geeft hetzelfde antwoord terug voor 24 uren; gelijktijdige duplicaten delen één claim.
Uw app POST /api/v1.php Autorisatie: Bearer idempotency_key: idem_31c7 VERIFIËREN - UITVOEREN - AUDITEN Uw eindpunt POST /webhooks HMAC verifiëren 200 OK sleutel + werkruimte gepind toepassingsgebied + rol gecontroleerd contract gevalideerd uitvoeren of droog laten lopen Getekende levering van Webhook { X-OpsIQ-Event: ticket. replied X-OpsIQ-Delivery: dlv_8f2a9 X-OpsIQ-Timestamp: 1786584362 X-OpsIQ-Signature: 9c4e0a7b... } geleverd
01 Bearer aanvraag 02 werkblad pin 03 het valideren van contract 04 uitvoeren of droog laten lopen 05 wachtrij ondertekend voorval
Snelstart

Van sleutel tot bestuurlijke integratie in Drie stappen.

Geef een minst-privilege sleutel, ontdek het gegenereerde contract, dry-run een schrijven, dan abonneer je op een webhook wanneer uw toepassing moet achtergrond evenement levering.

ContractconsoleVerbonden
ALGEMEEN API · contractgestuurd 1 · Sleutel genereren Op een Bearer-sleutel met bereik 2 · Ontdek contracten POST /api/v1.php · meta. actions 3 • Een schrijven valideren tickets. reply · dry_run: true 4 · Abonneren op evenementen ticket. replied · HMAC delivery
Uitvoerendry_run → goedgekeurd schrijven, zelfde contract
01

Haal een sleutel.

Meld u aan en genereer een scoped Bearer _API sleutel (opq_…) in de instellingen van de ontwikkelaar, en geven elke integratie alleen de oppervlakken die het nodig heeft.

02

Ontdek & valideren

Gelezen meta.actions, meta.action en meta.scopes; gebruik dry_run om schrijfbrieven te valideren voordat ze worden uitgevoerd.

03

& Abonneren uitvoeren

Voeg een idempotency sleutel voor schrijfsels toe, en schrijf vervolgens je eindpunt in op de canonieke gebeurtenissen die jouw toepassing nodig heeft.

Hoe het bij elkaar past

Eén connectorpatroon. Vijf schone primitieven.

Alles wat per platform specifiek in een connector leeft. De kern OpsIQ blijft generiek, de AI blijft voorspelbaar en je integratie blijft auditeerbaar.

01
Triggers

Vertel. OpsIQ Wat er net gebeurde.

Emit canonical events van uw platform, of definieer een geregeerde aangepaste gebeurtenis. Abonnees ontvangen het evenement via de geregistreerde prioriteit en leveringsregels.

Referentie gebeurtenis
invoice.paid canonische gebeurtenis AI hersenenLive context regelsprioriteit 20_ spiegelschrijf eerst webhookondertekend
Universeel + aangepaste evenementeninvoice.paid, ticket.created, subscription.cancelled, customer.signed_up Of je eigen. Abonnees voor de ventilatorDe AI-hersenen, automatiseringsregels, spiegelconnectoren en je webhaak-eindpunten reageren allemaal. PrioriteitDeterministische verzending, zodat spiegels schrijven voordat ze brand melden.
02 / Actiecontracten

Vertel OpsIQ wat de AI mag doen.

Elke genoemde operatie ontvangt een gegenereerd contract: scope, feature, lees of schrijf soort, risico, bevestigingsbeleid, aanvraag en responsschema, dry-run ondersteuning, idempotency en stabiele fouten.

Actieschema
De AI kan geen acties verzinnen.Het kan alleen vragen om degene te runnen die je hebt geregistreerd. BevestigingsbeleidRisicovolle acties leiden tot een preview kaart voordat een bijwerking. Rol + oppervlakteafdichtingElke actie verklaart de rollen en oppervlakken toegestaan om het te draaien.
gegenereerde actiecontract · 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 / Getekende webhooks

Druk gebeurtenissen naar uw stack - met cryptografische bewijs.

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.

Bescherming tegen herhalingTraceerbare leverings-ID5-step back-off
Webhook-referentie
webhook verifiëren - 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's

Gebruik directe HTTP of maak de client die u verkiest.

De volledige generaalAPI wordt gepubliceerd als OpenAPI 3.0.3 en Postman. PHP referentie afzenders plus Node en Python integratie clients dekken ondertekende event en webhook flows; elke stack kan hetzelfde bellen JSON het actieoppervlak direct.

Voorbeelden van klanten
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.",
    },
)
Directe JSON HTTPOpenAPI 3.0.3Postman collectieIntegratiehelpers
05 / Het verbindingspatroon

Bouw één keer, plug alles in.

Een connector is een bestuurd pakket dat wordt gegenereerd of geïmporteerd via Identity, Auth, Test, Acties, Triggers en Review. Het manifest verklaart de vermogensoppervlakten OpsIQ mag ontmaskeren.

Open de zestrapsbouwer
Zes geleide stadiaIdentiteit, Auth, Test, Acties, Triggers en Review houden pakketgeneratie verklaarbaar. Contractgestuurd8 profiles and 57 capability types declare the surfaces a package implements. VrijgaveVeiligheid, herkomst en conformiteitscontrole lopen voordat een pakket als gereed wordt behandeld.
Van intentie tot veilige actie

Gewoon Engels in. Gecontroleerde operatie.

OpsIQ nooit de juiste oproep uitvinden. Het loopt door de geregistreerde contracten, bereidt de lading, vraagt om bevestiging wanneer de actie vereist, en produceert een volledige audit rij als het uitvoert, dus een AI die kan besluit wordt nooit een Al die je niet kunt vertrouwen.

Contractgebonden. De AI stelt alleen acties voor die je hebt geregistreerd.
Bevestig voordat de bijwerkingen optreden. Risicovolle acties maken eerst een preview kaart zichtbaar.
Helemaal terugroepen. Elke prompt, reactie en actie resultaat vastgelegd in AI Geschiedenis.
4 stappenIntent → audit
HMACondertekend voor uitvoering
"terugbetaal Adams laatste factuur" Stap 1 · Intent resolutie → gematcht: saas. refund_invoice oppervlakte: admin · rol: eigenaar · Stap 2 valideren Stap 3 · Bevestig & ondertekenen voorbeeldkaart · factuur #8421 Bevestigen Stap 4 · Controlerij actor · prompt · resultaat · 412ms Alleen-eigenaar · exporteerbaar als CSV
Geen uitvindbare oproepenalleen contractregister
Bevestig-gaatedvoorbeeld voor bijwerkingen
Traceer aanvragenactor + contract + resultaat
Rubrieknummer

API oppervlakte in een oogopslag.

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 referentie
ActieAuthSchrijfveiligheidMaximumhoeveelheid
Acties schrijvenPOST /api/v1.php · contract gevalideerd
ACTION tickets.replytickets.writedroog_run + idempotencyGeconfigureerd / uur
ACTION security.reportsecurity.writedroog_run + idempotencyGeconfigureerd / uur
ACTION platform.routes.writeadminbevestiging + sleutelGeconfigureerd / uur
& Ontdekkingsacties lezenZelfde POST oppervlak · stabiele enveloppen
ACTION meta.actionsOpenbare ontdekkingAlleen lezenGeconfigureerd / uur
ACTION tickets.listtickets.readAlleen lezenGeconfigureerd / uur
ACTION connectors.listconnectors.readAlleen lezenGeconfigureerd / uur
PeopleOS HR-actiesGecureerd hr.* contracten · hr.read / hr.write toepassingsgebied
ACTION hr.people.listhr.readAlleen lezenGeconfigureerd / uur
ACTION hr.people.createhr.writedroog_run + idempotencyGeconfigureerd / uur
ACTION hr.org.treehr.readAlleen lezenGeconfigureerd / uur
PeopleOS HR stuurt geen uitgaande HR webhook-evenementen. Bereik het via hetzelfde POST-oppervlak of schrijf je in op de gebeurtenissen die andere modules publiceren. Volledige referentie: PeopleOS API en connectoren en de PeopleOS-sectie van de ontwikkelaarreferentie. De module is recht gegated, dus een sleutel zonder hr Hij krijgt een weigering, geen lege lijst. Wat PeopleOS HR is.

De limiet van de tarieven wordt per sleutel ingesteld op een uur venster. X-RateLimit-Limit, X-RateLimit-Remaining en X-RateLimit-Reset; een afgewezen verzoek wordt teruggestuurd 429 met Retry-After. Gebruik de OpenAPI 3.0.3 contract of Postman collectie gegenereerd uit dezelfde runtime registers.

Bouw een connector

Bouwen, testen en loslaten in Zes stappen.

Start vanuit een bepaald profiel of definieer het contract zelf. De Builder valideert elke fase voordat het een zelfstandig connectorpakket genereert.

1Identiteit. Naam, kogel, profiel en opgegeven vermogensoppervlakken.
2Auth. API sleutel, _Bearer, Basic, ___OAuth, ________2.0, HMAC of een aangepaste client.
3Test. Valideer de begrensde verbinding instellingen voordat verpakking.
4Acties. Kaart genoemd operaties, parameters, scopes en risico.
5Triggers. Inkomende gebeurtenissen, webhooks, peilingen en synchroon gedrag verklaren.
6Beoordeling. Controleer het gegenereerde contract en passeer de release gate.
Test voordat u het schip

Valideer veilig, dan passeer de release gate.

Gebruik dry_run bij ondersteunde schrijfacties, voer de aan de Builder grenzende verbindingstest uit en inspecteer het gegenereerde manifest en contract voordat ze worden vrijgegeven. Pakketvalidatie controleert de namen van mogelijkheden, instellingen, herkomst en vereiste bestanden; achtergrondmedewerkers behandelen reactieve polling en uitgaande levering.

Dry-run schrijft Test van de verbonden verbinding Contract conformatie Cron-gedreven levering
connector. php · php
klasse AcmeConnector breidt uit AbstractConnector { publieke functie Slak(): tekenreeks { retour 'acme'; } publieke functie naam(): tekenreeks { retour Acme; } publieke functie beschrijving(): tekenreeks { retour 'Acme brug'; } // Gebruik namen van connectorcontract publieke functie mogelijkheden(): array { retour ["acties", 'webhook']; } publieke functie instellingenSchema(): array { retour [['Key' => 'getoken', "type" => "wachtwoord"]]; } publieke functie testconnectie(array $settings): array { retour ["succes" => waar]; } publieke functie HandleWebhook( array $payload, array $headers, array $settings ): array { retour ["succes" => waar]; } }
01 · Connector contract 2.4

Een pakket kan geen vermogen claimen De code heeft geen.

OpsIQ\Connectors\ConnectorContract is het gezag. Runtime ontdekking, de Bouwer, first-party pakketten, conformance, de General API en elke verwijzing lees dat een register. Aangeven van een mogelijkheid en drie bestanden moeten met elkaar overeenkomen vóór OpsIQ leidt één rij naar je toe.

VIG. 01connector pakket, onderdelen manifest scale 1:1 · contract 2.4
  1. 01 connector.php de runtime klasse
  2. 02 IdentityProvider.php stabiele externe sleutel
  3. 03 SalesIngest.php combineer sales()
  4. 04 actions.json genoemde bewerkingen
  5. 05 settings.json configuratie van de operator
  6. 06 connector_contract.json machineleesbare autoriteit
07 signature.json één HMAC Over een SHA-256 van elk dossier hierboven, plus een ed25519 bewijs van oorsprong
Capaciteitsmatrix all 57, as registered
acties triggers webhook journey_events context guest_lookup identiteit sales sales_reconciliation facturering 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 lokaal dit site_intelligence analyse comms admin_assets enterprise_hooks durable_queue ticket_mirror attachment_bridge database_migrations scheduled_workers conflict_resolution
gegenereerd 30 declaratief 20 uitbreiding 7
Twee handtekeningen, twee vragen.

hmac-sha256 over een deterministische lading van per-bestand SHA-256 hashes antwoorden is dit gewijzigd sinds ondertekening- Een. ed25519 handtekening antwoorden Was het ondertekend door Nabtech, controleerbaar met de gebundelde publieke sleutel en geen gedeeld geheim. Bewerk een byte en de eerste stops overeenkomen.

marketplace.json is buiten de handtekening per definitie: het installatieprogramma schrijft het na ondertekening, zodat de uitgever nooit kon hebben ondertekend.
02 · gereedschap/mutatie_proof. php

Een bewaker die nooit heeft gefaald is niet bewezen.

Groene tests zeggen dat je vandaag niets gebroken hebt. Ze vertellen niet dat de bewaker die je schreef zou stoppen met wat er geschreven staat, omdat een bewakers die nooit geoefend worden precies als een wachter voorbij gaan die niets doet. Dus we stoppen zijn hart expres en eisen dat de monitor gilt.

guard · leesrol moet een destructieve operatie weigeren CH1 verify_commerce_contracts
src/Connectors/CommerceRoleMapVerifier.php VERMUT
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    }
Precies. één Er zijn geen overeenkomsten of twee en het bewijs stopt voordat het kan liegen.
$ 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.
Een mislukt bewijs is nooit Bewijs dat een cheque fout ging is geen bewijs dat een bewaker werkt.

De mutatie is nooit toegepast.

De zoektekst kwam niet overeen, het bestand was onaangeroerd, de suite is doorgegaan en het bewijs is opgenomen groen onder de oude code over code die nooit oud was. Gevangen door precies één tekstuele match te eisen en bestandshashes aan beide kanten te vergelijken.

De mutatie brak iets anders.

De suite werd rood omdat het dossier stopte met ontleden of de bootstrap stierf, en het bewijs nam een rode die niets te maken had met de bewaker. Gevangen door het plinten van de mutant en het eisen van de genaamd test onder de mislukkingen.

Het kan geen mutant op schijf achterlaten.

Elke mutatie kopieert het origineel naar een zijspan buiten de web-servered boom, schrijft een markeerder die de opmerkelijke verandering noemt en wordt ongedaan gemaakt door een uitschakelbehandelaar op elk afslagpad. Een markering van een gecrashte run wordt geëerd voordat de volgende mutatie van dat bestand.

03 · Verandering

Certificering is een opdracht met een uitgangscode.

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/ dekking instellingen, acties, Builder specificaties, reis en commercie event mappings, workflow recepten, connector contracten en release manifests.

  1. manifests met elkaar te parsen en het eens zijn
  2. mogelijkheden bestaan op de runtime klasse
  3. interfaces uitgevoerd indien aangegeven
  4. files elk gewenst bestand aanwezig
  5. acties overeenkomen met de acties manifest
  6. destructive declareer bevestiging
  7. identiteit een stabiele externe sleutel, geen e-mail
  8. opnieuw afspelen een herhaling van updates, nooit dupliceert
  9. onderneming verklaringen komen overeen met de uitbreiding
  10. documenten LEZING, DEVELOPER, VERANDERINGSLAG
  11. schema's elke JSON valideert
afsluiten 0 acme: conformant against contract 2.4 Een suite die niet werkt noemt de cheque en het dossier.
$ 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

De eerste op een echte niet-productierekening wijzen met --live-settings=/secure/test-acme.json. Terwijl u nog steeds aan het itereren bent, ruil de laatste voor --unsigned-ok: het behandelt een ontbrekende handtekening als een verwachte waarschuwing in plaats van te doen alsof het prima is.

04 · handels_rollen.json

Aangeven wat je kunt verkopen is een bestand, geen registratie.

Een connector die kan verkopen, verklaart welke van haar eigen Opdrachten beantwoorden OpsIQ's canonieke handel rollen. De aanwezigheid van het bestand is de claim. Het verschijnt in de verkoopinstellingen op het moment dat het verklaart en verdwijnt wanneer het stopt. Er is geen lijst om mee te doen en niemand om naar te vragen.

canonische rol commerce_roles.json uw operatie
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 generieke record schrijven, geen herstel
WEIGERING

Een canonieke schrijven rol die is toegewezen aan een algemene record schrijven. De match is structureel: een opslagnaamwoord naast een veranderend werkwoord, ongeacht uw naamgeving conventie. Het schrijven van de bedrijfsrij direct slaat prijzen, beschikbaarheid vergrendeling en bevestiging mail van het platform, en produceert een bestelling de handelaar eigen systeem slechts half gelooft in. Nee recovery Een time-out is dus niet te herstellen.

commerce_roles.jsonGELDIG
{
  "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" }
    }
  }
}
Het eigen dossier is bedoeld om: connector_contract.json wordt gegenereerd en zijn schema-sets additionalProperties:falseEen met de hand geschreven blok zou dus falen en dan worden overschreven op de volgende generatorrun.
01
Gesloten woordenschat

Een rol die niet in CommerceRole bestaat niet. OpsIQ leidt er nooit een uit een operatienaam, omdat een naam geen belofte is.

02
Uw eigen optreden

De operatie moet verschijnen in uw actions.json. Een verklaring die niet bestaat belooft de klant iets dat vervolgens produceert niets.

03
Schrijven verklaren de terugvordering

De gevaarlijkste timeout is degene nadat het platform al gedaan kan hebben. Zonder een idempotent "heeft mijn schrijfland" opzoeking, de enige opties zijn opnieuw proberen blind of verliezen van de bestelling.

04
Betalingstaken certificeren

Elke rol van betalingsklasse verklaart ook payment_profile met de milieu, webhook_verify gebruik maken van de eigen regeling van de aanbieder, en event_map. Een onopgegeven omgeving is hoe een test-mode provider een live betaling neemt.

De Builder valideert deze als u typt en de verificateur valideert het verzonden pakket. Beiden bellen dezelfde functies, zodat ze niet kunnen tegenspreken.
⚖️Hoe het vergelijkt

OpsIQ vs een Integratie van doe-het-zelf.

Wat een contract gebonden, ondertekend, gecontroleerd platform geeft je dat het rollen van uw eigen webhooks en AI-actie loodgieters nooit zal.

VermogenRol je eigenOpsIQ_
Scoped Bearer API + HMAC-ondertekende webhooks met de hand gewalst
Dry-run schrijft + 24-uur succesvolle herhaling Doe-het-zelf
1m→5m→30m→ 2h → 12hherstarten DIY wachtrij
Actie-contract register (AI kan oproepen niet uitvinden)
Bevestigingsbeleid vóór bijwerkingen
Stabiele fout envelop + verzoek ID's Handmatig loggen
Directe HTTP + gegenereerde clientopties Schrijf je eigen
OpenAPI 3.0.3 machineleesbaar contract Misschien.
Zestraps bouwer + pakket release gate Een gereedschapsketen bouwen
Werkruimte-gepinde sleutels en uurlimieten Varieert
Connectorpatroon: platformcode blijft geïsoleerd
Veelgestelde vragen

Ontwikkelaarsvragen, Antwoord.

Authenticatie, contracten, retrieves, klantgeneratie, veilige testen en het connectormodel, voor de eerste productieaanvraag.

Algemene API -gesprekken verzenden Authorization: Bearer opq_…. Sleutels kunnen onbeperkt, beperkt of alleen-lezen zijn, hebben een minst privilege scopen, gehoorzamen aan een uurlimiet en kan worden gepind op een werkruimte. Webhook ondertekening is apart: uitgaande leveringen dragen X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event en X-OpsIQ-Delivery.
Nee. De AI kan alleen genoemde operaties voorstellen in het actieregister. Elk gegenereerd contract verklaart reikwijdte, aanvraag velden, risico en bevestigingsbeleid; bewerkingen waarvan de beleid vereist dat een bevestiging oppervlak van een menselijke preview voor uitvoering.
Bezig met berekenen hash_hmac('sha256', $rawBody, $secret) en vergelijk zijn hexadecimale vertering met X-OpsIQ-Signature gebruik hash_equals. Valideren X-OpsIQ-Timestamp binnen uw afspeelvenster en gebruik X-OpsIQ-Delivery als traceerbaar leveringsnummer.
Een niet-succesvolle poging komt in de achtergrond levering wachtrij. OpsIQ De Commissie heeft de Raad een voorstel voor een richtlijn doen toekomen.1- minuten, 5- minuten, 30- minuten,2- uur en 12-uur ladder met behoud van de levering identificatie en poging geschiedenis voor diagnoses.
Bel de JSON actieoppervlak direct, importeer de gegenereerde Postman collectie of maak een klant van OpenAPI 3.0.3. PHP referentie afzenders en Node/Python integratie clients ondersteunen event en webhook stromen; ze zijn helpers in plaats van gescheidenAPI contracten.
Gebruik dry_run over acties waarvan het gegenereerde contract het ondersteunt, voer de aan de Connector Builder grenzende verbindingstest uit, inspecteer zijn gegenereerde bestanden en passeer de pakket conformance en laat poorten vrij voordat u de connector als klaar behandelt.
De geïnstalleerde release genereert de API en connector contracten uit haar eigen runtime registers. Uw implementatie bezit zijn publiek URL, geheimen, opslag en cron / werknemers, dus gedrag moet worden geverifieerd tegen de geïnstalleerde release in plaats van aangenomen uit een cloud omgeving.
Een connector is een pakket dat de adapter bevat, settings.json, facultatief actions.json, een gegenereerde capaciteit contract, documentatie en optionele bedrijfsextensies. De zes-trap Builder assembleert het; de register ontdekt het; overeenstemming en release poorten valideren.