# جستجوی کاربران X در Felo

POST /api/v1/data/x/user/search

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

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





## 2. جستجوی کاربران

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

| فیلد | نوع | الزامی | معنا |
|---|---|---|---|
| `query` | string | بله | 1 تا 1,000 نویسه |
| `cursor` | string | خیر | نشانگر صفحه‌بندی، تا 4,000 نویسه |

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/x/user/search" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"AI research"}'
```

پاسخ شامل `users`، `total`، `has_next` و `next_cursor` است. برای این عملیات پارامتر `limit` وجود ندارد.

```json
{"users":[],"total":0,"has_next":false,"next_cursor":null}
```



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

`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) موجود است.
