أعمل على دمج خيار اشتراك في نشرات Mailchimp البريدية ضمن تسجيلات المستخدمين الجدد، وقد حققت تقدماً باستخدام هذا الإضافة من @pfaffman GitHub - pfaffman/discourse-mailchimp-webhook · GitHub
تضيف الإضافة بنجاح “حدث إنشاء مستخدم” ويب هوك يظهر في /admin/api/web_hooks/new، وقد استنتجت من واجهة برمجة تطبيقات Mailchimp كيفية تعيين عنوان URL للحمولة الخاصة بالويب هوك على النحو التالي (مع معرف DC ومعرف القائمة الفعليين الخاصين بي):
https://[my-dc].api.mailchimp.com/3.0/lists/[my-list-id]/members/
أنشأت مستخدماً جديداً وقد تم تفعيل الويب هوك بنجاح، لكنني تلقيت استجابة “مفتاح API غير صالح” من Mailchimp. ومن خلال قراءة كود طريقة build_webhook_headers، لم يبدو أن إضافة مفتاح API إلى حقل “السر” سيعمل، حيث ينشئ ذلك رأس “X-Discourse-Event-Signature”، على الرغم من أنني جربت ذلك وحصلت على نفس الاستجابة.
كاختبار، قمت بتعديل طريقة build_webhook_headers يدوياً وأدرجت رأس التفويض الذي تتوقعه واجهة برمجة تطبيقات Mailchimp، وقد نجح ذلك (حصلت على استجابة نجاح، وظهر العضو الجديد من جانب Mailchimp):
headers['Authorization'] = 'apikey my-key-here'
من الواضح أن تعديل Discourse مباشرة ليس حلاً قابلاً للتطبيق، لكنني عالق الآن في كيفية إدخال رأس التفويض هذا في طلب الويب هوك الخاص بي. يبدو أن هناك طريقة لتوسيع جسم الطلب باستخدام :after_build_web_hook_body، لكنني لم أجد طريقة مماثلة للرأس.
سأقدر جداً أي مساعدة توجهني إلى الاتجاه الصحيح. شكراً!