منصة المطورين · REST · ويب هوك · SDKs

اجعل منصتك قابلة للتشغيل بالذكاء الاصطناعي.

التحليلات والتقارير

HMAC-SHA256 في كلا الاتجاهينبرامجيات PHP و Node و Pythonعقد OpenAPI 3.0.3تغطية تدقيق 100%
طلب موقّع في
تم توقيع الويب هوك → 200 موافق
مباشر curl → OpsIQ → ويب هوك موقعة POST /v1/actions/run أهداف التحويل { "action": "refund_invoice" (الفاتورة_المردَّدة)، "تأكد": صحيح تحقق · تشغيل · تدقيق توقيع ✓ دور + نطاق ✓ هامش الموزع — التراخيص السنوية @opsiq/sdk أداة on("العمل.تنفيذ") تحقق من HMAC → تعامل 200 حسنًا
3SDKs الرسمية: PHP، Node، Python
مركز الاتصالات الهاتفيةتم التوقيع SHA-256 على كل طلب
40+أحداث عالمية للاشتراك
100%تغطية سجل التدقيق على الإجراءات
دورة حياة الطلب

طلب في. تم توقيع webhook.

تقوم بإرسال POST إلى واجهة برمجة التطبيقات OpsIQ باستخدام مفتاح Bearer الخاص بك. تتحقق OpsIQ من النطاق والدور، وتنفذ الإجراء المتعاقد عليه، وتكتب صف تدقيق - ثم تطلق webhook موقعة بـ HMAC مرة أخرى إلى نقطة النهاية الخاصة بك. كل قفزة موثقة، غير قابلة للتكرار وتُعاد عند الفشل.

HMAC-SHA256 الويب هوكس - يتم توقيع الحمولة الواردة والصادرة على الجسم الخام؛ تستند مكالمات API إلى مفتاح Bearer محدد.
إعادة المحاولات التلقائية - عمليات التسليم الفاشلة تتراجع وتعيد المحاولة، مع معرف تسليم يمكنك تتبعه.
مفاتيح عدم التكرار - آمن لإعادة التشغيل حسب التصميم، لذا فإن إعادة التسليم لا تتسبب في تنفيذ مزدوج.
تطبيقك POST /v1/actions/run أهداف التحويل X-OpsIQ-الوقت تحقق - تشغيل - تدقيق نقطة النهاية الخاصة بك POST /webhooks تحقق من HMAC 200 حسنًا تم التحقق من التوقيع نطاق + دور تم التحقق منه إجراء تعاقدي تم تنفيذه هامش الموزع — التراخيص السنوية حمولة webhook الموقعة { "حدث": "عمل.تنفيذ"، "الإرسال_ID": "dlv_8f2a9", "مفتاح_العجز": "idem_31c7"، "التوقيع"sha256=9c4e0a7b..." } تم التسليم
01 طلب موقّع 02 تحقق من HMAC 03 عقد التشغيل 04 كتابة سطر مراجعة الحسابات 05 ويب هوك موقع موقّع
بدء سريع

من الصفر إلى تكامل مباشر في أربع خطوات.

قم بإنشاء مفتاح، أطلق أول حدث لك، اشترك في webhook، سجل إجراء. يمكنك تشغيل الحلقة بالكامل ضد البيئة التجريبية قبل لمس بيانات الإنتاج.

وحدة التحكم في البيئة التجريبيةمتصل
وحدة المطور · صندوق الرمل 1 · توليد المفتاح opq_live_xxx · مفتاح حامل واحد محدد 2 · إطلاق حدث البريد الإلكتروني/v1/events/fire"الطلب.شحن" 3 · اشترك في Webhook → https://api.you.com/webhooks 4 · تسجيل إجراء saas.refund_invoice · تم التدقيق
ترويجبيئة اختبار → إنتاج، نفس الكود
01

احصل على مفتاح

سجل وولد مفتاح API من نوع Bearer محدد (opq_…) في إعدادات المطور، ومنح كل تكامل فقط الأسطح التي يحتاجها.

02

اشترك واطلب

)توقيع( events/fire (أو استخدم SDK)، ثم وجه أي عنوان URL إلى أي حدث، موقع، مع معرف تسليم وإعادة محاولات.

03

سجل إجراء

أعلن عن عقد إجراء موقّع حتى يتمكن الذكاء الاصطناعي من تشغيل العمليات بأمان، مع فحوصات الدور، سياسة التأكيد ومسار تدقيق كامل.

كيف يتناسب كل شيء معًا

نمط موصل واحد. خمسة بدائيات نظيفة.

أي شيء خاص بالمنصة يعيش في موصل. يبقى جوهر OpsIQ عامًا، يبقى الذكاء الاصطناعي متوقعًا، ويظل تكاملك قابلاً للمراجعة.

01
المشغلات

أخبر OpsIQ بما حدث للتو.

أطلق أحداث عالمية من منصتك - أو أسماء أحداث مخصصة خاصة بك. يتفاعل كل مشترك في الوقت الفعلي، بترتيب الأولوية.

مرجع الحدث
invoice.paid events. fire () دماغ الذكاء الاصطناعيسياق مباشر القواعدالأولوية 20 مرآةاكتب أولاً ويب هوكموقعة
أحداث عالمية + مخصصةinvoice.paid, ticket.created, subscription.cancelled, customer.signed_up أو أنت مشتركون متفرعونيتفاعل دماغ الذكاء الاصطناعي، قواعد الأتمتة، الموصلات المرآة ونقاط نهاية webhook الخاصة بك. ترتيب الأولويةإرسال حتمي بحيث تكتب المرايا قبل أن تطلق التنبيهات.
02 / عقود الإجراءات

أخبر 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
}
14. تغييرات

ادفع الأحداث إلى مجموعتك - مع دليل تشفير.

اشترك في أي عنوان URL لأي حدث. يقوم OpsIQ بإرسال الحمولة JSON الموقعة بـ HMAC-SHA256 عبر الجسم الخام - تحقق منها في بضع أسطر.

حماية إعادة التشغيلمعرف التسليم القابل للتتبعتراجع المحاولات
مرجع Webhook
تحقق من 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/مجموعات أدوات تطوير البرامجيات

عملاء جاهزين للغة التي تستخدمها بالفعل.

ثلاثة SDKs رسمية تتعامل مع المصادقة، التوقيع، إعادة المحاولة، مفاتيح التكرار والاستجابات المخصصة. أو ابقَ بدون إطار - كل 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",
})
بي إتش بي8.4+برنامج Node. js 18+Python 3.10+REST · OpenAPI3.0.3
05 / نمط الموصل

ابنِ مرة واحدة. قم بتوصيلها بأي شيء.

الموصل هو مجلد يحتوي على فئة PHP واحدة. يكتشف OpsIQ ذلك، وتقوم السجل بتوصيل الأحداث، ويظل كودك الخاص بالمنصة مفصولًا بشكل نظيف عن النواة.

دليل الموصل
خمسة روابطidentityProviders(), contextProviders(), registerActions(), subscribers(), handleWebhook(). مدفوع بالبياناتactions.json و settings.json إعلان العقود والإعداد. تم اكتشافه تلقائيًاقم بإسقاط المجلد، وقم بتوقيعه، وقم بتمكينه في الإدارة.
من النية إلى الإجراء الآمن

اللغة الإنجليزية البسيطة في. عملية مدققة.

لا يخترع OpsIQ المكالمة الصحيحة. إنه يمر عبر العقود المسجلة، يحضر الحمولة، يطلب التأكيد عندما يتطلب الإجراء ذلك، وينتج صف تدقيق كامل عند التنفيذ، لذا فإن الذكاء الاصطناعي الذي يمكنه تصرف لا يصبح أبدًا ذكاءً اصطناعيًا لا يمكنك الوثوق به.

مقيد بالعقد. الذكاء الاصطناعي يقترح فقط الإجراءات التي قمت بتسجيلها.
تأكيد قبل الآثار الجانبية. تظهر الإجراءات المهددة بطاقة معاينة أولاً.
استعادة كاملة. كل مطالبة، رد ونتيجة إجراء تم التقاطها في تاريخ AI.
4 خطواتنية → تدقيق
مركز الاتصالات الهاتفيةموقع موقّع قبل التنفيذ
"استرداد فاتورة آدم الأخيرة" الخطوة 1 · حل النية → متطابق: saas.refund_invoice السطح: المسؤول · الدور: المالك · الخطوة 2 تحقق الخطوة 3 · تأكيد وتوقيع بطاقة المعاينة · الفاتورة #8421 تأكيد الخطوة 4 · صف التدقيق نعم. تعمل الموصلات على تثبيت OpsIQ الخاص بك سواء كان مستضافًا ذاتيًا أو سحابيًا. تتدفق البيانات مباشرة بين أنظمتك وتثبيتك - وليس من خلال مركز طرف ثالث. للمالك فقط · قابل للتصدير كملف CSV
لا مكالمات مختلقةسجل العقد فقط
ابحث في جميع الوثائق...معاينة قبل الآثار الجانبية
100% مدققةموجه + استجابة + نتيجة
مرجع

واجهة API . بإلقاء نظرة

كل نقطة نهاية أساسية، مصادقتها، عدم التكرار وحدود المعدل لكل مفتاح. العقد الكامل القابل للقراءة آليًا موجود في مرجع OpenAPI 3.0.3.

مرجع OpenAPI 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-Remainingالأحداث الصادرة 429 مع Retry-After رأس. العقد الكامل القابل للقراءة آليًا (كل نقطة نهاية، مخطط وخطأ) موجود في مرجع OpenAPI 3.0.3.

ابنِ موصلًا

شحن موصل في خمسة خطوات.

الموصل هو مجلد مستقل. يكتشف OpsIQ ذلك، ويسجل السجل الأحداث، ولا يتسرب كودك المحدد للمنصة إلى النواة.

1إنشاء مجلد مع connector.php تمديد AbstractConnector.
2أعلن actions.json و settings.json تظهر.
3تنفيذ الهوية، السياق ومزودي الويب هوك.
4اشترك في الأحداث التي تهمك.
5قم بتوقيعها، وضعها في، وقم بتمكينها في الإدارة.
اختبر قبل الشحن

مفتاح صندوق الرمل ومختبر ويب هوك.

كل مساحة عمل تعرض صندوق رمل: مفتاح منفصل محدد يصل إلى نفس واجهة برمجة التطبيقات دون لمس بيانات الإنتاج. استخدم POST /v1/webhooks/test لتفعيل تسليم عينة موقعة عند نقطة النهاية الخاصة بك وتأكيد تحقق توقيعك قبل الذهاب مباشرة. التثبيتات المستضافة ذاتيًا تعمل بنفس مسار الكود، دون انحراف سلوكي بين السحابة والمحلي.

مفاتيح Sandbox مُختبر Webhook وظائف مدفوعة بواسطة كرون توازن السحابة والمستضافة ذاتياً
php
فئة AcmeConnector يمتد AbstractConnector { وظيفة عامة key (): سلسلة { عودة أنا; } // حدد من هو الفاعل وظيفة عامة identityProviders(): مصفوفة { عودة [جديد AcmeIdentityProvider()]; } // إدخال بيانات حية في موجه الذكاء الاصطناعي وظيفة عامة contextProviders (): مصفوفة { عودة [جديد AcmeContextProvider()]; } // رد على أحداث OpsIQ وظيفة عامة المشتركين(): مصفوفة { عودة ['الفاتورة.مدفوعة' => [جديد BillingMirror()]]; } // استقبل webhooks الواردة من Acme وظيفة عامة (الجزء الأول)مصفوفة $body): فارغ { /* … */ } }
⚖️ كيف يقارن

OpsIQ مقابل a 10- التكامل بالعمل الذاتي.

ما تقدمه لك منصة موقعة ومراجعة وملزمة بالعقد لا يمكن أن تقدمه لك أدوات الويب الخاصة بك وعمليات الذكاء الاصطناعي.

القدرةقم بإنشاء خاصتك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
الأسئلة الشائعة

أسئلة المطورين، تراجع

المصادقة، التوقيعات، SDKs، sandboxing ونموذج الموصل: كل ما ستسأل عنه قبل الطلب الأول.

تقوم مكالمات API بالتحقق باستخدام مفتاح Bearer محدد واحد: أرسل Authorization: Bearer opq_…. تتحقق OpsIQ من نطاق المفتاح ودور الفاعل قبل تشغيل أي شيء. تعتبر Webhooks منفصلة: كل webhook ترسله OpsIQ يحمل X-OpsIQ-Signature (تجزئة HMAC-SHA256 للهيئة الخام) و X-OpsIQ-Timestamp لحماية إعادة التشغيل، حتى تتمكن من التحقق منا في المقابل، وwebhooks الواردة التي ترسلها يتم التحقق منها بنفس الطريقة.
لا. يمكن للذكاء الاصطناعي فقط اقتراح إجراءات موجودة في سجل عقد الإجراءات الخاص بك. لا يمكنه اختراع مكالمة. يعلن كل عقد عن الأسطح والأدوار والمعلمات المسموح بها، وأي إجراء مُعلم requires_confirmation يظهر بطاقة معاينة لإنسان قبل تشغيل الأثر الجانبي.
إعادة حساب hash_hmac('sha256', $rawBody, $secret) (هضم سداسي بدون بادئة) ومقارنته بـ X-OpsIQ-Signature رأس مع تحقق في وقت ثابت (hash_equals). تحمل كل عملية تسليم أيضًا طابع زمني، ومفتاح عدم التكرار ومعرف تسليم يمكنك تتبعه. قطعة PHP على هذه الصفحة هي التحقق الكامل.
تتم إعادة المحاولات التي لا تعيد 200 مع تراجع أسي، كل منها يحمل نفس مفتاح عدم التكرار بحيث لا تؤدي إعادة المحاولة إلى عمل مزدوج. يمكنك تتبع كل محاولة بواسطة معرف التسليم في الإدارة أو سجلاتك.
SDKs الرسمية لـ PHP 8.4+، Node.js 18+ و Python 3.10+ تتعامل مع التوقيع، المحاولات، مفاتيح التكرار والاستجابات المميزة. إنها أغلفة رقيقة حول سطح REST، لذا يمكنك أيضًا إنشاء عميل خاص بك من عقد OpenAPI 3.0.3 المنشور أو استدعاء API مباشرة.
نعم. كل مساحة عمل تعرض صندوق رمل بمفتاح محدد خاص بها يضرب نفس واجهة API دون لمس بيانات الإنتاج، بالإضافة إلى POST /v1/webhooks/test لإطلاق تسليم عينة موقعة إلى نقطة النهاية الخاصة بك وتأكيد التحقق الخاص بك قبل الذهاب مباشرة.
نعم. تعمل التثبيتات المستضافة ذاتيًا على نفس مسار الشيفرة (نفس التوقيع، نفس سجل الموصل، نفس عقد OpenAPI) لذا لا يوجد انحراف سلوكي بين السحابة والمحلي.
الموصل هو مجلد مستقل يحتوي على فئة PHP واحدة تمتد AbstractConnector, بالإضافة إلى actions.json و settings.json الاستوديو، الكتل التفاعلية المتميزة، ميزات الذكاء الاصطناعي ووضع HTML المخصص يتم التحكم فيها بوضوح حسب الخطة، مع حد لكل خطة على عدد الحملات. يكون التحكم افتراضيًا متساهلاً: يتم حظرك فقط من الميزات التي لا تتضمنها خطتك. identityProviders(), contextProviders(), registerActions(), subscribers() و handleWebhook(). يقوم OpsIQ باكتشافه تلقائيًا، ويربط الأحداث ويحافظ على كودك المحدد للنظام الأساسي مفصولًا بشكل نظيف عن النواة.