Platform pengembang · Umum API · webhooks · konektor

Buat platform Anda Bisa dioperasi.

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.

Kunci Bearer berskop2,420 contract actionsOpenAPI 3.0.3 + PostmanPengiriman webhook HMAC
Permintaan yang dicopy dalam
Signed webhook keluar→ 200OK
Tingkat Bearer action → OpsIQ → webhook ditandatangani POST /api/v1.php Otorisasi: Bearer { "action": "Tikes. Respon", "dry_run": true} VERIFY · RUN · AUDITING kunci + area kerja ✓ scope + kontrak ✓ Terlacak permintaan titik akhir webhook anda X-OpsIQ-Event: ticket.reply verify HMAC →handel 200 OK
2,420bernama Aksi API Umum
69Mata-mata hak istimewa terakhir
dry_runvalidasi menulis kontrak sebelum eksekusi
24jsukses idempotent- tulis replay
The lifecycle quest

Permintaan masuk. Tanda tangani acara keluar.

POST sebuah aksi ke /api/v1.php with a scoped Bearer kunci. OpsIQ mengikat ruang kerja, memvalidasi kontrak aksi dan izin, lalu melaksanakannya atau menjalankannya secara kering. Peristiwa kanonikal terdaftar keluar melalui baris tunggu pengiriman yang ditandatangani HMAC dengan upaya yang dapat dilacak dan upaya ulang terbatas.

HMAC- SHA256 webhooks - inbound dan outbound webhook payloads ditandatangani di atas tubuh mentah; API panggilan otentikasi dengan kunci scoped _Bearer.
Uji otomatis - Gagal pengiriman kembali dan coba lagi, dengan ID pengiriman Anda dapat melacak.
Replay- safe writing - idempoten sukses menulis kembali respon yang sama untuk 24 jam; konstrain duplikasi berbagi satu klaim.
Aplikasi Anda POST /api/v1.php Otorisasi: Bearer idempotency_key: idem_31c7 VERIFY - RUN - AUDITING Titik akhir Anda POST /webhooks verifikasi HMAC 200 OK kunci + area kerja disematkan scope + role diperiksa kontrak disahkan jalankan atau dry- run SIGNED WEBHOOK DELISANGAT { X-OpsIQ-Event: ticket. reply X-OpsIQ-Delivery: dlv_8f2a9 X-OpsIQ-Timestamp: 1786584362 X-OpsIQ-Signature: 9c4e0a7b... } dikirim
01 Permintaan Bearer 02 area kerja pin 03 kontrak validasi 04 jalankan atau dry- run 05 acara bertanda-tangan antrian
Pemula Cepat

Dari kunci ke integrasi yang diatur dalam tiga langkah.

Keluarkan kunci paling-hak istimewa, temukan kontrak yang dihasilkan, jalankan suatu tulis, lalu langganan webhook ketika aplikasi Anda memerlukan pengiriman latar belakang.

Konsol kontraksiTerhubung
PHIARAL API 1 · Buat kunci opq_live_xxx · satu kunci Bearer dengan cakupan 2 Temukan kontrak POST /api/v1.php tindakan 3 Memvalidasi menulis tickes. reply 4 Berlangganan ke acara Tiket. jawab pengiriman HMAC
Jalankandry_run → diterima menulis, kontrak yang sama
01

Ambil kunci

Daftar dan buatlah scope Bearer API kunci (opq_…) dalam pengaturan pengembang, dan memberikan setiap integrasi hanya permukaan yang dibutuhkan.

02

Temukan & validasi

Baca meta.actions, meta.action dan meta.scopes; gunakan dry_run untuk validasi menulis sebelum eksekusi.

03

Jalankan & langganan

Tambahkan kunci idempotensi untuk ditulis, lalu tulis titik akhir Anda dengan kejadian kanonikal yang diperlukan aplikasi Anda.

Bagaimana cocok bersama-sama

Satu pola konektor. Lima primitif bersih.

Apa pun platform-spesifik tinggal di konektor. OpsIQ inti tetap umum, AI tetap dapat diprediksi, dan integrasi Anda tetap audable.

01
Pemicu

Katakan OpsIQ apa yang baru saja terjadi.

Keluarkan peristiwa kanonikal dari platform Anda, atau definisikan acara kustom yang diatur. Subscriber menerima acara melalui aturan prioritas terdaftar dan pengiriman.

Referensi acara
invoice.paid kejadian kanonikal Otak AIkonteks hidup aturanprioritas 20 cermintulis dulu webhookditandatangani
Peristiwa gubahan Universal +invoice.paid, ticket.created, subscription.cancelled, customer.signed_up atau Anda sendiri. Para pelangganOtak AI, aturan otomatisasi, konektor cermin dan titik akhir webhook Anda semua bereaksi. Urutan prioritasDeterministik pengiriman sehingga cermin menulis sebelum waspada api.
02 / Aksi kontrak

Katakan OpsIQ Apa Al diperbolehkan untuk dilakukan.

Setiap operasi bernama menerima kontrak yang dihasilkan: scope, feature, read or write kind, risk, confirm policy, reqution and response schema, dry- run support, idempotency dan stable errors.

Skema aksi
AI tidak dapat menciptakan aksiIni hanya bisa meminta untuk menjalankan yang Anda telah terdaftar. Kebijakan konfirmasiTindakan beresiko memicu kartu pratilik sebelum efek samping. Role + rating permukaanSetiap aksi menyatakan peran dan permukaan diperbolehkan untuk menjalankannya.
menghasilkan kontrak aksi 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 / Pengait web yang ditandatangani

Dorong peristiwa ke tumpukan Anda - dengan bukti kriptografi.

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.

Perlindungan ReplayID pengiriman yang dapat dilacak5-step back-off
Referensi Webhook
verifikasi 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

Gunakan HTTP langsung atau hasilkan klien yang Anda suka.

Seluruh Jenderal API diterbitkan sebagai OpenAPI 3.0.3 dan Postman. Pengirim referensi PHP plus klien integrasi Node dan Python mencakup peristiwa yang ditandatangani dan aliran webhook; tumpukan apapun dapat memanggil yang sama JSON Permukaan aksi langsung.

contoh klien
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.",
    },
)
JSON HTTPOpenAPI 3.0.3koleksi PostmanBantuan integrasi
05 / Pola konektor

Membangun sekali.

Konektor adalah paket yang diatur yang dihasilkan atau diimpor melalui Identitas, Auth, Test, Aksi, Triggers dan Review. Berisi ini menyatakan kemampuan permukaan OpsIQ diperbolehkan untuk mengekspos.

Buka Pembangun enam tahap
Enam tahap dipanduIdentitas, Auth, Test, Actions, Triggers dan Review. Simpan pembuatan paket yang bisa dijelaskan. Kontrak - didorong-8 profiles and 57 capability types declare the surfaces a package implements. Lepas - gatedKeamanan, provenance dan pemeriksaan konformance dijalankan sebelum paket diperlakukan sebagai siap.
Dari niat untuk tindakan aman

Bahasa Inggris biasa masuk Operasi Audited keluar.

OpsIQ tidak pernah menciptakan panggilan yang tepat. ia berjalan melalui kontrak yang terdaftar, menyiapkan muatannya, meminta konfirmasi ketika aksi membutuhkannya, dan menghasilkan sebuah baris audit lengkap ketika mengeksekusi, sehingga AI yang dapat tindakan tidak pernah menjadi AI Anda tidak bisa percaya.

Kontrak. AI hanya mengusulkan tindakan yang telah terdaftar.
Konfirmasi sebelum efek samping. Tindakan beresiko permukaan kartu pratilik pertama.
Sangat ingat. Setiap prompt, respons dan action hasil ditangkap dalam AI History.
4 langkahmaksud → audit
HMACsigned sebelum eksekusi
"Kembalikan faktur terakhir Adam" Langkah 1 resolusi → cocok: saas.refund_invoice permukaan: admin · peran: pemilik · Langkah 2 valid Langkah 3 kartu pratilik #8421 Konfirmasi Langkah 4 baris audit aktor · prompt · hasil · 412ms Pemilik - saja yang dapat diekspor sebagai CSV
Tidak ada panggilan yang ditemukanhanya kontrak registry
Konfirmasi-gatedpratinjau sebelum efek samping
Meminta jejakaktor + kontrak + hasil
Referensi

API permukaan sekilas.

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.

Referensi OpenAPI 3.0.3
AksiAutentikasiTulis keselamatanBatas
Aksi penulisanPOST /api/v1.php kontrak disahkan
ACTION tickets.replytickets.writedry_run + idempotencyDikonfigurasi / jam
ACTION security.reportsecurity.writedry_run + idempotencyDikonfigurasi / jam
ACTION platform.routes.writeadminkonfirmasi + kunciDikonfigurasi / jam
Aksi & penemuanPermukaan POST yang sama amplop
ACTION meta.actionsPenemuan PublikHanya bacaDikonfigurasi / jam
ACTION tickets.listtickets.readHanya bacaDikonfigurasi / jam
ACTION connectors.listconnectors.readHanya bacaDikonfigurasi / jam
Aksi HR PeopleOSKuratekeyboard label hr.* Kontrak hr.read / hr.write skop
ACTION hr.people.listhr.readHanya bacaDikonfigurasi / jam
ACTION hr.people.createhr.writedry_run + idempotencyDikonfigurasi / jam
ACTION hr.org.treehr.readHanya bacaDikonfigurasi / jam
PeopleOS HR tidak mengirim peristiwa webhook HR keluar. Menangkapnya melalui permukaan POST yang sama, atau berlangganan ke acara modul lain menerbitkan. Referensi penuh: PeopleOS API dan konektor dan PeopleOS bagian dari referensi pengembangModul ini diberi hak, jadi kunci tanpa hr mendapat penolakan, bukan daftar kosong. Apa itu HR PeopleOS.

Batas rate ditata per kunci pada jendela jam. Menanggapi ekspos X-RateLimit-Limit, X-RateLimit-Remaining dan X-RateLimit-Reset(Dan apabila permohonan maaf diterima) dari langit dan dijadikan untuk tah di hari kiamat. 429 dengan Retry-AfterGunakan Kontrak OpenAPI 3.0.3 atau koleksi Postman yang dihasilkan dari yang sama daftar waktu-jalan.

Buat konektor

Build, tes dan rilis di enam tahap.

Mulai dari profil diatur atau mendefinisikan kontrak sendiri. Pembangun memvalidasi setiap tahap sebelum menghasilkan paket konektor yang berisi diri sendiri.

1Identitas. Nama, siput, profil dan kemampuan yang dinyatakan permukaan.
2Auth. API kunci, Bearer, Dasar, OAuth 2.0, HMAC atau klien custom.
3Tes. Validasi konfigurasi koneksi terbatas sebelum kemasan.
4Aksi. Peta bernama operasi, parameter, lingkup dan risiko.
5Pemicu. Menyatakan inbound peristiwa, webhooks, polling dan perilaku sinkronisasi.
6Ulasan. Periksa kontrak yang dihasilkan dan lulus gerbang rilis.
Uji sebelum Anda kapal

Validate aman, kemudian lulus gerbang rilis.

Gunakan dry_run dalam aksi penulisan yang didukung, jalankan uji koneksi builder, dan periksa manifest dan kontrak yang dihasilkan sebelum rilis. Validasi paket memeriksa nama-nama kapabilitas, pengaturan, berkas yang diperlukan; pekerja latar menangani pengajuan reaktif dan pengantaran pengiriman.

Dry- run tulis Uji koneksi terikat Konforman Kontrak Kiriman yang didrive Cron-
konektor. php
kelas AcmeConnector meluas AbstractConnector { fungsi publik Slug (): WordPress REST { kembali 'Acme'; } fungsi publik nama (): WordPress REST { kembali 'Acme'; } fungsi publik deskripsi (): WordPress REST { kembali 'Acme bridgey'; } / / Gunakan nama dari ContraktorKontrak fungsi publik kemampuan (): array { kembali ['Aksi', 'webhook']; } fungsi publik settingsSkema (): array { kembali [['kunci' => 'Token', 'tipe' => 'Password']]; } fungsi publik koneksi testConnection (array $settings): array { kembali ['Tewas' => benar]; } fungsi publik handleWebhook ( array $payload, array $headers, array $settings ): array { kembali ['Tewas' => benar]; } }
01 · Connector contract 2.4

Paket tidak dapat mengklaim kemampuan Kodenya tidak memiliki.

OpsIQ\Connectors\ConnectorContract Penemuan Runtime, Pembangun, paket pertama-partai, konformance, Umum API dan setiap referensi membaca bahwa satu registry. Menyatakan kemampuan dan tiga file harus setuju dengan satu sama lain sebelum OpsIQ Rute satu baris untuk Anda.

FIG. 01Paket konektor, daftar bagian scale 1:1 · contract 2.4
  1. 01 connector.php kelas waktu jalan
  2. 02 IdentityProvider.php kunci eksternal stabil
  3. 03 SalesIngest.php paralleSales ()
  4. 04 actions.json operasi bernama
  5. 05 settings.json konfigurasi operator
  6. 06 connector_contract.json otoritas mesin-dapat dibaca
07 signature.json satu HMAC lebih dari sha-256 dari setiap file di atas, ditambah sebuah ed25519 bukti asal
Matriks kapasbility all 57, as registered
aksi pemicu webhook journey_events konteks guest_lookup identitas sales sales_reconciliation penagihan payments perdagangan 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 lokal ini site_intelligence analitik comms admin_assets enterprise_hooks durable_queue ticket_mirror attachment_bridge database_migrations scheduled_workers conflict_resolution
dihasilkan 30 deklarasi 20 ekstensi 7
Dua tanda tangan, dua pertanyaan.

hmac-sha256 lebih dari deterministik payload dari perfile SHA-256 hashes jawaban telah ini diubah sejak penandatangananDan ed25519 jawaban tanda tangan itu ditandatangani oleh Nabtech, dapat diperiksa dengan kunci publik bundled dan tanpa rahasia bersama. Sunting satu byte dan yang pertama berhenti cocok.

marketplace.json diluar tanda tangan berdasarkan definisi: pemasang menulis setelah penandatanganan, sehingga penerbit tidak pernah bisa menandatanganinya.
02 · alat /mutation_proof.php

Penjaga yang tak pernah gagal. belum terbukti.

tes hijau tidak memberitahu kamu apa-apa hari ini mereka tidak memberitahumu penjaga yang kamu tulis akan menghentikan hal itu ditulis untuk berhenti karena seorang penjaga yang tidak pernah berolahraga melewati persis seperti penjaga yang tak melakukan apapun jadi kita hentikan jantungnya dengan sengaja dan menuntut bahwa monitor menjerit.

penjaga peran membaca harus menolak operasi destruktif CH1 verify_commerce_contracts
src/Connectors/CommerceRoleMapVerifier.php DIMUTASIKAN
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    }
Tepat sekali. satu Pertandingan tekstual diperlukan. Nol pertandingan, atau dua, dan bukti berhenti sebelum dapat berbohong.
$ 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.
Sebuah bukti gagal adalah tidak pernah Bukti bahwa cek yang salah bukanlah bukti bahwa penjaga bekerja.

Mutasinya tidak pernah diterapkan.

Teks pencarian tidak cocok, file itu tidak tersentuh, suite berlalu, dan bukti direkam hijau dibawah kode lama Kekurangan dengan satu pertandingan tekstual dan membandingkan hashes berkas kedua sisi.

Mutasinya merusak sesuatu yang lain.

Suite merah karena file berhenti parsing atau bootstrap mati, dan bukti merekam merah yang tidak ada hubungannya dengan penjaga tertangkap dengan menghubungkan mutan dan membutuhkan bernama tes diantara kegagalan.

Ini tidak bisa meninggalkan mutan di disk.

Setiap mutasi menyalin asli ke sespan di luar pohon web-served, menulis penanda penamaan perubahan yang luar biasa, dan dibatalkan oleh sebuah penanganan shutdown di setiap jalan keluar. Sebuah penanda dari run jatuh dihormati sebelum mutasi berikutnya dari file tersebut.

03 · Konformasi

Sertifikasi adalah perintah dengan kode keluar.

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/ pengaturan sampul, aksi, spesifikasi Builder, pemetaan acara perjalanan dan perdagangan, resep-resep mengalir kerja, kontrak konektor dan manifestasi rilis.

  1. manifests parse dan setuju dengan satu sama lain
  2. kemampuan ada di kelas waktu-jalan
  3. interfaces diimplementasikan dimana dideklarasikan
  4. files semua berkas yang diperlukan hadir
  5. aksi cocok dengan daftar aksi
  6. destructive konfirmasi konon
  7. identitas kunci eksternal stabil, bukan email
  8. ulang suatu pemutakhiran berulang, tak pernah menduplikasi
  9. perusahaan deklarasi cocok dengan ekstensi
  10. Dokumen README, DEVELOPER, CHANGELOG
  11. skema setiap JSON validates
keluar 0 acme: conformant against contract 2.4 Sebuah suite yang gagal nama cek dan file. Anda memperbaikinya, bukan kami.
$ 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

Arahkan yang pertama pada akun non-produksi nyata dengan --live-settings=/secure/test-acme.jsonSementara kau masih iterasi, menukar yang terakhir untuk --unsigned-ok: itu memperlakukan tanda tangan hilang sebagai peringatan yang diharapkan daripada berpura-pura baik-baik saja.

04 · commerce_roles.json

Mengungkapkan apa yang dapat Anda jual adalah file, bukan registrasi.

Konektor yang dapat menjual deklarasi mana sendiri jawaban operasi OpsIQPertukaran kanonik. keberadaan berkas adalah klaim yang muncul dalam pengaturan penjualan saat itu menyatakan dan menghilang ketika berhenti.

peran kanonikal commerce_roles.json operasi Anda
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 catatan umum menulis, tidak ada pemulihan
DITOLAK

Sebuah kanonikal tulis peran dipetakan ke catatan generik menulis. Pertandingan adalah struktur: sebuah kata benda di samping sebuah verb bermutasi, apapun konvensi penamaan anda. Menulis baris bisnis langsung melewati harga platform, ketersediaan mengunci dan konfirmasi surat, dan menghasilkan urutan sistem pedagang sendiri hanya setengah percaya masuk recovery baik, sehingga timeout akan unrecoverable.

commerce_roles.jsonVALID
{
  "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" }
    }
  }
}
File sendiri dengan tujuan: connector_contract.json dihasilkan dan skema set additionalProperties:false, sehingga tulisan tangan blok ada akan gagal validasi dan kemudian akan ditimpa pada generator berikutnya jalankan.
01
kosakata tertutup

Peran tidak di CommerceRole OpsIQ tidak pernah memasukkan satu dari nama operasi, karena sebuah nama bukanlah janji.

02
Tindakanmu sendiri

Operasi harus muncul di Anda actions.jsonMengungkapkan satu yang tidak ada menjanjikan pelanggan sesuatu yang kemudian menghasilkan apa-apa.

03
Penulis menyatakan pemulihan

Waktu istirahat yang paling berbahaya adalah satu setelah platform mungkin sudah selesai pekerjaan. Tanpa idempoten "apakah tanah tulis saya" lookup, satu-satunya pilihan adalah mengulang buta atau kehilangan urutan.

04
Kartu pembayaran menyatakan

Peran kelas-gaji apapun juga mendeklarasikan payment_profile dengan lingkungan, webhook_verify menggunakan skema penyedia sendiri, dan event_mapLingkungan yang tidak disebutkan adalah bagaimana penyedia mode test- memerlukan pembayaran langsung.

Pembangunan memvalidasi ini saat anda mengetik dan verifikasi memvalidasikan paket yang dikirim. Keduanya memanggil fungsi yang sama, sehingga mereka tidak dapat tidak setuju.
⚖️ Bagaimana dibandingkan

OpsIQ vs a Integrasi DIY.

Apa kontrak-terikat, ditandatangani, diaudit platform memberi Anda bahwa bergulir sendiri webhook Anda dan pipa-tindakan AI- tidak akan pernah.

KapasyabilityGulung sendiriOpsIQ
Scoped Bearer API + webhooks yang ditandatangani HMAC Tangan digulung
Dry- run menulis + 24-jam berhasil replay DIY
1m→5m→30m→ 2h → 12hmencoba Antrian DIY
Aksi - kontrak registry (AI tidak dapat menciptakan panggilan)
Konfirmasi kebijakan sebelum efek samping
Galat stabil amplop + permintaan ID Pengonaktifmanual
Opsi klien HTTP + langsung yang dihasilkan Tulis sendiri
OpenAPI 3.0.3 kontrak mesin-dapat dibaca Mungkin
Enam-tahap Builder + paket rilis gerbang Buat suatu toolchain
Area kerja - tombol yang disematkan dan batas jam Variunit-format
Pola konektor: kode platform tetap terisolasi
PSD

Pertanyaan pengembang, Jawab.

Otentikasi, kontrak, retries, generasi klien, pengujian yang aman dan model konektor, sebelum permintaan produksi pertama.

Panggilan umum API mengirim Authorization: Bearer opq_…Kunci dapat dibatasi, dibatasi, atau hanya baca-baca, membawa lingkup paling jauh hak cipta, mematuhi batas jam dan dapat dihubungkan ke area kerja. Tanda tangan Webhook terpisah: pengiriman luar yang dibawa X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event dan X-OpsIQ-Delivery.
Tidak. AI hanya dapat mengusulkan operasi bernama dalam daftar aksi. Setiap kontrak yang dihasilkan mendeklarasikan lingkup, bidang permintaan, kebijakan resiko dan konfirmasi; operasi yang kebijakan membutuhkan konfirmasi permukaan pratinjau manusia sebelum eksekusi.
Rekomendasi hash_hmac('sha256', $rawBody, $secret) dan membandingkan heksadesimal digest dengan X-OpsIQ-Signature memakai hash_equalsValidasi X-OpsIQ-Timestamp dalam jendela replay Anda dan gunakan X-OpsIQ-Delivery sebagai identifikasi pengiriman dilacak.
Sebuah usaha yang tidak sukses memasuki antrian pengiriman latar belakang. OpsIQ retries pada1-menit, 5-menit, 30-menit,2-hour and 12-hour tangga ketika mempertahankan identifikasi pengiriman dan mencoba sejarah untuk diagnosis.
Panggil JSON aksi permukaan secara langsung, impor koleksi Postman yang dihasilkan, atau hasilkan klien dari OpenAPI 3.0.3 PHP referensi pengirim dan Node / Python integrasi klien acara dukungan dan webhook arus; mereka pembantu daripada terpisahAPI Kontrak.
Gunakan dry_run pada aksi yang menghasilkan kontrak mendukungnya, jalankan Tes koneksi Conektor Builder yang terbatas, memeriksa berkas yang dihasilkan, dan lulus konformance paket dan melepaskan gerbang sebelum memperlakukan connector sebagai siap.
Rilis yang terpasang menghasilkan API dan kontrak konektor dari sendiri daftar waktu-jalan. penyebaran Anda memiliki publik nya URL, rahasia, penyimpanan dan Cron / pekerja, sehingga perilaku harus diverifikasi terhadap rilis terpasang daripada diasumsikan dari lingkungan awan.
Konektor adalah paket yang diatur yang mengandung adaptor, settings.json, opsional actions.json, sebuah kontrak kemampuan yang dihasilkan, dokumentasi dan ekstensi perusahaan opsional. Pembangunan enam tahap memperhitungkannya; registri menemukannya; konformansi dan melepaskan gerbang memvalidasi itu.