Maak uw platform Al-operable.
OpsIQ stelt een schoon REST API, HMAC-gesigneerde webhooks, een actie-contract register en kant-en-klare SDK's bloot. Bepaal welke gebeurtenissen uit uw systeem schieten, welke acties de AI mag uitvoeren en welke gegevens veilig zijn om te lezen. OpsIQ behandelt handtekeningen, herhalingen, audit logs en bevestigingsstromen voor u.
Verzoek om in te mogen. Getekend webhook uit.
Je POST naar de OpsIQ API met je scoped Bearer key. OpsIQ controleert de omvang en rol, voert de gecontracteerde actie, schrijft een audit rij - dan vuurt een HMAC-signed webhook terug naar uw eindpunt. Elke hop is geauthentiseerd, idempotent en opnieuw getest bij falen.
Van nul naar een live integratie in Vier stappen.
Genereer een sleutel, vuur je eerste evenement af, schrijf je in op een webhook, registreer een actie. Je kunt de hele lus tegen de zandbak draaien voordat je productiegegevens aanraakt.
Haal een sleutel.
Aanmelden en een scoped drager genereren API sleutel (opq_…) in de instellingen van de ontwikkelaar, en geven elke integratie alleen de oppervlakken die het nodig heeft.
Vuur & abonneren
POST een ondertekend events/fire (of gebruik een SDK) en wijs dan elke URL_ op elk evenement, ondertekend, met een levering ID en back-off opnieuw.
Een actie registreren
Een ondertekend actiecontract aangeven zodat de AI veilig kan opereren, met rolcontroles, bevestigingsbeleid en een volledig auditspoor.
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.
Vertel.OpsIQWat er net gebeurde.
Brand universele gebeurtenissen vanaf uw platform - of uw eigen aangepaste evenementnamen. Elke abonnee reageert in real time, in prioriteitsvolgorde.
Referentie gebeurtenisinvoice.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.
Vertel OpsIQ wat de AI mag doen.
Een actie contract is een ondertekende JSON verklaring: wat de actie doet, welke rollen kan uitvoeren, welke parameters het accepteert, of bevestiging nodig is, en het eindpunt om aan te roepen.
Actieschema{
"key": "saas.refund_invoice",
"label": "Refund a paid invoice",
"surface": ["admin"],
"roles": ["owner", "billing_admin"],
"requires_confirmation": true,
"params": {
"invoice_id": { "type": "int", "required": true },
"reason": { "type": "string", "max": 500 }
},
"endpoint": "https://api.you.com/refund",
"audit": true
}
Druk gebeurtenissen naar uw stack - met cryptografische bewijs.
Abonneer je op eender welke gebeurtenis URL_ OpsIQ_ POSTs the JSON payload ondertekend met HMAC-SHA256 over de ruwe body - verifieer het in een paar regels.
$raw = file_get_contents('php://input');
$sig = $_SERVER['HTTP_X_OPSIQ_SIGNATURE'] ?? '';
$expected = hash_hmac('sha256', $raw, $secret); // hex digest, no prefix
if (!hash_equals($expected, $sig)) http_response_code(401);
$event = json_decode($raw, true);
Drop-in clients voor de taal die u al gebruikt.
Drie officiële SDK's behandelen authenticatie, ondertekening, retrieves, idempotency toetsen en getypte reacties. Of blijf framework-vrij - elke SDK is een dunne wrapper rond hetzelfde REST oppervlak.
import { OpsIQ } from "@opsiq/sdk";
const ops = new OpsIQ({ apiKey: process.env.OPSIQ_KEY });
await ops.events.fire("order.shipped", {
customer_id: 421,
order_ref: "NB-9182",
carrier: "DHL"
});
const result = await ops.actions.run("saas.send_kb_link", {
ticket_id: 5519,
article: "how-to-reset-password"
});
use OpsIQ\Client;
$ops = new Client([
'api_key' => getenv('OPSIQ_KEY'),
]);
$ops->events->fire('order.shipped', [
'customer_id' => 421,
'order_ref' => 'NB-9182',
]);
$result = $ops->actions->run('saas.send_kb_link', [
'ticket_id' => 5519,
'article' => 'how-to-reset-password',
]);
from opsiq import OpsIQ
ops = OpsIQ(
api_key=os.environ["OPSIQ_KEY"],
)
ops.events.fire("order.shipped", {
"customer_id": 421,
"order_ref": "NB-9182",
})
result = ops.actions.run("saas.send_kb_link", {
"ticket_id": 5519,
"article": "how-to-reset-password",
})
Bouw één keer, plug alles in.
Een connector is een map met één PHP-klasse. OpsIQ ontdekt het, de register draden van de gebeurtenissen en uw platform specifieke code blijft schoon gescheiden van de kern.
Hulplijn voor connectorenidentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook().
Manifest-gedrevenactions.json en settings.json contracten en configuren aanmelden.
Automatisch ontdektLaat de map vallen, teken het, zet het in admin.
Gewoon Engels in. Gecontroleerde operatie.
OpsIQ_ verzint nooit de juiste oproep. Het loopt door de geregistreerde contracten, bereidt de lading, vraagt om bevestiging wanneer de actie vereist, en produceert een volledige audit rij wanneer het uitvoert, dus een AI die kan besluit wordt nooit een Al die je niet kunt vertrouwen.
API oppervlakte in een oogopslag.
Elk kerneindpunt, zijn auth, idempotentie en per-key snelheid limiet. De volledige machine leesbare contract leeft in de OpenAPI 3.0.3 referentie.
POST /v1/events/fireHMACJa.1000/minPOST /v1/actions/runHMACJa.200/minPOST /v1/webhooks/testHMACJa.60/minGET /v1/customers/{id}HMACJa.2000/minGET /v1/ticketsHMACJa.2000/minGET /v1/connectorsHMACJa.2000/minDe limiet van de tarieven is per sleutel en wordt op elke reactie als X-OpsIQ-RateLimit-Remaining; overschrijding van een limietrendement 429 met een Retry-After header. Het volledige machineleesbare contract (elke eindpunt, schema en fout) leeft in de OpenAPI 3.0.3_ referentie.
Schip een connector in Vijf stappen.
Een connector is een zelfstandige map. OpsIQ ontdekt het, de register draden van de gebeurtenissen, en uw platform-specifieke code nooit lekken in de kern.
connector.php verlengen AbstractConnector.actions.json en settings.json manifesten.Een zandbaksleutel en een webhaaktester.
Elke werkruimte stelt een zandbak bloot: een aparte toets die dezelfde API_ oppervlak raakt zonder productiegegevens aan te raken. POST /v1/webhooks/test om een ondertekende levering van monsters op uw eindpunt af te vuren en uw handtekeningverificatie te bevestigen voordat u live gaat. Zelfgehoste installaties draaien hetzelfde codepad, zonder gedragsdrift tussen cloud en on-prem.
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.
| Vermogen | Rol je eigen | OpsIQ_ |
|---|---|---|
| HMAC-signed requests & webhooks (both ways) | Hand-rolled | ✓ |
| Idempotency keys + replay protection | DIY | ✓ |
| Automatic back-off retries with delivery IDs | DIY queue | ✓ |
| Action-contract registry (AI can't invent calls) | — | ✓ |
| Confirmation policy before side-effects | — | ✓ |
| 100% audit-log coverage on actions | Manual logging | ✓ |
| Official PHP / Node / Python SDKs | Write your own | ✓ |
| OpenAPI 3.0.3 machine-readable contract | Maybe | ✓ |
| Sandbox keys + webhook tester | Build a staging rig | ✓ |
| Cloud & self-hosted parity (same code path) | Varieert | ✓ |
| Connector pattern: platform code stays isolated | — | ✓ |
Ontwikkelaarsvragen, Antwoord.
Auth, handtekeningen, SDK's, sandboxing en het connectormodel: alles wat u voor het eerste verzoek vraagt.
Authorization: Bearer opq_…. OpsIQ controleert de omvang van de sleutel en de rol van de actor voordat er iets wordt uitgevoerd. Webhooks zijn apart: elke webhook OpsIQ stuurt draagt een X-OpsIQ-Signature (een hex HMAC-SHA256 van het ruwe lichaam) en een X-OpsIQ-Timestamp voor replay bescherming, zodat u ons kunt controleren in ruil, en inkomende webhooks die u verzendt worden op dezelfde manier geverifieerd.requires_confirmation een previewkaart aan een mens geeft voordat het neveneffect loopt.hash_hmac('sha256', $rawBody, $secret) (een hex-verterend zonder voorvoegsel) en vergelijk het met de X-OpsIQ-Signature kop met constante controle (hash_equalsElke levering bevat ook een tijdstempel, een idempotency sleutel en een levering ID die u kunt traceren. De PHP knipsel op deze pagina is de hele verificatie.POST /v1/webhooks/test om een ondertekende monster levering op uw eindpunt te schieten en uw verificatie te bevestigen voordat u live gaat.AbstractConnector, plus actions.json en settings.json manifesten. identityProviders(), contextProviders(), registerActions(), subscribers() en handleWebhook(). OpsIQ_ auto-ontdekt het, bedraden de gebeurtenissen en houdt uw platform-specifieke code schoon gescheiden van de kern.