Edits history of script submission #11276 for ' Get bid floors (pinterest)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Pinterest = {
      token: string;
    };
    /**
     * Get bid floors
     * List bid floors for your campaign configuration.
     */
    export async function main(
      auth: Pinterest,
      ad_account_id: string,
      body: {
        bid_floor_specs: {
          countries?:
            | "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"[];
          currency:
            | "UNK"
            | "USD"
            | "GBP"
            | "CAD"
            | "EUR"
            | "AUD"
            | "NZD"
            | "SEK"
            | "ILS"
            | "CHF"
            | "HKD"
            | "JPY"
            | "SGD"
            | "KRW"
            | "NOK"
            | "DKK"
            | "PLN"
            | "RON"
            | "HUF"
            | "CZK"
            | "BRL"
            | "MXN"
            | "ARS"
            | "CLP"
            | "COP"
            | "INR"
            | "TRY";
          objective_type?:
            | "AWARENESS"
            | "CONSIDERATION"
            | "VIDEO_VIEW"
            | "WEB_CONVERSION"
            | "CATALOG_SALES"
            | "WEB_SESSIONS"
            | "VIDEO_COMPLETION";
          billable_event: "CLICKTHROUGH" | "IMPRESSION" | "VIDEO_V_50_MRC";
          optimization_goal_metadata?: {
            conversion_tag_v3_goal_metadata?: {
              attribution_windows?: {
                click_window_days?: number;
                engagement_window_days?: number;
                view_window_days?: number;
              };
              conversion_event?:
                | "PAGE_VISIT"
                | "SIGNUP"
                | "CHECKOUT"
                | "CUSTOM"
                | "VIEW_CATEGORY"
                | "SEARCH"
                | "ADD_TO_CART"
                | "WATCH_VIDEO"
                | "LEAD"
                | "APP_INSTALL";
              conversion_tag_id?: string;
              cpa_goal_value_in_micro_currency?: string;
              is_roas_optimized?: false | true;
              learning_mode_type?: "NOT_ACTIVE" | "ACTIVE";
            };
            frequency_goal_metadata?: {
              frequency?: number;
              timerange?:
                | "THIRTY_DAY"
                | "DAY"
                | "SEVEN_DAY"
                | "TWENTY_MINUTE"
                | "TEN_MINUTE"
                | "TWENTY_FOUR_HOUR";
            };
            scrollup_goal_metadata?: {
              scrollup_goal_value_in_micro_currency?: string;
            };
          };
          creative_type?:
            | "REGULAR"
            | "VIDEO"
            | "SHOPPING"
            | "CAROUSEL"
            | "MAX_VIDEO"
            | "SHOP_THE_PIN"
            | "COLLECTION"
            | "IDEA"
            | "SHOWCASE"
            | "QUIZ";
        }[];
        targeting_spec?: {
          AGE_BUCKET?:
            | "18-24"
            | "21+"
            | "25-34"
            | "35-44"
            | "45-49"
            | "50-54"
            | "55-64"
            | "65+"[];
          APPTYPE?:
            | "android_mobile"
            | "android_tablet"
            | "ipad"
            | "iphone"
            | "web"
            | "web_mobile"[];
          AUDIENCE_EXCLUDE?: string[];
          AUDIENCE_INCLUDE?: string[];
          GENDER?: "unknown" | "male" | "female"[];
          GEO?: string[];
          INTEREST?: string[];
          LOCALE?: string[];
          LOCATION?: string[];
          SHOPPING_RETARGETING?: {
            lookback_window?: number;
            tag_types?: number[];
            exclusion_window?: number;
          }[];
          TARGETING_STRATEGY?:
            | "CHOOSE_YOUR_OWN"
            | "FIND_NEW_CUSTOMERS"
            | "RECONNECT_WITH_USERS"[];
        };
      },
    ) {
      const url = new URL(
        `https://api.pinterest.com/v5/ad_accounts/${ad_account_id}/bid_floor`,
      );
    
      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 537 days ago