Class ProductsResource

Hierarchy

  • Resource
    • ProductsResource

Constructors

Methods

  • Los catálogos de la cuenta. Es de donde sale el idCatalog de todo lo demás.

    total es la longitud de la página, así que nunca dice que haya otra.

    Parameters

    Returns Promise<
        Paginated<
            {
                default_image_url?: string;
                feed_count?: number;
                id?: string;
                is_catalog_segment?: boolean;
                is_local_catalog?: boolean;
                name?: string;
                product_count?: number;
            } & { [key: string]: unknown },
        >,
    >

  • Da de alta un producto en un catálogo, o actualiza uno existente si el cuerpo trae id. Devuelve el identificador en la red, no el producto.

    Parameters

    • idOrganization: string
    • idAccount: string
    • idCatalog: string
    • product: {
          additional_image_urls?: string[];
          availability?:
              | "pending"
              | "in stock"
              | "out of stock"
              | "preorder"
              | "available for order"
              | "discontinued"
              | "mark_as_sold";
          brand?: string;
          category?: string;
          color?: string;
          condition?: | "new"
          | "refurbished"
          | "used"
          | "used_like_new"
          | "used_good"
          | "used_fair"
          | "cpo"
          | "open_box_new";
          currency: string;
          description?: string;
          id?: string;
          image_url: string;
          name: string;
          price: number;
          retailer_id: string;
          url?: string;
      } & { [key: string]: unknown }
      • Optionaladditional_image_urls?: string[]
      • Optionalavailability?:
            | "pending"
            | "in stock"
            | "out of stock"
            | "preorder"
            | "available for order"
            | "discontinued"
            | "mark_as_sold"
      • Optionalbrand?: string
      • Optionalcategory?: string
      • Optionalcolor?: string
      • Optionalcondition?:
            | "new"
            | "refurbished"
            | "used"
            | "used_like_new"
            | "used_good"
            | "used_fair"
            | "cpo"
            | "open_box_new"
      • currency: string

        ISO 4217 code, for example EUR.

      • Optionaldescription?: string
      • Optionalid?: string

        Send it to update an existing product. Leave it out to create one.

      • image_url: string
      • name: string
      • price: number

        In cents of currency. 1250 is 12,50.

      • retailer_id: string

        Your identifier for the product. It is what ties the Meta catalogue to your system.

      • Optionalurl?: string

        The product's page on your site.

      • [key: string]: unknown
    • options: RequestOptions = {}

    Returns Promise<string>

  • Crea un catálogo y devuelve su identificador, no el catálogo.

    El campo de la respuesta se llama product_catalog y lleva una cadena; para ver el resto hay que volver a pedir catalogs.

    Parameters

    • idOrganization: string
    • idAccount: string
    • catalog: { name: string }
    • options: RequestOptions = {}

    Returns Promise<string>

  • UN producto, por su identificador en la red (el de Meta, no un _id de PlanVortex).

    El servidor reenviaba ese filtro con un nombre que el SDK no lee, así que nunca llegaba a la red y la llamada moría con un 2000; se arregló el 2026-08-24 y aquí se expone desde la 0.3.0.

    La respuesta viene con otra forma que la del listado. Pedir un producto suelto va al nodo de ese producto, así que la red contesta con el producto y items trae un objeto. Por eso esto es un método aparte y no un argumento de list: con un objeto no se construye una página. Se acepta también una lista, que es lo que devolvería un despliegue que envolviera la respuesta, y coger el primero es mejor que reventar por la forma del sobre.

    const product = await pv.products.get(orgId, accountId, "7123456789012345");
    

    Parameters

    • idOrganization: string
    • idAccount: string
    • productId: string
    • options: RequestOptions = {}

    Returns Promise<
        {
            additional_image_urls?: string[];
            availability?: | "pending"
            | "in stock"
            | "out of stock"
            | "preorder"
            | "available for order"
            | "discontinued"
            | "mark_as_sold";
            brand?: string;
            category?: string;
            color?: string;
            condition?: | "new"
            | "refurbished"
            | "used"
            | "used_like_new"
            | "used_good"
            | "used_fair"
            | "cpo"
            | "open_box_new";
            currency: string;
            description?: string;
            id?: string;
            image_url: string;
            name: string;
            price: number;
            retailer_id: string;
            url?: string;
        } & { [key: string]: unknown },
    >

  • Los productos de un catálogo, encadenando páginas.

    Corta cuando llega una página más corta que el limit, no cuando llega a total: en esta lista total vale 0 siempre.

    Parameters

    Returns AsyncGenerator<
        {
            additional_image_urls?: string[];
            availability?: | "pending"
            | "in stock"
            | "out of stock"
            | "preorder"
            | "available for order"
            | "discontinued"
            | "mark_as_sold";
            brand?: string;
            category?: string;
            color?: string;
            condition?: | "new"
            | "refurbished"
            | "used"
            | "used_like_new"
            | "used_good"
            | "used_fair"
            | "cpo"
            | "open_box_new";
            currency: string;
            description?: string;
            id?: string;
            image_url: string;
            name: string;
            price: number;
            retailer_id: string;
            url?: string;
        } & { [key: string]: unknown },
    >

  • Los productos de un catálogo.

    idCatalog es obligatorio de hecho aunque la API lo pinte opcional: sin él la petición falla con el error 2000. Para pedir un producto por su identificador, get — no es un argumento de aquí porque la respuesta viene con otra forma.

    const { data } = await pv.products.list(orgId, accountId, catalogId, { limit: 50 });
    

    Parameters

    Returns Promise<
        Paginated<
            {
                additional_image_urls?: string[];
                availability?: | "pending"
                | "in stock"
                | "out of stock"
                | "preorder"
                | "available for order"
                | "discontinued"
                | "mark_as_sold";
                brand?: string;
                category?: string;
                color?: string;
                condition?: | "new"
                | "refurbished"
                | "used"
                | "used_like_new"
                | "used_good"
                | "used_fair"
                | "cpo"
                | "open_box_new";
                currency: string;
                description?: string;
                id?: string;
                image_url: string;
                name: string;
                price: number;
                retailer_id: string;
                url?: string;
            } & { [key: string]: unknown },
        >,
    >