> ## 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.

# Trả lời một Bình luận

> Bình luận trên một bình luận

export const XByoNotice = () => <Info>
  <strong>Targeting X/Twitter?</strong> Starting March 31, 2026, all X operations require your own API credentials. After linking X via OAuth, include these 2 headers in your request:
  <br /><br />
  <code>X-Twitter-OAuth1-Api-Key</code> — Your API Key (Consumer Key)<br />
  <code>X-Twitter-OAuth1-Api-Secret</code> — Your API Key Secret (Consumer Secret)
  <br /><br />
  <strong>One-time setup per Ayrshare account.</strong> You create one X Developer App and reuse the same API Key and Secret across every sub-profile / end-user you link. You do <em>not</em> create a new app per customer.
  <br /><br />
  Not linked yet? See the <a href="/dashboard/connect-social-accounts/x-twitter-byo-keys">full setup guide</a> to connect your X account.
  <br /><br />
  Your keys are never logged or stored by Ayrshare.
</Info>;

export const HeaderAPI = ({noProfileKey, profileKeyRequired}) => <>
    <ParamField header="Authorization" type="string" required>
      <a href="/apis/overview#authorization">API Key</a> of the Primary Profile.
      <br />
      <br />
      Format: <code>Authorization: Bearer API_KEY</code>
    </ParamField>
    {!noProfileKey && (profileKeyRequired ? <ParamField header="Profile-Key" type="string" required>
          <a href="/apis/overview#profile-key-format">Profile Key</a> of a User Profile.
          <br />
          <br />
          Format: <code>Profile-Key: PROFILE_KEY</code>
        </ParamField> : <ParamField header="Profile-Key" type="string">
          <a href="/apis/overview#profile-key-format">Profile Key</a> of a User Profile.
          <br />
          <br />
          Format: <code>Profile-Key: PROFILE_KEY</code>
        </ParamField>)}
  </>;

export const PlansAvailable = ({plans = [], maxPackRequired}) => {
  let displayPlans = plans;
  if (plans && plans.length === 1) {
    const lowerCasePlan = plans[0].toLowerCase();
    if (lowerCasePlan === "business") {
      displayPlans = ["Launch", "Business", "Enterprise"];
    } else if (lowerCasePlan === "premium") {
      displayPlans = ["Premium", "Launch", "Business", "Enterprise"];
    }
  }
  return <Note>
Available on {displayPlans.length === 1 ? "the " : ""}
{displayPlans.join(", ").replace(/\b\w/g, l => l.toUpperCase())}{" "}
{displayPlans.length > 1 ? "plans" : "plan"}.

{maxPackRequired && <span onClick={() => window.open('https://www.ayrshare.com/docs/additional/maxpack', '_self')} className="flex items-center mt-2 cursor-pointer">
 <span className="px-1.5 py-0.5 rounded text-sm" style={{
    backgroundColor: '#C264B6',
    color: 'white',
    fontSize: '12px'
  }}>
   Max Pack required
 </span>
</span>}
</Note>;
};

<PlansAvailable plans={["premium"]} maxPackRequired={false} />

<XByoNotice />

Trả lời một bình luận, tức là bình luận trên một bình luận, hoặc trên một bình luận được tạo qua Ayrshare, sử dụng [Ayrshare Comment ID](/apis/comments/overview#comments-with-ayrshare-comment-id), hoặc một bình luận được tạo bên ngoài Ayrshare, sử dụng [Social Comment ID](/apis/comments/overview#comments-with-social-comment-id).

Thông thường nhất, bạn sẽ trả lời một bình luận được tạo qua Ayrshare, nhưng khi bạn muốn trả lời một bình luận được tạo bên ngoài Ayrshare, bạn có thể sử dụng Social Comment ID, mà bạn nhận được từ endpoint [GET /comment](/apis/comments/get-comments).

Các nền tảng được hỗ trợ: Bluesky, Facebook, Instagram, LinkedIn, TikTok, X, và YouTube.

## Tham số Header

<HeaderAPI />

## Tham số Path

<ParamField body="commentId" type="string" required>
  Nếu trả lời một bình luận được tạo qua Ayrshare, sử dụng `commentId` [Ayrshare Comment ID](/apis/comments/overview#comments-with-ayrshare-comment-id) được trả về từ [endpoint POST comment](/apis/comments/post-comment).

  Ví dụ, Ayrshare comment ID `commentId` được trả về từ [endpoint POST comment](/apis/comments/post-comment) là:

  ```json Ayrshare Comment ID Returned from POST /comment theme={"system"}
  {
    "commentId": "Ut1fWU6XkqkMayHGnJZ"
  }
  ```

  Nếu trả lời một bình luận được tạo bên ngoài Ayrshare, sử dụng `commentId` [Social Comment ID](/apis/comments/overview#comments-with-social-comment-id) từ mạng xã hội.

  Ví dụ, social comment ID `commentId` được trả về từ endpoint [POST /comment](/apis/comments/post-comment) hoặc [GET /comment](/apis/comments/get-comments) của Facebook là:

  ```json Social Comment ID Returned from POST /comment theme={"system"}
  {
    "facebook": { "commentId": "8392829334_1234567890" }
  }
  ```
</ParamField>

## Tham số Body

<ParamField body="platforms" type="array" required>
  Nếu trả lời một bình luận được tạo qua Ayrshare bằng cách sử dụng [Ayrshare Comment ID](/apis/comments/overview#comments-with-ayrshare-comment-id), chỉ định các nền tảng để đăng câu trả lời. Các nền tảng được hỗ trợ: `bluesky`, `facebook`, `instagram`, `linkedin`, `tiktok`, `twitter`, `youtube`.

  Nếu trả lời một bình luận được tạo bên ngoài Ayrshare bằng cách sử dụng [Social Comment ID](/apis/comments/overview#comments-with-social-comment-id), chỉ định một nền tảng để đăng câu trả lời. Các nền tảng được hỗ trợ: `facebook`, `instagram`, `linkedin`, `tiktok`, `twitter`.
</ParamField>

<ParamField body="comment" type="string" required>
  Câu trả lời để thêm vào bình luận.
</ParamField>

<ParamField body="mediaUrls" type="array">
  Đính kèm một hình ảnh bằng cách cung cấp URL hình ảnh. Chỉ hỗ trợ một hình ảnh. Chỉ dành cho Facebook và LinkedIn.
</ParamField>

<ParamField body="searchPlatformId" type="boolean" default={false}>
  Đặt thành `true` nếu trả lời một bình luận sử dụng [Social Comment ID](/apis/comments/overview#comments-with-social-comment-id), là `commentId` bài đăng từ các mạng xã hội.
</ParamField>

<ParamField body="videoId" type="string">
  Nếu trả lời một bình luận TikTok với Social Comment ID, bạn cũng phải cung cấp TikTok video ID, mà bạn nhận được từ [endpoint POST /comment](/apis/comments/post-comment) hoặc [endpoint GET /comment](/apis/comments/get-comments).
  Chỉ bắt buộc đối với TikTok và `"searchPlatformId": true`.
</ParamField>

<ParamField body="objResponse" type="boolean" default={true}>
  Phản hồi dưới dạng Object, ngược lại dưới dạng Array. Mặc định là `true`.
</ParamField>

## @Mentions trong Bình luận

Bạn có thể bao gồm @mentions trực tiếp trong chuỗi văn bản `comment`. Không có tham số riêng cho mentions. Chỉ cần thêm `@handle` vào văn bản bình luận của bạn.

```json Reply with @Mention theme={"system"}
{
  "comment": "Thanks @CompanyName! Great insight.",
  "platforms": ["linkedin", "twitter", "facebook"]
}
```

<Note>
  **LinkedIn Mentions:** Các mentions LinkedIn được phân giải ở phía server bởi Ayrshare. Sử dụng [endpoint LinkedIn Search](/apis/listen/search/linkedin-search) để tra cứu vanity name hoặc member name chính xác. Đối với các tổ chức, sử dụng `@handle`. Đối với các thành viên, sử dụng `@vanity_name` hoặc `@[Full Name]`.
</Note>

Để biết cú pháp mention chi tiết và các hạn chế cho mỗi nền tảng, xem:

* [Bluesky mentions](/apis/post/social-networks/bluesky#bluesky-mentions)
* [Facebook mentions](/apis/post/social-networks/facebook#facebook-page-mentions)
* [Instagram mentions](/apis/post/social-networks/instagram#instagram-mentions)
* [LinkedIn mentions](/apis/post/social-networks/linkedin#linkedin-mentions)
* [Threads mentions](/apis/post/social-networks/threads#threads-mentions)
* [TikTok mentions](/apis/post/social-networks/tiktok#tiktok-mentions)
* [X/Twitter mentions](/apis/post/social-networks/x-twitter#mentions)
* [YouTube mentions](/apis/post/social-networks/youtube#youtube-mentions)

Trả lời bình luận không được hỗ trợ trên Reddit. Xem [Post Verification](/testing/post-verification) để biết các quy tắc và khuyến nghị mention theo từng nền tảng.

<RequestExample>
  ```bash cURL theme={"system"}
  curl \
  -H "Authorization: Bearer API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"platforms": ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], "comment": "An amazing reply!"}' \
  -X POST https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ
  ```

  ```javascript JavaScript theme={"system"}
  const API_KEY = "API_KEY";

  fetch("https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Authorization: `Bearer ${API_KEY}`,
    },
    body: JSON.stringify({
      platforms: ["bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"], // required
      comment: "An amazing comment!", //required
    }),
  })
    .then((res) => res.json())
    .then((json) => console.log(json))
    .catch(console.error);
  ```

  ```python Python theme={"system"}
  import requests

  payload = {'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
          'comment': 'An amazing comment!'}
  headers = {'Content-Type': 'application/json',
          'Authorization': 'Bearer API_KEY'}

  r = requests.post('https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ',
      json=payload,
      headers=headers)

  print(r.json())
  ```

  ```php PHP theme={"system"}
  <?php

  $apiUrl = 'https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ';
  $apiKey = 'API_KEY';  // Thay thế 'API_KEY' bằng khóa API thực tế của bạn

  $headers = [
      'Content-Type: application/json',
      'Authorization: Bearer ' . $apiKey,
  ];

  $data = json_encode([
      'platforms' => ['bluesky', 'facebook', 'instagram', 'linkedin', 'twitter', 'youtube'],
      'comment' => 'An amazing comment!'
  ]);

  $curl = curl_init($apiUrl);
  curl_setopt_array($curl, [
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_POST => true,
      CURLOPT_HTTPHEADER => $headers,
      CURLOPT_POSTFIELDS => $data
  ]);

  $response = curl_exec($curl);

  if ($response === false) {
      echo 'Curl error: ' . curl_error($curl);
  } else {
      echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
  }

  curl_close($curl);
  ```

  ```go Go theme={"system"}
  package main

  import (
  	"bytes"
  	"encoding/json"
  	"log"
  	"net/http"
  )

  func main() {
  	message := map[string]interface{}{
  		"platforms": []string{"bluesky", "facebook", "instagram", "linkedin", "twitter", "youtube"}, // required
  		"comment": []string{"An amazing comment!"} // required
  	}

  	bytesRepresentation, err := json.Marshal(message)
  	if err != nil {
  		log.Fatalln(err)
  	}

  	req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ",
  		bytes.NewBuffer(bytesRepresentation))

  	req.Header.Add("Content-Type", "application/json; charset=UTF-8")
  	req.Header.Add("Authorization", "Bearer API_KEY")

  	res, err := http.DefaultClient.Do(req)
  	if err != nil {
  		log.Fatal("Error:", err)
  	}

  	res.Body.Close()
  }
  ```

  ```csharp C# theme={"system"}
  using System;
  using System.Net.Http;
  using System.Text;
  using System.Threading.Tasks;

  namespace CommentsReplyPOSTRequest_csharp
  {
      class CommentsReply
      {
          static async Task Main(string[] args)
          {
              string API_KEY = "API_KEY";
              string url = "https://api.ayrshare.com/api/comments/reply/Ut1fWU6XkqkMayHGnJZ";

              using (var httpClient = new HttpClient())
              {
                  httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);

                  var json = @"{
                      ""platforms"": [""bluesky"", ""facebook"", ""instagram"", ""linkedin"", ""twitter"", ""youtube""],
                      ""comment"": [""An amazing comment!""]
                  }";

                  var content = new StringContent(
                      json,
                      Encoding.UTF8,
                      "application/json"
                  );

                  try
                  {
                      var response = await httpClient.PostAsync(url, content);
                      response.EnsureSuccessStatusCode();
                      string responseBody = await response.Content.ReadAsStringAsync();
                      Console.WriteLine(responseBody);
                  }
                  catch (HttpRequestException e)
                  {
                      Console.WriteLine($"Error: {e.Message}");
                  }
              }
          }
      }
  }
  ```
</RequestExample>

<ResponseExample>
  ```json 200: Success theme={"system"}
  {
    "commentId": "Eh61xHheGHvAqXqGISGVa",
    "bluesky": {
      "status": "success",
      "commentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4bquqrxd2d",
      "cid": "bafyreie2jt5iw6rk2ekmiq6aljyiv7nj4sjucbpkamqc73tmggh5fmrqha",
      "comment": "Truth is ever to be found in simplicity.",
      "platform": "bluesky",
      "postUrl": "https://bsky.app/profile/ayrshare.com/post/3lf4bquqrxd2d",
      "sourceCommentId": "at://did:plc:62musrcyanhro2lydyhlw7ci/app.bsky.feed.post/3lf4b4j3dqy2i"
    },
    "facebook": {
      "status": "success",
      "commentId": "729149842469573_696560159169326",
      "sourceCommentId": "729149842469573_738966840899770",
      "comment": "Truth is ever to be found in simplicity.",
      "platform": "facebook"
    },
    "instagram": {
      "status": "success",
      "commentId": "18020060386920755",
      "sourceCommentId": "17998452434360734",
      "comment": "Truth is ever to be found in simplicity.",
      "platform": "instagram"
    },
    "linkedin": {
      "status": "success",
      "commentId": "7140161360574713856",
      "sourceCommentId": "urn:li:ugcPost:7140160850354397187",
      "comment": "Truth is ever to be found in simplicity.",
      "platform": "linkedin"
    },
    "tiktok": {
      "status": "success",
      "commentId": "7484295933044572922",
      "sourceCommentId": "7484407021429703422",
      "comment": "Truth is ever to be found in simplicity.",
      "platform": "tiktok",
      "videoId": "7484993689815715122"
    },
    "twitter": {
      "status": "success",
      "commentId": "1734395672961441821",
      "sourceCommentId": "1734395509526155733",
      "comment": "Truth is ever to be found in simplicity.",
      "platform": "twitter",
      "postUrl": "https://twitter.com/ayrshare/status/1734395672961441821"
    },
    "youtube": {
      "status": "success",
      "commentId": "UgxZ55j-FDri8lrTgVR4AaABAg.9yCaV71m1fo9yCaZvu7Hj4",
      "sourceCommentId": "UgxZ55j-FDri8lrTgVR4AaABAg",
      "comment": "Truth is ever to be found in simplicity.",
      "platform": "youtube"
    },
    "status": "success",
    "id": "ytDgi5vyz36F2yshlJka"
  }
  ```

  ```json 400: Unknown commentId theme={"system"}
  {
    "facebook": {
      "action": "post",
      "status": "error",
      "code": 215,
      "message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available."
    },
    "code": 215,
    "status": "error",
    "errors": [
      {
        "action": "post",
        "status": "error",
        "code": 215,
        "message": "Error posting comment. Please be sure you are posting a valid comment, the original post exists, the original post is publicly available.",
        "platform": "facebook"
      }
    ],
    "id": "5360106757501_178916202161"
  }
  ```
</ResponseExample>
