تكاملات الإنذار

المنصة الأساسية
alarm_integrations_connections_writeالتكاملات الخارجية

يربط منشأة بقالب شريك مراقبة ويدير ذلك الاتصال: الحفظ (القالب، ورقم الحساب، وخريطة المناطق، والأحداث، وحقول المنشأة)، والإزالة، وطلب الموافقة، وإرسال إشارة اختبار، والتفعيل بعد اختبار ناجح، وتجاهل تغيير مرحلي.

لا يتغير الاتصال الحي (active أو failing) إلا باستخدام applyMode: الخيار staged يُبقي الإنذارات على الإعدادات الحية حتى ينجح اختبار مرحلي وتفعّله؛ والخيار immediate يطبّق التغيير فورًا. تُقبل الحقول السرية ولكنها لا تُعاد أبدًا. يتطلب External Integrations في المنشأة. اقرأ أولًا باستخدام alarm_integrations_read connections.

الإجراءات:

  • save: حفظ اتصال. templateId مطلوب للاتصال الجديد. يضبط fields حقول المنشأة حسب المفتاح (القيمة null تمسح الحقل؛ وتُختم الأسرار). في الاتصال الحي مرّر applyMode، وإلا يفشل الاستدعاء بالخطأ apply-mode-required. يتطلب partnerId. يطلب التأكيد.
  • remove: إزالة اتصال. يزيل اتصال المنشأة بالشريك، مع أي تغيير مرحلي؛ وتتوقف الإنذارات من هنا عن الوصول إلى مركز المراقبة ذاك. يتطلب partnerId. يطلب التأكيد.
  • request_approval: طلب الموافقة. يطلب من مركز المراقبة الموافقة على الاتصال أو تعيين رقم حساب (قوالب موافقة الشريك). يتطلب partnerId.
  • send_test_signal: إرسال إشارة اختبار. يضع إشارة اختبار حقيقية في قائمة الانتظار لإرسالها إلى مركز المراقبة؛ استعلم عن test_signal_status. القيمة staged: true تختبر التغيير المرحلي بدلًا من الإعدادات الحية. يتطلب partnerId. يطلب التأكيد.
  • activate: تفعيل اتصال أو تغيير. يجعل الاتصال المعلّق حيًا، أو يرقّي تغييرًا مرحليًا، أو يؤكد تغييرًا لم يُختبر. يتطلب التفعيل requestId لاختبار نجح بعد آخر تغيير: الاختبار المرحلي (staged: true) يرقّي تغييرًا مرحليًا، والاختبار الحي يؤكد تغييرًا لم يُختبر. يتطلب partnerId وrequestId. يطلب التأكيد.
  • discard_pending_change: تجاهل تغيير مرحلي. يحذف التغيير المرحلي؛ ولا تُمس الإعدادات الحية. تكون discarded بالقيمة false إذا لم يكن هناك تغيير مرحلي. يتطلب partnerId. يطلب التأكيد.

المعلمات

الاسمالنوعالوصف
action*"save" | "remove" | "request_approval" | "send_test_signal" | "activate" | "discard_pending_change"الإجراء المطلوب؛ كل إجراء موصوف في وصف الأداة.
facilityIdstringمعرّف المنشأة. اختياري إذا كانت المنشأة المتصلة هي المقصودة.
partnerIdstringشريك المراقبة، من alarm_integrations_read connections (org#<id> لقوالب المنظمة الخاصة)
templateIdstringقالب منشور متاح لهذه المنشأة (save)
linkingIdentifierstringnullرقم الحساب الذي يعرف به مركز المراقبة المنشأة (save)
zoneMapobjectnullربط الرقم التسلسلي للزر بالمنطقة، مثل { "DS-0001": "001" } (save)
eventsarraynullأنواع الأحداث المرسلة إلى الشريك (null: أنواع القالب) (save)
fieldsobjectقيم حقول المنشأة حسب المفتاح؛ القيمة null تمسح الحقل. لا تُعاد أبدًا. (save)
applyMode"staged" | "immediate"الاتصالات الحية: staged (اختبار ثم تفعيل) أو immediate (save)
stagedbooleanاختبار التغيير المرحلي (مطلوب قبل تفعيله) (send_test_signal)
requestIdstringمعرّف طلب إشارة الاختبار (tsr_...)، من send_test_signal (activate)
confirmbooleanاضبطه فقط بعد أن يؤكد المستخدم المعاينة التي أعادها الاستدعاء الأول
alarm_integrations_destinations_writeالتكاملات الخارجيةDuress Configuration

يضيف وجهات إنذار مخصصة ويغيّرها ويحذفها ويختبرها: جهاز استقبال المراقبة الخاص بك، أو لوحة مرحّلات، أو SMS، أو مكالمة صوتية، أو بريد إلكتروني، أو webhooks، أو دردشة الفريق، أو خدمة نداء المناوبة (قائمة channel)، على مستوى منشأة (الافتراضي) أو علامة تجارية أو منظمة.

توضع الإعدادات غير السرية في config؛ أما الأسرار (كلمات المرور، وعناوين URL للـ webhooks، والمفاتيح) فتوضع في fields حسب مسار الإعداد وتُختم ولا تُعاد أبدًا. تحتاج الوجهات المفعّلة إلى config مكتمل. تتطلب وجهات المنشأة External Integrations أو Duress Configuration فيها؛ وتتطلب وجهات العلامة التجارية والمنظمة وصولًا على مستوى المنظمة. اقرأ أولًا باستخدام alarm_integrations_read destinations.

الإجراءات:

  • save: حفظ وجهة. دون connectionId يضيف وجهة (channel وname مطلوبان)؛ ومعه يغيّر وجهة (ويبقى channel كما هو). عند إرسال config فإنه يستبدل الإعدادات غير السرية؛ وتُحفظ الأسرار غير المرسلة في fields. يطلب التأكيد.
  • remove: حذف وجهة. يحذف الوجهة؛ ويتوقف مرحّل المنشأة أيضًا عن تشغيل مرحّل الإنذار. يتطلب connectionId. يطلب التأكيد.
  • send_test_signal: إرسال اختبار إلى وجهة. يضع رسالة اختبار حقيقية في قائمة الانتظار لإرسالها إلى الوجهة؛ استعلم عن alarm_integrations_read test_signal_status مع المنشأة. تُختبر وجهات العلامة التجارية والمنظمة من facilityId. يتطلب connectionId. يطلب التأكيد.

المعلمات

الاسمالنوعالوصف
action*"save" | "remove" | "send_test_signal"الإجراء المطلوب؛ كل إجراء موصوف في وصف الأداة.
facilityIdstringمعرّف المنشأة. اختياري إذا كانت المنشأة المتصلة هي المقصودة.
ownerScopestringfacility#<id> أو brand#<id> أو org#<id> (الافتراضي: المنشأة)
connectionIdstringالوجهة المراد تغييرها؛ اتركه لإضافة وجهة جديدة
channel"cid-csvip" | "sentinel-http" | "relay" | "sms" | "voice" | "email" | "webhook" | "slack" | "teams" | "google-chat" | "pagerduty" | "opsgenie"نوع الوجهة؛ لا يمكن تغييره بعد الإنشاء (save)
namestringيظهر في الإعدادات وسجل التسليم (save)
enabledbooleanالقيمة الافتراضية true للوجهات الجديدة (save)
eventsarraynullأنواع الأحداث التي تتلقاها (null: الإعدادات الافتراضية للقناة) (save)
guestLink"shared" | "none" | "null"لقنوات SMS والبريد الإلكتروني ودردشة الفريق فقط: shared (صفحة إنذار واحدة للعرض فقط، وهو الافتراضي) أو none (save)
configobjectالإعدادات غير السرية للقناة (save)
fieldsobjectالإعدادات السرية حسب المسار، مثل { "webhookUrl": "https://..." }؛ القيمة null تمسح الإعداد (save)
confirmbooleanاضبطه فقط بعد أن يؤكد المستخدم المعاينة التي أعادها الاستدعاء الأول
alarm_integrations_readالتكاملات الخارجيةDuress Configuration

يقرأ الجهات التي تصل إليها إنذارات الاستغاثة في منشأة خارج Performance Hub: اتصالاتها بمراكز المراقبة (الشريك، والقالب، ورقم الحساب، وخريطة المناطق، والحالة، ونواقص الجاهزية، والتغييرات المرحلية)، والوجهات المخصصة (أجهزة استقبال المراقبة، والمرحّلات، وSMS، والمكالمات الصوتية، والبريد الإلكتروني، وwebhooks، والدردشة، والنداء) على مستوى المنشأة وعلامتها التجارية ومنظمتها، ومعاينة التوجيه، وسجل التسليم، ونتائج إشارات الاختبار.

يتطلب External Integrations أو Duress Configuration في المنشأة. لا تُعرض الأسرار والقيم المختومة أبدًا، بل { key, secret, hasValue } فقط؛ وتُحجب أرقام الأشخاص وعناوينهم من التوجيه وعمليات التسليم. الأوقات بصيغة ISO. غيّرها باستخدام alarm_integrations_connections_write وalarm_integrations_destinations_write.

الإجراءات:

  • connections: اتصالات مراكز المراقبة. اتصالات الشركاء في المنشأة: القالب، ورقم الحساب (linkingIdentifier)، وخريطة المناطق، والأحداث، وconnectionStatus، وmissing (ما يمنع التشغيل الحي)، وpendingChange (مرحلي، لم يصبح حيًا بعد)، وuntestedChange. canEdit: يتطلب External Integrations هنا.
  • destinations: الوجهات المخصصة. الوجهات التي يمكن أن تُطلق للمنشأة (وجهاتها الخاصة، ووجهات علامتها التجارية ومنظمتها، ولكل منها canEdit)، أو مع ownerScope وجهات نطاق واحد. الإعدادات في config؛ والأسرار بصيغة fields { key, secret, hasValue }.
  • routing: معاينة التوجيه. الجهات التي سيصل إليها الإنذار الآن (الإعدادات الحية فقط)، كما يحلّها universal-api: الوجهات مع lane والأحداث وconfig دون الأسرار، وproblems تشرح أي شيء مستبعد، وpendingChanges التي لم تُوجَّه بعد. يُبقي eventType فقط ما يتلقى ذلك الحدث.
  • deliveries: سجل التسليم. عمليات تسليم الإنذارات من الأحدث إلى الأقدم (الحالة، والقناة، والمستقبِل، وزمن الاستجابة، ونص الخطأ العام). قد تكون الصفحة المصفّاة قصيرة ومع ذلك تحتوي على nextCursor. تظهر تنبيهات الأجهزة بالنوع alert.
  • test_signal_status: نتيجة إشارة الاختبار. تبقى queued حتى يسجّل universal-api محاولة، ثم succeeded (أقرّ مستقبِل بالاستلام أو أُرسلت) أو failed، مع صفوف التسليم. استخدم المنشأة التي أُرسل منها الاختبار. يتطلب requestId.

المعلمات

الاسمالنوعالوصف
action*"connections" | "destinations" | "routing" | "deliveries" | "test_signal_status"الإجراء المطلوب؛ كل إجراء موصوف في وصف الأداة.
facilityIdstringمعرّف المنشأة. اختياري إذا كانت المنشأة المتصلة هي المقصودة.
limitintegerعدد العناصر في الصفحة (الافتراضي 25، والحد الأقصى 100) (connections, destinations, deliveries)
cursorstringnextCursor من الصفحة السابقة (connections, destinations, deliveries)
ownerScopestringهذا النطاق فقط: brand#<id> أو org#<id> (destinations)
eventTypestringمثل ph.duress.incident.created (routing, deliveries)
fromstringتاريخ ووقت بصيغة ISO، شامل (deliveries)
tostringتاريخ ووقت بصيغة ISO، غير شامل (deliveries)
statusarrayأيٌّ من sent أو acknowledged أو failed أو shadow (deliveries)
channelstringالقناة بالضبط، مثل cid-csvip أو sms (deliveries)
destinationIdstringمعرّف الوجهة بالضبط (deliveries)
incidentIdstringعمليات التسليم لإنذار واحد (deliveries)
requestIdstringعمليات التسليم لإشارة اختبار واحدة (deliveries, test_signal_status)
searchstringنص في أي معرّف أو قناة أو خطأ (deliveries)