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

# Đề xuất DSA

> Lấy các đề xuất DSA 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} />

Lấy các đề xuất theo Đạo luật Dịch vụ Kỹ thuật số (Digital Services Act — DSA) cho tài khoản quảng cáo Facebook của bạn.

Là một phần của các yêu cầu do Đạo luật Dịch vụ Kỹ thuật số (DSA) của Liên minh Châu Âu (EU) đặt ra, [Facebook yêu cầu quảng cáo nhắm mục tiêu](https://www.facebook.com/business/help/605021638170961) đến bất kỳ khu vực nào của EU phải cung cấp các giá trị chuỗi xác định bên thụ hưởng (beneficiary) và bên chi trả (payor) của quảng cáo đang được tạo.

Endpoint này cung cấp danh sách các beneficiary và payor DSA được đề xuất, có thể được sử dụng khi boost bài đăng.
Các trường này có thể được sử dụng trong [`dsaBeneficiary`](/apis/ads/facebook/boost-post#param-dsa-beneficiary) và [`dsaPayor`](/apis/ads/facebook/boost-post#param-dsa-payor).

<ul className="custom-bullets">
  <li>
    Xuất ra danh sách các chuỗi (tối đa 25) mà Facebook đã xác định có khả năng là
    beneficiary/payor, dựa trên hoạt động gần đây của tài khoản quảng cáo.
  </li>

  <li>
    Các đề xuất này có thể được sử dụng làm giá trị cho các tham số `dsaBeneficiary` và `dsaPayor`
    trong endpoint [Boost Post](/apis/ads/facebook/boost-post).
  </li>

  <li>
    Cả `dsaBeneficiary` và `dsaPayor` phải được đặt cùng nhau nếu một trong hai được cung cấp khi boost
    bài đăng.
  </li>
</ul>

## Tham số Header

<HeaderAPI />

## Tham số Query

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

<RequestExample>
  ```bash cURL theme={"system"}
  curl \
  -H "Authorization: Bearer API_KEY" \
  -X GET https://api.ayrshare.com/api/ads/facebook/dsaRecommendations?accountId=1234567890
  ```

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

  fetch("https://api.ayrshare.com/api/ads/facebook/dsaRecommendations?accountId=1234567890", {
        method: "GET",
        headers: {
          "Authorization": `Bearer ${API_KEY}`
        }
      })
        .then((res) => res.json())
        .then((json) => console.log(json))
        .catch(console.error);
  ```

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

  headers = {'Authorization': 'Bearer API_KEY'}

  r = requests.get('https://api.ayrshare.com/api/ads/facebook/dsaRecommendations?accountId=1234567890', headers=headers)

  print(r.json())
  ```

  ```php PHP theme={"system"}
  <?php
  $curl = curl_init();

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.ayrshare.com/api/ads/facebook/dsaRecommendations?accountId=1234567890",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
      "Authorization: Bearer API_KEY"
    ],
  ]);

  $response = curl_exec($curl);
  curl_close($curl);

  echo $response;
  ?>
  ```

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

  class Program
  {
      static async Task Main()
      {
          var client = new HttpClient();
          client.DefaultRequestHeaders.Add("Authorization", "Bearer API_KEY");

          var response = await client.GetAsync("https://api.ayrshare.com/api/ads/facebook/dsaRecommendations?accountId=1234567890");
          var content = await response.Content.ReadAsStringAsync();

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

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

  import (
      "fmt"
      "io/ioutil"
      "net/http"
  )

  func main() {
      client := &http.Client{}
      req, _ := http.NewRequest("GET", "https://api.ayrshare.com/api/ads/facebook/dsaRecommendations?accountId=1234567890", nil)
      req.Header.Add("Authorization", "Bearer API_KEY")

      resp, _ := client.Do(req)
      body, _ := ioutil.ReadAll(resp.Body)

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

  ```java Java theme={"system"}
  import java.net.URI;
  import java.net.http.HttpClient;
  import java.net.http.HttpRequest;
  import java.net.http.HttpResponse;

  public class GetDsaRecommendations {
      public static void main(String[] args) throws Exception {
          HttpClient client = HttpClient.newHttpClient();
          HttpRequest request = HttpRequest.newBuilder()
                  .uri(URI.create("https://api.ayrshare.com/api/ads/facebook/dsaRecommendations?accountId=1234567890"))
                  .header("Authorization", "Bearer API_KEY")
                  .GET()
                  .build();

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

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

  uri = URI('https://api.ayrshare.com/api/ads/facebook/dsaRecommendations?accountId=1234567890')
  req = Net::HTTP::Get.new(uri)
  req['Authorization'] = 'Bearer API_KEY'

  res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http|
    http.request(req)
  }

  puts res.body
  ```
</RequestExample>

<ResponseExample>
  ```json 200: Thành công theme={"system"}
  {
      "status": "success",
      "dsaRecommendations": [
          "Beneficiary 1",
          "Beneficiary 2",
          "Beneficiary 3"
      ],
      "count": 1
  }
  ```

  ```json 413: Lỗi Đề xuất DSA theme={"system"}
  {
    "action": "ads",
    "status": "error",
    "code": 413,
    "message": "There was an error getting the DSA recommendations. Please try again."
  }
  ```
</ResponseExample>
