الحصول على المستخدم المستهدف لأحداث ويب هوك الإشعارات

أرى أن الويب هوكس تدعم الآن الإشعارات، وهو أمر رائع. شيء نحتاجه حقًا. ومع ذلك، فإن الحمولة تفتقر إلى قطعة معلومات حاسمة واحدة: المستخدم الذي يُوجَّه إليه الإشعار. في مثال الحمولة هذا، يمكننا رؤية مؤلف المنشور الذي أثار الإشعار، لكن ليس المستخدم الذي يجب أن يستلم الإشعار.

{
  "notification": {
    "id": 119,
    "notification_type": 9,
    "read": false,
    "created_at": "2019-09-18T13:42:21.248Z",
    "post_number": 1,
    "topic_id": 75,
    "fancy_title": "Phallguy should get a notice about this",
    "slug": "phallguy-should-get-a-notice-about-this",
    "data": {
      "topic_title": "Phallguy should get a notice about this",
      "original_post_id": 111,
      "original_post_type": 1,
      "original_username": "Paul_Alexander",
      "revision_number": null,
      "display_username": "Paul_Alexander"
    }
  }
}

لقد بحثت لمعرفة ما إذا كان هناك واجهة برمجة تطبيقات (API) للحصول على المستخدم المستهدف من معرف الإشعار، لكنني لم أجد أي شيء موثق. هل توجد طريقة يمكننا من خلالها الحصول على اسم المستخدم/المعرف المستهدف في حمولة الإشعار؟

ولأغراض السياق، نحن نحاول توحيد الإشعارات من أنظمة متعددة في تجربة واحدة لمستخدمينا.

@Falco أو @blake، هل لديكم أي أفكار حول كيفية معرفة المستخدم الذي تُوجَّه إليه الإشعار عند استلامه عبر رابط الويب الجديد للإشعارات؟

لقد راجعت هذا بسرعة لأرى إذا كان هناك إجابة سريعة، وأنت محق، فلا يبدو أن لدينا نقطة نهاية get في واجهة برمجة التطبيقات لجلب إشعار فردي حسب المعرف، لكن استدعاؤها في كل مرة لن يكون فعالاً على أي حال.

على الأرجح، سيتطلب هذا تغييراً في الكود لمُسلسل الإشعارات لتشمل user_id/username داخل حمولة الإشعار، بحيث لا تكون هناك حاجة إلى طلب منفصل عبر واجهة برمجة التطبيقات.

نستخدم الخدمة المستضافة في الوقت الحالي، وإلا لكنت قمت بإنشاء ملحق خاص بي. هل تفكرون في إضافة معرف المستخدم أو اسم المستخدم إلى حمولة الإشعار في الويب هوك؟

هل تفحصت رؤوس الطلب؟

لقد فعلت ذلك - آمل أن أجد بعض بيانات التعريف الإضافية هناك، لكنني لم أجد أي شيء محدد للمستخدم.

رابط الطلب: https://XXX
طريقة الطلب: POST
القبول: */*
الاتصال: close
طول المحتوى: 420
نوع المحتوى: application/json
المضيف: XXX
وكيل المستخدم: Discourse/2.4.0.beta4
X-Discourse-Instance: https://XXX
X-Discourse-Event-Id: 11
X-Discourse-Event-Type: notification
X-Discourse-Event: notification_created
X-Discourse-Event-Signature: sha256=XXX

تحقق للتأكد مما إذا كان لديكم أي أفكار أو تحديثات. فربط الإشعارات بدون مستخدم مستهدف ليس مفيدًا حقًا.

مرحبًا بالجميع، هل سنحت لكم الفرصة لمراجعة المشكلة؟ هل هناك أمل في أن نحصل على معرف المستخدم المستهدف في حدث الإشعار؟

لقد أنشأت طلب سحب (PR) سيضيف user_id إلى حمولة JSON الخاصة بويب هوك الإشعارات:

مرحبًا @blake، هل من الممكن إضافة user_external_id أيضًا؟ نحن نعمل مع SSO الخاص بـ Discourse ولا نملك معرفات مستخدم Discourse في نظامنا.

مرحبًا ألبرت!

أعتقد أن هذه فكرة جيدة، وقد قمت بإنشاء التزام (commit) سيضيف external_id للمستخدم إذا كان مفعّلًا.

أتمنى أن يكون ذلك مفيدًا! سيتم إضافته إلى موقعك في المرة القادمة التي يتم فيها النشر، وهو ما من المتوقع أن يحدث في وقت ما هذا الأسبوع.

واو، كان ذلك سريعًا! شكرًا جزيلاً، نقدر ذلك كثيرًا :smiley: هل تعرف الوقت التقريبي المتوقع (ETA) لوصول هذه التغييرات إلى خوادم Discourse المستضافة؟

أوه، لا بأس، لم أقرأ الجملة الأخيرة :sweat_smile:. شكرًا مرة أخرى!!