0

Download advertiser entities in bulk

by
Published Dec 20, 2024

Get the status of a bulk request by request_id, along with a download URL that will allow you to download the new or updated entity data (campaigns, ad groups, product groups, ads, or keywords).

Script pinterest Verified

The script

Submitted by hugo697 Bun
Verified 536 days ago
1
//native
2
type Pinterest = {
3
  token: string;
4
};
5
/**
6
 * Download advertiser entities in bulk
7
 * Get the status of a bulk request by request_id, along with a download URL that will allow you to download the
8
new or updated entity data (campaigns, ad groups, product groups, ads, or keywords).
9
 */
10
export async function main(
11
  auth: Pinterest,
12
  ad_account_id: string,
13
  bulk_request_id: string,
14
  include_details: string | undefined,
15
) {
16
  const url = new URL(
17
    `https://api.pinterest.com/v5/ad_accounts/${ad_account_id}/bulk/${bulk_request_id}`,
18
  );
19
  for (const [k, v] of [["include_details", include_details]]) {
20
    if (v !== undefined && v !== "" && k !== undefined) {
21
      url.searchParams.append(k, v);
22
    }
23
  }
24
  const response = await fetch(url, {
25
    method: "GET",
26
    headers: {
27
      Authorization: "Bearer " + auth.token,
28
    },
29
    body: undefined,
30
  });
31
  if (!response.ok) {
32
    const text = await response.text();
33
    throw new Error(`${response.status} ${text}`);
34
  }
35
  return await response.json();
36
}
37