Platform pengembang · Pelopor API · webhooks · penyambung

Jadikan platform anda Boleh dioperasikan AI.

Panggil 2,430 operasi bernama melalui satu API yang dijana daripada kontrak, dengan skop hak akses minimum, pengikatan ke ruang kerja, pengesahan percubaan dan penulisan yang selamat diulang. Langgan peristiwa kanonik melalui webhook latar belakang bertandatangan HMAC, atau bina pek terkawal dalam Connector Builder enam langkah.

Kunci Bearer Skop Skop2,430 tindakan kontrakKeuben BukaAPI 3.0.3 + PostmanKiriman HMAC webhook
Permintaan berskop masuk
Webhook ditandatangan keluar → 200 OK
Aras Tindakan Bearer uf→ OpsIQ →Xok web yang ditandatangani oleh pengguna POST /api/v1.php Otorisasi: Bearer { "action": "tickets. reply", "dry_runBenar VERIFY · RUN · AUDIT key_kunci login + ruang kerja ✓ Skop Skop + kontrak ✓ permintaan palsu dilacak Kau tahu, kau adalah titik akhir webhook X-OpsIQ-Event: ticket. replited Verify HMAC → handle 200 OK
2,430Dinamakan General API Tindakan usil
69Skop hak istimewa paling tidak-tidak-keistimewaan
dry_runfrandikasi validasi kontrak tulis sebelum eksekusi
24jReplay idempoten-tulis sukses vindiagoden-demppotent
\"Tur-air\"

Permintaan berskop masuk. Acara ditandatangani.

POST tindakan ke /api/v1.php dengan kunci Bearer berskop. OpsIQ menyematkan ruang kerja, mengesahkan kontrak tindakan dan kebenaran, kemudian melaksanakan atau menjalankannya secara percubaan. Peristiwa kanonik yang dilanggan keluar melalui baris gilir penghantaran bertandatangan HMAC dengan percubaan yang boleh dijejak dan cubaan semula yang terhad.

¡HMAC-SHA256 webhooks - muatan webhook masuk dan outbound webhook ditandatangani di atas badan mentah; API panggilan otentifikasi dengan kunci Bearer terskop.
Cubaan semula automatik - penghantaran yang gagal akan berundur dan mencuba semula, dengan ID penghantaran yang boleh anda jejaki.
Penulisan Replay-safe Penulisan idempoten yang sukses - mengembalikan respon yang sama untuk 24 _jam; duplikat berkonversi berbagi satu klaim.
Aplikasi Anda POST /api/v1.php Otorisasi: Bearer IDdempotensi_key: idem_31c7 SAHKAN - JALANKAN - AUDIT Titik akhirmu POST /webhooks sahkan HMAC 200 OK key + ruang kerja disematkan skop + peranan ditanda kontrak disahkan Lupaan atau kering DICERSIKAN KITA SEMUA { X-OpsIQ-Event: ticket. replired X-OpsIQ-Delivery): dlv_8f2a9 X-OpsIQ-Timestamp: 1786584362 X-OpsIQ-Signature9c4e0a7b... } Diantarkan
01 Permintaan Bearer kinore 02 Ruangkerja pin rickexpedi 03 sah kontrak 04 Lupaan atau kering 05 masukkan acara bertandatangan ke baris gilir
Muckstart

Dari kunci untuk mengatur integrasi dalam Tiga langkah.

Keluarkan kunci keistimewaan minimum, temui kontrak yang dijana, jalankan percubaan bagi satu penulisan, kemudian langgan webhook apabila aplikasi anda memerlukan penghantaran peristiwa di latar belakang.

konsol console contracTerhubung
Kepantasan kontrak GEERAL API · Memerlukan kunci1 · Hasilkan · satu kunci Bearer terskop Memerlukan kontrak dengan2 · OST /api/v1.php · meta.actions 3 · Sahkan sebuah tulisan bookscapes. reply · dry_run: true Memerlukan4 · Langganan peristiwa ticket. replied · HMAC delivery
Laksanakan→ tulis disetujui, kontrak yang sama
01

Cari kunci

Janda tangan dan hasilkan kunci API Bearer terskop (_PH)opq_…) dalam tetapan pembangun, dan berikan setiap integrasi hanya permukaan yang diperlukannya.

02

Temui & Sahkan

Bacalah meta.actions, meta.action dan meta.scopes); gunakan dry_run Untuk mengesahkan penulisan sebelum eksekusi.

03

Langganan & Lakukan langgan

Tambahkan kunci idempotensi untuk menulis, lalu langgan titik akhir Anda ke acara kanonik yang diperlukan aplikasi Anda.

Bagaimana semuanya bersepadu

Satu corak penyambung. Lima primitif bersih.

Apa sahaja yang khusus untuk platform terletak dalam penyambung. Teras OpsIQ kekal generik, AI kekal boleh dijangka, dan integrasi anda kekal boleh diaudit.

01
Pencetus

TellVed OpsIQ Apa yang baru saja terjadi.

Apa yang terjadi di platform Anda, atau definisikan acara adat yang diatur.

Rujukan peristiwa
invoice.paid Peristiwa kanonikal Otak AIKonteks langsung quot; peraturanKeutamaan 20_ Cermin ismorganio write first webhookDitandatangani oleh Sony
Umumumumon + acara suaiinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up Kau sendiri atau kau. pelanggan luar-anOtak AI, peraturan automasi, penyambung cermin dan titik akhir webhook anda semuanya bertindak balas. Urutan Keutamaan Keprioritasan UGPemutusan deterministik , jadi cermin menulis sebelum peringatan kebakaran.
02 Kontrak / Aksi

Beritahu OpsIQ apa yang AI diperbolehkan lakukan.

Setiap operasi bernama menerima kontrak yang dijana: skop, ciri, jenis baca atau tulis, risiko, dasar pengesahan, skema permintaan dan respons, sokongan larian cubaan, idempotensi dan ralat yang stabil.

Skema aksi
AI tidak dapat menemukan tindakanIa hanya boleh meminta untuk menjalankan yang telah anda daftarkan. Dasar pengesahanTindakan berisiko mencetuskan kad pratonton sebelum sebarang kesan sampingan. Peranan + penggetah permukaanSetiap aksi menyatakan peran dan permukaan diizinkan untuk menjalankannya.
Kontrak aksi yang dihasilkan · 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 / Jarum web bertandatangan

Tolak acara ke sistem anda - dengan bukti kriptografi.

Langgan mana-mana URL kepada mana-mana daripada 53 peristiwa yang boleh dihantar. OpsIQ menghantar muatan JSON melalui POST, ditandatangani HMAC-SHA256 ke atas versi skema, cap masa, ID penghantaran dan isi bersama-sama, bukan isi sahaja, supaya penghantaran semalam tidak boleh dimainkan semula terhadap anda hari ini.

Perlindungan ReplayID penghantaran yang boleh dikesanBerundur dalam 5 langkah
Referensi webfinghook
saringan 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 / SDKs

Use HTTP langsung tanpa menggunakan nama samaran atau menghasilkan klien yang anda sukai.

Jenderal penuhAPI Buku ini diterbitkan sebagai OpenAPI 3.0.3 Dan Postman. Pengirim referensi PHP ditambah Node dan klien integrasi Python meliputi acara yang ditandatangani dan aliran webhook; setiap tumpukan dapat memanggil sama JSON Tindakan permukaan 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 HTTP LangsungKemudia BukaAPI 3.0.3_Koleksi PostmanPenyepaduan para pembantu
05 / Pola penghubung

Membina sekali.

Penyambung ialah pakej yang ditadbir yang dijana atau diimport melalui Identity, Auth, Test, Actions, Triggers dan Review. Manifesnya mengisytiharkan permukaan keupayaan yang dibenarkan untuk didedahkan oleh OpsIQ.

Buka gedung enam tahap
Tahap enam tahap yang dipandu oleh pesawatIdentiti, Pengesahan, Ujian, Tindakan, Pencetus dan Semakan memastikan penjanaan pakej boleh dijelaskan. Kontrak-didorong8 profil dan 59 jenis keupayaan mengisytiharkan permukaan yang dilaksanakan oleh sesebuah pek. DicairkanSemakan keselamatan, asal usul dan pematuhan dijalankan sebelum sesuatu pakej dianggap sedia.
Dari niat untuk tindakan aman

Bahasa Inggris masuk. Operasi Audited keluar.

OpsIQ Ini berjalan melalui kontrak terdaftar, mempersiapkan muatan, meminta konfirmasi ketika tindakan memerlukannya, dan menghasilkan baris audit lengkap ketika itu mengeksekusi, jadi AI yang dapat tindakan tidak sekali-kali menjadi AI yang tidak boleh anda percayai.

Kontrak yang terikat. AI hanya mengusulkan tindakan Anda telah terdaftar.
Sahkan sebelum kesan sampingan. Tindakan yang berisiko muncul di kartu pratinjau pertama.
Ingatan yang sangat banyak. Setiap prompt, respon dan tindakan hasil yang ditangkap dalam AI History.
4 Langkah-langkahNiat → audit
OOB HMACXerL ditandatangani sebelum dieksekusi
"pulangkan bil terakhir Adam" Langkah 1 _· resolusi maksud → dicocokkan: saas. refund_invoice permukaan: admin · peran: pemilik · Step 2 **Valasi * Langkah 3 _· Konfirmasi tanda & Kartu pratinjau · invoice #8421 Konfirmasi Baris Audit Step 4 · Memerlukan Methodiry aktor · prompt · hasil · 412ms Hanya-pemilik-hanya-saja · dapat diekspor sebagai CSV_
Tidak ada panggilan palsupendaftar kontrak sahaja
Dikonfirmasi-dipastikanpratonton sebelum kesan sampingan
Jejak permintaanaktor + kontrak + hasil
Rujukan

API Permukaan Hanya sekilas.

Satu permukaan JSON POST mendedahkan 2,430 tindakan bernama. Setiap kontrak yang dijana mengisytiharkan skop pengesahan, jenis baca/tulis, risiko, pengesahan, skema permintaan, larian percubaan, idempotensi dan ralat yang stabil.

KeuasanaaaAPI 3.0.3 _butuh rujukan
AksiJohnWritake safetyBatas
Tindakan penulisan somesomesomeKeisahan kontrak · /api/v1.php disahkan
ACTION tickets.replytickets.writeiranophry_run + idempotensiDikonfigurasi / jam
ACTION security.reportsecurity.writeiranophry_run + idempotensiDikonfigurasi / jam
ACTION platform.routes.writesistemdyakunci konfirmasi + konfirmasiDikonfigurasi / jam
Tindakan penemuan Baca & baca ungkapPermukaan POST sama TOW · amplop stabil
ACTION meta.actionsPenemuan umum pada zaman kunoHanya Baca-bacaDikonfigurasi / jam
ACTION tickets.listtickets.readHanya Baca-bacaDikonfigurasi / jam
ACTION connectors.listconnectors.readHanya Baca-bacaDikonfigurasi / jam
PeopleOS Tindakan HRDiurasi hr.* kontrak · hr.read / hr.write skop
ACTION hr.people.listhr.readHanya Baca-bacaDikonfigurasi / jam
ACTION hr.people.createhr.writeiranophry_run + idempotensiDikonfigurasi / jam
ACTION hr.org.treehr.readHanya Baca-bacaDikonfigurasi / jam
PeopleOS HR tidak menghantar peristiwa webhook HR keluaran. Cepatkannya melalui permukaan POST yang sama, atau langganan kepada kejadian modul lain menerbitkan. Rujukan penuh: PeopleOS API dan sambungan Dan Bahagian PeopleOS dalam rujukan pembangunModul ini diberi judul digerbang, jadi kunci tanpa hr Lufine mendapat penolakan, bukan daftar kosong. Apa itu HR PeopleOS.

Had kadar dikonfigurasikan bagi setiap kunci pada tetingkap setiap jam. Respons mendedahkan X-RateLimit-Limit, X-RateLimit-Remaining dan X-RateLimit-Reset; permintaan yang ditolak dikembalikan 429 dengan Retry-AfterGunakan KemuaaaaAPI Buka 3.0.3 kontrak atau Koleksi Postman , dihasilkan dari aturan waktu berjalan yang sama.

Bina penyambung

Build, uji dan lepas masuk Tahap ke enam.

Dari profil yang diatur atau definisikan kontraknya sendiri.

1Identitas. Nama, siput, profil dan menyatakan permukaan kemampuan.
2Auth. API Kunci, Bearer, dasar, OAuth 2.0, HMAC atau klien langganan.
3Tes. Sahkan tetapan sambungan terhad sebelum pembungkusan.
4Tindakan. Peta nama operasi, parameter, ruang lingkup dan risiko.
5Pemicu. ¡OC Declare inbound events, webhooks, polling dan perilaku sinkronisasi.
6Semak. Periksa kontrak yang dihasilkan dan lulus pintu keluar.
Tes sebelum kau berlayar

Memvalidasi dengan selamat, lalu melewati pintu keluar.

Guna dry_run pada tindakan tulis yang disokong, jalankan ujian sambungan terhad Pembina, dan periksa manifes serta kontrak yang dijana sebelum keluaran. Pengesahan pakej menyemak nama keupayaan, tetapan, asal usul dan fail yang diperlukan; pekerja latar belakang mengendalikan semakan berkala reaktif dan penghantaran keluar.

Penulisan karya tulis Widry-run Uji sambungan tanpa batas Kontrak berkonforman Transmisi Cron-driven
connector.php · php
kelas AcmeConnector Arsenal AbstractConnector { Fungsi publik nikif (): rentetan { Kembali \"Acme\"; } Fungsi publik Nama pengguna ((): rentetan { Kembali \"Acme\"; } Fungsi publik Keterangan lau_san ((): rentetan { Kembali Jembatan Acme yang jahat.; } // Gunakan nama dari KonektorContract Fungsi publik capabilities (): array { Kembali [\"aksi\", \"webhook\"]; } Fungsi publik settingsSchema(): array { Kembali [[\"Key\" => \"token\", type => 'password']]; } Fungsi publik Sambungan tes (()array $settings): array { Kembali [\"Keberuntungan\" => true]; } Fungsi publik handelWebhook() array $payload, array $headers, array $settings ): array { Kembali [\"Keberuntungan\" => true]; } }
01 · Kontrak penyambung 2.7

Pakej tidak boleh menuntut sesuatu keupayaan Kodenya tidak memiliki.

OpsIQ\Connectors\ConnectorContract ialah sumber muktamad. Penemuan masa jalan, Builder, pakej pihak pertama, pematuhan, General API dan setiap rujukan membaca daripada satu daftar itu. Isytiharkan sesuatu keupayaan dan tiga fail mesti sepadan antara satu sama lain sebelum OpsIQ menghalakan walau satu baris kepada anda.

FIG. 01_pakej penyambung, manifes bahagian skala 1:1 · kontrak 2.7
  1. 01 connector.php Kelas waktu berjalan
  2. 02 IdentityProvider.php Kunci eksternal stabil
  3. 03 SalesIngest.php Julukan Berdamai ()
  4. 04 actions.json Operasi yang dinamai
  5. 05 settings.json konfigurasi operator
  6. 06 connector_contract.json otoritas mudah dibaca mesin
07 signature.json one HMAC Shadine atas SHA-256 Dari setiap berkas di atas, ditambah bukti asal dari ed25519
Matriks kapabilitas bersikukulin kesemua 59, seperti yang direkodkan
Tindakan usil Pemicu ham webhook journey_events context guest_lookup identiti sales sales_reconciliation billing payments Perdagangan inbound_ticket outbound_reply ticket_merge ticket_custom_fields secure_details_request 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 kim block_registry inbound_comment outbound_note outbound_notification oauth reviews local seo site_intelligence analitik comms admin_assets enterprise_hooks durable_queue ticket_mirror attachment_bridge database_migrations scheduled_workers conflict_resolution
janajana 32 duklaratif 20 ekstensi 7
Dua tandatangan, dua soalan.

hmac-sha256 ke atas muatan deterministik cincangan SHA-256 bagi setiap fail menjawab Ini sudah diubah sejak penandatangananAn ed25519 jawapan tandatangan Apa itu ditandatangani oleh Nabtech_Dicek dengan kunci publik yang dibundel dan tidak ada rahasia bersama.

marketplace.json berada di luar tandatangan secara takrifnya: pemasang menulisnya selepas menandatangani, jadi penerbit tidak mungkin pernah menandatanganinya.
02 · alat/mutasi_proof.php

Penjaga yang tidak pernah gagal Tidak terbukti.

Ujian hijau memberitahu anda bahawa tiada apa yang rosak hari ini. Ia tidak memberitahu anda bahawa pengawal yang anda tulis akan menghentikan perkara yang ia ditulis untuk dihentikan, kerana pengawal yang tidak pernah diuji akan lulus sama seperti pengawal yang tidak melakukan apa-apa. Jadi kami sengaja menghentikan jantungnya, dan menuntut agar monitor menjerit.

pengawal · peranan baca mesti menolak operasi yang memusnahkan KANTOR CH1 verify_commerce_contracts
src/Connectors/CommerceRoleMapVerifier.php DIHADAP
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    }
Tepatnya satu Kecocokan tekstual diperlukan.
$ 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.
Bukti yang gagal adalah Tak pernah direkodkan. Bukti bahawa semakan telah gagal bukanlah bukti bahawa pengawal berfungsi.

Mutasi tidak pernah diterapkan.

Teks pencarian tidak cocok, filenya tidak tersentuh, suitenya lulus, dan buktinya direkam Hijau di bawah kode lama Tertangkap dengan memerlukan satu kecocokan tekstual dan membandingkan file hashes kedua sisi.

Mutasi mutasi itu merusak sesuatu yang lain.

Suit ujian menjadi merah kerana fail berhenti dihurai atau bootstrap mati, dan bukti merekodkan merah yang tiada kaitan dengan pengawal. Dikesan dengan menjalankan lint pada mutan dan mewajibkan Nama Tes di antara kegagalan.

Ia tidak boleh meninggalkan versi yang berubah pada cakera.

Setiap mutasi salinan asli ke sebuah sidecar di luar pohon yang diserved web, menulis penanda penamaan perubahan menonjol, dan dibatalkan oleh handler matikan pada setiap jalur keluar. Penanda dari run jatuh dihormati sebelum mutasi berikutnya file itu.

Konformansi 03 · Memerlukan

Sertifikasi adalah perintah Dengan kode keluar.

Bukan baris gilir semakan yang mana seseorang membaca kod anda dan membentuk pendapat. Jalankan set ujian yang sama seperti yang kami jalankan, pada mesin anda sendiri, sebelum menghantar. 8 skema JSON diterbitkan di doc/contracts/schemas/ merangkumi tetapan, tindakan, spesifikasi Builder, pemetaan peristiwa perjalanan dan perdagangan, resipi aliran kerja, kontrak penyambung dan manifes keluaran.

  1. manifests dihuraikan dan sepadan antara satu sama lain
  2. Kemampuan berbisa ada idi dalam kelas runtime
  3. interfaces Diimplementasikan di mana dinyatakan
  4. files Semua berkas yang diperlukan ada
  5. Tindakan usil Kecocokan dengan tindakan nyata
  6. destructive \"Penguatan\"
  7. identiti * Kunci eksternal stabil, bukan email
  8. [Redplay] replay pengulangan akan mengemas kini, tidak sekali-kali menduplikasi
  9. syarikat deklarasi python cocok dengan ekstensi
  10. docs INGGAL, BERLARANG, MENGUBAH
  11. Skema JSON _validasi
keluar 0 acme: conformant against contract 2.7 Kau perbaiki, 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

Dia yang pertama di rekening non-produksi nyata dengan --live-settings=/secure/test-acme.jsonSementara kau masih merasa gatal, tukar yang terakhir untuk --unsigned-okIni menganggap tanda tangan yang hilang sebagai peringatan yang diharapkan daripada berpura-pura itu baik-baik saja.

04 · Perdagangan.json

Mengisytiharkan apa yang boleh anda jual Dia bukan sebuah berkas, bukan pendaftaran.

Penyambung yang boleh menjual mengisytiharkan yang mana antara Milik mereka sendiri operasi menjawab peranan dagangan kanonik OpsIQ. Kehadiran fail itu ialah tuntutannya. Ia muncul dalam tetapan jualan sebaik sahaja ia mengisytiharkan dan hilang apabila ia berhenti. Tiada senarai untuk disertai dan tiada sesiapa untuk ditanya.

Peranan kanonikal commerce_roles.json Kau operasikan operasimu
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 Penulisan catatan generik, tidak ada pemulihan
RUJU

Satu tulis Peranan lendir dipetakan ke penulisan catatan generik. Padanannya adalah struktural: sebuah noun penyimpanan disamping kata kerja mutating, apapun konvensi penamaan Anda. Menulis baris bisnis langsung melewati harga platform, penguncian ketersediaan dan konfirmasi surat, dan menghasilkan perintah sistem pedagang sendiri hanya setengah percaya. recovery juga, jadi tamat masa tidak akan dapat dipulihkan.

commerce_roles.jsonSAH
{
  "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" }
    }
  }
}
Berkasnya sendiri dengan sengaja: connector_contract.json Khagon dijana dan skemanya ditetapkan additionalProperties:falseJadi blok yang diberi izin akan gagal validasi dan kemudian ditulis ganti pada generator berikutnya dijalankan.
01
Kata kerja yang dibubuhi kata

Peran A tidak masuk CommerceRole tidak wujud. OpsIQ tidak sekali-kali menyimpulkannya daripada nama operasi, kerana nama bukanlah satu janji.

02
Tindakanmu sendiri

Operasi itu mesti muncul dalam actions.jsonMenyatakan satu yang tidak ada menjanjikan sesuatu pada pelanggan yang kemudian menghasilkan apa-apa.

03
Para penulis menyatakan pemulihan

Masa tamat yang paling berbahaya adalah selepas platform mungkin telah selesai kerja. Tanpa carian "adakah saya menulis tanah" idempoten, satu-satunya pilihan ialah cuba semula secara buta atau hilang perintah.

04
Peranan bayaran yuran [P] dengan sertifikat

Setiap pekerjaan yang juga menyatakan peran kelas pembayaran payment_profile Dan dengan Persekitaran, webhook_verify Memanfaatkan skema penyedia sendiri, dan event_map. Persekitaran yang tidak dinyatakan ialah cara penyedia dalam mod ujian menerima pembayaran sebenar.

Builder mengesahkan ini semasa anda menaip dan pengesah mengesahkan pakej yang dihantar. Kedua-duanya memanggil fungsi yang sama, jadi mereka tidak boleh bercanggah.
⚖️ Bagaimana ia dibandingkan

OpsIQ vs a Integrasi DIY.

Apa yang diberikan oleh platform yang terikat kontrak, bertandatangan dan diaudit kepada anda, yang tidak akan pernah diberikan oleh webhook dan saluran tindakan AI buatan sendiri.

Kemampuan berbakatBina sendiriOpsIQ
Skop Bearer API + Webhooks ditandatangani HMAC Tangan-digulung ✓
Penulisan Dry-run + 24_jam sukses replay AYAH ✓
1m → 5m → 30m → 2h → 12h retries Antrian DIY ✓
Registrasi aksi-kontrak-aksi (AI tidak dapat menemukan panggilan) — ✓
Dasar pengesahan sebelum kesan sampingan — ✓
Selubung galat stabil + ID permintaan Pengelogan Manual Uggging ✓
HTTP langsung Ukraina + pilihan klien yang dihasilkan Tulis sendiri ✓
KehampaanAPI 3.0.3 kontrak mudah dibaca mesin Mungkin ✓
Builder enam peringkat + get keluaran pakej Ufinah membangun sebuah rantaian alat ✓
Kunci dan batas per jam yang dipinda oleh Ruang Kerja-Cyword Varian ✓
Corak penyambung: kod platform kekal terasing — ✓
Soalan Lazim

Soalan pembangun, Dijawab oleh Meka.

Pengesahan, kontrak, cuba semula, penjanaan klien, ujian selamat dan model penyambung, sebelum permintaan pengeluaran pertama.

Panggilan API umum menghantar Authorization: Bearer opq_…. Kunci boleh tanpa sekatan, bersekatan atau baca sahaja, membawa skop keistimewaan minimum, mematuhi had setiap jam dan boleh disematkan pada ruang kerja. Tandatangan webhook adalah berasingan: penghantaran keluar membawa X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event dan X-OpsIQ-Delivery.
Tidak. AI hanya boleh mencadangkan operasi bernama dalam daftar tindakan. Setiap kontrak yang dijana mengisytiharkan skop, medan permintaan, risiko dan dasar pengesahan; operasi yang dasarnya memerlukan pengesahan memaparkan pratonton untuk manusia sebelum dilaksanakan.
Penghitungan Ulang hash_hmac('sha256', $rawBody, $secret) Dan membandingkannya dengan digest heksadesimal X-OpsIQ-Signature jar menggunakan hash_equalsValidate X-OpsIQ-Timestamp Di dalam jendela replay dan penggunaan X-OpsIQ-Delivery sebagai pengecam penghantaran yang boleh dikesan.
Percubaan yang tidak berjaya memasuki baris gilir penghantaran latar belakang. OpsIQ mencuba semula mengikut tangga 1 minit, 5 minit, 30 minit, 2 jam dan 12 jam sambil mengekalkan pengecam penghantaran dan sejarah percubaan untuk diagnostik.
Panggil JSON permukaan tindakan secara langsung, import yang dijana Postman koleksi, atau cipta klien dari OpenAPI 3.0.3. Penghantar rujukan PHP dan klien integrasi Node/Python menyokong peristiwa dan aliran webhook; mereka adalah pembantu berbanding terpisah API kontrak.
Guna dry_run pada tindakan yang kontrak janaannya menyokongnya, jalankan ujian sambungan terhad Connector Builder, periksa fail yang dijana, dan lulus pematuhan pakej serta get keluaran sebelum menganggap penyambung itu sedia.
Keluaran yang dipasang menjana kontrak API dan penyambungnya daripada pendaftaran masa jalannya sendiri. Penggunaan anda memiliki URL awam, rahsia, storan dan cron/pekerjanya sendiri, jadi tingkah laku perlu disahkan berdasarkan keluaran yang dipasang dan bukannya diandaikan daripada persekitaran awan.
Penyambung ialah pakej terkawal yang mengandungi penyesuai, settings.json, opsional actions.json---- -- enam tahap membangunnya, registry menemukan itu; sesuai dan lepaskan gerbang validasi itu.