Zrób platformę - AI-operable.
OpsIQ ujawnia czysty REST API, haki HMAC- podpisane, rejestr działań-kontrakt i ready-to- statek SDK. Określ jakie zdarzenia wypalić z systemu, jakie działania AI jest dozwolone do uruchomienia, a jakie dane są bezpieczne do odczytania. OpsIQ obsługuje podpisy, powtórzenia, dzienniki audytu i przepływ potwierdzenia dla Ciebie.
Proszę o pomoc. Podpisano haczyk.
Po zakończeniu OpsIQ API z kluczem do właściciela. OpsIQ sprawdza zakres i rolę, działa zakontraktowane działanie, pisze wiersz audytowy - następnie odpala haka HMAC- podpisanego na stronie do punktu końcowego. Każdy hop jest uwierzytelniony, idemotive i ponownie próbował na niepowodzenie.
Od zera do integracji na żywo w cztery kroki.
Generuj klucz, odpal swoje pierwsze zdarzenie, subskrybuj haczyk, zarejestruj akcję. Możesz uruchomić całą pętlę z piaskownicą przed dotknięciem danych produkcyjnych.
Weź klucz.
Zarejestruj się i wygeneruj powiększenieAPIklucz (opq_…) w ustawieniach deweloperów i dać każdej integracji tylko powierzchnie, których potrzebuje.
& Zaprenumeruj
POST podpisanego events/fire (lub użyć SDK), a następnie wskazać dowolny URL w każdym zdarzeniu, podpisane, z identyfikatorem dostawy i cofnięcia ponownie.
Zarejestruj się
Zdecyduj się na podpisaną umowę o działaniu, aby SI mogła bezpiecznie prowadzić operacje, z kontrolami roli, polityką potwierdzającą oraz pełną ścieżką audytu.
Jeden wzór złącza. Pięć czystych prymitywów.
Wszystko, co jest platformów- specyficzne życie w złączu. OpsIQ rdzeń pozostaje ogólny, AI pozostaje przewidywalny, a integracja pozostaje kontrolowana.
Powiedz OpsIQ, co się właśnie stało.
Wypalić uniwersalne wydarzenia z platformy - lub własne nazwy zdarzeń niestandardowych. Każdy abonent reaguje w czasie rzeczywistym, w kolejności priorytetowej.
Odniesienie do zdarzeniainvoice.paid, ticket.created, subscription.cancelled, customer.signed_up Albo swoją własną.
Abonenci fanoutMózg AI, zasady automatyzacji, złącza lustrzane i punkty końcowe haka webowego reagują.
Porządek priorytetowyDeterminacyjne wysłanie więc lustra pisać przed alarmami ognia.
Powiedz OpsIQ, co AI może robić.
Umowa o działanie jest podpisaną deklaracją JSON: co robi działanie, jakie role mogą go uruchomić, jakie parametry akceptuje, czy wymagane jest potwierdzenie oraz punkt końcowy do wywołania.
Schemat działania{
"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
}
Wciśnij zdarzenia do stosu - z kryptograficznym dowodem.
URL na każde wydarzenie. OpsIQ POSTs JSON ładunek załadowany podpisem HMAC- SHA256 nad ciałem surowym - zweryfikuj go w kilku liniach.
$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);
Upadek w klientach dla języka, którego już używasz.
Trzy oficjalne SDK obsługują uwierzytelnianie, podpisywanie, powtórzenia, idepotencję i odpowiedzi wpisywane. Albo pozostań bez framework - każdy SDK jest cienkim owijaczem wokół tej samej powierzchni REST.
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",
})
Zbuduj raz, podłącz się do wszystkiego.
Złącze jest folderem z jedną klasą PHP. Odkrywa go OpsIQ, rejestr łączy zdarzenia, a kod specyficzny dla platformy pozostaje czysty oddzielony od rdzenia.
Przewodnik po złączuidentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook().
Napędzane manipulacyjnieactions.json oraz settings.json deklaruje kontrakty i konfigi.
Auto- decoverageWrzuć folder, podpisz go, włącz w admin.
Zwykły angielski. Operacja zakończona.
OpsIQ nigdy nie wypowiada właściwego połączenia. Przechodzi przez zarejestrowane kontrakty, przygotowuje ładunek, prosi o potwierdzenie, kiedy działanie tego wymaga, i tworzy kompletny wiersz audytu, gdy wykonuje, więc AI, które mogą działanie Nigdy nie stanie się sztuczną inteligencją, której nie można ufać.
Powierzchnia API - Na pierwszy rzut oka.
Każdy główny punkt końcowy, jego aut, idepotencja i per- key limit szybkości. Pełna umowa do odczytu maszynowego żyje w OpenAPI 3.0.3 odniesienia.
POST /v1/events/fireHMACTak.1000 / minPOST /v1/actions/runHMACTak.200 / minPOST /v1/webhooks/testHMACTak.60 / minGET /v1/customers/{id}HMACTak.2000 / minGET /v1/ticketsHMACTak.2000 / minGET /v1/connectorsHMACTak.2000 / minLimity stawek są na klucz i zwracane na każdej odpowiedzi jako X-OpsIQ-RateLimit-Remaining; przekroczenie limitu zwrotu 429 o Retry-After nagłówek. Pełna umowa do odczytu maszynowego (każdy punkt końcowy, schemat i błąd) żyje w OpenAPI3.0.3odniesienie.
Statek złącze w 5 kroków.
Złącze jest folderem samozasypanym. Odkrywa go OpsIQ, rejestr łączy zdarzenia, a kod specyficzny dla platformy nigdy nie przecieka do rdzenia.
connector.php rozszerzające AbstractConnector.actions.json oraz settings.json manifesty.Klucz do piaskownicy i tester haka.
Każda przestrzeń robocza eksponuje piaskownicę: oddzielny klucz skalowany, który uderza w tę samą powierzchnię API bez dotykania danych produkcyjnych. POST /v1/webhooks/test aby odpalić podpisaną próbkę dostawy na Twoim punkcie końcowym i potwierdzić swoją weryfikację podpisu przed przejściem na żywo. Instalacje Self-host uruchomić identyczną ścieżkę kodu, bez dryfowania behawioralnego między chmurą i on- prem.
OpsIQ vs a Integracja DIY.
Co za umowa, podpisane, skontrolowane platformy daje Ci, że toczenie własnych haków internetowych i AI- działania hydraulika nigdy nie będzie.
| Zdolność | Zrób własny | 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) | Zmienne | ✓ |
| Connector pattern: platform code stays isolated | — | ✓ |
Pytania deweloperów, Odebrałem.
Auth, podpisy, SDK, piaskownica i model złącza: wszystko, o co poprosisz przed pierwszym wnioskiem.
Authorization: Bearer opq_…. OpsIQ sprawdza zakres klucza i rolę aktora przed wszystkim działa. Haki są oddzielone: każdy hak OpsIQ wysyła X-OpsIQ-Signature (a hex HMAC- SHA256 ciała surowego) i X-OpsIQ-Timestamp dla ochrony replay, dzięki czemu możesz zweryfikować nas w zamian, a przychodzące haki internetowe są sprawdzane w ten sam sposób.requires_confirmation przed uruchomieniem efektu ubocznego nabiera powierzchni karty podglądu dla człowieka.hash_hmac('sha256', $rawBody, $secret) (hex digest bez przedrostka) i porównać go z X-OpsIQ-Signature nagłówek z kontrolem czasu constant- time (hash_equals). Każda dostawa zawiera również znacznik czasu, klucz idepotencji i ID dostawy można śledzić.POST /v1/webhooks/test aby odpalić podpisaną próbkę w punkcie końcowym i potwierdzić swoją weryfikację przed rozpoczęciem życia.AbstractConnector, plus actions.json oraz settings.json manifesty. Wdrażasz identityProviders(), contextProviders(), registerActions(), subscribers() oraz handleWebhook(). OpsIQ odkrywa go automatycznie, przewoduje zdarzenia i utrzymuje swój kod specyficzny dla platformy czysto oddzielony od rdzenia.