كيف يتم تعيين معرفات المنشورات؟ (وأسئلة أخرى حول /posts.json)

أعمل على https://mentionme.app وأرغب في تجميع أحدث المحتوى من منتديات Discourse المتاحة علنًا. لهذا الغرض، اخترت نقطة نهاية API /posts.json.

لاحظت أن هذه النقطة تُرجع عددًا يبدو عشوائيًا من العناصر. تشير الوثائق إلى أنها ستُرجع آخر 50 منشورًا، لكن عند الفحص الدقيق (مثل https://meta.discourse.org/posts.json) نرى أنه بدلًا من 50 منشورًا أحدث، نرى منشورات تتراوح معرفاتها من max-50 إلى max، وبعضها مفقود.

أفترض أن عدم وجود 50 منشورًا في هذه النقطة هو عيب في API — هل هذا صحيح؟
أفترض أن معرفات المنشورات تُعيّن من مجموعة أكبر من المعرفات تتضمن أشياء أخرى (مثل معرفات المستخدمين؟) ولا ينبغي لي القلق بشأن ذلك.

هل يمكن لأحد أن يزيل مخاوفي من خلال شرح ذلك؟

على وجه التحديد، في بعض الحالات تكون القائمة فارغة، على سبيل المثال: https://meta.discourse.org/posts.json?before=1234 - ماذا يجب أن أفعل إذا كانت القائمة التي لا تحتوي على معامل “before” (“posts.json”) تُرجع قائمة فارغة ولا أستطيع معرفة معرف المنشور الأقصى للبدء؟

ستكون بعض المنشورات داخل فئات محمية لا يمكنك رؤيتها، بينما ستكون أخرى داخل رسائل شخصية ولن تظهر في نقطة النهاية، التي تعرض آخر المنشورات في المواضيع التي يمكنك قراءتها.

على سبيل المثال، في الوقت الحالي، هذا المنشور هنا هو رقم 621820، والمنشور التالي هو 621818 بواسطة @gerhard. المنشور المفقود هو 621819 وهو رسالة شخصية، وهذا هو السبب في عدم قدرتك على رؤيته.

شكرًا لك على الشرح، الآن أصبح الأمر واضحًا. أقوم حاليًا بفحص عدة منتديات Discourse، وحتى الآن واجهت المشكلة في بيئة الإنتاج مرة واحدة (ملف posts.json بدون معامل “before” يُرجع قائمة فارغة). الأمر ليس كارثيًا، لكنه شيء يجب الانتباه إليه.