قد يكون ذلك بسبب خبرتي التي تمتد لعقد من الزمان في العمل بالبنوك، ولكن الطريقة التي أتخيل بها استرداد النقاط هي إصدار أحداث مخصصة ذات قيمة سالبة.
على سبيل المثال، لنفترض أن لديك مستخدمًا يريد استرداد النقاط مقابل قميص، ويكلف هذا القميص 10 آلاف نقطة. سيكون التدفق في نظام الاسترداد الخاص بك:
- التحقق مما إذا كان لدى المستخدم نقاط كافية:
curl https://meta.discourse.org/u/falco.json -s | jq . | grep score
"gamification_score": 89386,
- إصدار حدث “سحب النقاط”
jo -p user_id="13" date="2023-04-14" points="-10000" description="T-Shirt Redeem - order #123" | curl --json @- -XPOST http://example/admin/plugins/gamification/score_events -H "Api-Key: apikeyhere" -H "Api-Username: system"
ستحتاج إلى تغليف هذا في نوع من آلية الحماية (semaphore)، حيث أن هذا هو المثال النموذجي لاستخدامها، ولكن هذا هو جوهر سير العمل المقترح.
هذه ميزة حديثة جدًا، لذا دعني أعرف إذا كان سير العمل المقترح لا يعمل بشكل صحيح.
إنه يعمل بشكل جيد بالنسبة لي، سواء في المتصفح أو عبر واجهة برمجة التطبيقات (API). إنه نقطة نهاية للمسؤول، لذا تحتاج إلى أن تكون مسؤولاً مسجلاً الدخول عبر المتصفح، أو تمرير مفاتيح واجهة برمجة التطبيقات (API keys) كما هو موضح في المنشور الأصلي.
