الحصول على منشورات معينة على Zapier

مرحبًا، أود التحقق مما إذا كان بإمكاننا دمج Discourse مع أداة أخرى نستخدمها عبر Zapier. كنت آمل في وجود حدث محفز عبر Webhook يمكن أن يكون محددًا للمنشور، ويرسل معلومات المنشور عبر تسليم Webhook. يبدو أن الوسوم (Tags) موجودة على مستوى الموضوع ولا تسمح بالتخصيص للمنشور المحدد. يمكن منح الشارات (Badges) عبر منشور، لكنها لا تبدو أنها تفعّل تسليم Webhook المناسب.

هل هناك طريقة للقيام بذلك؟

شكرًا!

نعم، يمكن تحقيق ذلك باستخدام ويب هوك من Zapier كتطبيق محفز، وتكوين ويب هوك من Discourse للنشر إلى Zapier. يقدم قسم “إعداد المحفز” في Trigger a Zapier task with Discourse Webhooks تفاصيل حول كيفية إعداد ذلك. هل يمكنك قراءة هذا الموضوع؟ إذا كان هناك أي شيء غير واضح، اطرح أسئلتك في ذلك الموضوع وسنرد عليك.

مرحبًا سيمون، شكرًا على المعلومات! :folded_hands:

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

يمكنك تحديد المنشورات أو المواضيع التي ستُفعّل webhook في Discourse من خلال إعدادات “الفئات المُفعّلة”، و"الوسوم المُفعّلة"، و"المجموعات المُفعّلة" الخاصة بالـ webhook. قد يكون إنشاء مجموعة وسوم تحتوي على وسوم يمكن رؤيتها أو استخدامها فقط من قبل أعضاء الطاقم وسيلة جيدة لتقييد الـ webhook على مواضيع محددة.

كما يمكنك إضافة خطوة تصفية في Zapier لمواصلة العملية فقط إذا استوفى الموضوع شرطاً محدداً من قبلك. يوجد مثال يوضح كيفية إعداد ذلك لـ user webhook في قسم “التقاط حدث إنشاء المستخدم في Discourse” من الرابط: Create a Salesforce lead via Zapier when a user signs up on Discourse. ستكون عملية إعداد فلتر للموضوع أو المنشور في Zapier مماثلة.

فهمت أنه إذا سُمح لـ Zap بالانتقال إلى خطوة التصفية الخاصة به، فسيتم احتساب هذه الحدث كمهمة في Zapier. لذلك، من الأفضل تصفية أكبر قدر ممكن من البيانات في Discourse قبل إرسال الطلب إلى Zapier. وتُعد التصفية حسب الفئات والوسوم والمجموعات أفضل طريقة لتحقيق ذلك.

شكرًا مرة أخرى @simon! جربت خيارات التكوين التي تتحدث عنها، لكنني لم أستطع استنتاج شيء على مستوى المنشور يسمح لي بالتفاعل مع تغيير محدد في بيانات المنشور في Discourse، مما يشير إلى ضرورة مزامنة هذا المنشور مع النظام الآخر.

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

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

من المرجح أن يتم الفلترة على مستوى المنشور عبر Zapier. ما نوع البيانات التي ترغب في استخدامها لتحديد ما إذا كان يجب تشغيل Zap أم لا؟

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

الأعلام تخدم غرضًا مختلفًا… لست متأكدًا من أن ذلك سيعمل.
لا نريد تغيير محتوى المنشور الظاهر للمستخدم.
الشارات تبدو ممكنة، لكنني لا أرى أنها تُفعّل الويب هوك.

أي أفكار؟

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

لتشغيل ويب هوكات على منشورات محددة باستخدام وظيفة Discourse الحالية، يمكنك محاولة إعداد ويب هوك يتم تشغيله عند أحداث العلم. على Zapier، يمكنك تصفية المنشورات التي تم وضع علامة عليها من خلال البحث عن منشورات تم وضع علامة عليها كـ “شيء آخر” بواسطة مستخدم معين في موقعك.

أسهل طريقة لعرض الحمولة التي يتم تمريرها مع حدث العلم هي إنشاء ويب هوك على Discourse مع اختيار حدث العلم كمحفز له. للاختبار، يمكنك إدخال أي عنوان URL في حقل عنوان URL للحمولة في الويب هوك، على سبيل المثال http://example.com. بعد وضع علامة على منشور في موقعك، انتقل إلى Admin / API / Webhooks وانقر على رابط ‘حالة التسليم’ للوصول إلى قائمة طلبات الويب هوك.

انقر على زر الطلب لعرض الحمولة التي تم تمريرها بواسطة الويب هوك.

على Zapier، يجب أن تتمكن من الوصول إلى أي من القيم في حمولة الطلب. لتصفية المنشورات التي تم وضع علامة عليها كـ “شيء آخر” بواسطة مستخدم معين، ستحتاج إلى التحقق من أن flag_type في الطلب هو notify_moderators وأن حقل created_by في الطلب مضبوط على اسم المستخدم للمستخدم الذي تريد من خلاله تشغيل إجراء Zapier الخاص بك.

حسناً، أستطيع أن أرى كيف يمكن أن يعمل ذلك. هل سيلاحظ المستخدمون أن المنشورات التي نناقشها هنا يتم تحديدها؟ نرغب في أن تكون تلك المحتويات المحددة مخصصة لـ “شيء آخر” كسبب للتحديد… وهو أمر يشبه السحر الأسود بالنسبة للأشخاص الذين يريدون تشغيل هذا الويب هوك. هل توجد أي طريقة لإضافة إجراءات إلى منشور يمكنها أتمتة هذه الخطوات (أو إذا أمكننا إضافة إجراءات، طريقة لإنشاء إجراء ببساطة يجمع المعلومات التي نريدها عن المنشور ويتصل بنقطة نهاية إجراء ويب هوك في زابير بها)؟

شكراً جزيلاً على كل مساعدتكم، نقدر ذلك كثيراً!

فقط أعضاء الطاقم يمكنهم رؤية أن المنشور تم وضع علامة عليه كـ “شيء آخر”.

للأسف، الرسالة التي تُضاف عند وضع علامة على منشور كـ “شيء آخر” غير مدرجة في حمولة الويب هوك. لهذا السبب، لا أعتقد أن هذا سيكون أفضل نهج لك.

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

هذا هو الحال بالفعل.

رائع، شكرًا لكما على المساعدة.

هل تعتقد أن هذا هو أفضل مكان للتعرف على كيفية تطوير الإضافات؟

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