0

Get item bid options (POST)

by
Published Dec 20, 2024

Get the bid options for a batch of retail catalog items.

Script pinterest Verified

The script

Submitted by hugo697 Bun
Verified 536 days ago
1
//native
2
type Pinterest = {
3
  token: string;
4
};
5
/**
6
 * Get item bid options (POST)
7
 * Get the bid options for a batch of retail catalog items.
8
 */
9
export async function main(
10
  auth: Pinterest,
11
  ad_account_id: string | undefined,
12
  body: {
13
    catalog_id: string;
14
    items: {
15
      item_id: string;
16
      country:
17
        | "AD"
18
        | "AE"
19
        | "AF"
20
        | "AG"
21
        | "AI"
22
        | "AL"
23
        | "AM"
24
        | "AO"
25
        | "AQ"
26
        | "AR"
27
        | "AS"
28
        | "AT"
29
        | "AU"
30
        | "AW"
31
        | "AX"
32
        | "AZ"
33
        | "BA"
34
        | "BB"
35
        | "BD"
36
        | "BE"
37
        | "BF"
38
        | "BG"
39
        | "BH"
40
        | "BI"
41
        | "BJ"
42
        | "BL"
43
        | "BM"
44
        | "BN"
45
        | "BO"
46
        | "BQ"
47
        | "BR"
48
        | "BS"
49
        | "BT"
50
        | "BV"
51
        | "BW"
52
        | "BY"
53
        | "BZ"
54
        | "CA"
55
        | "CC"
56
        | "CD"
57
        | "CF"
58
        | "CG"
59
        | "CH"
60
        | "CI"
61
        | "CK"
62
        | "CL"
63
        | "CM"
64
        | "CN"
65
        | "CO"
66
        | "CR"
67
        | "CU"
68
        | "CV"
69
        | "CW"
70
        | "CX"
71
        | "CY"
72
        | "CZ"
73
        | "DE"
74
        | "DJ"
75
        | "DK"
76
        | "DM"
77
        | "DO"
78
        | "DZ"
79
        | "EC"
80
        | "EE"
81
        | "EG"
82
        | "EH"
83
        | "ER"
84
        | "ES"
85
        | "ET"
86
        | "FI"
87
        | "FJ"
88
        | "FK"
89
        | "FM"
90
        | "FO"
91
        | "FR"
92
        | "GA"
93
        | "GB"
94
        | "GD"
95
        | "GE"
96
        | "GF"
97
        | "GG"
98
        | "GH"
99
        | "GI"
100
        | "GL"
101
        | "GM"
102
        | "GN"
103
        | "GP"
104
        | "GQ"
105
        | "GR"
106
        | "GS"
107
        | "GT"
108
        | "GU"
109
        | "GW"
110
        | "GY"
111
        | "HK"
112
        | "HM"
113
        | "HN"
114
        | "HR"
115
        | "HT"
116
        | "HU"
117
        | "ID"
118
        | "IE"
119
        | "IL"
120
        | "IM"
121
        | "IN"
122
        | "IO"
123
        | "IQ"
124
        | "IR"
125
        | "IS"
126
        | "IT"
127
        | "JE"
128
        | "JM"
129
        | "JO"
130
        | "JP"
131
        | "KE"
132
        | "KG"
133
        | "KH"
134
        | "KI"
135
        | "KM"
136
        | "KN"
137
        | "KR"
138
        | "KW"
139
        | "KY"
140
        | "KZ"
141
        | "LA"
142
        | "LB"
143
        | "LC"
144
        | "LI"
145
        | "LK"
146
        | "LR"
147
        | "LS"
148
        | "LT"
149
        | "LU"
150
        | "LV"
151
        | "LY"
152
        | "MA"
153
        | "MC"
154
        | "MD"
155
        | "ME"
156
        | "MF"
157
        | "MG"
158
        | "MH"
159
        | "MK"
160
        | "ML"
161
        | "MM"
162
        | "MN"
163
        | "MO"
164
        | "MP"
165
        | "MQ"
166
        | "MR"
167
        | "MS"
168
        | "MT"
169
        | "MU"
170
        | "MV"
171
        | "MW"
172
        | "MX"
173
        | "MY"
174
        | "MZ"
175
        | "NA"
176
        | "NC"
177
        | "NE"
178
        | "NF"
179
        | "NG"
180
        | "NI"
181
        | "NL"
182
        | "NO"
183
        | "NP"
184
        | "NR"
185
        | "NU"
186
        | "NZ"
187
        | "OM"
188
        | "PA"
189
        | "PE"
190
        | "PF"
191
        | "PG"
192
        | "PH"
193
        | "PK"
194
        | "PL"
195
        | "PM"
196
        | "PN"
197
        | "PR"
198
        | "PS"
199
        | "PT"
200
        | "PW"
201
        | "PY"
202
        | "QA"
203
        | "RE"
204
        | "RO"
205
        | "RS"
206
        | "RU"
207
        | "RW"
208
        | "SA"
209
        | "SB"
210
        | "SC"
211
        | "SD"
212
        | "SE"
213
        | "SG"
214
        | "SH"
215
        | "SI"
216
        | "SJ"
217
        | "SK"
218
        | "SL"
219
        | "SM"
220
        | "SN"
221
        | "SO"
222
        | "SR"
223
        | "SS"
224
        | "ST"
225
        | "SV"
226
        | "SX"
227
        | "SY"
228
        | "SZ"
229
        | "TC"
230
        | "TD"
231
        | "TF"
232
        | "TG"
233
        | "TH"
234
        | "TJ"
235
        | "TK"
236
        | "TL"
237
        | "TM"
238
        | "TN"
239
        | "TO"
240
        | "TR"
241
        | "TT"
242
        | "TV"
243
        | "TW"
244
        | "TZ"
245
        | "UA"
246
        | "UG"
247
        | "UM"
248
        | "US"
249
        | "UY"
250
        | "UZ"
251
        | "VA"
252
        | "VC"
253
        | "VE"
254
        | "VG"
255
        | "VI"
256
        | "VN"
257
        | "VU"
258
        | "WF"
259
        | "WS"
260
        | "YE"
261
        | "YT"
262
        | "ZA"
263
        | "ZM"
264
        | "ZW";
265
      language:
266
        | "AM"
267
        | "AR"
268
        | "AZ"
269
        | "BG"
270
        | "BN"
271
        | "BS"
272
        | "CA"
273
        | "DE"
274
        | "DZ"
275
        | "ES"
276
        | "ET"
277
        | "FI"
278
        | "FR"
279
        | "HR"
280
        | "HU"
281
        | "ID"
282
        | "IN"
283
        | "IS"
284
        | "IT"
285
        | "KM"
286
        | "LT"
287
        | "LV"
288
        | "MK"
289
        | "MN"
290
        | "MS"
291
        | "MY"
292
        | "NE"
293
        | "NL"
294
        | "NO"
295
        | "PL"
296
        | "PT"
297
        | "RO"
298
        | "RU"
299
        | "SK"
300
        | "SL"
301
        | "SR"
302
        | "SV"
303
        | "TH"
304
        | "TL"
305
        | "TR"
306
        | "VI"
307
        | "CS"
308
        | "DA"
309
        | "DV"
310
        | "EL"
311
        | "EN"
312
        | "FA"
313
        | "HE"
314
        | "HI"
315
        | "HY"
316
        | "IW"
317
        | "JA"
318
        | "KA"
319
        | "KO"
320
        | "LO"
321
        | "NB"
322
        | "SQ"
323
        | "UK"
324
        | "TE"
325
        | "XX"
326
        | "ZH";
327
    }[];
328
  },
329
) {
330
  const url = new URL(
331
    `https://api.pinterest.com/v5/advanced_auction/items/get`,
332
  );
333
  for (const [k, v] of [["ad_account_id", ad_account_id]]) {
334
    if (v !== undefined && v !== "" && k !== undefined) {
335
      url.searchParams.append(k, v);
336
    }
337
  }
338
  const response = await fetch(url, {
339
    method: "POST",
340
    headers: {
341
      "Content-Type": "application/json",
342
      Authorization: "Bearer " + auth.token,
343
    },
344
    body: JSON.stringify(body),
345
  });
346
  if (!response.ok) {
347
    const text = await response.text();
348
    throw new Error(`${response.status} ${text}`);
349
  }
350
  return await response.json();
351
}
352