إجراء طلب HTTP خارجي من Discourse

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

هل هذا ممكن فعليًا؟ وإذا كان كذلك، هل يوجد دليل يشرح ذلك؟

أيضًا، هل يمكن إنشاء موضوع يحتوي على حقول محددة، ثم تمرير هذه الحقول ضمن طلب HTTP؟

من الممكن تمامًا، اكتب ملحقًا.

إليك مثالًا على ملحق يقوم باتصال خارجي أثناء معالجة الـ oneboxes.

أعتقد أن ما تحاول القيام به أقرب إلى مفهوم “الويب هوكس”. تحتاج إلى كتابة بعض الويب هوكس التي تستهدف الروابط المحددة عند حدوث حدث. إذا كان الأمر كذلك، يمكنك الاطلاع على هذا:

نعم، إذا كانت الاتصالات أحادية الاتجاه، فإن اقتراح @fzngagan أفضل.

إذا كنت ترغب في استرداد ومعالجة الاستجابة بطريقة معقدة، فقد تكون مكالمة REST في إضافة أفضل.

شكرًا للجميع على الإجابة. لا، أنا أبحث عن طريقة لإنشاء عميل REST API كامل وليس مجرد ويب هوك.
ما أحاول محاكاته هو نوع من السوق حيث يمكن للمستخدمين نشر عناصرهم ثم قبول العروض المختلفة من مستخدمين آخرين. يجب أن تظل منطق السوق على الخادم، لكن الواجهة الأمامية يجب أن تكون Discourse، وبالتالي يجب تحديثها وفقًا للبيانات الموجودة على الخادم.

بصراحة، لا أعرف ما هو الأفضل للقيام به في هذه الحالة، لذا أنا أبحث عن نصائح ومراجع!

كما أرفق لكم الموقع (باللغة الإيطالية) فقط لمساعدتكم على فهم أفضل لما أحاول ترحيله.

أعتقد أن بعض التوضيح مطلوب فيما يتعلق بالدور الذي ستلعبه Discourse هنا.
كيف يرتبط حالتك الاستخدامية بالنقاش/المحادثة؟ وما الذي سيتم تنفيذه على Discourse وما الذي سيتم تنفيذه على خادمك.

هذه عبارة عامة. إن Discourse بحد ذاته نظام كامل. ما هي البيانات التي ستعرضها على Discourse والتي تأتي من خادمك الآخر أو يتم مزامنتها معه؟

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

إذا كنت ترغب في فهم كيفية بناء الإضافات، فإليك مجموعة رائعة من الروابط من @merefield:

وهذه أيضًا جيدة:
https://meta.discourse.org/t/creating-routes-in-discourse-and-showing-data/48827/19?u=fzngagan

حسناً، دعني أوضح الفكرة بشكل أفضل من البداية:

أريد إنشاء سوق يتيح للمستخدمين بيع أو تبادل عناصرهم. ومن المثالي أن يقوم كل مستخدم عند إنشاء منشور بإدخال حقول محددة لوصف هذا العنصر. كما يجب أن تتاح للمستخدمين الآخرين فرصة مناقشة سعر العنصر وتقديم عروض من خلال أزرار وحقول محددة (يتم إضافتها باستخدام discourse).

بناءً على هذه الفكرة، هناك طريقتان يمكنني اتباعهما (إذا سمح discourse بذلك):

  1. في كل مرة يتم فيها تفاعل عبر discourse يتعلق بعروض كهذه، أود أن يقوم خادمي بتحديث البيانات أو إرسالها.

أو، في حال عدم إمكانية تنفيذ ما سبق:

  1. أود نقل كل المنطق إلى discourse باستخدام قاعدة بياناته الداخلية، وإنشاء واجهة برمجة تطبيقات REST على discourse تسمح لتطبيق جوال بالاتصال به واستخدام الخدمة من الهاتف المحمول.

ما هي الفكرة الأفضل والأسرع في التنفيذ باستخدام discourse؟

هذه هي الطريقة المفضلة. والسبب في ذلك هو أن منصة Discourse ليست سوقًا، ولن يكون من المنطقي تعديلها لتتصرف كسوق.

أيضًا، هل تود كتابة الكود بنفسك أم توظيف شخص للقيام بذلك؟

ممتاز، إذن إذا كان من الممكن القيام بذلك في Discourse، فما هي أفضل طريقة للقيام بذلك؟

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

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