Platforma programistów · Ogólne API · Haki webhacks · złącza

Zrób platformę - AI-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.

Zakres kluczy Bearer2,420 contract actionsOpenAPI 3.0.3 + _PostmanDostawa haka HMAC
Zapytanie o rozpoznanie
Podpisany haczyk internetowy → 200 OK
Żywe Akcja Bearer → akcja _OpsIQ → podpisany webhook POST /api/v1.php Autoryzacja: Bearer { "action": "tickets. response", "dry_run": true WERYFIKACJA · RUN · KONTROLA klucz + przestrzeń robocza ✓ zakres i umowa✓ wniosek punkt końcowy haka webowego X-OpsIQ-Event: ticket.response weryfikuje uchwyt HMAC → 200 OK
2,420Nazwa ogólna API działania
69Soczewki z najniższym poziomem uprzywilejowania
dry_runzatwierdzanie umów na piśmie przed wykonaniem
24hudane powtórzenie idempotent- write
Okres życia wniosku

Zgłoszenie. Podpisano wydarzenie.

POST działania /api/v1.php with a scoped Bearer klucz. OpsIQ Subskrybowane zdarzenia kanoniczne opuszczają kolejkę dostarczania podpisaną przez HMAC z identyfikowalnymi próbami i ograniczonymi powtórkami.Subscribed canonical events leave through a HMA C-signed delivery queue with traceable attempts and bounded retry.

HMAC- SHA256 haki webhacks - przychodzące i wychodzący ładunek webhooka są podpisywane nad surowym ciałem; API połączenia uwierzytelniają się za pomocą klucza o zasięgu _Bearer.
Automatyczne powtórki - nieudany powrót dostaw i ponowny próba, z identyfikatorem dostawy można wyśledzić.
Replay- safe writes - udane naśladowcy pisze zwraca tę samą odpowiedź dla godzin 24; równoczesne duplikaty współdzielą jedno twierdzenie.
Twoja aplikacja POST /api/v1.php Autoryzacja: Bearer idempotency_key: idem_31c7 WERYFIKACJA - RUN - KONTROLA Twój punkt końcowy POST /webhooks weryfikuje HMAC 200 OK klucz + przestrzeń robocza przypięta zakres + sprawdzona rola zatwierdzono umowę wykonanie lub suszenie OZNAKOWANIE WEBHOOK { X-OpsIQ-Event: ticket. responded X-OpsIQ-Delivery: dlv_8f2a9 X-OpsIQ-Timestamp: 1786584362 X-OpsIQ-Signature: 9c4e0a7b... } dostarczony
01 Bearer zapytanie 02 miejsce pracy pin 03 zatwierdzanie umowy 04 wykonanie lub suszenie 05 zdarzenie podpisane kolejką
Szybki start

Od kluczowego do regulowanego integracji w 3 kroki.

Wydanie klucz lest- przywilej, odkryj wygenerowany kontrakt, susz-uruchomić zapis, a następnie subskrybować haka, gdy aplikacja potrzebuje dostawy zdarzeń w tle.

Konsola kontraktacjiPołączone
OGÓLNY API · kontrakt napędzany 1 · Generuj klucz opq_live_xxx · jeden klucz o zakresie Bearer 2 · Odkryj kontrakty POST /api/v1.php · meta. actions 3 · Potwierdź zapis tickets. response · dry_run: true 4 · Subskrybować wydarzenia ticket. responded · dostawa HMAC
Wykonajdry_run → Zatwierdzony zapis, ta sama umowa
01

Weź klucz.

Zarejestruj się i wygeneruj zakres Bearer API klucz (opq_…) w ustawieniach deweloperów i dać każdej integracji tylko powierzchnie, których potrzebuje.

02

Odkryj & walidację

Czytaj meta.actions, meta.action oraz meta.scopes; stosowanie dry_run do walidacji pisów przed wykonaniem.

03

Wykonaj & subskrypcję

Dodaj klucz idepotencji do pisania, a następnie subskrybuj swój punkt końcowy do zdarzeń kanonicznych, których potrzebujesz.

Jak to pasuje do siebie

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.

01
Wyzwalacze

Powiedz OpsIQ, co się właśnie stało.

Emit zdarzenia kanoniczne z platformy, lub zdefiniować zarządzane niestandardowe wydarzenie. Subskrybenci otrzymują zdarzenie poprzez zarejestrowanego priorytetu i zasad dostawy.

Odniesienie do zdarzenia
invoice.paid zdarzenie kanoniczne Mózg ptasiej grypykontekst żywy zasadypriorytet 20 lusterkoNajpierw pisz hakPodpisane
Universal + niestandardowe 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.
02 / Umowy o działania

Powiedz OpsIQ, co AI może robić.

Każda operacja otrzymuje wygenerowany kontrakt: zakres, funkcję, rodzaj odczytu lub zapisu, ryzyko, polityka potwierdzająca, schemat żądania i odpowiedzi, wsparcie suchy, idepotencja i stabilne błędy.

Schemat działania
AI nie może wymyślać działańMoże tylko poprosić o prowadzenie tych, które zarejestrowałeś. Polityka potwierdzaniaRyzykowne działania uruchamiają kartę podglądu przed jakimkolwiek efektem ubocznym. Rola + bramka powierzchniowaKażde działanie określa role i powierzchnie, które można uruchomić.
wygenerowana umowa działania · 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 / Podpisane haki

Wciśnij zdarzenia do stosu - z kryptograficznym dowodem.

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.

Ochrona przed powtórnymi odtwarzaniamiIdentyfikator dostawy nadający się do śledzenia5-step back-off
Odniesienie do haka internetowego
weryfikują haczyk 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

Użyj bezpośredniego HTTP lub wygeneruj klienta, którego preferujesz.

Pełni GenerałAPI jest publikowany jako OpenAPI 3.0.3 i Postman. Senders odniesienia PHP plus Node i Python klientów integracji pokrycie podpisanego zdarzenia i webhook przepływu; każdy stos może wywołać ten sam JSON bezpośrednio na powierzchni działania.

przykłady klientów
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.",
    },
)
Bezpośredni JSON HTTPOpenAPI 3.0.3Postman kolekcjaPomocnicy integracji
05 / Wzór łącznika

Zbuduj raz, podłącz się do wszystkiego.

Złącze jest pakietem zarządzanym generowanym lub importowanym przez Identity, Auth, Test, Akcje, Przyciągi i Przegląd. Jego manifest deklaruje powierzchnie możliwości OpsIQ może ujawnić.

Otwórz sześciostrzałowy Builder
Sześć etapów przewodnictwaTożsamość, Auth, Test, Działania, Przyciągi i Przegląd zachować wytwarzanie pakietów wyjaśnione. Zadanie umowne8 profiles and 57 capability types declare the surfaces a package implements. ZmniejszoneKontrola bezpieczeństwa, pochodzenia i zgodności przeprowadzana przed uznaniem opakowania za gotowe.
Od intencji do bezpiecznego działania

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

- Związane z umową. AI proponuje tylko działania, które zarejestrowałeś.
Potwierdzić przed skutkami ubocznymi. Ryzykowne działania najpierw wynurzają kartę podglądu.
- Kompletnie sobie przypomniałem. Każdy sygnał, odpowiedź i wynik akcji uchwycony w historii AI.
Etapy4Intent → audyt
HMACpodpisane przed wykonaniem
"Zwróć ostatnią fakturę Adama" Krok 1 · Rozdzielczość intencji → dopasowane: saas.refund_invoice Powierzchnia: admin · rola: właściciel · Krok 2 walidate Krok 3 · Potwierdź & znak karta podglądowa · faktura #8421 Potwierdź Krok 4 · Wiersz audytu aktor · prompt · wynik · 412ms Tylko właściciel - · eksportowalny jako CSV
Brak wymyślonych połączeńTylko rejestr zamówień
Potwierdzanie- falistepodgląd przed efektami ubocznymi
Żądanie śledzeniaaktor + kontrakt + wynik
Odniesienie

Powierzchnia API - Na pierwszy rzut oka.

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 odniesienie
DziałanieAuthBezpieczeństwo zapisuGranica
Pisz akcjePOST /api/v1.php · kontrakt zatwierdzony
ACTION tickets.replytickets.writedry_run + idepotencjaSkonfigurowana / godzina
ACTION security.reportsecurity.writedry_run + idepotencjaSkonfigurowana / godzina
ACTION platform.routes.writeadministratorpotwierdzenie + kluczSkonfigurowana / godzina
Odczytywanie i odkrywanie działańTa sama powierzchnia POST · stabilne koperty
ACTION meta.actionsOdkrycie publiczneTylko do odczytuSkonfigurowana / godzina
ACTION tickets.listtickets.readTylko do odczytuSkonfigurowana / godzina
ACTION connectors.listconnectors.readTylko do odczytuSkonfigurowana / godzina
Działania PeopleOS HRUściśnięte hr.* kontrakty · hr.read / hr.write Zakres
ACTION hr.people.listhr.readTylko do odczytuSkonfigurowana / godzina
ACTION hr.people.createhr.writedry_run + idepotencjaSkonfigurowana / godzina
ACTION hr.org.treehr.readTylko do odczytuSkonfigurowana / godzina
PeopleOS HR nie wysyła wydarzeń z hakiem HR. Dosięgnij do nich tej samej powierzchni POST lub subskrybuj wydarzenia, które publikują inne moduły. Pełna referencja: PeopleOS API i złącza oraz Sekcja PeopleOS referencji deweloperskiejModuł jest strzeżony, więc klucz bez hr Dostaje odmowę, a nie pustą listę. Co to jest PeopleOS HR.

Limity stawek są konfigurowane na klucz w oknie godzinowym. X-RateLimit-Limit, X-RateLimit-Remaining oraz X-RateLimit-Reset; odrzucony wniosek zwraca 429 z Retry-AfterUżyj OpenAPI 3.0.3 umowa lub Postman kolekcja generowane z tych samych rejestrów runtime.

Zbudowanie złącza

Zbuduj, przetestuj i zwolnij 6 etapów.

Zacznij od profilu regulowanego lub sam zdefiniuj kontrakt. Budowniczy zatwierdza każdy etap, zanim wygeneruje pakiet samodzielnego złącza.

1Tożsamość. Nazwa, ślimak, profil i deklarowane powierzchnie zdolnościowe.
2Auth. API klucz, Bearer, Podstawowy, OAuth 2.0, HMAC lub niestandardowego klienta.
3Test. Sprawdzić ustawienia ograniczonego połączenia przed pakowaniem.
4Akcje. Mapa o nazwie operacje, parametry, zakresy i ryzyko.
5- Przyczepy. Declare przychodzących wydarzeń, haki webhoads, sondaże i synchronizacji zachowania.
6Przegląd. Sprawdź wygenerowany kontrakt i podaj bramkę.
Test przed statkiem

Sprawdzić bezpiecznie, a potem przejść przez bramę.

Stosowanie dry_run w przypadku wspieranych działań pisarskich, uruchom test połączenia z Builderem i sprawdź wygenerowany manifest i kontrakt przed wydaniem. Sprawdzanie walidacji pakietów sprawdza nazwy funkcji, ustawienia, pochodzenie i wymagane pliki; pracownicy tła obsługują reaktywne sondaże i dostawy wychodzące.

Dry- run pisze Badanie połączenia ograniczonego Zgodność umowy Dostawa napędzana przez kupon
connector. php · php
klasa AcmeConnector rozszerza AbstractConnector { funkcja publiczna ślimak (): ciąg { powrót "acme"; } funkcja publiczna nazwa (): ciąg { powrót Acme; } funkcja publiczna opis (): ciąg { powrót "Acme bridge"; } / / Użyj nazw z ConnectorContract funkcja publiczna zdolności (): tablica { powrót ["działania", "webhook"]; } funkcja publiczna settingsSchema (): tablica { powrót [['key-' => "token", "Typ" => "hasło"]]; } funkcja publiczna testConnection (tablica $settings): tablica { powrót ["sukces" => prawda]; } funkcja publiczna uchwyt ręczny ( tablica $payload, tablica $headers, tablica $settings ): tablica { powrót ["sukces" => prawda]; } }
01 · Connector contract 2.4

Pakiet nie może żądać zdolności Jego kod nie ma.

OpsIQ\Connectors\ConnectorContract jest autorytetem. Odkrycie Runtime, Builder, pakiety first-party, konformance, General API i każde odniesienie przeczytaj ten jeden rejestr. Zdecyduj się zdolność i trzy pliki muszą się ze sobą zgodzić przed OpsIQ / Trasa do ciebie, jeden rząd.

Rysunek 01pakiet złączy, manifest części scale 1:1 · contract 2.4
  1. 01 connector.php klasa biegania
  2. 02 IdentityProvider.php stabilny klucz zewnętrzny
  3. 03 SalesIngest.php uzgodnienie sprzedaży ()
  4. 04 actions.json nazwa operacji
  5. 05 settings.json konfiguracja operatora
  6. 06 connector_contract.json Organ do odczytu maszynowego
07 signature.json jeden HMAC / nad Sha-256 o każdym powyższym pliku, plus Ed25519 dowód pochodzenia
Matryca zdolności all 57, as registered
działania wyzwalacze hak journey_events kontekst guest_lookup tożsamość sales sales_reconciliation rozliczanie 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 lokalne seo site_intelligence analityka comms admin_assets enterprise_hooks durable_queue ticket_mirror attachment_bridge database_migrations scheduled_workers conflict_resolution
generowane 30 Zgłoszenie 20 rozszerzenie 7
Dwa podpisy, dwa pytania.

hmac-sha256 nad deterministycznym ładunkiem danych typu SHA- 256 hashs odpowiedzi został zmodyfikowany od podpisaniaAn ed25519 odpowiedzi na podpisy czy to podpisane przez Nabtech, sprawdzalne z dołączonym kluczem publicznym i bez wspólnej tajemnicy. Edytuj jeden bajt i pierwszy zatrzymuje dopasowanie.

marketplace.json jest poza podpisem z definicji: instalator pisze go po podpisaniu, więc wydawca nigdy nie mógł go podpisać.
02 · narzędzia /mutation_proof.php

Strażnik, który nigdy nie zawiódł. jest nieudowodnione.

Zielone testy mówią, że nic nie zepsuło się dzisiaj. Nie mówią, strażnik, który napisałeś zatrzyma to, co zostało napisane, aby zatrzymać, ponieważ strażnik nigdy nie jest wykonywane przechodzi dokładnie jak strażnik nie robi nic. Więc zatrzymamy jego serce celowo i żądamy, że monitor krzyczy.

strażnik · odczyt rola musi odmówić destrukcyjnej operacji CH1 verify_commerce_contracts
src/Connectors/CommerceRoleMapVerifier.php ZMUTATOWANY
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    }
Dokładnie. jeden Bez dopasowania, albo dwóch, a dowód zatrzymuje się zanim będzie mógł kłamać.
$ 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.
Nieudany dowód jest nigdy Zapisane. Dowody, że czek poszedł źle nie są dowodem na to, że strażnik działa.

Mutacja nigdy nie miała zastosowania.

Tekst wyszukiwania nie pasował, plik został nietknięty, pakiet przeszedł i dowód zapisany zielony pod starym kodem o kodzie, który nigdy nie był stary. Złapany przez wymóg dokładnie jednego dopasowania tekstowego i porównując hash plików z każdej strony.

Mutacja złamała coś innego.

Apartament poszedł czerwony, ponieważ plik przestał parsowanie lub bootstrap zmarł, a dowód zarejestrował czerwony, który nie miał nic wspólnego z strażnikiem. Złapany przez podłączenie mutanta i wymagający Nazwa test wśród niepowodzeń.

Nie może zostawić mutanta na dysku.

Każda mutacja kopiuje oryginał na boczny pasek poza drzewem web- served, pisze marker określający wyjątkową zmianę i jest odłączany przez opiekuna zamykającego na każdej ścieżce wyjścia. Marker z rozbitej trasy jest honorowany przed kolejną mutacją tego pliku.

03 · Konformancja

Certyfikacja jest poleceniem z kodem wyjścia.

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/ pokrycie ustawień, działań, Specyfikacje Builder, mapowania zdarzeń podróży i handlu, przepisy dotyczące przepływu pracy, umowy złączy i manifesty wydania.

  1. manifests parafuj i zgadzaj się ze sobą
  2. zdolności istnieją w klasie runtime
  3. interfaces wdrożony w przypadku zgłoszenia
  4. files każdy wymagany plik obecny
  5. działania dopasować działania manifestowane
  6. destructive oświadczenie o potwierdzeniu
  7. tożsamość stabilny klucz zewnętrzny, nie e-mail
  8. powtórka powtarzające się aktualizacje, nigdy nie powiela
  9. przedsiębiorstwo oświadczenia odpowiadają przedłużeniu
  10. doki README, DEVELOR, CHANGELOG
  11. schematy każdy walidat JSON
wyjście 0 acme: conformant against contract 2.4 Upadający apartament nazywa czek i plik.
$ 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

Wyznacz pierwszy na prawdziwym koncie nieprodukcyjnym --live-settings=/secure/test-acme.jsonKiedy będziesz jeszcze iteracko, zamień ostatnią na --unsigned-ok: traktuje brakujący podpis jako oczekiwane ostrzeżenie, a nie udawanie, że jest w porządku.

04 · commerce_roles.json

Oznajmiam, co można sprzedać to plik, nie rejestracja.

Złącze, które może sprzedać deklaruje, który z własne Operacje odpowiadają na role kanoniczne OpsIQ. Obecność pliku jest roszczeniem. Pojawia się w ustawieniach sprzedaży w momencie, gdy deklaruje i znika, kiedy zatrzymuje się. Nie ma listy do dołączenia i nikt nie pyta.

rola kanoniczna commerce_roles.json Twoja operacja
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 zapis ogólny, brak odzysku
ODMOWY

Kanonika pisać rola mapowała do ogólnego zapisu. Mecz jest strukturalny: rzeczownik pamięci obok czasownika mutacji, niezależnie od konwencji nazwy. Pisanie wiersza biznesowego bezpośrednio pomija ceny platformy, blokady dostępności i potwierdzenia poczty, i produkuje zamówienie własny system kupujący tylko połowa wierzy w. Nie recovery - Więc czas byłby niemożliwy do odzyskania.

commerce_roles.jsonWAŻNE
{
  "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" }
    }
  }
}
Jego własny plik na celu: connector_contract.json jest generowany i jego zestawy schematów additionalProperties:false, więc ręcznie autorski blok nie będzie udane walidacji i następnie być nadpisane na następnym generatorze uruchomić.
01
Słownictwo zamknięte

Rola nie w CommerceRole OpsIQ nigdy nie wyciąga żadnego z nazwy operacji, ponieważ nazwa nie jest obietnicą.

02
Twoje własne działanie

Operacja musi pojawić się w Twoim actions.json. Deklaracja, która nie istnieje, obiecuje klientowi coś, co następnie nic nie produkuje.

03
Pisarze deklarują odzyskanie

Najniebezpieczniejszym czasem jest ten po platformie może już wykonały pracę. Bez idempotenta "zrobił mój ziemi pisania" lookup, jedyne opcje są ponownie ślepe lub stracić porządek.

04
Role płatności poświadczaj

Każda funkcja klasy płatniczej również deklaruje payment_profile z środowisko, webhook_verify korzystanie z systemu własnego dostawcy, oraz event_map. Nieokreślone środowisko jest jak dostawca testowy-tryb pobiera płatność na żywo.

Budowniczy potwierdza je, jak wpisywać i weryfikator zatwierdza przesyłany pakiet. Oba nazywają te same funkcje, więc nie mogą się z nimi nie zgodzić.
⚖️ Jak to porównuje

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łasnyOpsIQ
Scoped Bearer API + HMAC-podpisane webhooki Walcowane na gorąco
Dry- run writs + 24- godzina udanej powtórki DIE
1m → 5m → 30m →2h → 12h powtórki Kolejka DIY
Rejestr umów o pracę (AI nie może wynaleźć połączeń)
Polityka potwierdzania przed skutkami ubocznymi
Stabilna koperta błędów + ID żądania Ręczny logowanie
Bezpośrednie opcje klienta generowane przez HTTP + Napisz własne
OpenAPI 3.0.3 umowa do odczytu maszynowego Może
Six- stage Builder + brama wydania pakietu Zbuduj łańcuch narzędzi
Klucze przymocowane do przestrzeni roboczej i limity godzinowe Zmienne
Wzorce złącza: kod platformy pozostaje izolowany
FAQ

Pytania deweloperów, Odebrałem.

Uwierzytelnianie, kontrakty, powtórki, wytwarzanie klientów, bezpieczne testy i model złącza, przed pierwszym wnioskiem o produkcję.

Ogólne API połączeń wysłać Authorization: Bearer opq_…Klucze mogą być nieograniczone, ograniczone lub tylko read-, nosić skomputeryzowane least- uprzywilejowane, przestrzegać limitu godzinowego i można przypiąć do miejsca pracy. Podpisanie haka jest oddzielny: przesyłki z zewnątrz przenoszą X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event oraz X-OpsIQ-Delivery.
Nie. AI może proponować tylko nazwane operacje w rejestrze działań. Każda wygenerowana umowa deklaruje zakres, pola żądania, ryzyko i potwierdzenie; operacje, których polityka wymaga potwierdzenia powierzchni podglądu człowieka przed wykonaniem.
Rekombinuj hash_hmac('sha256', $rawBody, $secret) i porównać jego sexodecimal digest z X-OpsIQ-Signature stosowanie hash_equalsPotwierdź X-OpsIQ-Timestamp w oknie powtórki i użycia X-OpsIQ-Delivery jako identyfikowalny identyfikator dostawy.
Nieudana próba wchodzi w kolejkę dostaw w tle. OpsIQ ponownie próbuje na1- Minuta. 5- Minuta. 30- Minuta.2- godzinę i 12-godzinna drabina przy zachowaniu identyfikatora dostawy i historii próby diagnostyki.
Wezwij JSON powierzchnia akcji bezpośrednio, importować wygenerowaną kolekcję Postman lub generować klienta z OpenAPI 3.0.3. Sendery referencyjne PHP i klientów integracji węzła / Pythona wspierają event i webhook flow; są one raczej pomocnikami niż oddzielnymiAPI umowy.
Stosowanie dry_run w sprawie działań, których generowany kontrakt wspiera go, uruchomić test połączenia z Connector Builder, sprawdzić jego wygenerowane pliki i przejść konformance pakietu i zwolnić bramy przed traktowaniem złącza jako gotowe.
Zainstalowane wydanie generuje swoje API i kontrakty złącza z własnych rejestrów runtime. Twoje rozmieszczenie jest własnością publiczną URL, tajemnice, przechowywanie i cron / workers, więc zachowanie powinno być weryfikowane w stosunku do zainstalowanego wydania, a nie zakładać ze środowiska chmury.
Złącze jest pakietem regulowanym zawierającym adapter, settings.json, opcjonalnie actions.json, generowane umowy zdolności, dokumentacji i opcjonalne rozszerzenia przedsiębiorstwa. Sześcioetapowy Builder go przypomina; rejestr odkrywa go; konformance i zwolnić bramy zatwierdzają go.