Edits history of script submission #11369 for ' Operate on item level bid options (pinterest)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Pinterest = {
      token: string;
    };
    /**
     * Operate on item level bid options
     * This endpoint supports multiple operations on a set of one or more bid options (bid price and bid adjustments for targeting categories) for retail catalog items.
     */
    export async function main(
      auth: Pinterest,
      ad_account_id: string | undefined,
      body: {
        catalog_id: string;
        items:
          | ({
              item_id: string;
              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"
                | "CS"
                | "DA"
                | "DV"
                | "EL"
                | "EN"
                | "FA"
                | "HE"
                | "HI"
                | "HY"
                | "IW"
                | "JA"
                | "KA"
                | "KO"
                | "LO"
                | "NB"
                | "SQ"
                | "UK"
                | "TE"
                | "XX"
                | "ZH";
            } & {
              bid_options: {
                bid_in_micro_currency?: number;
                app_type_multipliers?: {
                  APP_TYPE?:
                    | "android_mobile"
                    | "android_tablet"
                    | "ipad"
                    | "iphone"
                    | "web"
                    | "web_mobile";
                };
                placement_multipliers?: { PLACEMENT?: "SEARCH" | "BROWSE" };
              };
            } & {
              update_mask:
                | "BID"
                | "APP_TYPE_BID_MULTIPLIER_SET"
                | "PLACEMENT_BID_MULTIPLIER_SET"[];
            })
          | {
              item_id: string;
              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"
                | "CS"
                | "DA"
                | "DV"
                | "EL"
                | "EN"
                | "FA"
                | "HE"
                | "HI"
                | "HY"
                | "IW"
                | "JA"
                | "KA"
                | "KO"
                | "LO"
                | "NB"
                | "SQ"
                | "UK"
                | "TE"
                | "XX"
                | "ZH";
            }[];
      },
    ) {
      const url = new URL(
        `https://api.pinterest.com/v5/advanced_auction/items/submit`,
      );
      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