Kau harus membuat panggungmu Boleh dioperasikan AI.
OpsIQ mengekspos REST bersih API_, webhooks bertanda-HMAC, registry contract aksi-contract dan SDK siap-ke-kapal. Tentukan apa peristiwa api dari sistem anda, tindakan apa yang AI diperbolehkan untuk dijalankan, dan data apa yang aman untuk dibaca. OpsIQ menangani tanda tangan, retriy, log audit dan konfirmasi mengalir untuk anda.
Permintaan masuk - Ditandatangani webhook keluar.
Anda ZOST ke OpsIQ_API dengan kunci Bearer terskop anda. OpsIQ cek skop dan peran, menjalankan aksi berkontrak, menulis baris audit - kemudian kebakaran webhook HMAC-signed kembali ke titik akhir anda. Setiap hop diauthentikasi, diimplementasi dan dicoba pada kegagalan.
Dari nol ke integrasi langsung di 4 langkah.
Anda dapat menjalankan seluruh loop terhadap kotak pasir sebelum menyentuh data produksi.
Cari kunci
Janda tangan dan hasilkan kunci API Bearer terskop (_PH_0__)opq_…) dalam pengaturan pengembang, dan memberikan setiap integrasi hanya permukaan yang dibutuhkan.
Langganan & Fire frekuensi
OST signed a signed events/fire ¡atau gunakan SDK_), kemudian tunjuk setiap URL pada acara apapun, ditandatangani, dengan ID pengiriman dan retries back-off.
Daftarkan sebuah tindakan
Membuktikan kontrak aksi yang ditandatangani agar AI dapat dengan aman menjalankan operasi, dengan pemeriksaan peran, kebijakan konfirmasi dan jejak audit penuh.
Satu pola konektor. Lima primitif bersih.
Apa pun yang spesifik platform hidup di konektor. inti OpsIQ_ tetap generik, AI tetap dapat diprediksi, dan integrasi Anda tetap dapat diaudit.
TellVedOpsIQApa yang baru saja terjadi.
Setiap pelanggan bereaksi secara real time, dalam urutan prioritas.
Rujukan peristiwainvoice.paid, ticket.created, subscription.cancelled, customer.signed_up Kau sendiri atau kau.
pelanggan luar-anOtak AI, aturan otomatisasi, penyambung cermin dan titik akhir webhook Anda semua bereaksi.
Urutan Keutamaan Keprioritasan UGPemutusan deterministik , jadi cermin menulis sebelum peringatan kebakaran.
Beritahu OpsIQapa yang AI diperbolehkan lakukan.
Kontrak aksi adalah sebuah deklarasi JSON_ yang ditandatangani: apa yang dilakukan oleh tindakan, peran mana yang dapat menjalankannya, parameter apa yang diterimanya, apakah konfirmasi diperlukan, dan titik akhir untuk memanggil.
Skema aksi{
"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
}
- Dengan bukti kriptografi.
Langgan semua URL_____ ke acara apapun. OpsIQ__POSTs JSONload yang ditandatangani dengan HMAC-SHA256 di atas tubuh mentah - verifikasi dalam beberapa baris.
$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);
Klien yang sudah kau gunakan.
3 SDK resmi menangani otentikasi, tandatangan, retries, kunci idempotensi dan respon tipe. atau tetap bebas kerangka kerja - setiap SDK adalah pembungkus tipis di sekitar permukaan REST yang sama.
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",
})
Membina sekali.
Sebuah konektor ode adalah folder dengan satu kelas PHP. OpsIQ__menemukan itu, registry kabel acara, dan kode spesifik platform Anda tetap terpisah bersih dari inti.
Panduan penghubung dari UVNidentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook().
Didorong oleh Manifestisactions.json BAHWA DAN settings.json \"Nisho menyatakan kontrak dan konfigurasi.\"
Ditemukan-sendiriJatuhkan foldernya, tanda tangani, aktifkan di admin.
Bahasa Inggris masuk. Operasi Audited keluar.
OpsIQ_____ tidak pernah menemukan panggilan yang benar. Ia berjalan melalui kontrak terdaftar, mempersiapkan muatan, meminta konfirmasi ketika tindakan memerlukannya, dan menghasilkan baris audit lengkap ketika itu dijalankan, jadi AI yang dapat tindakan Kau tak bisa percaya pada AI.
permukaan API_ Hanya sekilas.
Setiap titik akhir inti, auth, idspotency dan batas tingkat per-kunci. kontrak yang dapat dibaca mesin tinggal di dalam referensi OpenAPI 3.0.3.
POST /v1/events/fireOOB HMACYa1000 / minPOST /v1/actions/runOOB HMACYa200 / minPOST /v1/webhooks/testOOB HMACYa60 / minGET /v1/customers/{id}OOB HMACYa2000 / minGET /v1/ticketsOOB HMACYa2000 / minGET /v1/connectorsOOB HMACYa2000 / minBatasan angka finifena adalah per kunci dan dikembalikan pada setiap respon sebagai X-OpsIQ-RateLimit-RemainingLUVIN; melebihi batas kembali 429 ♪ Dengan ♪ ♪ ♪ Retry-After header. kontrak yang dapat dibaca mesin penuh (setiap titik akhir, skema dan kesalahan) tinggal di KeuasanaaaAPI 3.0.3_butuh rujukan.
Hantarkan sambungan ke dalam Langkah ke lima.
Sebuah konektor adalah folder yang dimiliki sendiri. OpsIQ__menemukannya, registry kabel peristiwa, dan kode spesifik platform Anda tidak pernah bocor ke dalam inti.
connector.php Melanjutkan AbstractConnector.actions.json BAHWA DAN settings.json Bukti.Kunci kotak pasir dan penguji webhook.
Setiap area kerja . Mengekspos kotak pasir: kunci terskop terpisah yang mengenai API permukaan yang sama tanpa menyentuh data produksi. Gunakan POST /v1/webhooks/test Dan pastikan verifikasi tandatangan anda sebelum aktif. Pasang sendiri yang dihosted menjalankan jalur kode yang sama, tanpa penyimpangan perilaku antara awan dan on-prem.
OpsIQ♪ vs a ♪ Integrasi DIY.
Apa kontrak-bound, ditandatangani, audit platform memberi Anda bahwa bergulir webhooks Anda sendiri dan AI-action pipa tidak akan pernah.
| Kemampuan berbakat | Kau sendiri yang harus pergi | 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) | Varian | ✓ |
| Connector pattern: platform code stays isolated | — | ✓ |
Pertanyaan pengembang, Dijawab oleh Meka.
Auth, tanda tangan, SDK, kotak pasir dan model konektor: segala sesuatu yang akan Anda tanyakan sebelum permintaan pertama.
Authorization: Bearer opq_…. OpsIQ_____ memeriksa skop kunci dan peran aktor sebelum apa pun berjalan. Webhooks terpisah: setiap webhook OpsIQmenyirim membawa X-OpsIQ-Signature (sebuah HMAC-SHA256 dari tubuh mentah) dan X-OpsIQ-Timestamp Untuk perlindungan replay, jadi kau bisa memastikan kami sebagai balasannya, dan bidik web yang kau kirim sudah diverifikasi dengan cara yang sama.requires_confirmation Adonan muncul kartu pratinjau ke manusia sebelum efek samping berjalan.hash_hmac('sha256', $rawBody, $secret) (gest hex tanpa awalan) dan bandingkan dengan X-OpsIQ-Signature header afigh dengan pemeriksaan konstan-waktu (hash_equalsSetiap pengiriman juga membawa timestamp, kunci idpotensi dan ID pengiriman yang dapat anda lacak. PHP snippet pada halaman ini adalah verifikasi keseluruhan.POST /v1/webhooks/test Cake untuk menembakkan pengiriman sampel yang ditandatangani di titik akhir Anda dan konfirmasi verifikasi Anda sebelum pergi secara langsung.AbstractConnector, ditambah actions.json BAHWA DAN settings.json Kau menerapkannya. identityProviders(), contextProviders(), registerActions(), subscribers() BAHWA DAN handleWebhook(). OpsIQMenemukannya secara auto-penemuan itu, menghubungkan kejadian dan membuat kode spesifik platform Anda terpisah dengan jelas dari inti.