# منشورات مستخدمي Felo على X

POST /api/v1/data/x/user/tweets

اختر العملية الخاصة بالبيانات التي تحتاجها. تستخدم النقاط الخمس جميعها POST وتعيد JSON في الجذر، من دون غلاف `data` مشترك.

تستخدم جميع الأمثلة `FELO_API_KEY` من [نظرة عامة](https://openapi.felo.ai/ar/docs/data-api/guides/felo-overview.md). تستخدم الاستدعاءات **رصيد المنصة**، وليس أرصدة Felo Pro. أمثلة الاستجابة توضيحية؛ ويختلف المحتوى الحي والحقول الاختيارية.





## 3. احصل على الخط الزمني لمستخدم

`POST /api/v1/data/x/user/tweets`

| الحقل | النوع | مطلوب | المعنى |
|---|---|---|---|
| `username` | string | مطلوب مُعرّف واحد | معرّف المستخدم، حتى 100 حرف |
| `x_user_id` | string | مطلوب مُعرّف واحد | معرّف المستخدم، حتى 100 حرف؛ وله أولوية على `username` |
| `limit` | integer | لا | 1–1,000؛ يستخدم التنفيذ الحالي 20 على الأقل، مع افتراضي 20 |
| `cursor` | string | لا | مؤشر ترقيم، حتى 4,000 حرف |
| `include_replies` | boolean | لا | تضمين الردود المتداخلة؛ الافتراضي `false` |

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/x/user/tweets" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username":"OpenAI","limit":20,"include_replies":false}'
```

تحتوي الاستجابة على `tweets` و`total` و`has_next` و`next_cursor`. ضبط `limit` على أقل من 20 لا يضمن عدد عناصر أقل مُعادة أو فاتورة أصغر. قد يؤدي تضمين الردود إلى إضافة بيانات مُعادة ونتائج قابلة للفوترة.

### حدود النتائج والردود المتداخلة

`limit` هو عدد مستهدف للمنشورات من المستوى الأعلى لهذا الطلب، وليس عدد نتائج مضمونًا. يستخدم التنفيذ الحالي هدفًا لا يقل عن 20: إذ يقرأ هدف 20 صفحةً أصلية واحدة؛ وتتولى الأهداف الأكبر جلب ما يصل إلى 50 صفحة تلقائيًا. قبل كل صفحة، يُفحص الوقت المنقضي ويتوقف الجلب عن صفحات إضافية بمجرد تجاوزه 60 ثانية. هذا الفحص ليس ضمانًا بأن طلب HTTP الكامل سينتهي خلال 60 ثانية.

يتوقف الجمع أيضًا عندما يتحقق الهدف، أو لا تحتوي الصفحة الأصلية على صفحة تالية، أو تكون الصفحة فارغة، أو يكون المؤشر مفقودًا. لذلك قد تحتوي الاستجابة الناجحة على عدد أقل من `limit` من المنشورات. استخدم `has_next` و`next_cursor` للمتابعة عند توفرهما.

مع `include_replies=true`، تحصل كل منشور مُعاد على ما يصل إلى 5 صفحات إضافية وبحد أقصى 100 رد متداخل. يمكن أن يتوقف الجمع مبكرًا عندما لا توجد صفحة تالية، أو تكون الصفحة فارغة، أو يتعذر على المؤشر التقدم. هذه الردود المتداخلة خارج `limit` و`total` للمستوى الأعلى، لكنها قد تضيف نتائج قابلة للفوترة.

الردود المتداخلة `replies` ليست أرشيفًا كاملًا للردود ولا تكشف عن مؤشر متابعة منفصل لهذا الجمع الإضافي. لترقيم الردود بشكل مستقل، استخدم عملية قراءة الردود والمؤشر المُعاد منها. لا تعِد استخدام مؤشر منشور المستوى الأعلى للردود.



## الترقيم والتحكم في التكلفة

يعدّ `total` المصفوفة المقابلة في الاستجابة الحالية: المنشورات ذات المستوى الأعلى في استعلامات المنشورات، أو الردود داخل كل إدخال نتيجة في استعلامات الردود. وهو ليس عدد المطابقات العالمي، ولا العدد الكامل لردود منشور، ولا العدد النهائي القابل للفوترة.

1. أرسل الطلب الأول بدون `cursor`.
2. اقرأ `has_next` و`next_cursor` من الاستجابة. بالنسبة للردود، اقرأهما في كل إدخال نتيجة.
3. إذا كانت هناك صفحة أخرى وكان المؤشر غير فارغ، فأرسله كما هو مع الاستعلام نفسه. بالنسبة لدفعة ردود، واصل كل منشور على حدة.
4. توقّف عندما لا توجد صفحة تالية، أو عندما يتكرر مؤشر، أو عندما تصل إلى حد الصفحة أو الإنفاق الخاص بك.

تعكس بيانات ترقيم الصفحات آخر استجابة أصلية؛ وقد تُقتطع المجموعة المُعادة عند حد أقصى للنتائج. حتى `has_next=false` ليس ضمانًا بأن كل سجل X أو الردود قد استُرجعت. اعرض العدد الفعلي المُعاد بدلًا من وسم مجموعة نتائج محدودة على أنها كل البيانات المتاحة.

يمكن أن تُفْرض رسوم على كل صفحة ناجحة. تُفوتر هذه العمليات الخمس حسب النتائج المُعادة، وليس برسم ثابت لكل طلب. يمكن للردود المتداخلة والسجلات الأخرى المُعادة أن تؤثر في العدد المُفوتر؛ لا تقدّر التكلفة اعتمادًا على طول المصفوفة ذات المستوى الأعلى فقط. تحقّق من [الأسعار الحالية](https://openapi.felo.ai/api/v1/data/prices) والاستخدام في وحدة التحكم. توجد الحقول الكاملة للكائنات في [مخطط OpenAPI](https://openapi.felo.ai/api/v1/data/openapi.json).
