# پروفایل‌های کاربر X در Felo

POST /api/v1/data/x/user/info

عملیات مناسب برای داده‌ای را که نیاز دارید انتخاب کنید. هر پنج پایان‌نقطه از POST استفاده می‌کنند و JSON را در ریشه برمی‌گردانند، بدون یک پوشش مشترک `data`.

تمام نمونه‌ها از `FELO_API_KEY` از [نمای کلی](https://openapi.felo.ai/fa/docs/data-api/guides/felo-overview.md) استفاده می‌کنند. تماس‌ها از **موجودی پلتفرم** استفاده می‌کنند، نه اعتبارات Felo Pro. نمونه‌های پاسخ صرفاً نمایشی هستند؛ محتوای زنده و فیلدهای اختیاری متفاوت‌اند.





## 1. دریافت پروفایل‌های کاربر

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

| فیلد | نوع | الزامی | معنا |
|---|---|---|---|
| `usernames` | آرایه string | بله | 1 تا 100 نام کاربری؛ هندل‌ها را بدون `@` ارسال کنید |

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/x/user/info" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"usernames":["OpenAI"]}'
```

پاسخ شامل `users` و `total` است. هر کاربر شامل `user_id`، `username` و `display_name` است؛ متن پروفایل، تعداد دنبال‌کنندگان، تأییدشدگی و سایر فراداده‌ها نیز ممکن است موجود باشند. یک دسته می‌تواند پروفایل‌های کمتری از تعداد درخواستی برگرداند. تطبیق را بر اساس نام کاربری یا شناسه انجام دهید، نه بر اساس موقعیت در آرایه.

```json
{"users":[{"user_id":"example-user-id","username":"example","display_name":"Example"}],"total":1}
```



## صفحه‌بندی و کنترل هزینه

`total` آرایه متناظر را در پاسخ فعلی می‌شمارد: پست‌های سطح بالا برای پرس‌وجوهای پست، یا پاسخ‌ها درون هر ورودی نتیجه برای پرس‌وجوهای پاسخ. این یک شمارش جهانیِ تطابق‌ها، تعداد کامل پاسخ‌های یک پست، یا شمارش نهایی قابل‌صورتحساب نیست.

1. درخواست اول را بدون `cursor` بفرستید.
2. `has_next` و `next_cursor` را از پاسخ بخوانید. برای پاسخ‌ها، آن‌ها را روی هر ورودی نتیجه بخوانید.
3. اگر صفحه دیگری وجود دارد و cursor خالی نیست، همان را بدون تغییر با همان پرس‌وجو بفرستید. برای یک دسته پاسخ، هر پست را جداگانه ادامه دهید.
4. وقتی صفحه بعدی وجود ندارد، وقتی cursor تکرار می‌شود، یا وقتی سقف صفحه یا هزینه خودتان به پایان می‌رسد، متوقف شوید.

فراداده صفحه‌بندی نشان‌دهنده آخرین پاسخ بالادستی است؛ مجموعه بازگردانده‌شده می‌تواند در یک سقف نتیجه کوتاه شود. حتی `has_next=false` نیز تضمین نمی‌کند که تمام تاریخچه X یا پاسخ‌ها بازیابی شده‌اند. به‌جای برچسب‌زدن یک مجموعه نتیجه محدود به‌عنوان همه داده‌های موجود، شمارش واقعی بازگردانده‌شده را نمایش دهید.

هر صفحه موفق می‌تواند هزینه‌ای در پی داشته باشد. این پنج عملیات بر اساس نتایج بازگردانده‌شده صورتحساب می‌شوند، نه یک هزینه ثابت برای هر درخواست. پاسخ‌های تودرتو و سایر رکوردهای بازگردانده‌شده می‌توانند روی شمارش صورتحساب اثر بگذارند؛ هزینه را فقط بر اساس طول آرایه سطح بالا تخمین نزنید. [قیمت‌های فعلی](https://openapi.felo.ai/api/v1/data/prices) و استفاده در کنسول را بررسی کنید. فیلدهای کامل شیء در [اسکیما OpenAPI](https://openapi.felo.ai/api/v1/data/openapi.json) موجود است.
