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

# Boost Bài đăng

> Boost một bài đăng bằng cách gửi nó đến nền tảng quảng cáo của Facebook

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>;
};

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>)}
  </>;

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

Boost một bài đăng Facebook hiện có để tạo một quảng cáo.
Endpoint này cho phép bạn chuyển đổi các bài đăng tự nhiên (organic) của mình thành các quảng cáo trả phí với các tham số nhắm mục tiêu, ngân sách và lịch trình tùy chỉnh.

<ul className="custom-bullets">
  <li>Ngân sách và số tiền đặt giá phải được chỉ định bằng USD với tối đa hai chữ số thập phân.</li>
  <li>Quảng cáo phải chạy ít nhất 30 giờ để đáp ứng yêu cầu của Facebook.</li>

  <li>
    Bạn có thể sử dụng [endpoint interests](/apis/ads/facebook/get-ad-interests) để tìm ID sở thích
    dùng cho việc nhắm mục tiêu.
  </li>

  <li>Facebook có thể mất tối đa 24 giờ để xem xét và phê duyệt các bài đăng được boost.</li>

  <li>
    Nếu sử dụng `fbPostId` trực tiếp (thay vì `postId` của Ayrshare), hãy đảm bảo đó là một ID bài đăng Facebook
    hợp lệ.
  </li>
</ul>

### Mục tiêu Quảng cáo (Ad Goals)

Mỗi quảng cáo phải có một mục tiêu. Mục tiêu quyết định cách quảng cáo sẽ được tối ưu hóa để hiển thị.

<ul className="custom-bullets">
  <li>
    `engagement`: Mục tiêu này nhằm tăng mức tương tác đồng thời đảm bảo rằng quảng cáo tiếp cận
    số lượng người dùng duy nhất tối đa. Nó cân bằng giữa khả năng hiển thị và tương tác, hiển thị quảng cáo cho
    càng nhiều người khác nhau càng tốt — những người có khả năng tương tác với quảng cáo.
  </li>

  <li>
    `interactions`: Được thiết kế để tăng cường các tương tác như thích, bình luận và chia sẻ trên quảng cáo.
    Facebook ưu tiên hiển thị quảng cáo cho những người dùng có nhiều khả năng tương tác với nó nhất.
  </li>

  <li>
    `awareness_views`: Tập trung vào việc tăng nhận diện thương hiệu bằng cách tối đa hóa số lần
    quảng cáo được hiển thị. Nó ưu tiên hiển thị quảng cáo càng nhiều lần càng tốt trong phạm vi ngân sách,
    bất kể độ phủ (reach) duy nhất.
  </li>

  <li>
    `awareness_audience`: Nhằm nâng cao nhận diện thương hiệu bằng cách tối đa hóa số người duy nhất
    xem quảng cáo. Nó đảm bảo rằng quảng cáo tiếp cận càng nhiều người dùng khác nhau càng tốt và tối đa hóa
    quy mô đối tượng duy nhất thay vì hiển thị nhiều lần cho cùng một đối tượng.
  </li>
</ul>

Tìm hiểu thêm về việc tích hợp Facebook Marketing API với Ayrshare trong [Hướng dẫn tích hợp Facebook Marketing API](https://www.ayrshare.com/blog/facebook-ads-api-boosting-with-the-marketing-api/) của chúng tôi.

## Tham số Header

<HeaderAPI />

## Tham số Body

<ParamField body="accountId" type="string" required>
  ID của tài khoản quảng cáo Facebook để boost bài đăng. ID tài khoản có thể được lấy từ
  [endpoint ad accounts](/apis/ads/facebook/get-ad-accounts).
</ParamField>

<ParamField body="adName" type="string" required>
  Tên cho quảng cáo của bạn (hiển thị trong Facebook Ad Manager) với định dạng `{adName} - {postId hoặc fbPostId} - {ngày hiện tại}`.
</ParamField>

<ParamField body="bidAmount" type="number" required>
  Số tiền đặt giá tối đa bằng USD. Số tiền đặt giá tối thiểu là \$1.00.
</ParamField>

<ParamField body="budget" type="number" required>
  Ngân sách hàng ngày bằng USD. Ngân sách tối thiểu là \$1.00.
</ParamField>

<ParamField body="fbPostId" type="string" required>
  [ID bài đăng xã hội Facebook](/apis/overview#social-post-id) của bài đăng cần boost, cho phép
  bạn tạo quảng cáo từ một bài đăng được tạo trực tiếp trên Facebook. Đây là ID của [bài đăng trên
  Facebook](/apis/history/history-platform), không phải của Ayrshare. Bắt buộc nếu `postId` không được đặt.
</ParamField>

<ParamField body="goal" type="string" required default="engagement">
  Mục tiêu của quảng cáo. Giá trị: `engagement`, `interactions`, `awareness_views`, và
  `awareness_audience`. Xem [chi tiết ad goals](/apis/ads/facebook/boost-post#ad-goals) ở trên để
  biết thêm thông tin.
</ParamField>

<ParamField body="locations" type="object" required default={{ countries: ["US"] }}>
  Vị trí quảng cáo nhắm mục tiêu, dưới dạng một đối tượng gồm các mảng: `countries`, `regions`, `cities`.

  <Expandable title="child attributes">
    <ParamField body="countries" type="array">
      Danh sách mã quốc gia.

      ```json theme={"system"}
      {
        "countries": ["US", "CA"]
      }
      ```
    </ParamField>

    <ParamField body="regions" type="array">
      Các khu vực yêu cầu giá trị `key` khu vực của Facebook. Xem [endpoint regions](/apis/ads/facebook/get-ad-regions) để biết thêm thông tin.

      ```json theme={"system"}
      {
        "regions": [{ "key": "3886" }]
      }
      ```
    </ParamField>

    <ParamField body="cities" type="array">
      Các thành phố yêu cầu: `key` (từ Facebook), `radius`, và `distance_unit`.
      `radius` là khoảng cách xung quanh thành phố: 10–50 dặm hoặc 17–80 km.
      `distance_unit` là `mile` hoặc `kilometer`.
      Xem [endpoint cities](/apis/ads/facebook/get-ad-cities) để biết thêm thông tin.

      ```json theme={"system"}
      {
        "cities": [
          { "key": "2420605", "radius": 25, "distance_unit": "mile" }
        ]
      }
      ```
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="postId" type="string" required>
  [Ayrshare post ID](/apis/overview#ayrshare-post-id) của bài đăng cần boost. Bắt buộc nếu
  `fbPostId` không được đặt.
</ParamField>

<ParamField body="status" type="string" default="active" required>
  Trạng thái của quảng cáo. Giá trị: `active` và `paused`.

  Bạn có thể thay đổi trạng thái của quảng cáo sau này bằng cách sử dụng [endpoint update ad](/apis/ads/facebook/put-ad-update).
</ParamField>

<ParamField body="adSetBudgetSharingEnabled" type="boolean" default={false}>
  Kiểm soát việc chia sẻ ngân sách ad set cấp chiến dịch của Meta.
  Meta hiện yêu cầu trường wire này trên mọi chiến dịch được tạo mà không có ngân sách cấp chiến dịch, vì vậy Ayrshare luôn gửi nó — mặc định là `false` để tương thích ngược.

  Đặt thành `true` để cho phép Meta chia sẻ tối đa \~20% ngân sách của một ad set với các ad set khác trong cùng chiến dịch nhằm tối ưu hóa hiệu suất tổng thể. Xem tài liệu tham khảo [ad campaign group](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/) của Meta để biết chi tiết.
</ParamField>

<ParamField body="tracking" type="object">
  Theo dõi quảng cáo bằng Facebook Pixel.

  <Expandable title="child attributes">
    <ParamField body="pixelId" type="number" required>
      ID của Facebook Pixel để theo dõi quảng cáo.

      ```json theme={"system"}
      {
       "pixelId": 1234567890
      }
      ```
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="urlTags" type="array">
  Thêm thẻ UTM vào URL quảng cáo.

  ```json theme={"system"}
  {
    "urlTags": ["utm_source=ayrshare", "utm_medium=social", "utm_campaign=ayrshare-social"]
  }
  ```

  Ví dụ, nếu URL liên kết là `https://www.mysite.com/my-post` và các URL tag được thêm là:

  `utm_source=ayrshare`, `utm_medium=social`, và `utm_campaign=ayrshare-social`.

  URL quảng cáo sẽ là:
  `https://www.mysite.com/my-post?utm_source=ayrshare&utm_medium=social&utm_campaign=ayrshare-social`.
</ParamField>

<ParamField body="specialAdCategories" type="array">
  Meta yêu cầu các nhà quảng cáo trong [các danh mục quảng cáo đặc biệt](https://www.facebook.com/business/help/298000447747885?helpref=faq_content) phải tự xác định danh mục chiến dịch của mình.

  Nếu doanh nghiệp của bạn thuộc một trong các danh mục này, bạn phải chọn danh mục phù hợp khi boost bài đăng.

  Các giá trị sau được hỗ trợ:

  <ul className="custom-bullets">
    <li>
      `housing`: Quảng cáo quảng bá hoặc liên kết trực tiếp đến cơ hội nhà ở hoặc dịch vụ liên quan,
      bao gồm nhưng không giới hạn: danh sách bán hoặc cho thuê nhà/căn hộ, bảo hiểm nhà,
      bảo hiểm thế chấp, các khoản vay thế chấp, dịch vụ sửa chữa nhà và dịch vụ định giá hoặc vốn chủ sở hữu
      nhà ở.
    </li>

    <li>
      `financial_product_services`: Quảng cáo quảng bá hoặc liên kết trực tiếp đến các sản phẩm và
      dịch vụ tài chính, bao gồm cả tín dụng.
    </li>

    <li>
      `employment`: Quảng cáo quảng bá hoặc liên kết trực tiếp đến cơ hội việc làm, bao gồm nhưng
      không giới hạn: công việc bán thời gian hoặc toàn thời gian, thực tập hoặc các chương trình chứng chỉ chuyên môn. Các
      quảng cáo liên quan thuộc danh mục này bao gồm quảng bá bảng tin việc làm hoặc hội chợ việc làm, dịch vụ tổng hợp
      hoặc quảng cáo mô tả các phúc lợi mà công ty có thể cung cấp, bất kể có lời mời làm việc cụ thể hay không.
    </li>

    <li>
      `issues_elections_politics`: Quảng cáo được tạo bởi, thay mặt cho, hoặc về một ứng cử viên cho chức vụ công,
      một nhân vật chính trị, một đảng chính trị, hoặc vận động cho kết quả của một cuộc bầu cử cho chức vụ
      công. Điều này cũng bao gồm quảng cáo về bất kỳ cuộc bầu cử, trưng cầu dân ý hoặc sáng kiến bỏ phiếu nào, bao gồm
      các chiến dịch bầu cử "Hãy đi bỏ phiếu". Quảng cáo được quản lý như quảng cáo chính trị hoặc về các vấn đề
      xã hội tại bất kỳ nơi nào quảng cáo được đặt. Nếu chọn các vấn đề, bầu cử hoặc chính trị,
      bạn phải chọn quốc gia mà bạn muốn chạy các quảng cáo này. Bạn phải được
      ủy quyền để chạy quảng cáo về các vấn đề xã hội, bầu cử hoặc chính trị tại quốc gia được chỉ định.
    </li>
  </ul>

  <Warning>
    Meta yêu cầu các nhà quảng cáo phải tự xác định danh mục chiến dịch của mình.
    Meta sử dụng người xem xét và học máy để xác định các loại quảng cáo này.
    Nếu bạn gửi cho chúng tôi một `specialAdCategory` không chính xác, có nguy cơ quảng cáo của bạn sẽ bị tạm dừng cho đến khi chiến dịch được điều chỉnh.
  </Warning>
</ParamField>

<ParamField body="endDate" type="string">
  Ngày và giờ kết thúc theo định dạng ISO 8601 (phải cách ngày bắt đầu ít nhất 30 giờ), ví dụ `2025-03-01T00:00:00Z`.

  Nếu không được đặt, quảng cáo sẽ chạy vô thời hạn và có ngày kết thúc là `ongoing`.
</ParamField>

<ParamField body="excludedLocations" type="object">
  Loại trừ các vị trí bằng cách sử dụng một đối tượng có các mảng `countries`, `regions`, và `cities`.

  <Expandable title="child attributes">
    <ParamField body="countries" type="array">
      Danh sách mã quốc gia cần loại trừ.

      ```json theme={"system"}
      {
        "countries": ["US", "CA"]
      }
      ```
    </ParamField>

    <ParamField body="regions" type="array">
      Các khu vực yêu cầu giá trị `key` khu vực của Facebook. Xem [endpoint regions](/apis/ads/facebook/get-ad-regions) để biết thêm thông tin.

      ```json theme={"system"}
      {
        "regions": [{ "key": "3886" }]
      }
      ```
    </ParamField>

    <ParamField body="cities" type="array">
      Các thành phố yêu cầu: `key` (từ Facebook), `radius`, và `distance_unit`.
      `radius` là khoảng cách xung quanh thành phố: 10–50 dặm hoặc 17–80 km.
      `distance_unit` là `mile` hoặc `kilometer`.
      Xem [endpoint cities](/apis/ads/facebook/get-ad-cities) để biết thêm thông tin.

      ```json theme={"system"}
      {
        "cities": [
          { "key": "2420605", "radius": 25, "distance_unit": "mile" }
        ]
      }
      ```
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="gender" type="string" default="all">
  Giới tính của đối tượng. Giá trị: `all`, `male`, `female`.
</ParamField>

<ParamField body="interests" type="array">
  Các sở thích mục tiêu của quảng cáo dưới dạng một mảng [interest
  ids](/apis/ads/facebook/get-ad-interests) của Facebook.
</ParamField>

<ParamField body="maxAge" type="number" default={65}>
  Độ tuổi tối đa để nhắm mục tiêu quảng cáo (mặc định: 65).
</ParamField>

<ParamField body="minAge" type="number" default={18}>
  Độ tuổi tối thiểu để nhắm mục tiêu quảng cáo (mặc định: 18).
</ParamField>

<ParamField body="startDate" type="string">
  Ngày và giờ bắt đầu theo định dạng ISO 8601, ví dụ `2025-03-01T00:00:00Z`.

  Nếu không được đặt, quảng cáo sẽ bắt đầu ngay lập tức.
</ParamField>

<ParamField body="dsaBeneficiary" type="string">
  Bên thụ hưởng của quảng cáo để tuân thủ Đạo luật Dịch vụ Kỹ thuật số (DSA) cho các quốc gia EU. Phải được đặt
  cùng với `dsaPayor` nếu một trong hai được cung cấp. Vui lòng tham khảo [hướng dẫn
  DSA](/apis/ads/facebook/get-dsa-recommendations) của chúng tôi để biết thêm thông tin.
</ParamField>

<ParamField body="dsaPayor" type="string">
  Bên chi trả của quảng cáo để tuân thủ Đạo luật Dịch vụ Kỹ thuật số (DSA) cho các quốc gia EU. Phải được đặt
  cùng với `dsaBeneficiary` nếu một trong hai được cung cấp.
</ParamField>

<RequestExample>
  ```bash cURL theme={"system"}
  curl -X POST https://api.ayrshare.com/api/ads/facebook/boost \
    -H "Authorization: Bearer API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "postId": "1234567890",
      "accountId": "1234567890",
      "adName": "My Ad",
      "status": "active",
      "goal": "engagement",
      "minAge": 18,
      "maxAge": 65,
      "locations": { "countries": ["US"] },
      "budget": 100,
      "bidAmount": 1,
      "startDate": "2025-03-01T00:00:00Z",
      "endDate": "2025-03-07T23:59:59Z",
      "interests": [1234567890, 1234567891]
    }'
  ```

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

  fetch("https://api.ayrshare.com/api/ads/facebook/boost", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Authorization: `Bearer ${API_KEY}`
    },
    body: JSON.stringify({
      postId: "1234567890",
      accountId: "1234567890",
      adName: "My Ad",
      status: "active",
      goal: "engagement",
      minAge: 18,
      maxAge: 65,
      locations: { countries: ["US"] },
      budget: 100,
      bidAmount: 1,
      startDate: "2025-03-01T00:00:00Z",
      endDate: "2025-03-07T23:59:59Z",
      interests: [1234567890, 1234567891]
    })
  })
    .then((res) => res.json())
    .then((json) => console.log(json))
    .catch(console.error);
  ```

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

  API_KEY = "API_KEY"

  url = "https://api.ayrshare.com/api/ads/facebook/boost"
  payload = {
      "postId": "1234567890",
      "accountId": "1234567890",
      "adName": "My Ad",
      "status": "active",
      "goal": "engagement",
      "minAge": 18,
      "maxAge": 65,
      "locations": {"countries": ["US"]},
      "budget": 100,
      "bidAmount": 1,
      "startDate": "2025-03-01T00:00:00Z",
      "endDate": "2025-03-07T23:59:59Z",
      "interests": [1234567890, 1234567891]
  }

  response = requests.post(url, headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}, json=payload)

  print(response.json())
  ```

  ```php PHP theme={"system"}
  <?php
  $API_KEY = "API_KEY";

  $payload = [
      "postId" => "1234567890",
      "accountId" => "1234567890",
      "adName" => "My Ad",
      "status" => "active",
      "goal" => "engagement",
      "minAge" => 18,
      "maxAge" => 65,
      "locations" => ["countries" => ["US"]],
      "budget" => 100,
      "bidAmount" => 1,
      "startDate" => "2025-03-01T00:00:00Z",
      "endDate" => "2025-03-07T23:59:59Z",
      "interests" => [1234567890, 1234567891]
  ];

  $ch = curl_init("https://api.ayrshare.com/api/ads/facebook/boost");
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
  curl_setopt($ch, CURLOPT_HTTPHEADER, [
      "Content-Type: application/json",
      "Authorization: Bearer " . $API_KEY
  ]);

  $response = curl_exec($ch);
  $result = json_decode($response, true);

  print_r($result);
  curl_close($ch);
  ```

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

  class Program
  {
      static async Task Main()
      {
          string API_KEY = "API_KEY";

          var payload = new
          {
              postId = "1234567890",
              accountId = "1234567890",
              adName = "My Ad",
              status = "active",
              goal = "engagement",
              minAge = 18,
              maxAge = 65,
              locations = new { countries = new[] { "US" } },
              budget = 100,
              bidAmount = 1,
              startDate = "2025-03-01T00:00:00Z",
              endDate = "2025-03-07T23:59:59Z",
              interests = new[] { 1234567890, 1234567891 }
          };

          using var client = new HttpClient();
          client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", API_KEY);

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

          var response = await client.PostAsync("https://api.ayrshare.com/api/ads/facebook/boost", content);
          var responseBody = await response.Content.ReadAsStringAsync();

          Console.WriteLine(responseBody);
      }
  }
  ```

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

  import (
  	"bytes"
  	"encoding/json"
  	"fmt"
  	"io/ioutil"
  	"net/http"
  )

  func main() {
  	apiKey := "API_KEY"

  	payload := map[string]interface{}{
  		"postId":    "1234567890",
  		"accountId": "1234567890",
  		"adName":    "My Ad",
  		"status":    "active",
  		"goal":      "engagement",
  		"minAge":    18,
  		"maxAge":    65,
  		"locations":  map[string]interface{}{"countries": []string{"US"}},
  		"budget":    100,
  		"bidAmount": 1,
  		"startDate": "2025-03-01T00:00:00Z",
  		"endDate":   "2025-03-07T23:59:59Z",
  		"interests": []int{1234567890, 1234567891},
  	}

  	jsonData, err := json.Marshal(payload)
  	if err != nil {
  		fmt.Println("Error marshaling JSON:", err)
  		return
  	}

  	req, err := http.NewRequest("POST", "https://api.ayrshare.com/api/ads/facebook/boost", bytes.NewBuffer(jsonData))
  	if err != nil {
  		fmt.Println("Error creating request:", err)
  		return
  	}

  	req.Header.Set("Content-Type", "application/json")
  	req.Header.Set("Authorization", "Bearer "+apiKey)

  	client := &http.Client{}
  	resp, err := client.Do(req)
  	if err != nil {
  		fmt.Println("Error sending request:", err)
  		return
  	}
  	defer resp.Body.Close()

  	body, err := ioutil.ReadAll(resp.Body)
  	if err != nil {
  		fmt.Println("Error reading response:", err)
  		return
  	}

  	fmt.Println(string(body))
  }
  ```

  ```java Java theme={"system"}
  import java.io.IOException;
  import java.net.URI;
  import java.net.http.HttpClient;
  import java.net.http.HttpRequest;
  import java.net.http.HttpResponse;
  import java.util.Arrays;
  import java.util.HashMap;
  import java.util.Map;

  import com.fasterxml.jackson.databind.ObjectMapper;

  public class BoostPost {
      public static void main(String[] args) {
          String API_KEY = "API_KEY";
          String url = "https://api.ayrshare.com/api/ads/facebook/boost";

          Map<String, Object> payload = new HashMap<>();
          payload.put("postId", "1234567890");
          payload.put("accountId", "1234567890");
          payload.put("adName", "My Ad");
          payload.put("status", "active");
          payload.put("goal", "engagement");
          payload.put("minAge", 18);
          payload.put("maxAge", 65);
          Map<String, Object> locations = new HashMap<>();
          locations.put("countries", Arrays.asList("US"));
          payload.put("locations", locations);
          payload.put("budget", 100);
          payload.put("bidAmount", 1);
          payload.put("startDate", "2025-03-01T00:00:00Z");
          payload.put("endDate", "2025-03-07T23:59:59Z");
          payload.put("interests", Arrays.asList(1234567890, 1234567891));

          try {
              ObjectMapper objectMapper = new ObjectMapper();
              String requestBody = objectMapper.writeValueAsString(payload);

              HttpClient client = HttpClient.newHttpClient();
              HttpRequest request = HttpRequest.newBuilder()
                      .uri(URI.create(url))
                      .header("Content-Type", "application/json")
                      .header("Authorization", "Bearer " + API_KEY)
                      .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                      .build();

              HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
              System.out.println(response.body());

          } catch (IOException | InterruptedException e) {
              e.printStackTrace();
          }
      }
  }
  ```

  ```ruby Ruby theme={"system"}
  require 'net/http'
  require 'uri'
  require 'json'

  API_KEY = "API_KEY"

  uri = URI.parse("https://api.ayrshare.com/api/ads/facebook/boost")
  payload = {
    postId: "1234567890",
    accountId: "1234567890",
    adName: "My Ad",
    status: "active",
    goal: "engagement",
    minAge: 18,
    maxAge: 65,
    locations: { countries: ["US"] },
    budget: 100,
    bidAmount: 1,
    startDate: "2025-03-01T00:00:00Z",
    endDate: "2025-03-07T23:59:59Z",
    interests: [1234567890, 1234567891]
  }

  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true

  request = Net::HTTP::Post.new(uri.request_uri)
  request["Content-Type"] = "application/json"
  request["Authorization"] = "Bearer #{API_KEY}"
  request.body = payload.to_json

  response = http.request(request)
  puts response.body
  ```
</RequestExample>

<ResponseExample>
  ```json 200: Đã Boost Bài đăng theme={"system"}
  {
      "status": "success",
      "adId": "120217670757750410",
      "adName": "API Post - DE6gpw8kxlonHy2b7Lo - 2025-03-26T23:42:43",
      "adStatus": "active",
      "bidAmount": 10,
      "budget": 100,
      "endDate": "2026-03-28T22:30:00Z",
      "goal": {
          "title": "Get More Engagement",
          "description": "This goal seeks to increase engagement...",
          "type": "engagement"
      },
      "interests": [
          "6003195554098"
      ],
      "locations": { "countries": ["US"] },
      "maxAge": 65,
      "minAge": 18,
      "postId": "DE6gpw8kxlonHy2b7Lo",
      "startDate": "2026-03-26T22:30:00Z"
  }
  ```

  ```json 400: Account ID không hợp lệ theme={"system"}
  {
    "action": "boost post",
    "status": "error",
    "code": 369,
    "message": "Unable to boost post. Please try again or contact us if the issue persists.",
    "details": "The accountId likely does not exist. Please check the accountId and try again."
  }
  ```

  ```json 400: Thiếu tham số bắt buộc theme={"system"}
  {
    "action": "request",
    "status": "error",
    "code": 101,
    "message": "Missing or incorrect parameters. Please verify with the docs. https://www.ayrshare.com/docs/apis",
    "details": "Missing required fields: budget"
  }
  ```
</ResponseExample>
