Edits history of script submission #11284 for ' Get catalogs items (POST) (pinterest)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Pinterest = {
      token: string;
    };
    /**
     * Get catalogs items (POST)
     * Get the items of the catalog owned by the "operation user_account".
     */
    export async function main(
      auth: Pinterest,
      ad_account_id: string | undefined,
      body: {
        country:
          | "AD"
          | "AE"
          | "AF"
          | "AG"
          | "AI"
          | "AL"
          | "AM"
          | "AO"
          | "AQ"
          | "AR"
          | "AS"
          | "AT"
          | "AU"
          | "AW"
          | "AX"
          | "AZ"
          | "BA"
          | "BB"
          | "BD"
          | "BE"
          | "BF"
          | "BG"
          | "BH"
          | "BI"
          | "BJ"
          | "BL"
          | "BM"
          | "BN"
          | "BO"
          | "BQ"
          | "BR"
          | "BS"
          | "BT"
          | "BV"
          | "BW"
          | "BY"
          | "BZ"
          | "CA"
          | "CC"
          | "CD"
          | "CF"
          | "CG"
          | "CH"
          | "CI"
          | "CK"
          | "CL"
          | "CM"
          | "CN"
          | "CO"
          | "CR"
          | "CU"
          | "CV"
          | "CW"
          | "CX"
          | "CY"
          | "CZ"
          | "DE"
          | "DJ"
          | "DK"
          | "DM"
          | "DO"
          | "DZ"
          | "EC"
          | "EE"
          | "EG"
          | "EH"
          | "ER"
          | "ES"
          | "ET"
          | "FI"
          | "FJ"
          | "FK"
          | "FM"
          | "FO"
          | "FR"
          | "GA"
          | "GB"
          | "GD"
          | "GE"
          | "GF"
          | "GG"
          | "GH"
          | "GI"
          | "GL"
          | "GM"
          | "GN"
          | "GP"
          | "GQ"
          | "GR"
          | "GS"
          | "GT"
          | "GU"
          | "GW"
          | "GY"
          | "HK"
          | "HM"
          | "HN"
          | "HR"
          | "HT"
          | "HU"
          | "ID"
          | "IE"
          | "IL"
          | "IM"
          | "IN"
          | "IO"
          | "IQ"
          | "IR"
          | "IS"
          | "IT"
          | "JE"
          | "JM"
          | "JO"
          | "JP"
          | "KE"
          | "KG"
          | "KH"
          | "KI"
          | "KM"
          | "KN"
          | "KR"
          | "KW"
          | "KY"
          | "KZ"
          | "LA"
          | "LB"
          | "LC"
          | "LI"
          | "LK"
          | "LR"
          | "LS"
          | "LT"
          | "LU"
          | "LV"
          | "LY"
          | "MA"
          | "MC"
          | "MD"
          | "ME"
          | "MF"
          | "MG"
          | "MH"
          | "MK"
          | "ML"
          | "MM"
          | "MN"
          | "MO"
          | "MP"
          | "MQ"
          | "MR"
          | "MS"
          | "MT"
          | "MU"
          | "MV"
          | "MW"
          | "MX"
          | "MY"
          | "MZ"
          | "NA"
          | "NC"
          | "NE"
          | "NF"
          | "NG"
          | "NI"
          | "NL"
          | "NO"
          | "NP"
          | "NR"
          | "NU"
          | "NZ"
          | "OM"
          | "PA"
          | "PE"
          | "PF"
          | "PG"
          | "PH"
          | "PK"
          | "PL"
          | "PM"
          | "PN"
          | "PR"
          | "PS"
          | "PT"
          | "PW"
          | "PY"
          | "QA"
          | "RE"
          | "RO"
          | "RS"
          | "RU"
          | "RW"
          | "SA"
          | "SB"
          | "SC"
          | "SD"
          | "SE"
          | "SG"
          | "SH"
          | "SI"
          | "SJ"
          | "SK"
          | "SL"
          | "SM"
          | "SN"
          | "SO"
          | "SR"
          | "SS"
          | "ST"
          | "SV"
          | "SX"
          | "SY"
          | "SZ"
          | "TC"
          | "TD"
          | "TF"
          | "TG"
          | "TH"
          | "TJ"
          | "TK"
          | "TL"
          | "TM"
          | "TN"
          | "TO"
          | "TR"
          | "TT"
          | "TV"
          | "TW"
          | "TZ"
          | "UA"
          | "UG"
          | "UM"
          | "US"
          | "UY"
          | "UZ"
          | "VA"
          | "VC"
          | "VE"
          | "VG"
          | "VI"
          | "VN"
          | "VU"
          | "WF"
          | "WS"
          | "YE"
          | "YT"
          | "ZA"
          | "ZM"
          | "ZW";
        language:
          | "AM"
          | "AR"
          | "AZ"
          | "BG"
          | "BN"
          | "BS"
          | "CA"
          | "DE"
          | "DZ"
          | "ES"
          | "ET"
          | "FI"
          | "FR"
          | "HR"
          | "HU"
          | "ID"
          | "IN"
          | "IS"
          | "IT"
          | "KM"
          | "LT"
          | "LV"
          | "MK"
          | "MN"
          | "MS"
          | "MY"
          | "NE"
          | "NL"
          | "NO"
          | "PL"
          | "PT"
          | "RO"
          | "RU"
          | "SK"
          | "SL"
          | "SR"
          | "SV"
          | "TH"
          | "TL"
          | "TR"
          | "VI"
          | "af-ZA"
          | "ar-SA"
          | "bg-BG"
          | "bn-IN"
          | "cs-CZ"
          | "da-DK"
          | "de"
          | "el-GR"
          | "en-AU"
          | "en-CA"
          | "en-GB"
          | "en-IN"
          | "en-US"
          | "es-419"
          | "es-AR"
          | "es-ES"
          | "es-MX"
          | "fi-FI"
          | "fr"
          | "fr-CA"
          | "he-IL"
          | "hi-IN"
          | "hr-HR"
          | "hu-HU"
          | "id-ID"
          | "it"
          | "ja"
          | "ko-KR"
          | "ms-MY"
          | "nb-NO"
          | "nl"
          | "pl-PL"
          | "pt-BR"
          | "pt-PT"
          | "ro-RO"
          | "ru-RU"
          | "sk-SK"
          | "sv-SE"
          | "te-IN"
          | "th-TH"
          | "tl-PH"
          | "tr"
          | "uk-UA"
          | "vi-VN"
          | "zh-CN"
          | "zh-TW"
          | "CS"
          | "DA"
          | "DV"
          | "EL"
          | "EN"
          | "FA"
          | "HE"
          | "HI"
          | "HY"
          | "IW"
          | "JA"
          | "KA"
          | "KO"
          | "LO"
          | "NB"
          | "SQ"
          | "UK"
          | "TE"
          | "XX"
          | "ZH";
        filters:
          | { catalog_type: "RETAIL"; item_ids: string[]; catalog_id?: string }
          | { catalog_type: "HOTEL"; hotel_ids: string[]; catalog_id?: string }
          | {
              catalog_type: "CREATIVE_ASSETS";
              creative_assets_ids: string[];
              catalog_id?: string;
            };
      },
    ) {
      const url = new URL(`https://api.pinterest.com/v5/catalogs/items`);
      for (const [k, v] of [["ad_account_id", ad_account_id]]) {
        if (v !== undefined && v !== "" && k !== undefined) {
          url.searchParams.append(k, v);
        }
      }
      const response = await fetch(url, {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.token,
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 536 days ago