> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# X API

> Các tùy chọn để đăng bài bằng X API

## X BYO API Keys

<Info>
  Bắt đầu từ ngày 31 tháng 3 năm 2026, tất cả các thao tác X/Twitter đều yêu cầu thông tin xác thực API của riêng bạn. Sau khi liên kết tài khoản X qua OAuth, hãy bao gồm 2 header sau trong mỗi yêu cầu nhắm đến X:

  | Header                        | Giá trị                                  |
  | ----------------------------- | ---------------------------------------- |
  | `X-Twitter-OAuth1-Api-Key`    | API Key (Consumer Key) của bạn           |
  | `X-Twitter-OAuth1-Api-Secret` | API Key Secret (Consumer Secret) của bạn |

  Chưa liên kết? Xem [Hướng dẫn thiết lập X BYO Key](/dashboard/connect-social-accounts/x-twitter-byo-keys) để kết nối tài khoản X của bạn.
</Info>

<Note>
  Ayrshare không còn áp đặt giới hạn tốc độ X/Twitter hàng tháng hoặc hàng ngày của riêng mình nữa. Vì các yêu cầu X sử dụng
  thông tin xác thực của riêng bạn (BYO), việc sử dụng của bạn chỉ được điều chỉnh bởi các giới hạn X Developer App của riêng bạn. Xem
  [tài liệu về giới hạn tốc độ X API](https://developer.x.com/en/docs/x-api/rate-limits) để biết chi tiết.
</Note>

## Đăng bài lên X (Twitter)

JSON cho một bài đăng cơ bản với liên kết và hình ảnh bằng X API, trước đây được gọi là Twitter API:

```json X Post theme={"system"}
{
  "post": "The best Tweet ever #best https://www.twitter.com", // empty string is allowed
  "mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"],
  "platforms": ["twitter"]
}
```

<ul class="custom-bullets">
  <li>
    X sẽ tự động xem trước liên kết trong Tweet trừ khi có hình ảnh hoặc video đi kèm.
    Trong ví dụ trên, hình ảnh sẽ hiển thị. Việc bỏ hình ảnh sẽ khiến bản xem trước liên kết
    hiển thị.
  </li>

  <li>
    Nếu video của bạn không kết thúc bằng phần mở rộng video đã biết như mp4, vui lòng sử dụng tham số
    `isVideo`. Xem [endpoint /post](/apis/post/post) để biết chi tiết.
  </li>

  <li>
    X cũng hỗ trợ gửi phương tiện mà không có nội dung bài đăng. Nếu bạn không muốn bao gồm nội dung bài đăng, hãy gửi
    một chuỗi rỗng `post: ""`.
  </li>

  <li>
    Bạn có thể tải lên tối đa 4 hình ảnh hoặc video trong một Tweet duy nhất. Vui lòng xem các hướng dẫn và
    hạn chế quan trọng về [đăng video Twitter](/media-guidelines/x_twitter).
  </li>

  <li>
    Xem [X Media Guidelines](/media-guidelines/x_twitter) và [X
    Authorization](/dashboard/connect-social-accounts/x-twitter) để biết thêm thông tin.
  </li>
</ul>

## Tùy chọn X

Bạn có thể đặt các tùy chọn bổ sung cho bài đăng bằng cách sử dụng tham số `twitterOptions`.

```json X Options theme={"system"}
{
  "twitterOptions": {
    "altText": ["This is my best pic", "😃 here is the next one"],
    "blockCountries": ["US", "CA"], // or "allowCountries": ["GB", "IE"]
    "longPost": true,
    "longVideo": true,
    "poll": {
      "duration": 5, // required. Number in minutes
      "options": ["yes", "maybe", "no"] // required
    },
    "quoteTweetId": "651601430669664256",
    "replySettings": "mentioned",
    "subscribersOnly": true,
    "thumbNail": "https://img.ayrshare.com/012/gb.jpg",

    // Video Metadata
    "videoTitle": "My Product Demo",
    "videoDescription": "A short walkthrough of our latest release.",

    // Subtitles / Captions for Videos
    "subTitleUrl": "https://img.ayrshare.com/012/captions.srt",
    "subTitleLanguage": "en",
    "subTitleName": "English",

    // Thread Options
    "thread": true,
    "threadNumber": true,
    "mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"],
  }
}
```

Các tùy chọn X là các trường tùy chọn có thể được sử dụng để kiểm soát bài đăng.

<ParamField body="altText" type="array of strings">
  Văn bản thay thế cho hình ảnh để hỗ trợ khả năng tiếp cận và trình đọc màn hình. Tối đa 1.000 ký tự cho mỗi alt text.

  Xem [Alt Text](/apis/post/social-networks/x-twitter#alt-text) để biết thêm thông tin.
</ParamField>

<ParamField body="blockCountries" type="array of strings">
  Hạn chế phương tiện đến các quốc gia cụ thể bằng cách chặn một số khu vực. Sử dụng [mã quốc gia](/iso-codes/country).

  Không thể sử dụng với `allowCountries`. Xem [Geo Restrictions](/apis/post/social-networks/x-twitter#geo-restrictions) để biết thêm thông tin.
</ParamField>

<ParamField body="allowCountries" type="array of strings">
  Hạn chế phương tiện đến các quốc gia cụ thể bằng cách cho phép một số khu vực. Sử dụng [mã quốc gia](/iso-codes/country).

  Không thể sử dụng với `blockCountries`. Xem [Geo Restrictions](/apis/post/social-networks/x-twitter#geo-restrictions) để biết thêm thông tin.
</ParamField>

<ParamField body="longPost" type="boolean" default={false}>
  Bật đăng bài dài hơn với tối đa 25.000 ký tự cho người dùng Premium.

  Xem [Long Post](/apis/post/social-networks/x-twitter#long-post) để biết thêm thông tin.
</ParamField>

<ParamField body="longVideo" type="boolean" default={false}>
  Cho phép đăng video dài hơn 2 phút 20 giây cho các tài khoản được chấp thuận.

  Xem [Long Video](/apis/post/social-networks/x-twitter#long-video) để biết thêm thông tin.
</ParamField>

<ParamField body="poll" type="object">
  Thực hiện các cuộc thăm dò với tùy chọn tùy chỉnh và thời lượng.

  Các trường bắt buộc: `duration` (số phút), `options` (mảng chuỗi).

  Xem [Polls](/apis/post/social-networks/x-twitter#polls) để biết thêm thông tin.
</ParamField>

<ParamField body="quoteTweetId" type="string">
  Trích dẫn một tweet khác bằng cách chỉ định Tweet ID.

  Xem [Quote Tweet](/apis/post/social-networks/x-twitter#quote-tweet) để biết thêm thông tin.
</ParamField>

<ParamField body="replySettings" type="string">
  Kiểm soát ai có thể trả lời bài đăng.

  Các giá trị: `following`, `mentioned`, `subscribers`, hoặc `verified`.

  Xem [Reply Settings](/apis/post/social-networks/x-twitter#reply-settings) để biết thêm thông tin.
</ParamField>

<ParamField body="subscribersOnly" type="boolean" default={false}>
  Làm cho bài đăng chỉ hiển thị với người đăng ký.

  Xem [Subscribers Only](/apis/post/social-networks/x-twitter#subscribers-only) để biết thêm thông tin.
</ParamField>

<ParamField body="subTitleUrl" type="string">
  Thêm phụ đề/caption vào video bằng file SRT. Phải là URL file SRT hợp lệ kết thúc bằng `.srt`.

  Xem [Phụ đề / Caption cho video](/apis/post/social-networks/x-twitter#subtitles-captions-for-videos) để biết thêm thông tin.
</ParamField>

<ParamField body="subTitleLanguage" type="string" default="en">
  Ngôn ngữ của phụ đề. Phải là [mã ngôn ngữ](/iso-codes/language) hợp lệ.
</ParamField>

<ParamField body="subTitleName" type="string">
  Tên của track caption. Tối đa 150 ký tự.
</ParamField>

<ParamField body="thumbNail" type="string">
  Đặt thumbnail (hình ảnh bìa) cho video. Phải là URL đến file hình ảnh JPEG, PNG, BMP, hoặc WebP.

  Xem [Video Thumbnail](/apis/post/social-networks/x-twitter#video-thumbnail) để biết thêm thông tin và [X Media Guidelines](/media-guidelines/x_twitter#video-thumbnail) để biết yêu cầu hình ảnh.
</ParamField>

<ParamField body="videoTitle" type="string">
  Đặt tiêu đề cho một video. Ánh xạ đến trường tiêu đề trong X Media Studio.

  Xem [Metadata video](/apis/post/social-networks/x-twitter#video-metadata) để biết thêm thông tin.
</ParamField>

<ParamField body="videoDescription" type="string">
  Đặt mô tả cho một video. Ánh xạ đến trường mô tả trong X Media Studio.

  Xem [Metadata video](/apis/post/social-networks/x-twitter#video-metadata) để biết thêm thông tin.
</ParamField>

<ParamField body="thread" type="boolean" default={false}>
  Chia các bài đăng dài thành chuỗi thread được kết nối với đánh số và phương tiện tùy chọn.

  Xem [Threads](/apis/post/social-networks/x-twitter#thread) để biết thêm thông tin.
</ParamField>

<ParamField body="threadNumber" type="boolean" default={false}>
  Tự động thêm số ở cuối các thread theo định dạng 1/n.

  Yêu cầu `thread: true`.
</ParamField>

<ParamField body="mediaUrls" type="array of strings">
  Thêm các đối tượng phương tiện vào các thread. Một đối tượng phương tiện sẽ được thêm vào mỗi thread theo thứ tự.

  Sử dụng `null` để bỏ qua phương tiện cho một thread cụ thể. Sử dụng các đối tượng với nhiều URL để nhiều phương tiện cho mỗi thread.
</ParamField>

## Alt Text

Thêm văn bản thay thế, còn được gọi là alt text, cho hình ảnh của Tweet. Alt text X là một tính năng trợ năng được sử dụng cho thông tin bổ sung của người dùng và trình đọc màn hình.

Sử dụng `altText` trong đối tượng `twitterOptions`.

```json X Alt Text theme={"system"}
{
  "twitterOptions": {
    "altText": ["This is my best pic", "😃 here is the next one"] // Array of Alt Texts
  }
}
```

Mỗi alt text phải tương ứng với một hình ảnh trong mảng `mediaUrls`. Alt text sẽ được áp dụng cho từng hình ảnh theo thứ tự.

<Note>
  Alt text không thể được áp dụng cho video. Nếu một video được bao gồm trong `mediaUrls` với `altText`,
  video sẽ không được đăng. Alt text phải là 1.000 ký tự trở xuống.
</Note>

## Giới hạn địa lý

Bạn có thể hạn chế phương tiện X, chẳng hạn như hình ảnh hoặc video, đến các quốc gia cụ thể bằng cách sử dụng tham số `blockCountries` và `allowCountries` với [mã quốc gia](/iso-codes/country).
Bài đăng sẽ vẫn hiển thị ở tất cả các quốc gia, nhưng phương tiện sẽ không có sẵn ở các quốc gia được chỉ định.

<CodeGroup>
  ```json Block Countries theme={"system"}
  {
    "twitterOptions": {
      "blockCountries": ["US", "CA"]
    }
  }
  ```

  ```json Allow Countries theme={"system"}
  {
    "twitterOptions": {
      "allowCountries": ["GB", "IE"]
    }
  }
  ```
</CodeGroup>

<ul class="custom-bullets">
  <li>
    `blockCountries`: Một mảng mã quốc gia để chặn. Xem [mã quốc gia](/iso-codes/country).
  </li>

  <li>
    `allowCountries`: Một mảng mã quốc gia để cho phép. Xem [mã quốc gia](/iso-codes/country).
  </li>
</ul>

Bạn chỉ được sử dụng một trong các tham số `blockCountries` hoặc `allowCountries` tại một thời điểm.
Nếu cả hai tham số được sử dụng hoặc một quốc gia không được X hỗ trợ, các hạn chế địa lý sẽ bị bỏ qua.

## Bài đăng dài

Người dùng có tài khoản X Premium, chẳng hạn như Premium hoặc Premium Plus, có khả năng đăng các bài đăng dài hơn lên đến 25.000 ký tự. Ayrshare tự động cho phép các bài đăng dạng dài cho người dùng có tài khoản X Premium.

Nếu người dùng thay đổi trạng thái X Premium của họ, vui lòng đợi 24 giờ để nó phản ánh trong Ayrshare. Bạn có thể kiểm tra trạng thái đăng ký Premium của một người dùng với các endpoint [/user](/apis/user/overview) hoặc [/analytics](/apis/analytics/social).

Bạn cũng có thể buộc chấp nhận một bài đăng dạng dài với tham số body `longPost`. Điều này có thể được thực hiện bằng cách bao gồm JSON sau trong yêu cầu của bạn:

```json X Long Post theme={"system"}
{
  "twitterOptions": {
    "longPost": true
  }
}
```

Tuy nhiên, nếu một người dùng không có tài khoản Premium cố gắng đăng một tweet dài, hệ thống sẽ trả về lỗi `code: 111`.

## Video dài

*Yêu cầu Business hoặc Enterprise Plan.*

X yêu cầu các video có [độ dài video tối đa](/media-guidelines/x_twitter#video) là 2 phút 20 giây.
Tuy nhiên, nếu bạn đã được X chấp thuận để tải lên các video dài hơn, chẳng hạn như tài khoản X của người dùng là tài khoản Premium hoặc trong [Amplify Partner Program](https://media.twitter.com/en/articles/products/2018/in-stream-video-ads-for-publishers), bạn có thể đăng video có độ dài lên đến hơn 10 phút.

<Warning>
  Vui lòng xác minh rằng tài khoản X của người dùng của bạn là Premium hoặc trong [Amplify Partner
  Program](https://media.twitter.com/en/articles/products/2018/in-stream-video-ads-for-publishers)
  trước khi sử dụng tham số `longVideo`. Nếu tài khoản X của người dùng không được cấp phép đăng
  video dài, hệ thống sẽ trả về lỗi.
</Warning>

Sử dụng tham số twitterOptions `longVideo` khi đăng một video dài:

```json X Long Video theme={"system"}
{
  "twitterOptions": {
    "longVideo": true
  }
}
```

## Nhắc tên (Mentions)

Nhắc tên một handle X khác bằng cách thêm `@handle` vào nội dung bài đăng. Ví dụ:

```json X Mention theme={"system"}
{
  "post": "The best social media API @Ayrshare ever!",
  "platforms": ["twitter"]
}
```

<Warning>
  Vui lòng xem lại [các quy tắc quan trọng](/testing/post-verification#mentions) về nhắc tên.
</Warning>

## Cuộc thăm dò (Polls)

Thực hiện một cuộc thăm dò X với tham số `poll` của `twitterOptions`.

```json X Poll theme={"system"}
{
  "twitterOptions": {
    "poll": {
      "duration": 5, // required. Number in minutes
      "options": ["yes", "maybe", "no"] // required
    }
  }
}
```

<ul class="custom-bullets">
  <li>`duration`: Số phút chỉ định thời lượng thực hiện cuộc thăm dò.</li>
  <li>`options`: Một mảng chuỗi các tùy chọn của cuộc thăm dò.</li>
</ul>

## Trích dẫn Tweet (Quote Tweet)

Bạn có thể trích dẫn một Tweet khác bằng cách chỉ định Tweet ID cấp thấp. ID có thể được truy xuất qua phản hồi [`/post`](/apis/post/post) trong trường `postIds`, [get history](/apis/history/get-history), hoặc trực tiếp từ URL Tweet: [https://twitter.com/Ayrshare/status/**1651601430669664256**](https://twitter.com/Ayrshare/status/1651601430669664256)

```json X Quote Tweet theme={"system"}
{
  "twitterOptions": {
    "quoteTweetId": "651601430669664256" // low-level Tweet Id
  }
}
```

## Cài đặt trả lời

Bạn có thể đặt cài đặt trả lời cho một bài đăng để chỉ cho phép trả lời bởi một số loại người dùng nhất định.

```json X Reply Settings theme={"system"}
{
  "twitterOptions": {
    "replySettings": "mentioned"
  }
}
```

Tham số `replySettings` có thể là một trong các giá trị sau:

<ul class="custom-bullets">
  <li>`following`: Chỉ những người dùng mà tài khoản X đang theo dõi có thể trả lời.</li>
  <li>`mentioned`: Chỉ những người dùng được nhắc tên trong bài đăng có thể trả lời.</li>

  <li>
    `subscribers`: Chỉ những người dùng là người đăng ký của tài khoản X đã đăng bài đăng mới có thể trả lời.
  </li>

  <li>`verified`: Chỉ những người dùng được xác minh trên X mới có thể trả lời bài đăng.</li>
</ul>

## Chỉ dành cho người đăng ký (Subscribers Only)

Bạn có thể đặt bài đăng chỉ hiển thị với người đăng ký bằng cách sử dụng tham số `subscribersOnly`.

```json X Subscribers Only theme={"system"}
{
  "twitterOptions": {
    "subscribersOnly": true
  }
}
```

## Phụ đề / Caption cho video

Bạn có thể thêm phụ đề X, còn được gọi là caption X, cho các video bằng cách bao gồm một [file SRT](https://en.wikipedia.org/wiki/SubRip). Sử dụng trường `subTitleUrl` trong đối tượng `twitterOptions` để chỉ định URL đến file SRT của bạn.

```json X Subtitles theme={"system"}
{
  "twitterOptions": {
    "subTitleUrl": "https://img.ayrshare.com/012/captions.srt",
    "subTitleLanguage": "en",
    "subTitleName": "English"
  }
}
```

<ul class="custom-bullets">
  <li>
    `subTitleUrl`: Một file SRT hợp lệ. URL phải bắt đầu bằng `https://` và kết thúc bằng `.srt` và là
    một file SRT hợp lệ.
  </li>

  <li>
    `subTitleLanguage`: Tùy chọn: Ngôn ngữ của phụ đề. Phải là một [mã ngôn ngữ](/iso-codes/language)
    hợp lệ. Mặc định: "en".
  </li>

  <li>
    `subTitleName`: Tùy chọn: Tên của track caption. Tên nhằm hiển thị cho
    người dùng dưới dạng tùy chọn trong quá trình phát lại. Độ dài tên tối đa được hỗ trợ là 150 ký tự.
    Mặc định: "English".
  </li>
</ul>

## Thumbnail video

Đặt thumbnail (hình ảnh bìa) cho video Twitter/X. Thumbnail được hiển thị trước khi video phát và giúp người dùng hiểu nội dung video. Sử dụng `thumbNail` trong đối tượng `twitterOptions`.

```json Twitter/X Video Thumbnail theme={"system"}
{
  "twitterOptions": {
    "thumbNail": "https://img.ayrshare.com/012/gb.jpg"
  }
}
```

<ul class="custom-bullets">
  <li>
    "thumbNail": Một URL đến hình ảnh thumbnail. Các định dạng hình ảnh được hỗ trợ là JPEG, PNG, BMP, và WebP.
  </li>

  <li>
    Hình ảnh thumbnail nên đại diện cho nội dung video và có sức hấp dẫn về mặt hình ảnh để khuyến khích sự tương tác.
  </li>

  <li>
    Xem [X Media Guidelines](/media-guidelines/x_twitter#video-thumbnail) để biết yêu cầu hình ảnh.
  </li>
</ul>

## Metadata video

Đặt tiêu đề và mô tả cho một video được đăng lên X. Chúng ánh xạ đến các trường tiêu đề và mô tả trong X Media Studio. Sử dụng các trường `videoTitle` và `videoDescription` trong đối tượng `twitterOptions`.

```json X Video Metadata theme={"system"}
{
  "twitterOptions": {
    "videoTitle": "My Product Demo",
    "videoDescription": "A short walkthrough of our latest release."
  }
}
```

<ul class="custom-bullets">
  <li>`videoTitle`: Tiêu đề cho video, được ánh xạ đến trường tiêu đề X Media Studio.</li>

  <li>
    `videoDescription`: Mô tả cho video, được ánh xạ đến trường mô tả X Media Studio.
  </li>
</ul>

## Kiếm tiền từ video (Pro Media)

Ayrshare hỗ trợ kiếm tiền từ video X (Twitter) cho các tài khoản đủ điều kiện thông qua chương trình Pro Media của X. Đây là khả năng truy cập giới hạn — [liên hệ với chúng tôi](mailto:support@ayrshare.com) nếu bạn muốn có quyền truy cập.

## Thread

Một X Thread, còn được gọi là tweetstorm, là một chuỗi các bài đăng được kết nối trên X (trước đây là Twitter) cho phép bạn chia sẻ các ý tưởng dài hơn giới hạn ký tự của một bài đăng đơn lẻ, xuất hiện như một câu chuyện liên tục khi xem cùng nhau.

<img src="https://mintcdn.com/ayrshare-docs/Nmrhj2Gh7WSf62Bh/images/apis/post/x-thread.webp?fit=max&auto=format&n=Nmrhj2Gh7WSf62Bh&q=85&s=35bd3fbb8c2c1af6a4b3d96b8dae54d8" width="70%" class="center" alt="X Thread" data-path="images/apis/post/x-thread.webp" />

### Đăng một Thread

Một X Thread có thể được đăng qua API.
Một thread là một bài đăng được chia thành một tập hợp các thread trả lời và được liên kết trong X bằng một đường thẳng.
Bạn có thể tự động chia bài đăng hoặc chỉ định các [điểm ngắt thread](/apis/post/social-networks/x-twitter#thread-breaks) trong nội dung bài đăng.

```json X Thread theme={"system"}
{
    "twitterOptions": {
        "thread": true,        // required for TweetStorm
        "threadNumber": true,  // optional to add numbers to each thread
        "mediaUrls": ["https://site.com/image1.png", "https://site.com/image2.png", ...]  // optional one media object is added to a thread in order
    }
}
```

<ul class="custom-bullets">
  <li>
    `thread: true` để tự động chia nội dung bài đăng thành các thread dựa trên ngắt dòng.
  </li>

  <li>
    `threadNumber: true` để tự động thêm số ở cuối các thread theo định dạng 1/n.
    Ví dụ thread thứ 2 trong tổng 5 thread sẽ có thêm: 2/5
  </li>

  <li>
    `mediaUrls: [array of urls]` để thêm từng đối tượng phương tiện, một hình ảnh hoặc video, vào một thread theo thứ tự.
    Chỉ một đối tượng phương tiện sẽ được thêm vào một thread theo thứ tự.
  </li>
</ul>

Nếu bài đăng được gửi dưới dạng X Thread, phân tích bài đăng được trả về sẽ là một mảng các Tweet, `"twitter": []`. Xem [Post Analytics 200 Response](/apis/analytics/post) để biết thêm thông tin.

#### Thread Media

##### Bỏ qua phương tiện

Bỏ qua phương tiện cho thread bằng cách sử dụng `null` trong mảng. Ví dụ:

`["https://site.com/image1.png", null, "https://site.com/image2.png"]`

Điều này sẽ đặt image1 lên Tweet đầu tiên, không có hình ảnh trên Tweet thứ hai, và image2 trên Tweet thứ ba.

##### Nhiều phương tiện

Nhiều đối tượng phương tiện có thể được thêm vào một Tweet trong một Thread bằng cách thêm một đối tượng `{}` với các URL phương tiện trong mảng `mediaUrls`. Bất kỳ khóa đối tượng duy nhất nào cũng có thể được sử dụng. Ví dụ:

```json X Thread with Multiple Media URLs theme={"system"}
{
  "twitterOptions": {
    "thread": true,
    "threadNumber": true,
    "mediaUrls": [
      "https://img.ayrshare.com/random/photo-1.jpg",
      {
        "1": "https://img.ayrshare.com/random/photo-2.jpg",
        "2": "https://img.ayrshare.com/random/photo-3.jpg"
      },
      "https://img.ayrshare.com/random/photo-4.jpg"
    ]
  }
}
```

Trong ví dụ này, Tweet đầu tiên sẽ chứa photo-1.jpg, Tweet thứ hai photo-2.jpg và photo-3.jpg, và Tweet thứ ba photo-4.jpg.

#### Thread Breaks

Ayrshare tự động chia nội dung bài đăng thành các tweet có độ dài phù hợp (> 280 ký tự).
Khi tạo threads, chúng tôi ưu tiên giữ các câu hoàn chỉnh trong một bài đăng khi có thể.
Nếu một câu không vừa, chúng tôi chia giữa các câu.
Đối với những câu rất dài, chúng tôi chia giữa các từ.
Trong những trường hợp hiếm hoi mà một từ quá dài, chúng tôi chia chính từ đó.

Bạn cũng có thể thêm thủ công các đoạn văn với `\n\n` vào nội dung bài đăng để chỉ ra rằng một thread duy nhất nên được tạo.
Nếu bạn có `\n\n` trong nội dung bài đăng, chúng tôi sẽ không tự động chia bài đăng thành các thread.

Ví dụ:

```json Example X  Thread theme={"system"}
{
  "post": "This is tweet 1\n\nThis is tweet 2.",
  "platforms": ["twitter"],
  "twitterOptions": {
    "thread": true
  }
}
```

sẽ dẫn đến hai Tweet trong thread.

Nếu bạn muốn thêm đoạn văn nhưng không chia thành các Tweet, hãy sử dụng `\u2063\n\u2063\n`

```json X Thread with Paragraphs theme={"system"}
{
  "post": "This is paragraph 1\u2063\n\u2063\nThis is paragraph 2.",
  "platforms": ["twitter"],
  "twitterOptions": {
    "thread": true
  }
}
```

sẽ dẫn đến một Tweet với hai đoạn văn vì bài đăng dưới 280 ký tự.

### Xóa một Thread

Để xóa một Tweet Storm, hãy gọi [endpoint /post delete](/apis/post/delete-post) với ID bài đăng cấp cao nhất được trả về trong phản hồi. Tất cả các thread sẽ bị xóa.

## Giới hạn ký tự

Vui lòng xem [Giới hạn ký tự X/Twitter](/help-center/technical-support/character_limits#x%2Ftwitter-character-limits) để biết thêm thông tin.

## Khả năng tương thích video X

Một số phần mềm video tạo ra các file MP4 không tương thích với X. Ví dụ, các phiên bản Camtasia cũ hơn 2019.0.9 tạo ra các file MP4 mà X từ chối. Ngoài ra, nhiều hơn một track âm thanh thường gây ra vấn đề.

Nếu bạn nhận lại thông báo sau trong khi đăng bài, điều đó cho biết video không tương thích với Twitter và cần được mã hóa lại.

`"file is currently unsupported"`

Vui lòng kiểm tra phần mềm video của bạn để biết khả năng tương thích. Ví dụ, Adobe Media Encoder có một preset xuất cho Twitter 1080p Full HD.

<img class="Adobe Media Encoder" src="https://mintcdn.com/ayrshare-docs/Nmrhj2Gh7WSf62Bh/images/apis/post/tw-video.webp?fit=max&auto=format&n=Nmrhj2Gh7WSf62Bh&q=85&s=71016a72242be3d17af4bee05aee915a" alt="Adobe Media Encoder" width="890" height="214" data-path="images/apis/post/tw-video.webp" />

Vui lòng xem tại đây để biết [thêm ví dụ về X API](https://www.ayrshare.com/twitter-api-how-to-post-and-get-analytics-with-the-twitter-api#twitter-api-examples).

## Chỉ dành cho người đăng ký (Subscribers Only)

Bạn có thể đặt bài đăng chỉ hiển thị với người đăng ký bằng cách sử dụng tham số `subscribersOnly`.

```json X Subscribers Only theme={"system"}
{
  "twitterOptions": {
    "subscribersOnly": true
  }
}
```

## Cài đặt trả lời

Bạn có thể đặt cài đặt trả lời cho một bài đăng để chỉ cho phép trả lời bởi một số loại người dùng nhất định.

```json X Reply Settings theme={"system"}
{
  "twitterOptions": {
    "replySettings": "mentioned"
  }
}
```

Tham số `replySettings` có thể là một trong các giá trị sau:

<ul class="custom-bullets">
  <li>`following`: Chỉ những người dùng mà tài khoản X đang theo dõi có thể trả lời.</li>
  <li>`mentioned`: Chỉ những người dùng được nhắc tên trong bài đăng có thể trả lời.</li>

  <li>
    `subscribers`: Chỉ những người dùng là người đăng ký của tài khoản X đã đăng bài đăng mới có thể trả lời.
  </li>

  <li>`verified`: Chỉ những người dùng được xác minh trên X mới có thể trả lời bài đăng.</li>
</ul>
