أتمتة إرسال رسائل دعوة Discourse باستخدام Zapier

يمكنك التحقق من خلال حدث إجراء GET إذا كان المستخدم يمتلك حسابًا بالفعل:

وإذا كان الأمر كذلك، فإنك تنفذ مسارًا تقوم فيه بإضافة هذا المستخدم إلى مجموعة باستخدام إجراء PUT:

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

رائع يا كريشان! شكرًا لك على ردك السريع! سأجربه الآن.

يبدو أن جزء GET يعمل بشكل صحيح.

لكن لدي مشكلة في إجراء PUT:

1 / هل يمكنك إخباري بنوع المحتوى (Content-type) الذي يجب إضافته في الرأس؟
(أظن أنني ما زلت أضيف اسم المستخدم الخاص بـ API ومفتاح API)

2 / في عنوان URL لإجراء PUT، هل يجب أن أستخدم معرف المجموعة (رقمًا، مثل 110 في مثالك)، أم يمكنني استخدام الاسم الذي يمكنني الحصول عليه من عنوان URL للمجموعة؟ (مثل “course-A” على سبيل المثال)

لقد جربت استخدام اسم المجموعة (لا أعرف أين يمكنني الحصول على معرف المجموعة) ولم يبدُ أنه يعمل.

شكرًا لك! :smiley:

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

نوع المحتوى: multipart/form-data

لا، أظن أنك يجب أن تستخدم معرف المجموعة. يمكنك الحصول عليه، على سبيل المثال، من ملف JSON: https://meta.discourse.org/g.json

4 إعجابات

رائع، يبدو أن هذا يعمل مع نوع المحتوى هذا ومعرف المجموعة!

شكرًا لك على مساعدتك السريعة كريسشان!

3 إعجابات

مرحبًا كرسشان! :slight_smile:

هل تعلم ما إذا كانت هناك طريقة لإشعار المستخدم عبر البريد الإلكتروني بأنه تمت إضافته إلى مجموعة (باستخدام واجهة برمجة تطبيقات Discourse على Zapier)؟

أعلم أنه يمكن تحديد مربع عند إضافة بريد إلكتروني يدويًا إلى مجموعة في Discourse.

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

شكرًا لك!

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

لماذا لا ترسل له رسالة خاصة تتضمن منشورًا بعد الحدث؟

إعجابَين (2)

شكرًا على ردك @Krischan!

هل ترى طريقة أسرع لإشعار المستخدم؟ (لا بأس إذا كانت رسالة أساسية من Discourse، تمامًا مثل الرسالة التي يتلقاها المستخدم إذا قمت بتحديد مربع الاختيار “إشعار المستخدمين”.

حلك رائع، ولكن نظرًا لأن لدي مجموعات وأتمتات كثيرة، سيكون من الرائع لو تمكّنت من إضافة “نوع بيانات” واحد فقط، على سبيل المثال، لتفعيل الإشعار فقط، بدلاً من إنشاء 30 عملية Zap جديدة :stuck_out_tongue:

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

عذرًا، لم أقم بذلك بعد. لكن ربما يساعدك هذا المنشور:

3 إعجابات

شكرًا لك على ردك يا كريشان! سأتحقق من ذلك :slight_smile:

إعجابَين (2)

مرحبًا يا أصدقاء :slight_smile:

هل تعلمون إذا كان هناك طريقة لإزالة عضو من مجموعة، باستخدام نفس المنطق المذكور أعلاه؟

لاحظت أن واجهة برمجة التطبيقات (API) تتيح حذف عضو من مجموعة: Discourse API Docs

لكنني لست متأكدًا من كيفية استخدامها على Zapier :confused:

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

مرحباً،

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

انظر:

النتائج:

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

هل واجه أي شخص رسائل خطأ في دعوات البريد الإلكتروني الخاصة به مؤخرًا؟ في حالتي، أحصل على 403 و 404، ولا يتم إرسال بعض الدعوات بنجاح.

يبدو أن هناك مشكلة في الأذونات مع مفتاح واجهة برمجة التطبيقات (Api-Key) أو اسم مستخدم واجهة برمجة التطبيقات (Api-Username). حاول التحقق من كليهما على موقع Discourse الخاص بك. تأكد من أن المستخدم الذي قدمته لاسم مستخدم واجهة برمجة التطبيقات لا يزال نشطًا على الموقع وأن مفتاح واجهة برمجة التطبيقات لديه إما النطاق العام (Global scope) أو لديه نطاق مفصل (Granular scope) مع تحديد مربع نطاق الدعوات (Invites scope).

أخبرنا إذا لم يحل ذلك المشكلة.

أنا أقوم بدفع رسالة Juliano لأنني جربت هذا الآن وواجهت نفس الشيء. كيف أتأكد من أن الدعوة التي أنشئها هي دعوة بريد إلكتروني؟ يبدو أنني أستطيع إنشاء دعوات رابط فقط، على الرغم من أن هذه تعمل بشكل جيد.

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

تحديث بسيط لهذا، حيث أنني أحاول مرة أخرى.

يبدو أن تطبيق تكامل Discourse من Zapier به عيب: فهو يعين كلاً من قيمة “email” و “skip_email” في نص طلب POST إلى نفس المفتاح: “skip_email”. ينتج عن هذا أن يتلقى Discourse طلب HTTP POST بدون عنصر “email” في نص الطلب، لذلك يتم إنشاء الدعوة كدعوة “رابط” بدلاً من دعوة “بريد إلكتروني”.

أرسل بريدًا إلكترونيًا للدعم إلى Zapier. سنرى ما سيحدث. :person_shrugging:

إذا استخدمت ميزة Webhook العامة من Zapier، يمكنني إنشاء الدعوة، لكن Discourse لا يرسل البريد الإلكتروني، لذلك أحتاج إلى معرفة السبب. سأتابع عندما أعرف المزيد.

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

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

أنا متأكد من وجود طريقة.

لا يحتوي تكامل Zapier الخاص بـ Discourse على أمر دعوة أيضًا. هذا الموضوع يشرح في الواقع كيفية تجاوز هذه المشكلة عن طريق استخدام خطوة إجراء Zapier تسمح لك بإجراء استدعاء API إلى Discourse. أنا متأكد من أنه يمكنك تحقيق نفس الشيء على make.com باستخدام إجراء Make an API Call الخاص بهم: https://www.make.com/en/integrations/discourse.

قد تجد تفاصيل مفيدة في الموضوع الرئيسي لهذا الموضوع حول كيفية إعداد ذلك. إذا كانت لديك أسئلة حول جعله يعمل، فمن الأفضل طرحها هنا: How to connect Discourse with hundreds of apps using Make. (تم تغيير اسم Integromat إلى Make.com).

@JammyDodger يجب إعادة تسمية الموضوع الذي ربطته وتحريره لتوضيح أنه يشير إلى Make.com وليس Integromat.

3 إعجابات

شكراً جزيلاً على الرد والروابط. لم أكن أعرف أن Make.com كان له اسم آخر سابقاً، لذا هذا يساعد. سأحاول.