डेवलपर प्लेटफॉर्म · REST · वेबहुक · SDKs

अपना मंच बनाएं एआई-operable।

OpsIQ_ एक साफ REST API, HMAC-signed webhooks, एक एक्शन-संविदा रजिस्ट्री और रेडी-टू-शिप SDKs को उजागर करता है। अपने सिस्टम से क्या घटनाओं की आग को परिभाषित करें, AI को चलाने की अनुमति क्या है, और किस डेटा को पढ़ने के लिए सुरक्षित है। OpsIQ आपके लिए हस्ताक्षर, रिट्रीज़, ऑडिट लॉग और पुष्टि प्रवाह को संभालती है।

HMAC-SHA256 दोनों तरीकेPHP · Node · पायथन SDKsओपनएपीआई3.0.3अनुबंध100% ऑडिट कवर
हस्ताक्षरित निवेदन
हस्ताक्षरित वेबहूक बाहर → 200 ठीक
लाइव कर्ल → OpsIQ → वेबहुक पर हस्ताक्षरित POST /v1/actions/run X-OpsIQ-हस्ताक्षर { "action": refund_invoice", "confirmed": True } सत्यापित · चलाएँ · ऑडिट हस्ताक्षर करना भूमिका + गुंजाइश लेखा परीक्षा पंक्ति लिखा @opsiq/sdkविजेट ("action. executed") HMAC → हैंडल को सत्यापित करें 200ठीक
3आधिकारिक SDKs: PHP, Node, Python
एचएमएसीहर निवेदन पर SHA-256 हस्ताक्षरित
40+सदस्यता के लिए सार्वभौमिक घटनाओं
100%कार्रवाई पर ऑडिट-लॉग कवरेज
अनुरोध जीवनचक्र

में अनुरोध करें। साइन अप वेबहुक आउट

आप पोस्ट करने के लिएOpsIQ APIअपने स्कोप्ड बियरर कुंजी के साथ।OpsIQचेक गुंजाइश और भूमिका, अनुबंधित कार्रवाई को चलाता है, एक लेखा परीक्षा पंक्ति लिखता है - फिर अपने समापन बिंदु पर वापस एक HMAC-सिग्न वेबहुक को आग लगाता है। हर हॉप को अधिकृत किया जाता है, idempotent और विफलता पर पुनः प्राप्त किया जाता है।

HMAC-SHA256 वेबहूक्स - इनबाउंड और आउटबाउंड वेबहुक पेलोड कच्चे शरीर पर हस्ताक्षर किए जाते हैं; API एक स्कोप्ड बियरर कुंजी के साथ प्रमाणित करता है।
स्वचालित retries - असफल प्रसव वापस और फिर से शुरू, एक वितरण आईडी के साथ आप ट्रेस कर सकते हैं।
Idempotency key - डिजाइन द्वारा पुनः प्रदर्शन सुरक्षित, इसलिए एक पुनर्प्राप्त डिलीवरी कभी भी डबल-अभिनय नहीं होती है।
आपका ऐप POST /v1/actions/run X-OpsIQ-हस्ताक्षर X-OpsIQ-टाइमस्टैम्प सत्यापित करें - चलाएँ - ऑडिट आपका समापन बिंदु POST /webhooks HMAC सत्यापित करें 200ठीक हस्ताक्षर सत्यापित गुंजाइश + भूमिका जांच अनुबंधित कार्रवाई रन लेखा परीक्षा पंक्ति लिखा साइन्ड वेबहॉक पेनिलोड { "ईवेंट": "action. executed", delivery_id: "dlv_8f2a9", "आईडीई- इमपॉटेंसी_ कुंजी": "idem_ 31c7", "हस्ताक्षर": "sha256=9c4e0a7b ..." } वितरित
01 हस्ताक्षर अनुरोध 02 HMAC सत्यापित करें 03 अनुबंध 04 लेखा परीक्षा पंक्ति 05 वेबहुक पर हस्ताक्षर किए
क्विकस्टार्ट

शून्य से लाइव एकीकरण तक चार चरण

एक कुंजी उत्पन्न करें, अपनी पहली घटना को आग लगा दें, एक वेबहुक की सदस्यता लें, एक कार्रवाई दर्ज करें। आप उत्पादन डेटा को छूने से पहले सैंडबॉक्स के खिलाफ पूरे लूप चला सकते हैं।

सैंडबॉक्स कंसोलकनेक्ट
DEVELOPER CONSOLE · सैंडबॉक्स 1___________________________________________________________________________________________________________________________ opq_live_xxx · एक स्कोप्ड बियरर कुंजी 2___________________________________________________________________________________ POST /v1/events/fire "order. shipped" 3· वेबहुक की सदस्यता लें https://api.you.com/webhooks 4________________________________________________________________________________________________________ Saas. refund_invoice · लेखा परीक्षा
प्रचारसैंडबॉक्स → उत्पादन, एक ही कोड
01

एक कुंजी प्राप्त करें

साइन अप करें और एक स्कोप्ड बियरर उत्पन्न करेंAPIकुंजीopq_…) डेवलपर सेटिंग्स में, और प्रत्येक एकीकरण को केवल इसकी आवश्यकताओं की सतहों को ही देते हैं।

02

अग्नि और सदस्यता

एक हस्ताक्षरित पोस्ट करें events/fire (या एक SDK_ का उपयोग करें) तब किसी भी घटना पर किसी भी URL को इंगित करता है, जिसमें एक डिलीवरी आईडी और बैक-ऑफ रिट्रीज़ शामिल है।

03

एक कार्रवाई रजिस्टर

एक हस्ताक्षरित कार्रवाई अनुबंध की घोषणा करें ताकि एआई सुरक्षित रूप से कार्य चला सके, जिसमें भूमिका जांच, पुष्टि नीति और पूर्ण लेखा परीक्षा का निशान शामिल है।

यह कैसे एक साथ फिट बैठता है

एक कनेक्टर पैटर्न। पांच स्वच्छ आदिम।

कुछ भी प्लेटफॉर्म-विशिष्ट जीवन एक कनेक्टर में। OpsIQ कोर सामान्य रहता है, AI पूर्वानुमान योग्य रहता है और आपका एकीकरण लेखा परीक्षा योग्य रहता है।

01
ट्रिगर्स

टेलOpsIQक्या हुआ?

अपने प्लेटफॉर्म से फायर सार्वभौमिक घटनाओं - या अपने स्वयं के कस्टम इवेंट नाम। प्रत्येक ग्राहक वास्तविक समय में प्राथमिकता के आदेश में प्रतिक्रिया करता है।

घटना संदर्भ
invoice.paid event. fire () A sineलाइव संदर्भ नियमप्राथमिकता 20 दर्पणपहले लिखें वेबहुकहस्ताक्षर
यूनिवर्सल + कस्टम इवेंटinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up या आपका खुद का। फैन-आउट सब्सक्राइबरएआई मस्तिष्क, स्वचालन नियम, दर्पण कनेक्टर और आपका वेबहुक सभी प्रतिक्रियाएं इंगित करता है। प्राथमिकतानियतिवादी प्रेषण इसलिए दर्पण आग की चेतावनी से पहले लिखते हैं।
02/ Action contracts

टेलOpsIQएआई को क्या करने की अनुमति है।

एक एक्शन अनुबंध एक हस्ताक्षरित है JSON घोषणा: क्या कार्रवाई करता है, कौन सी भूमिकाएं इसे चला सकती हैं, यह किस पैरामीटर को स्वीकार करता है, चाहे पुष्टि की आवश्यकता हो, और कॉल करने के लिए अंतिम बिंदु।

कार्य स्कीमा
एआई कार्रवाई को आविष्कार नहीं कर सकतायह केवल उन लोगों को देखने के लिए पूछ सकता है जिन्हें आपने पंजीकृत किया है। पुष्टिकरण नीतिजोखिम भरा कार्रवाई किसी भी पक्ष प्रभाव से पहले एक पूर्वावलोकन कार्ड को ट्रिगर। रोल + सतह गैटिंगप्रत्येक क्रिया ने भूमिकाओं और सतहों को यह चलाने की अनुमति दी है।
एक्शन कॉन्ट्रैक्ट - 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/ हस्ताक्षरित वेबहुक

अपने स्टैक के लिए घटनाओं पुश - क्रिप्टोग्राफिक सबूत के साथ।

किसी भी URL को किसी भी घटना में सदस्यता दें. OpsIQ POSTs the JSON payload with HMAC-SHA256 over the raw body - इसे कुछ पंक्तियों में सत्यापित करें.

सुरक्षाअनुरेखण योग्य वितरण IDबैक-ऑफ रिट्री
वेबहुक संदर्भ
Webhook - 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

आप पहले से ही उपयोग की गई भाषा के लिए ड्रॉप-इन क्लाइंट।

तीन आधिकारिक SDKs प्रमाणीकरण, हस्ताक्षर, रिट्रीज़, idempotency कुंजी और टाइप प्रतिक्रियाएं संभालती हैं।SDKएक ही REST सतह के चारों ओर एक पतली आवरण है।

ग्राहक उदाहरण
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",
})
PHP8.4+Node. js 18+पाइथन 3.10+ओपनएपीआई3.0.3
05_/ कनेक्टर पैटर्न

एक बार बनाएँ। कुछ में प्लग करें।

एक कनेक्टर एक PHP वर्ग के साथ एक फ़ोल्डर है।OpsIQइसे खोजता है, रजिस्ट्री घटनाओं को तार करता है, और आपका प्लेटफ़ॉर्म-विशिष्ट कोड स्वच्छ रूप से कोर से अलग रहता है।

कनेक्टर गाइड
पांच हुकidentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook(). मैनिफेस्ट- ड्राइव्डactions.json और settings.json अनुबंध और विन्यास की घोषणा की। ऑटो-डिस्कवरफ़ोल्डर को ड्रॉप करें, इसे साइन करें, इसे व्यवस्थापक में सक्षम करें।
इरादे से सुरक्षित कार्रवाई तक

में सादा अंग्रेजी। लेखापरीक्षित ऑपरेशन बाहर।

OpsIQ कभी सही कॉल नहीं आविष्कार करता है. यह पंजीकृत अनुबंधों के माध्यम से चलता है, पेलोड तैयार करता है, पुष्टि के लिए पूछता है जब कार्य की आवश्यकता होती है, और एक पूर्ण ऑडिट पंक्ति उत्पन्न करता है जब यह निष्पादित होता है, इसलिए एक एआई जो कर सकता है कार्य कभी भी एआई नहीं बन सकता है।

अनुबंध-सीमा एआई केवल उन कार्यों का प्रस्ताव करता है जिन्हें आपने पंजीकृत किया है।
साइड-इफेक्ट्स से पहले पुष्टि करें। जोखिमपूर्ण कार्रवाई पहले एक पूर्वावलोकन कार्ड की सतह।
कुल याद हर संकेत, प्रतिक्रिया और कार्रवाई के परिणामस्वरूप एआई इतिहास में कब्जा कर लिया गया।
4_______________________________________________intent → लेखा परीक्षा
एचएमएसीनिष्पादित करने से पहले हस्ताक्षर किए
"refund Adam's Last चालान" Step 1____________________________________________________________________________________________________________________________ → मिलान: saas. refund_invoice सतह: व्यवस्थापक · भूमिका: मालिक · चरण 2_ मान्य चरण3· पुष्टि और संकेत पूर्वावलोकन कार्ड · चालान #8421 पुष्टि चरण 4 · ऑडिट पंक्ति कर्ता · प्रोम्ट · परिणाम · 412ms केवल · निर्यात करने योग्यCSV
कोई आविष्कार कॉल नहींकेवल अनुबंध रजिस्ट्री
पुष्टि-पत्रदुष्प्रभावों से पहले पूर्वावलोकन
100% ऑडिटेड+ परिणाम
संदर्भ

API सतह एक नज़र में।

हर कोर समापन बिंदु, इसकी auth, idempotency और प्रति कुंजी दर सीमा। पूर्ण मशीन पठनीय अनुबंध OpenAPI 3.0.3 संदर्भ में रहता है।

ओपनएपीआई3.0.3संदर्भ
समापन बिंदुप्रमाणीकरणअज्ञातदर सीमा
लेखकसाइड-प्रभाव सतहों पर हस्ताक्षर किए गए
POST /v1/events/fireएचएमएसीहाँ1000 / मिनट
POST /v1/actions/runएचएमएसीहाँ200/ मिनट
POST /v1/webhooks/testएचएमएसीहाँ60 / मिनट
पढ़िएसंदर्भ, टिकट और कनेक्टर सूची
GET /v1/customers/{id}एचएमएसीहाँ2000 / मिनट
GET /v1/ticketsएचएमएसीहाँ2000 / मिनट
GET /v1/connectorsएचएमएसीहाँ2000 / मिनट

दर सीमा कुंजी के अनुसार होती है और प्रत्येक प्रतिक्रिया पर लौट आती है X-OpsIQ-RateLimit-RemainingA rate रिटर्न (Litend रिटर्न) से अधिक, a rate रिटर्न (Litend रिटर्न) 429 साथ Retry-After शीर्षलेख। पूर्ण मशीन पठनीय अनुबंध (every endpoint, स्कीमा और त्रुटि) में रहता है ओपनएपीआई3.0.3संदर्भ.

एक कनेक्टर बनाएँ

एक कनेक्टर को जहाज में पांच चरणों।

एक कनेक्टर एक स्वयं निर्मित फ़ोल्डर है।OpsIQइसे खोजता है, रजिस्ट्री घटनाओं को तार करता है, और आपका प्लेटफ़ॉर्म-विशिष्ट कोड कभी भी कोर में लीक नहीं होता है।

1एक फ़ोल्डर को मचाने के साथ connector.php विस्तार AbstractConnector.
2घोषणा actions.json और settings.json प्रकट होता है।
3पहचान, संदर्भ और वेबहुक प्रदाताओं को लागू करें।
4आप जिस घटनाओं की परवाह करते हैं, उसकी सदस्यता लें।
5इसे साइन करें, इसे छोड़ दें, इसे व्यवस्थापक में सक्षम करें।
जहाज से पहले टेस्ट करें

एक sandbox कुंजी और एक webhook परीक्षक।

हर कार्यस्थल में एक सैंडबॉक्स को उजागर किया गया है: एक अलग-अलग स्कोप वाली कुंजी जो उत्पादन डेटा को छूने के बिना समान API सतह पर हिट होती है। POST /v1/webhooks/test अपने समापन बिंदु पर एक हस्ताक्षरित नमूना वितरण को फायर करने और लाइव जाने से पहले अपने हस्ताक्षर सत्यापन की पुष्टि करने के लिए। सेल्फ-होस्टेड इंस्टॉल समान कोड पथ चलाते हैं, जिसमें क्लाउड और ऑन-प्रेम के बीच कोई व्यवहारिक बहाव नहीं होता है।

सैंडबॉक्स कुंजी वेबहुक परीक्षक क्रोन-संचालित नौकरियां क्लाउड और स्व-होस्टेड समानता
php
कक्षा AmeConnector विस्तार AbstractConnector { सार्वजनिक समारोह कुंजी (): तार { वापसी Ame's 'acme'; } // Resolve who is the अभिनेता सार्वजनिक समारोह पहचानकर्ता (Pidity) : सरणी { वापसी [नया AcmeIdentityProvider()]; } // फ़ीड लाइव डेटा में AI प्रॉम्प्ट सार्वजनिक समारोह संदर्भ प्रदाता (): सरणी { वापसी [नया AcmeContextProvider()]; } // प्रतिक्रिया करने के लिए OpsIQ___________________________________________________________________________ सार्वजनिक समारोह ग्राहक (): सरणी { वापसी ['invoice. pay' => [नया BillingMirror()]]; } // प्राप्त करें भीतर वेबहुक से Acme सार्वजनिक समारोह संभालती है Webhook()सरणी $body): शून्य { /* … */ } }
The तुलना कैसे करें

OpsIQ बनाम एक DIY एकीकरण।

अनुबंध के साथ, हस्ताक्षर किए गए, लेखापरीक्षित मंच आपको देता है कि अपने स्वयं के वेबहुक को रोल करना और एआई-एक्शन प्लंबिंग कभी नहीं होगा।

क्षमताअपना खुद का रोल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) भिन्नता
Connector pattern: platform code stays isolated
सामान्य

डेवलपर प्रश्न, जवाब देना

Auth, हस्ताक्षर, SDKs, sandboxing और कनेक्टर मॉडल: सब कुछ आप पहले अनुरोध से पहले पूछेंगे।

APIएक एकल दायर बियरर कुंजी के साथ प्रामाणिक कॉल: भेजें Authorization: Bearer opq_…. OpsIQकुंजी के दायरे और अभिनेता की भूमिका कुछ भी रन से पहले की जाँच करता है। वेबहुक अलग हैं: हर वेबहुकOpsIQभेजता है एक करता है X-OpsIQ-Signature (Rhox HMAC-SHA256 of raw body) और एक X-OpsIQ-Timestamp सुरक्षा को फिर से चलाने के लिए, इसलिए आप हमें रिटर्न में सत्यापित कर सकते हैं, और आपके द्वारा भेजे गए वेबहुक को उसी तरह सत्यापित किया जाता है।
नहीं, एआई केवल उन कार्यों का प्रस्ताव कर सकता है जो आपके एक्शन-संविदा रजिस्ट्री में मौजूद हैं। यह कॉल को आविष्कार नहीं कर सकता है। प्रत्येक अनुबंध सतहों, भूमिकाओं और मापदंडों की अनुमति देता है, और चिह्नित किसी भी कार्रवाई को घोषित करता है। requires_confirmation साइड-इफेक्ट रन से पहले एक व्यक्ति को एक प्रीव्यू कार्ड की सतह पर पहुंचता है।
फिर से गणना करें hash_hmac('sha256', $rawBody, $secret) (एक हेक्स बिना किसी उपसर्ग के साथ पचाता है) और इसकी तुलना इसके लिए की जाती है। X-OpsIQ-Signature एक स्थिर समय की जांच के साथ शीर्षलेख (सिरकालिक जांच)hash_equalsप्रत्येक वितरण में टाइमस्टैम्प, एक idempotency कुंजी और एक डिलीवरी आईडी भी है जिसे आप ट्रेस कर सकते हैं। इस पृष्ठ पर PHP स्निपेट संपूर्ण सत्यापन है।
डिलीवरेज जो एक वापस नहीं लौटते हैं 200 को एक्सोनेंशियल बैक-ऑफ के साथ पुनः प्राप्त किया जाता है, प्रत्येक एक ही idempotency कुंजी ले जाता है इसलिए एक पुनर्प्राप्त डिलीवरी कभी डबल-अभिक्रिया नहीं होती है। आप व्यवस्थापक या अपने लॉग में डिलीवरी आईडी द्वारा हर प्रयास का पता लगा सकते हैं।
PHP के लिए आधिकारिक SDK8.4+, Node.js18+ और पायथन3.10+ साइनिंग, रिट्रीज़, आइडमपॉटेंसी कुंजियों और टाइप की गई प्रतिक्रियाओं को संभालती है। वे आरईटी सतह के चारों ओर पतले रैपर हैं, इसलिए आप प्रकाशित OpenAPI से अपना खुद का क्लाइंट भी उत्पन्न कर सकते हैं।3.0.3अनुबंध या कॉलAPIसीधे।
हाँ। हर कार्यस्थल अपने स्वयं के दायरे वाली कुंजी के साथ एक सैंडबॉक्स को उजागर करता है जो उत्पादन डेटा को छूने के बिना समान API_ सतह को हिट करता है, साथ ही साथ POST /v1/webhooks/test अपने अंतिम बिंदु पर एक हस्ताक्षरित नमूना वितरण को फायर करने और लाइव होने से पहले अपने सत्यापन की पुष्टि करने के लिए।
हाँ। स्व-होस्टेड इंस्टॉल समान कोड पथ (एक ही हस्ताक्षर, एक ही कनेक्टर रजिस्ट्री, एक ही ओपनएपीआई अनुबंध) को चलाते हैं ताकि क्लाउड और ऑन-प्रेम के बीच कोई व्यवहारिक बहाव न हो।
एक कनेक्टर एक PHP वर्ग के विस्तार के साथ एक स्वयं निर्मित फ़ोल्डर है AbstractConnectorप्लस actions.json और settings.json प्रकट होता है। आप लागू करते हैं identityProviders(), contextProviders(), registerActions(), subscribers() और handleWebhook(). OpsIQ इसे स्वचालित रूप से खोजता है, घटनाओं को वायर करता है और आपके प्लेटफार्म- विशिष्ट कोड को कोर से साफ- सुथरा अलग रखता है.