اجعل منصتك قابلة للتشغيل بالذكاء الاصطناعي.
استدعِ 2,430 عملية مسماة عبر واجهة API واحدة مولّدة من العقد، بنطاقات بأقل الصلاحيات وربط بمساحة العمل وتحقق تجريبي وكتابات آمنة عند إعادة المحاولة. اشترك في الأحداث القانونية عبر webhooks في الخلفية موقّعة بـ HMAC، أو ابنِ حزمة مُدارة في Connector Builder ذي الخطوات الست.
طلب مُنْطَع حدث مُوقع
اتخاذ إجراء بشأن /api/v1.php بمفتاح Bearer محدد النطاق. يثبّت 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"] }
}
ادفع الأحداث إلى مجموعتك - مع دليل تشفير.
اشترك بأي عنوان URL في أي من الأحداث القابلة للتسليم وعددها 53. يرسل OpsIQ حمولة JSON عبر POST موقّعة بـ HMAC-SHA256 على إصدار المخطط والطابع الزمني ومعرّف التسليم والمحتوى معًا، لا المحتوى وحده، حتى لا يمكن إعادة تشغيل تسليم الأمس ضدك اليوم.
$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 نُشرت بوصفها OpenAPI. 3.0.3 و Postman:: تغطي برامج الإرسال المرجعية بلغة بي إتش بي بالإضافة إلى عملاء التكامل مع نود وبايتون تدفقات الأحداث الموقعة وتدفقات الوصلات الشبكية؛ ويمكن لأي كومة أن تستدعي نفس الشيء 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 . بإلقاء نظرة
يوفّر سطح JSON POST واحد 2,430 إجراءً مسمّى. يعلن كل عقد مولّد عن نطاقات المصادقة ونوع القراءة/الكتابة والمخاطر والتأكيد ومخطط الطلب والتشغيل التجريبي وعدم التكرار والأخطاء المستقرة.
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 تحصل على رفض، وليس قائمة فارغة. ماذا PeopleOS الموارد البشرية.يتم تشكيل حدود المعدل لكل مفتاح على نافذة ساعة X-RateLimit-Limit, X-RateLimit-Remaining و X-RateLimit-Reset؛ يعود طلب مرفوض 429 مع Retry-After. استخدم عقد OpenAPI 3.0.3 أو مجموعة Postman متولدة من نفس السجلات
البناء والاختبار والإفراج ست مراحل
ابدأ من ملف محكم أو تحدد العقد بنفسك، يقوم البناء بتصحيح كل مرحلة قبل أن يولد حزمة اتصال ذاتية الاحتواء.
و نقيم بأمان ثم نعبر بوابة الإفراج
استخدم 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 إجابات هشة وقد تم تعديل هذا منذ التوقيع. أما 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.
الطفرة لم تطبق أبداً
لم يتطابق نص البحث، الملف كان غير ممسّك، ونجحت الدعوى، وسجل الدليل خضراء تحت الرمز القديم عن الشفرة التي لم تكن قديمة، تم القبض عليها بإشتراط مطابقة نصية واحدة ومقارنة ملف (هايلز) من كلا الجانبين.
الطفرة كسرت شيئاً آخر
الجناح ذهب أحمر لأن الملف توقف عن الفرز أو الحذاء مات، وسجلت الأدلة حمراء لا علاقة لها بالحرس أسمها اختبار بين الفشل
لا يمكن أن يترك متحولاً على قرص
كل عملية تطويع نسخ أصلية إلى سيارة جانبية خارج الشجرة التي تخدم الشبكة، تكتب علامة تسمي التغيير المعلق، وتُبطل بواسطة معالج مقفل على كل طريق خروج، ويشرف بعلامة من طائرة محطمة قبل التصفية التالية لذلك الملف.
الشهادة هي القيادة مع رمز خروج
ليست طابور مراجعة يقرأ فيه أحدهم شيفرتك ويكوّن رأيًا. شغّل مجموعات الاختبار نفسها التي نشغّلها، على جهازك، قبل الإرسال. مخططات JSON المنشورة (8) ضمن doc/contracts/schemas/ تغطي الإعدادات والإجراءات ومواصفات Builder وربط أحداث الرحلة والتجارة ووصفات سير العمل وعقود الموصّلات وبيانات الإصدار.
- 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 DIY integration.
ما تقدمه لك منصة موقعة ومراجعة وملزمة بالعقد لا يمكن أن تقدمه لك أدوات الويب الخاصة بك وعمليات الذكاء الاصطناعي.
| القدرة | قم بإنشاء خاصتك | OpsIQ |
|---|---|---|
| النطاق Bearer API + Webhooks الموقعة من HMAC | مُقيدة يدوياً | ✓ |
| "جرافي-رون" يكتب 24-أحسنت صنعاً | DIY | ✓ |
| 1m→5m→30m→ 2h → 12hالمقايضة | صف القيام بنفسك | ✓ |
| سجل العقود من العمل (لا يمكن لـ (آي أي) أن يخترع المكالمات | — | ✓ |
| سياسة التثبيت قبل التأثيرات الجانبية | — | ✓ |
| مظروف الأخطاء المستقرة + طلب الهوية | قطع الأشجار يدويا | ✓ |
| مباشرة HTTP + خيارات العميل المولدة | أكتبي بنفسك | ✓ |
| 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 على الإجراءات التي يدعم عقدها المُنشأ ذلك، وشغّل اختبار الاتصال المحدود في Connector Builder، وافحص ملفاته المُنشأة، واجتز بوابات مطابقة الحزمة والإصدار قبل اعتبار الموصل جاهزًا.settings.jsonاختياري actions.json:: عقد منشأ للقدرات، والوثائق وتمديد المشاريع الاختيارية - يجمّعها القائم على ست مراحل؛ ويكتشف السجل ذلك؛ ويثبت وجود بوابة تطابق وإطلاق.