اجعل منصتك قابلة للتشغيل بالذكاء الاصطناعي.
Call 2,418 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.
طلب مُنْطَع حدث مُوقع
اتخاذ إجراء بشأن /api/v1.php مع مفتاح "بيرر" واسع النطاق.OpsIQيعلق مكان العمل ويصدق على عقد الإجراءات والتصاريح، ثم ينفذه أو يديره جافاً.HMAC-محاولات التسليم الموقّعة والمحاولات المُتعقّبة والتراجعات المقيدة.
من الأساسي إلى الإدماج المنظم ثلاث خطوات
إصدار مفتاح أقل سعراً، واكتشاف العقد المولد، وكتابة أجرة، ثمّ يُشترك في موقع إلكتروني عندما يحتاج تطبيقك إلى إنجاز حدث أساسي.
احصل على مفتاح
سجل وولد مفتاح API من نوع Bearer محدد (opq_…) في إعدادات المطور، ومنح كل تكامل فقط الأسطح التي يحتاجها.
الكشف عن المعلومات " المصادقة "
اقرأ meta.actions, meta.action و meta.scopes; Use dry_run لتأكيد الكتابة قبل الإعدام
الالتزام بالإنفاذ
أضف مفتاحاً للتكاتيف ثم نضمّ إلى آخر المستجدات التي تحتاجها
نمط موصل واحد. خمسة بدائيات نظيفة.
أي شيء خاص بالمنصة يعيش في موصل. يبقى جوهر OpsIQ عامًا، يبقى الذكاء الاصطناعي متوقعًا، ويظل تكاملك قابلاً للمراجعة.
أخبر OpsIQ بما حدث للتو.
تقليد الأحداث الكانتونية من منصةكم، أو تحديد حدث محكوم بالعرف، ويتلقى المجندون الحدث من خلال قواعد الأولوية وقواعد التسليم المسجلة.
مرجع الحدثinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up أو أنت
مشتركون متفرعونيتفاعل دماغ الذكاء الاصطناعي، قواعد الأتمتة، الموصلات المرآة ونقاط نهاية webhook الخاصة بك.
ترتيب الأولويةإرسال حتمي بحيث تكتب المرايا قبل أن تطلق التنبيهات.
أخبر OpsIQ بما يُسمح للذكاء الاصطناعي بفعله.
وتتلقى كل عملية مسمّاة عقداً متولداً: النطاق، السمة، القراءة أو الكتابة، المخاطر، سياسة التثبيت، طلب الكيماويات والاستجابة لها، الدعم الجاف، الإيقاع بالأخطاء المستقرة.
مخطط العمل{
"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"] }
}
ادفع الأحداث إلى مجموعتك - مع دليل تشفير.
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.
$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
استخدمي برنامج "هوتر بي" المباشر أو توليد العميل الذي تفضلينه
العام الكاملAPI يُنشر كباب مفتوح 3.0.3 و سابع البريد، المرسلون المرجعيون للشرطة المدنية بالإضافة إلى عملاء التكامل في نود وبيثون يغطيون الأحداث الموقّعة والتدفقات الشبكية؛ ويمكن لأي مجموعة أن تسمي نفس الشيء JSON العمل على السطح مباشرة.
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.",
},
)
ابنِ مرة واحدة. قم بتوصيلها بأي شيء.
الموصل هو حزمة محكومة تولد أو يتم استيرادها من خلال الهوية، والتقصي، والاختبار، والعمل، والمتجرين، والاستعراض. OpsIQ مسموح له بالكشف
إفتحوا المبنى من ست مراحلاللغة الإنجليزية البسيطة في. عملية مدققة.
لا يخترع OpsIQ المكالمة الصحيحة. إنه يمر عبر العقود المسجلة، يحضر الحمولة، يطلب التأكيد عندما يتطلب الإجراء ذلك، وينتج صف تدقيق كامل عند التنفيذ، لذا فإن الذكاء الاصطناعي الذي يمكنه تصرف لا يصبح أبدًا ذكاءً اصطناعيًا لا يمكنك الوثوق به.
واجهة API . بإلقاء نظرة
One JSON POST surface exposes 2,418 named actions. Each generated contract declares auth scopes, read/write kind, risk, confirmation, request schema, dry-run, idempotency and stable errors.
ACTION tickets.replytickets.writeجاف - ركض + ايديالساعةACTION security.reportsecurity.writeجاف - ركض + ايديالساعةACTION platform.routes.writeمسؤولالتأكيد + المفتاحالساعةACTION meta.actionsالاكتشافات العامةللقراءة فقطالساعةACTION tickets.listtickets.readللقراءة فقطالساعةACTION connectors.listconnectors.readللقراءة فقطالساعةhr.* العقود؛ hr.read / hr.write نطاقاتACTION hr.people.listhr.readللقراءة فقطالساعةACTION hr.people.createhr.writeجاف - ركض + ايديالساعةACTION hr.org.treehr.readللقراءة فقطالساعةhr تحصل على رفض، وليس قائمة فارغة. ما هو "الناس".يتم تشكيل حدود المعدل لكل مفتاح على نافذة ساعة X-RateLimit-Limit, X-RateLimit-Remaining و X-RateLimit-Reset; a rejected request returns 429 مع Retry-After- استخدام عقد OpenAPI 3.0.3 أو مجموعة البريد متولدة من نفس السجلات
البناء والاختبار والإفراج ست مراحل
ابدأ من ملف محكم أو تحدد العقد بنفسك، يقوم البناء بتصحيح كل مرحلة قبل أن يولد حزمة اتصال ذاتية الاحتواء.
و نقيم بأمان ثم نعبر بوابة الإفراج
الاستخدام dry_run على أعمال الكتابة المدعومة، أجري اختبار الاتصال في المبنى وفحص المطبوعات والعقد المولدة قبل الإفراج
لا يمكن لمجموعة من الطرود أن تطالب بالقدرة رمزها ليس لديه
OpsIQ\Connectors\ConnectorContract هي السلطة، الاكتشافات التي تجري في الوقت المناسب، البناء، مجموعات الأطراف الأولى، المطابقة العامة API وكل مرجع يقرأ سجل واحد، ويقرر القدرة وثلاثة ملفات يجب أن يتفق بعضها مع بعض قبل ذلك OpsIQ يُوجّه صف واحد إليك.
- 01 connector.php درجة الجري
- 02 IdentityProvider.php مفتاح خارجي مستقر
- 03 SalesIngest.php التوفيق بين المبيعات
- 04 actions.json العمليات المسماة
- 05 settings.json تشكيلة المشغل
- 06 connector_contract.json السلطة القابلة للقراءة آليا
hmac-sha256 على حمولة محددة من كل قطعة256 إجابات هشة وقد تم تعديل هذا منذ التوقيع. An ed25519 ردود التوقيع تم التوقيع عليها Nabtechقابل للفحص مع المفتاح العام المزروع ولا سر مشترك
marketplace.json لا يوجد توقيع تعريف: يكتبه المُحرّر بعد التوقيع، لذا لم يكن بوسع الناشر أن يوقع عليه.
حارس لم يفشل أبداً غير مُبرّر.
الإختبارات الخضراء لا تخبرك بشيء مفلس اليوم، ولا يخبرونك الحارس الذي كتبته سيوقف الشيء الذي كتب ليتوقف، لأن حارساً لم يمارس أبداً يمر تماماً مثل الحراس الذي لا يفعل شيئاً لذا نوقف قلبه عن قصد ونطالب بأن يصرخ الشاشة
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 }
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.
الطفرة لم تطبق أبداً
لم يتطابق نص البحث، الملف كان غير ممسّك، ونجحت الدعوى، وسجل الدليل خضراء تحت الرمز القديم عن الشفرة التي لم تكن قديمة، تم القبض عليها بإشتراط مطابقة نصية واحدة ومقارنة ملف (هايلز) من كلا الجانبين.
الطفرة كسرت شيئاً آخر
الجناح ذهب أحمر لأن الملف توقف عن الفرز أو الحذاء مات، وسجلت الأدلة حمراء لا علاقة لها بالحرس أسمها اختبار بين الفشل
لا يمكن أن يترك متحولاً على قرص
كل عملية تطويع نسخ أصلية إلى سيارة جانبية خارج الشجرة التي تخدم الشبكة، تكتب علامة تسمي التغيير المعلق، وتُبطل بواسطة معالج مقفل على كل طريق خروج، ويشرف بعلامة من طائرة محطمة قبل التصفية التالية لذلك الملف.
الشهادة هي القيادة مع رمز خروج
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/ :: تحديد أماكن العمل، والإجراءات، ومواصفات البناء، ورسم خرائط لرحلات الرحلات والتجارة، وصفات سير العمل، وعقود الموصلة، وبيانات إطلاقها.
- manifests حزمة وتوافق مع بعضها البعض
- القدرات موجود في فصل الجري
- interfaces نفذت في الحالات التي أعلن فيها
- files كل ما يطلبه من ملفات
- الإجراءات تطابق الإجراءات
- destructive إعلان
- الهوية مفتاح خارجي مستقر، وليس بريد إلكتروني
- إعادة التشغيل تحديثات متكررة، لا تضاعف أبدا
- مؤسسة الإعلانات تتطابق مع التمديد
- الوثائق README, DEVELOPER, CHANGELOG
- الكيماويات كل شيء JSON المصادقة
$ 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
نقطة الأولى في حساب غير إنتاجي حقيقي --live-settings=/secure/test-acme.jsonبينما أنت لا تزال تتهاوى، تبادل آخر واحد --unsigned-ok: يعامل التوقيع المفقود كتحذير متوقع بدلاً من التظاهر بأنه لا بأس به
تعلن ما يمكنك بيعه هو ملف، وليس تسجيل.
موصل يمكنه بيعه يعلن أي من الخاصة بها جواب العمليات OpsIQدور التجارة الكانتونية، وجود الملف هو الإدعاء، يظهر في أماكن البيع لحظة إعلانه واختفائه عندما يتوقف لا توجد قائمة للإنضمام ولا أحد يسأل
"كانونية" أكتب التطابق هيكلي، ظهير تخزين بجانب شفرة متحولة، مهما كانت اتفاقية تسميتك، كتابة مسار العمل يتخطى مباشرة تسعير المنصّة، وفتح القفل وإقرار البريد، ويصدر أمراً بأن نظام التجار لا يؤمن به سوى نصفين. recovery و أيضاً، لذا فإنّ الوقت المُتَوَقَّد سيكون غير قابل للاسترداد.
{
"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" }
}
}
}
connector_contract.json وُلِدَتْ وأجهزتها الخاصة additionalProperties:falseلذا، هناك قطعة مُرصّدة يدوياً سيفشل في التثبت ثم يُخطّى على تشغيل المولد التالي
دور لا يؤديه CommerceRole لا وجود له. OpsIQ لا يُستشف أبداً من اسم العملية لأن الاسم ليس وعداً
يجب أن تظهر العملية في الخاص بك actions.jsonإعلان واحد لا وجود له يوعد الزبون بشيء ثم لا ينتج شيئاً
أكثر وقت مُخطّط هو الذي بعد المنصّة قد يكون قد قام بالعمل بدون نظرة "مُتطوّرة" على الأرض المكتوبة، الخيارات الوحيدة هي أن تُصبح أعمى أو تفقد الأمر.
ويعلن أيضاً أي دور من أدوار فئة المدفوعات payment_profile مع البيئة, webhook_verify باستخدام مخطط المزود الخاص، event_map- بيئة غير مثبتة هي الطريقة التي يسدد بها مقدم خدمات الاختبار دفعاً حياً.
OpsIQ مقابل a 10- التكامل بالعمل الذاتي.
ما تقدمه لك منصة موقعة ومراجعة وملزمة بالعقد لا يمكن أن تقدمه لك أدوات الويب الخاصة بك وعمليات الذكاء الاصطناعي.
| القدرة | قم بإنشاء خاصتك | OpsIQ |
|---|---|---|
| الدببة العاملة API + HMAC-signed webhooks | مُقيدة يدوياً | ✓ |
| "جرافي-رون" يكتب 24-أحسنت صنعاً | DIY | ✓ |
| 1m→5m→30m→ 2h → 12hالمقايضة | DIY queue | ✓ |
| سجل العقود من العمل (لا يمكن لـ (آي أي) أن يخترع المكالمات | — | ✓ |
| سياسة التثبيت قبل التأثيرات الجانبية | — | ✓ |
| مظروف الأخطاء المستقرة + طلب الهوية | قطع الأشجار يدويا | ✓ |
| Direct HTTP + generated client options | أكتبي بنفسك | ✓ |
| OpenAPI 3.0.3 عقد قابل للقراءة آليا | ربما | ✓ |
| بناء ست مراحل + بوابة إطلاق الرزم | بناء مجموعة أدوات | ✓ |
| مفاتيح العمل ذات القاعدة الفضائية والحدود الزمنية للساعة | يختلف | ✓ |
| نمط المحرك: رمز المنصات يبقى معزولا | — | ✓ |
أسئلة المطورين، تراجع
(ب) التوثيق، والعقود، وال retries، وتوليد العملاء، والاختبارات الآمنة ونموذج الاتصال قبل طلب الإنتاج الأول.
Authorization: Bearer opq_…يمكن أن تكون المفاتيح غير مقيدة أو مقيدة، أو مقيدة فقط، وأن تحمل النطاقات الأقل حظاً، وتستغرق حداً زمنياً ويمكن ربطها بحيز عمل. X-OpsIQ-Signature, X-OpsIQ-Timestamp, X-OpsIQ-Event و X-OpsIQ-Delivery.hash_hmac('sha256', $rawBody, $secret) ومقارنة الهضمية بالهكسيد X-OpsIQ-Signature استخدام hash_equals- القيمة X-OpsIQ-Timestamp في نافذة إعادة تشغيلك و استخدام X-OpsIQ-Delivery كشخصية تحديد التوصيلاتdry_run على أفعال من صنع العقد يدعمها، تشغيل اختبار الاتصال المُرتبط بمبنى (كونيكتور)، فحص الملفات التي تولدها،settings.jsonاختياري actions.json:: عقد منشأ للقدرات، والوثائق وتمديد المشاريع الاختيارية - يجمّعها القائم على ست مراحل؛ ويكتشف السجل ذلك؛ ويثبت وجود بوابة تطابق وإطلاق.