Discourse Zendesk

:discourse2: الملخص إنشاء تذاكر Zendesk من مواضيع Discourse.
:open_book: دليل التثبيت هذا الإضافة مدمجة مع Discourse core. لا حاجة لتثبيت الإضافة بشكل منفصل.

:warning: نظرًا لأن Zendesk ستقوم بـ إلغاء مصادقة رمز API نهائيًا في 30 أبريل 2027، فإن التثبيتات الحالية بحاجة إلى الانتقال إلى المصادقة عبر OAuth.

الميزات

إنشاء تذاكر Zendesk

تسمح لك هذه الإضافة بإنشاء تذاكر Zendesk من مواضيع Discourse. يمكن القيام بذلك إما من خلال تكوين الإضافة بحيث تقوم جميع المواضيع في فئة معينة بإنشاء تذاكر Zendesk تلقائيًا، أو من خلال دفع مواضيع فردية إلى Zendesk بالنقر على زر «إنشاء تذكرة Zendesk» الذي يظهر لموظفي الموقع أسفل كل موضوع:

عند إنشاء التذكرة، سيتم تعيين مؤلف أول منشور في الموضوع كـ «الطالب» (Requester) في Zendesk. كما سيتم إضافتهم إلى قائمة عملاء Zendesk لديك.

بعد إنشاء التذكرة، سيتم تحديث زر «إنشاء تذكرة Zendesk» ليصبح «عرض في Zendesk». عند النقر على هذا الزر، سيتم توجيهك إلى تذكرة Zendesk المرتبطة:

دفع الردود المنشأة على Discourse إلى Zendesk

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

مزامنة تعليقات Zendesk مع Discourse

can be synced with the Discourse topic that the ticket originated on.

التكوين

يمكن الوصول إلى إعدادات Discourse Zendesk من صفحة الإضافات في قسم الإدارة الخاص بموقع Discourse الخاص بك. انقر على زر «الإعدادات» لإدخال «discourse-zendesk-plugin» في تلك الصفحة.

تكوين OAuth

أولاً، أنشئ عميل OAuth في Zendesk:

  1. في مركز إدارة Zendesk، انتقل إلى التطبيقات والتكاملات > واجهات برمجة التطبيقات (APIs) > عملاء OAuth.
  2. انقر على إضافة عميل OAuth.
  3. أدخل اسمًا، وصفًا، واختر Confidential كنوع العميل. لا يلزم إدخال عنوان URL لإعادة التوجيه.
  4. قم بتكوين النطاقات (Scopes) لتكون tickets:read, tickets:write, users:read, و users:write لتقييد عميل OAuth بالنطاقات المطلوبة فقط بواسطة الإضافة.
  5. احفظ العميل.
  6. انسخ المعرّف (Identifier) و السر (Secret) الخاص بالعميل. تعرض Zendesk السر الكامل مرة واحدة فقط.

قم بتكوين إعدادات Discourse التالية:

  • zendesk oauth client id: أدخل المعرّف (Identifier) الخاص بعميل OAuth.
  • zendesk oauth client secret: أدخل السر (Secret) الخاص بعميل OAuth.

إعدادات أخرى

  • zendesk url: أدخل عنوان URL لحساب Zendesk الخاص بك متبوعًا بـ /api/v2. على سبيل المثال، https://example.zendesk.com/api/v2.

  • zendesk enabled: تفعيل أو تعطيل الإضافة.

  • zendesk jobs api token: غير مدعوم (Deprecated). يجب على التثبيتات الحالية الانتقال إلى OAuth.

  • zendesk jobs email: غير مدعوم (Deprecated). يجب على التثبيتات الحالية الانتقال إلى OAuth.

  • zendesk autogenerate all categories (سابقًا zendesk enable all categories): إنشاء تذاكر Zendesk تلقائيًا للمواضيع في كل فئة. هذا الإعداد معطل افتراضيًا.

  • zendesk autogenerate categories (سابقًا zendesk enabled categories): تحديد فئات Discourse التي يجب أن تنشئ مواضيعها الجديدة تذاكر Zendesk تلقائيًا.

  • zendesk job push all posts: دفع الردود إلى Zendesk كتعليقات على التذكرة. هذا الإعداد مفعّل افتراضيًا.

  • zendesk job push only author posts: دفع الردود المكتوبة بواسطة مؤلف الموضوع الأصلي فقط. ينطبق هذا الإعداد عندما يكون zendesk job push all posts مفعلاً، وهو معطل افتراضيًا.

  • sync comments from zendesk و zendesk incoming webhook token: مزامنة التعليقات من Zendesk إلى Discourse. راجع كيفية تمكين المزامنة ثنائية الاتجاه مع Zendesk.

  • zendesk tags: قائمة اختيارية من الوسوم لإضافتها إلى تذاكر Zendesk المنشأة من Discourse.

37 إعجابًا

أود تقديم طلب ميزة لهذا التكامل مع Zendesk:

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

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

شكرًا!

شكراً جزيلاً على الإضافة، لقد ساعدتنا كثيراً!

أود بعض المساعدة بخصوص المشكلة التالية:

  • في Zendesk، عندما ننشئ “ملاحظات داخلية” (ملاحظات خاصة) في تذكرة، فإن تلك الملاحظات الداخلية لا تنتج “همسة” (whisper) في Discourse.
  • قمت بتنفيذ خطاف ويب (webhook) في Zendesk لإنشاء “همسة” لكل “ملاحظة داخلية”، ومع ذلك، يتم دفع تلك “الهمسة” إلى Zendesk بسبب العمل الطبيعي للإضافة.

لذا، سؤالي هو: هل هناك طريقة لمنع الإضافة من إنشاء تعليق جديد في Zendesk عندما أقوم بإنشاء “الهمسات” من “الملاحظات الداخلية”، كما هو موضح أعلاه؟

أعلم أنه يمكنني تعطيل المزامنة لجميع المشاركات، ولكن الهدف هو عدم مزامنة تلك الهمسات التي أنشئها عبر Discourse API فقط.

هل تعرف ما إذا كان هناك حل سهل لذلك؟

إعجاب واحد (1)

أهلاً!

لست متأكدًا مما إذا كان هذا هو المكان المناسب للإبلاغ عن خطأ، لذا أخبرني إذا كان يجب علي نقل هذا إلى مكان آخر.

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

  1. يرسل المستخدم منشورًا في Discourse
  2. تتم مزامنته في Zendesk
  3. ترى إضافة المزامنة التعليق الجديد في Zendesk وتقوم بمزامنته مرة أخرى إلى Discourse

إليك ما نراه بصريًا حيث يرسل John (المسؤول الذي قام بإعداد الإضافة) أحيانًا نسخًا مكررة من رسائل المستخدمين الآخرين دون تدخله. هذا يأتي من إضافة مزامنة discourse:

على جانب Zendesk، لا نرى أي ردود مكررة، ونرى فقط من المستخدم (لا يمكن نشر لقطة شاشة ثانية بسبب قيود هذا المنتدى).

توسيع عرض سجل التذكرة لا يظهر أي شذوذ في Zendesk.

أي أفكار حول ما يمكن أن يحدث خطأ أو كيف يمكننا تصحيح هذا؟

شكرًا!

6 إعجابات

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

للتأكيد، يبدو أن ZD يرسل التعليق تلقائيًا مرة أخرى إلى Discourse. أليس جون يقتبس أو ينسخ/يلصق التعليق؟

هل قمت بإعداد أي مشغلات إضافية على ZD عند إعداد المكون الإضافي لأول مرة؟

3 إعجابات

شكراً على المشاركة! نعم، هذه مشكلة برمجية، جون لا ينشر هذه الرسائل بنفسه.

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

إعجابَين (2)

لقد وجدت مشغلًا، كلما تم تحديث تذكرة ولديها علامة discourse، فإنه سيقوم بإخطار خطاف مزامنة Discourse عبر طلب PUT. لم أكن أنا من قام بإعداد المكون الإضافي، ولكن هل يمكن أن يكون هذا هو السبب؟

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

4 إعجابات

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

هل واجه أي شخص هذا ولديه حل؟

مرحباً،

أواجه مشكلة حيث لا يتم إنشاء المواضيع الخاصة التي تم إنشاؤها على جانب المجتمع في Zendesk. هل يمكن لأحد أن يقدم لي النصح بشأن أي إعدادات أو تكوينات محددة مطلوبة لضمان مزامنة المواضيع الخاصة بشكل صحيح مع Zendesk؟

شكراً مقدماً على مساعدتكم.

إعجاب واحد (1)

لدي طلب ميزة : )

أرى أن أزرار “إنشاء/عرض تذكرة Zendesk” مرئية للموظفين فقط.

هل يمكن التحكم في رؤية هذه الأزرار من خلال إعدادات جديدة للمكون الإضافي zendesk_create_ticket_allowed_groups و zendesk_view_ticket_allowed_groups لمزيد من المرونة؟

لا أرغب بالضرورة في منح أدوار المسؤول أو المشرف لفرق الدعم لدينا. إنهم بالطبع المسؤولون عن مجالهم (Zendesk)، ولكن في رأيي لا يبرر ذلك دائمًا الامتيازات الموسعة على Discourse.

:partying_face: تم تضمين هذه الإضافة الآن مع Discourse الأساسي كجزء من Bundling more popular plugins with Discourse core. إذا كنت تستضيف بنفسك وتستخدم الإضافة، فأنت بحاجة إلى إزالتها من app.yml قبل الترقية التالية.

إعجاب واحد (1)

@gormus كنت أحدّث الإضافة لدعم رموز OAuth للمصادقة مع Zendesk، ولاحظت طلبك هنا. كنت أتساءل عما إذا كانت ميزة إظهار أزرار Zendesk بناءً على المجموعات ما تزال مفيدة لك.