1 | |
2 | type Pinterest = { |
3 | token: string; |
4 | }; |
5 | |
6 | * List item issues |
7 | * List item validation issues for a given feed processing result owned by the "operation user_account". |
8 | */ |
9 | export async function main( |
10 | auth: Pinterest, |
11 | processing_result_id: string, |
12 | bookmark: string | undefined, |
13 | page_size: string | undefined, |
14 | item_numbers: string | undefined, |
15 | item_validation_issue: |
16 | | "AD_LINK_FORMAT_WARNING" |
17 | | "AD_LINK_SAME_AS_LINK" |
18 | | "ADDITIONAL_IMAGE_LINK_LENGTH_TOO_LONG" |
19 | | "ADDITIONAL_IMAGE_LINK_WARNING" |
20 | | "ADULT_INVALID" |
21 | | "ADWORDS_FORMAT_INVALID" |
22 | | "ADWORDS_FORMAT_WARNING" |
23 | | "ADWORDS_SAME_AS_LINK" |
24 | | "AGE_GROUP_INVALID" |
25 | | "ANDROID_DEEP_LINK_INVALID" |
26 | | "AVAILABILITY_DATE_INVALID" |
27 | | "AVAILABILITY_INVALID" |
28 | | "BLOCKLISTED_IMAGE_SIGNATURE" |
29 | | "COUNTRY_DOES_NOT_MAP_TO_CURRENCY" |
30 | | "CUSTOM_LABEL_LENGTH_TOO_LONG" |
31 | | "DESCRIPTION_LENGTH_TOO_LONG" |
32 | | "DESCRIPTION_MISSING" |
33 | | "DUPLICATE_PRODUCTS" |
34 | | "EXPIRATION_DATE_INVALID" |
35 | | "GENDER_INVALID" |
36 | | "GTIN_INVALID" |
37 | | "IMAGE_LINK_INVALID" |
38 | | "IMAGE_LINK_LENGTH_TOO_LONG" |
39 | | "IMAGE_LINK_MISSING" |
40 | | "IMAGE_LINK_WARNING" |
41 | | "INVALID_DOMAIN" |
42 | | "IOS_DEEP_LINK_INVALID" |
43 | | "IS_BUNDLE_INVALID" |
44 | | "ITEM_ADDITIONAL_IMAGE_DOWNLOAD_FAILURE" |
45 | | "ITEM_MAIN_IMAGE_DOWNLOAD_FAILURE" |
46 | | "ITEMID_MISSING" |
47 | | "LINK_FORMAT_INVALID" |
48 | | "LINK_FORMAT_WARNING" |
49 | | "LINK_LENGTH_TOO_LONG" |
50 | | "LIST_PRICE_INVALID" |
51 | | "MAX_ITEMS_PER_ITEM_GROUP_EXCEEDED" |
52 | | "MIN_AD_PRICE_INVALID" |
53 | | "MPN_INVALID" |
54 | | "MULTIPACK_INVALID" |
55 | | "OPTIONAL_CONDITION_INVALID" |
56 | | "OPTIONAL_CONDITION_MISSING" |
57 | | "OPTIONAL_PRODUCT_CATEGORY_INVALID" |
58 | | "OPTIONAL_PRODUCT_CATEGORY_MISSING" |
59 | | "PARSE_LINE_ERROR" |
60 | | "PINJOIN_CONTENT_UNSAFE" |
61 | | "PRICE_CANNOT_BE_DETERMINED" |
62 | | "PRICE_MISSING" |
63 | | "PRODUCT_CATEGORY_DEPTH_WARNING" |
64 | | "PRODUCT_LINK_MISSING" |
65 | | "PRODUCT_PRICE_INVALID" |
66 | | "PRODUCT_TYPE_LENGTH_TOO_LONG" |
67 | | "SALE_DATE_INVALID" |
68 | | "SALES_PRICE_INVALID" |
69 | | "SALES_PRICE_TOO_HIGH" |
70 | | "SALES_PRICE_TOO_LOW" |
71 | | "SHIPPING_INVALID" |
72 | | "SHIPPING_HEIGHT_INVALID" |
73 | | "SHIPPING_WEIGHT_INVALID" |
74 | | "SHIPPING_WIDTH_INVALID" |
75 | | "SIZE_SYSTEM_INVALID" |
76 | | "SIZE_TYPE_INVALID" |
77 | | "TAX_INVALID" |
78 | | "TITLE_LENGTH_TOO_LONG" |
79 | | "TITLE_MISSING" |
80 | | "TOO_MANY_ADDITIONAL_IMAGE_LINKS" |
81 | | "UTM_SOURCE_AUTO_CORRECTED" |
82 | | "WEIGHT_UNIT_INVALID" |
83 | | undefined, |
84 | ad_account_id: string | undefined, |
85 | ) { |
86 | const url = new URL( |
87 | `https://api.pinterest.com/v5/catalogs/processing_results/${processing_result_id}/item_issues`, |
88 | ); |
89 | for (const [k, v] of [ |
90 | ["bookmark", bookmark], |
91 | ["page_size", page_size], |
92 | ["item_numbers", item_numbers], |
93 | ["item_validation_issue", item_validation_issue], |
94 | ["ad_account_id", ad_account_id], |
95 | ]) { |
96 | if (v !== undefined && v !== "" && k !== undefined) { |
97 | url.searchParams.append(k, v); |
98 | } |
99 | } |
100 | const response = await fetch(url, { |
101 | method: "GET", |
102 | headers: { |
103 | Authorization: "Bearer " + auth.token, |
104 | }, |
105 | body: undefined, |
106 | }); |
107 | if (!response.ok) { |
108 | const text = await response.text(); |
109 | throw new Error(`${response.status} ${text}`); |
110 | } |
111 | return await response.json(); |
112 | } |
113 |
|