# Felo X 貼文回覆

POST /api/v1/data/x/tweet/replies

請選擇你需要資料所對應的操作。這五個端點都使用 POST，並且在 JSON 根層回傳，不使用共通的 `data` 包裝層。

所有範例都使用來自[總覽](https://openapi.felo.ai/zh-TW/docs/data-api/guides/felo-overview.md)的 `FELO_API_KEY`。呼叫會使用 **平台餘額**，不是 Felo Pro 點數。回應範例僅供說明；實際內容與可選欄位會有所不同。





## 5. 讀取回覆

`POST /api/v1/data/x/tweet/replies`

| 欄位 | 類型 | 必填 | 意義 |
|---|---|---|---|
| `tweet_ids` | string or string array | 是 | 一個貼文 ID，或最多 20 個 ID 的批次 |
| `cursor` | string | 否 | 最多 4,000 個字元；與單一貼文 ID 搭配使用 |
| `since_time` | integer | 否 | Unix 秒數格式的開始時間 |
| `until_time` | integer | 否 | Unix 秒數格式的結束時間 |

將佔位符替換為真實的貼文 ID：

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

與時間軸和貼文搜尋不同，回覆會分組在 `results` 底下。每個項目都有自己的分頁狀態：

```json
{"results":[{"tweet_id":"POST_ID","replies":[],"total":0,"has_next":false,"next_cursor":null}]}
```

### 每次請求的回覆限制

每次請求會為每個 `tweet_id` 讀取一個上游回覆頁面，並最多保留 100 則回覆；它不會自動抓取每一頁回覆。在最多 20 個 ID 的批次中，100 則回覆上限會分別套用到每個 `results` 項目。實際數量可能更少。

每個項目的 `total` 是該項目回傳的回覆數量，而不是該貼文的完整回覆總數。若要繼續，請使用該項目的 `next_cursor`，並在下一個請求中只傳送其單一貼文 ID。沒有 `limit` 參數可提高每次請求的上限。



## 分頁與成本控制

`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 schema](https://openapi.felo.ai/api/v1/data/openapi.json)。
