Geliştirici platformu · REST · webhooks · SDKs

platformunuzu yapın Yapay zeka ile çalışabilir.

OpsIQ temiz bir REST API, HMAC-signed webhooks, bir eylem-uzay kaydı ve sistemden hangi olayları ateşlettiğini, AI'nın ne işe gitmesine izin verildiğini ve hangi verilerin okunması güvenli olduğunu kanıtlayın. OpsIQ iş imzaları, retries, denetim logları ve onay akışlarını sizin için.

HMAC-SHA256 her iki şekilde dePHP · Node · Python SDK'larıOpenAPI 3.0.3 sözleşme100% denetim kapsamı
Kayıt talebi oturum açma
Kayıt edilen webhook out → 200 Tamam
Derece curl → OpsIQ → webhook POST /v1/actions/run X-OpsIQ-İmza { "action": "refund_in bill", confirmed": true } · RUN · ÖvÇ İmza ✓ rol + kapsamı ✓ denetim satırları yazılı @opsiq/sdk widget ("action. executed") HMAC'yi doğrulayın 200 Tamam
3Resmi SDKs: PHP, Node, Python
HMACSHA-256 her istekte imzalanmıştır
40+Abone olmak için evrensel olaylar
100%Eylemler hakkında denetim-log kapsamı
İstek hayat döngüsü

İstek içinde. Çıkış webhook dışarı.

OpsIQ API with your scoped Bearer key. OpsIQ checks kapsamı ve rolü, sözleşmeli eylemi çalıştırın, bir denetim sırasını yazın - sonra uç noktanıza bir HMAC imzalı webhook ateş. her umut gerçekleştirilebilir, idem ve başarısızlık üzerine yeniden katkıda bulun.

HMAC-SHA256 web hook'ları - inbound ve outbound webhook ödeme yükleri ham vücut üzerinde imzalanır; API, bir kapa anahtarı ile otantik çağrılar çağırır.
Otomatik yenidenrries - başarısız teslimatlar geri döndü ve yeniden deneme, bir teslimat kimliği ile izleyebileceğiniz.
Idempotency Anahtarları - tasarım tarafından yeniden oyun güvenli, bu yüzden yeniden bir teslimat asla çift-aktive değil.
Uygulamanız POST /v1/actions/run X-OpsIQ-İmza X-OpsIQ-Tarih damgası GÜVENLİK - YÜRÜT - DENETLEME Sizin uç noktanız POST /webhooks HMAC'yi doğrulama 200 Tamam Onaylanmış imza doğrulandı kapsamı + rol kontrol Anlaşmalı eylem run denetim satırları yazılı SED WEBHOOK PAYLOAD { "olay": "action. executed", delivery_id: "dlv_8f2a9", idempotency_key: "idem_31c7", "imza": "sha256 = = = =9c4e0a7b..." } teslim edildi
01 İmzalanan istek imzalı istek 02 HMAC'yi doğrulama 03 run kontrat 04 Yazı denetim satırları 05 İmzalanmış webhook
Hızlı başlangıç

Sıfırdan canlı bir entegrasyona Dört adım.

Bir anahtar, ilk olayınızı ateşleyin, bir webhook abone olun, bir eylem kayıt edin. Üretim verilere dokunmadan önce tüm döngüyü çalıştırabilirsiniz.

Kum kutusu konsoluBağlanmış
Deveci ^ Kaymakamlığı 1 · Genrate key opq_live_xxx · bir kapalı Ayırma anahtarı 2 · Bir olay ateş POST /v1/events/fire "order. shipped" 3 · Bir webhook abone olun https://api.you.com/webhooks 4 · Bir eylem yap saas. refund_in bill · denetimli
Promosyonlar teşvik etmeyi teşvikSandbox → üretim, aynı kod
01

Bir anahtar alın

Kayıt olun ve bir kapsamın Ayıer API anahtar (YouTube)opq_…Geliştirici ayarlarında ve her entegrasyona sadece ihtiyaç duyduğu yüzeyler verir.

02

Fire & abone

POST imzalanmış bir imza events/fire (veya bir SDK) sonra herhangi bir olayda URL'ı kullanın, teslimat kimliği ve geri dönüşleri ile imzalayın.

03

Bir eylem kayıt olun

İmzalanan bir eylem sözleşmesine karar verin, böylece AI güvenle operasyonları çalıştırabilir, rol kontrolleri, onay politikası ve tam denetim yolu ile.

Nasıl birlikte uyuyor

Bir konektör modeli. Beş temiz ilkel.

Bir bağlantıda belirli bir platforma özel yaşamlar. OpsIQ çekirdeği genel olarak kalır, AI öngörülebilir kalır ve entegrasyonunuz denetimlenebilir kalır.

01
Tetikleyiciler

OpsIQ ne oldu.

Platformunuzdan evrensel olaylar - veya kendi özel etkinlik isimleri. Her abone gerçek zamanlı olarak tepki verir, öncelik sırası.

Event referans
invoice.paid olaylar. fire() Artırılmış beyinCanlı bağlam kurallar kuralları kurallarönceliği 20 aynaİlk önce yaz webhookimzalanmış
Universal + özel olaylarinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up veya kendi. Fan-out aboneleriAI beyni, otomasyon kuralları, ayna konektörleri ve webhook uç noktalarınız tüm tepki verir. Öncekilik düzeniDeterministic, bu kadar aynalar uyarıları ateşten önce yazmaktadır.
02 / Action kontratları

OpsIQ AI'nın ne yapmasına izin verildiğine söyle.

Bir eylem sözleşmesi imzalanmış bir JSON Açıklama: hangi rollerin çalıştırabileceği, hangi parametreleri kabul ettiği, onayın gerekli olup olmadığını ve çağrının son noktası.

Action şema
AI eylemleri icat edemezSadece kayıtlı olduğunuz şeyleri çalıştırmanızı isteyebilir. Onay Politika PolitikasıRisk eylemleri herhangi bir yan etkilerden önce bir önizleme kartı tetikler. Rol + yüzey gatingHer eylem, roller ve yüzeylerin bunu çalıştırmasına izin verdiğini söylüyor.
Eylem sözleşmesi - JSON
{
  "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
}
03 / İmzalanmış webhooklar

Taklitlerinize - kriptografik kanıt ile olayları.

Herhangi bir etkinliğe URL abone olun. OpsIQ POSTs the JSON maaş yükü HMAC-SHA256 ile birkaç satırda imzalanmıştır - bunu doğrulayın.

Yeniden tekrarlama koruma korumasıİzlenebilir teslimat IDGeri çekilme tekrar deneme
Webhook referans
Webhook'u doğrulamak - php
$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);
04 / SDK' lar

Zaten kullandığınız dil için sol müşteriler.

Üç resmi SDKs kimlik doğrulama, imza, yeniden imzalar, idempotency anahtarları ve tip yanıtlar. veya framework-free - her SDK aynı REST yüzeyinin etrafında ince bir sarmadır.

müşteri örneklerini örneklendirir
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",
})
PHP 8.4+Node. js 18+Python 3.10+REST · OpenAPI3.0.3
05 / The konektör pattern

Bir kez inşa edin. bir şeye tak.

Bir bağlantı bir PHP sınıfı ile bir klasördür. OpsIQ bunu keşfeder, kayıt telleri olayları ve platform özel kodunuz çekirdekten temiz kalır.

Links guide
Beş kancaidentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook(). Manifest-güdümlüactions.json ve settings.json Sözleşmeleri ve yapılandırıyı beyan eder. Otomatik keşfedildiklasörü içeri girin, imzalayın, bunu admin'de etkinleştirin.
Güvenli eylemlerden

İngilizce konuşuyor. Denetimli işlemler dışarı çıktı.

OpsIQ asla doğru çağrı icat etmez. Kayıtlı sözleşmeler aracılığıyla yürür, ödeme yükü hazırlar ve eylem gerektirdiğinde onay isteyin ve yürütdüğünde tam bir denetim sırasını üretir, bu yüzden bir AI bunu gerçekleştirebilir. hareket eylemi Hiçbir zaman güvenemeyeceğiniz bir AI olmaz.

Sözleşmeye bağlı. AI sadece kayıtlı olduğunuz eylemleri önerir.
Yan etkilerden önce onaylayın. Riskli eylemler ilk önce bir önizleme kartı oluşturur.
Total remember. Her hızlı, yanıt ve eylem sonucu AI History'de yakalandı.
4 adımlarıniyet
HMACimzalamadan önce imzalanmış
"refund Adam'ın son faturası" Adım 1 · niyet kararı → maça alındı: saas. refund_in bill Yüzey: yönetici · rol: sahibi · Adım 2 doğru Adım 3 · Onay ve işaret önizleme kartı · fatura #8421 Onaylandı Adım 4 · Denetim satırları Oyuncu · hızlı sonuç · 412ms Sahibi-sadece · CSV olarak ihracat yapılabilir
Hiçbir icat aramasözleşme kayıt sadece yalnızca
OnaylandıYan etkilerden önce önizleme
100% denetimlendiHızlı + yanıt + sonuç
Referans

API yüzey Bir bakışta.

Her temel uç noktası, auth, idempotency ve per-key oranı limiti. tam makine hazırlı sözleşme OpenAPI 3.0.3 referansında yaşıyor.

OpenAPI 3.0.3 referans
Son noktaYetkilendirmeİmkansız.Puan limiti
Yazİşaretli yan etkiler yüzeyleri
POST /v1/events/fireHMACEvet1000 / dk
POST /v1/actions/runHMACEvet200 / dk
POST /v1/webhooks/testHMACEvet60 / dk
Read OkuContext, biletler ve konektör envanter
GET /v1/customers/{id}HMACEvet2000 / dk
GET /v1/ticketsHMACEvet2000 / dk
GET /v1/connectorsHMACEvet2000 / dk

Puan sınırları anahtar başınadır ve her yanıta geri döndü X-OpsIQ-RateLimit-RemainingLimitin aşılması 429 Biriyle birlikte Retry-After Başlık: Tam makine hazırlanabilir sözleşme (her uç nokta, şema ve hata) hayatta OpenAPI 3.0.3 referans.

Bir bağlantı kurmak

Gemide bir bağlantı Beş adım.

Bir bağlantı kendi kendine özgü bir klasördür. OpsIQ bunu keşfeder, kayıt telleri olayları ve platform özel kod asla anaya sızdırmıyor.

1Scaffold a klasör with connector.php Genişleme AbstractConnector.
2Açıkla actions.json ve settings.json Açıklar.
3Kimlik, bağlam ve webhook sağlayıcıları.
4Dikkat ettiğiniz olaylara abone olun.
5Kayıt olun, bırakın bunu yönetin.
Gemiden önce test edin

Bir kumbox anahtarı ve bir webhook testier.

Her çalışma alanı bir kum kutusu ortaya çıkarır: aynı zamanda vuran ayrı bir anahtarAPIÜretim verilere dokunmadan yüzey. Kullanımı POST /v1/webhooks/test Son noktanızda imzalanmış bir örnek teslim ateş etmek ve daha önce imza doğrulamanızı onaylayın. Kendi ev sahibi taksiler aynı kodu yol çalıştırıyor, bulut ve on-prem arasında hiçbir davranışsız sürüklenme.

Sandbox Anahtarları Webhook testleyicisi Cron-güdümlü işler Bulut ve kendini barındırdı
Link. php · php
Sınıf sınıfı sınıf sınıfı AcmeConnector genişletilebilir genişleme uzatılabilir AbstractConnector { Halkla İlişkiler anahtar(): dize { geri dönüş geri dönüş "acme"; } // Oyuncunun kim olduğunu yeniden çözün Halkla İlişkiler IDProviders(): dizi { geri dönüş geri dönüş [yeni AcmeIdentityProvider()]; } // Feed, AI'ya canlı veriler Halkla İlişkiler contextProviders (): dizi { geri dönüş geri dönüş [yeni AcmeContextProvider()]; } // OpsIQ olaylara tepki Halkla İlişkiler aboneler(): dizi { geri dönüş geri dönüş ['in faturası. => [yeni BillingMirror()]]; } // Acme'den gelen webhooksları alın Halkla İlişkiler İşidizi $body): boşluk { /* … */ } }
⚖️ Nasıl karşılaştırılır?

OpsIQ a karşı DIY entegrasyonu.

Bir sözleşmeye sahip olan ne, imzalanmış, denetimli platform size kendi webhooks ve AI-action tesisatınızı asla taşımadığını verir.

YetenekliKendin kendi kendine yuvarlayınOpsIQ
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) Varies Var
Connector pattern: platform code stays isolated
SSS

Geliştirici soruları, Cevap verdi.

Auth, imzalar, SDKs, sandboxing ve bağlantı modeli: ilk istekten önce soracağınız her şey.

API tek bir kapalı Ayıer anahtarı ile otantik çağrılar: gönder Authorization: Bearer opq_…. OpsIQ, anahtarın kapsamını ve aktörün rolünü her şeyden önce kontrol eder: Webhooks ayrıdır: Her webhook OpsIQ gönderir X-OpsIQ-Signature (Kıbrıs vücuduna bir hex HMAC-SHA256) ve bir hex X-OpsIQ-Timestamp Yeniden oyun koruma için, bu yüzden geri dönüşte bizi doğrulayabilirsiniz ve gönderdiğiniz webhooks aynı şekilde doğrulanır.
Hayır. AI sadece eylem-uzay kayıt defterinizde var olan eylemleri önerebilir. Bir çağrı icat edemez. Her sözleşme yüzeyleri, roller ve parametrelerin izin verdiğini ve işaretlenen herhangi bir eylem olduğunu ve işaretlenen herhangi bir eylemi önerebilir. requires_confirmation Yüzeyler yan etkiler başlamadan önce bir insana bir önizleme kartı.
Yeniden hesapla hash_hmac('sha256', $rawBody, $secret) (Bir hex önceden ekle sindirme) ve onu karşılaştırmak X-OpsIQ-Signature Sürekli zamanlı bir kontrolle başlayın (hash_equalsHer teslimat aynı zamanda bir zaman çizelgesi taşır, bir idempotency anahtarı ve bir teslimat ID'si takip edebilirsiniz. Bu sayfada PHP parçaları tüm doğrulamadır.
Bir 200 geri dönmeyenler, aynı idempotency anahtarını taşıyan her bir karşılıklı teslimat asla çift-dönüşemez. Her denemeyi yönetici veya loglarınızla takip edebilirsiniz.
PHP 8.4+ için resmi SDKs, Node. js 18+ ve Python 3.10+ imza, yeniden imzalar, idempotency anahtarları ve tip yanıtlar. REST yüzeyinin etrafında ince sarmalar, böylece kendi müşterinizi de yayınlanmış OpenAPI 3.0.3 + sözleşmesini oluşturabilir veya API doğrudan.
Evet. Her çalışma alanı, üretim verileri olmadan aynı API yüzeyi vuran kendi kapsamıyla bir kum kutusu ortaya çıkarır, artı değere dokunmadan artı 0fo_0__ yüzeyi vurur POST /v1/webhooks/test Son noktanızda imzalanmış bir örnek teslim ateş etmek ve yaşamadan önce doğrulamanızı onaylayın.
Evet. Kendi ev sahibi taksiler aynı kodun yolunu çalıştırıyor (aynı imza, aynı konektör kaydı, aynı OpenAPI sözleşmesi) bu yüzden bulut ve on-prem arasında davranışsal bir sürüklenme yoktur.
Bir bağlantı, bir PHP sınıfı ile kendi kendine özgü bir klasördür AbstractConnectorartı actions.json ve settings.json Açıklar. Uygulamayı uygulayın. identityProviders(), contextProviders(), registerActions(), subscribers() ve handleWebhook(). OpsIQ auto-discovers it, events teller ve platforma özel kodunuzu temelden temiz bir şekilde ayırmaktadır.