Edits history of script submission #11354 for ' List item issues (pinterest)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Pinterest = {
      token: string;
    };
    /**
     * List item issues
     * List item validation issues for a given feed processing result owned by the "operation user_account".
     */
    export async function main(
      auth: Pinterest,
      processing_result_id: string,
      bookmark: string | undefined,
      page_size: string | undefined,
      item_numbers: string | undefined,
      item_validation_issue:
        | "AD_LINK_FORMAT_WARNING"
        | "AD_LINK_SAME_AS_LINK"
        | "ADDITIONAL_IMAGE_LINK_LENGTH_TOO_LONG"
        | "ADDITIONAL_IMAGE_LINK_WARNING"
        | "ADULT_INVALID"
        | "ADWORDS_FORMAT_INVALID"
        | "ADWORDS_FORMAT_WARNING"
        | "ADWORDS_SAME_AS_LINK"
        | "AGE_GROUP_INVALID"
        | "ANDROID_DEEP_LINK_INVALID"
        | "AVAILABILITY_DATE_INVALID"
        | "AVAILABILITY_INVALID"
        | "BLOCKLISTED_IMAGE_SIGNATURE"
        | "COUNTRY_DOES_NOT_MAP_TO_CURRENCY"
        | "CUSTOM_LABEL_LENGTH_TOO_LONG"
        | "DESCRIPTION_LENGTH_TOO_LONG"
        | "DESCRIPTION_MISSING"
        | "DUPLICATE_PRODUCTS"
        | "EXPIRATION_DATE_INVALID"
        | "GENDER_INVALID"
        | "GTIN_INVALID"
        | "IMAGE_LINK_INVALID"
        | "IMAGE_LINK_LENGTH_TOO_LONG"
        | "IMAGE_LINK_MISSING"
        | "IMAGE_LINK_WARNING"
        | "INVALID_DOMAIN"
        | "IOS_DEEP_LINK_INVALID"
        | "IS_BUNDLE_INVALID"
        | "ITEM_ADDITIONAL_IMAGE_DOWNLOAD_FAILURE"
        | "ITEM_MAIN_IMAGE_DOWNLOAD_FAILURE"
        | "ITEMID_MISSING"
        | "LINK_FORMAT_INVALID"
        | "LINK_FORMAT_WARNING"
        | "LINK_LENGTH_TOO_LONG"
        | "LIST_PRICE_INVALID"
        | "MAX_ITEMS_PER_ITEM_GROUP_EXCEEDED"
        | "MIN_AD_PRICE_INVALID"
        | "MPN_INVALID"
        | "MULTIPACK_INVALID"
        | "OPTIONAL_CONDITION_INVALID"
        | "OPTIONAL_CONDITION_MISSING"
        | "OPTIONAL_PRODUCT_CATEGORY_INVALID"
        | "OPTIONAL_PRODUCT_CATEGORY_MISSING"
        | "PARSE_LINE_ERROR"
        | "PINJOIN_CONTENT_UNSAFE"
        | "PRICE_CANNOT_BE_DETERMINED"
        | "PRICE_MISSING"
        | "PRODUCT_CATEGORY_DEPTH_WARNING"
        | "PRODUCT_LINK_MISSING"
        | "PRODUCT_PRICE_INVALID"
        | "PRODUCT_TYPE_LENGTH_TOO_LONG"
        | "SALE_DATE_INVALID"
        | "SALES_PRICE_INVALID"
        | "SALES_PRICE_TOO_HIGH"
        | "SALES_PRICE_TOO_LOW"
        | "SHIPPING_INVALID"
        | "SHIPPING_HEIGHT_INVALID"
        | "SHIPPING_WEIGHT_INVALID"
        | "SHIPPING_WIDTH_INVALID"
        | "SIZE_SYSTEM_INVALID"
        | "SIZE_TYPE_INVALID"
        | "TAX_INVALID"
        | "TITLE_LENGTH_TOO_LONG"
        | "TITLE_MISSING"
        | "TOO_MANY_ADDITIONAL_IMAGE_LINKS"
        | "UTM_SOURCE_AUTO_CORRECTED"
        | "WEIGHT_UNIT_INVALID"
        | undefined,
      ad_account_id: string | undefined,
    ) {
      const url = new URL(
        `https://api.pinterest.com/v5/catalogs/processing_results/${processing_result_id}/item_issues`,
      );
      for (const [k, v] of [
        ["bookmark", bookmark],
        ["page_size", page_size],
        ["item_numbers", item_numbers],
        ["item_validation_issue", item_validation_issue],
        ["ad_account_id", ad_account_id],
      ]) {
        if (v !== undefined && v !== "" && k !== undefined) {
          url.searchParams.append(k, v);
        }
      }
      const response = await fetch(url, {
        method: "GET",
        headers: {
          Authorization: "Bearer " + auth.token,
        },
        body: undefined,
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 536 days ago