أنا أحاول إرسال طلب POST عبر واجهة برمجة التطبيقات (API) لإنشاء مستخدم جديد.
حالة الاستخدام: إنشاء مستخدم جديد بمجرد إرسال نموذج بطاقة ائتمان على موقع ووردبريس. في النهاية، سيتم تنفيذ هذا من خلال Google Tag Manager باستخدام JavaScript.
للتجربة، قمت بكتابة الكود التالي، وحفظته كملف PHP، ثم قمت برفعه إلى الخادم. لقد حصلت على خطأ: Parse error: syntax error, unexpected 'POST' (T_STRING) في /nas/content/live/username/newuser.php في السطر 2
أعتقد أنك لم تفهم الـ API بشكل صحيح. هذه النقطة النهائية ليست لإنشاء مستخدم. بل ستقوم بتوليد رابط دعوة وإرساله إلى بريد المستخدم الإلكتروني. بمجرد النقر عليه، سيتمكن المستخدم من التسجيل.
لإنشاء مستخدم يدويًا، يجب استخدام هذه النقطة النهائية: Discourse API Docs
حسناً، أنا أجد صعوبة في العثور على النهج الصحيح. أريد الاحتفاظ بمجمعتي على منصة Discourse للاستفادة من جميع مزاياها، وفي الوقت نفسه أريد تقديم دورة بسيطة مكونة من 7 وحدات يتم إطلاقها تدريجياً على مدار 14 أسبوعاً.
مع مكون السمة Feverbee الخاص بك، يبدو التخطيط رائعاً.
في السابق، كنت أقوم بإدارة الدورات في مجموعات (cohorts)، حيث كان المشاركون يدفعون أولاً، ثم كنت أقوم بإنشاء حساباتهم على Discourse يدوياً. كان هذا مقبولاً، لكنني الآن أرغب في نظام “تسجيل مفتوح” أكثر مرونة.
لقد بحثت في إضافة Paid Membership Pro، لكنني لا أحب فكرة استخدام موقع ووردبريس فقط لإدارة العضوية.
لقد استخدمت Memberful لبضعة أشهر، لكن رسوم المعاملات البالغة 4.9% بالإضافة إلى الرسوم الشهرية تبدو مبالغاً فيها بعض الشيء.
يبدو خيار Discourse Subscriptions جيداً، لكنني أعتقد أنني لا أستطيع عرض صفحات الخطط للأشخاص غير المسجلين (والذين لن يكونوا مسجلين إذا لم يكونوا عملاء بالفعل).
فكرتي في إرسال طلب POST عبر الـ API لإنشاء عضو جديد وإضافته إلى مجموعة تعتبر حلاً مؤقتاً مقبولاً بينما أقوم بجذب المزيد من الأعضاء. بمجرد أن أكون لدي عدد أكبر من الأعضاء، كنت أفكر في طلب برمجة مخصصة.
مسألة إضافية: لدي تطبيق iOS قمت بتجميعه من المستودع، وأفضل عدم استئجار آلة افتراضية مرة أخرى لإعادة التجميع مع عنوان URL جديد إذا اضطررت لاستخدام SSO من موقع ووردبريس. قد أكون مخطئاً فيما يتعلق بضرورة تغيير ملف إعدادات التطبيق؛ لم أقم بذلك بعد.
يبدو أن دمج ووردبريس مع SSO وإضافة Paid Membership Pro هو الخيار الوحيد المتاح لإدارة الأعضاء الفعليّة.
لقد جربت إضافة الاشتراكات قليلاً اليوم. أعتقد أن ما أنصح به هو أن يكون لديك محتوى مجاني على موقعك حتى يكون لدى المستخدمين سبب لإنشاء حساب قبل شراء دورة تدريبية. أعتقد أن هذا حل معقول لجعل صفحات الخطط متاحة لغير المشتركين. من المنطقي أنهم يريدون رؤية جزء من المحتوى قبل الدفع.
فكرتي هي أن مجرد جعل هذا الطلب POST يعمل سيمنحني حلاً قصير الأجل بينما أقوم بإشراك العملاء وأتمكن من تحمل تكاليف التطوير المخصص.
يتم تشغيل علامة Google Tag Manager الخاصة بي، لكن لا يظهر أي شيء داخل Discourse. إذا تمكنت من جعل GTM ينشئ مستخدمًا جديدًا ويحدد المجموعة الصحيحة، فسيكون حلّي بنسبة 70% طويل الأجل و100% قصير الأجل.
لقد جربت هذا الرابط في Postman: https://site.co/users.json?Api-Key=12345&Api-Username=system&email=hello@domain.com&group_names=Alumni&custom_message=Welcome321
والذي أعاد لي التالي:
{
"success": true,
"active": false,
"message": "<p>أنت على وشك الانتهاء! لقد أرسلنا بريدًا إلكترونيًا لتفعيل الحساب إلى <b>hello@domain.com</b>. يرجى اتباع التعليمات الواردة في البريد لتفعيل حسابك.</p><p>إذا لم يصل البريد، فراجع مجلد الرسائل غير المرغوب فيها.</p>"
}
ومع ذلك، لم أتلق أي بريد إلكتروني. لقد تفحصت سجلاتي في /logs ولم يتم سرد أي شيء. كما تفحصت مجلد الرسائل غير المرغوب فيها.