Obtener productos por categoría en Woocommerce REST API

3 minutos de lectura

avatar de usuario
máscara de murciélago

Estoy usando Woocomerce para mi carrito de compras de wordpress. Conecto mi aplicación de Android a mi base de datos de WordPress a través de la API REST de Woocommerce. Necesito obtener productos por categoría en mi aplicación. No hay ninguna disposición en la API REST para obtener productos por categoría.

Lo intenté usando el atributo de filtro:

https://example.com/wc-api/v1/products?filter[product_cat]=gedgets&consumer_key=ck_9354534x&consumer_secret=cs_dx7345345

Esto es devolverme todos los productos.

En este caso deberías usar los filtros…

sin embargo, funcionó para mí:

http://www.ejemplo.com/wp-json/wc/v1/productos?categoría=16

el 16 es una muestra de id de categoría…

  • Muchas gracias, justo lo que estaba buscando.

    – Zujaj Misba Khan

    15 de junio de 2021 a las 7:18

De acuerdo con la Documentación de WooThemes/WooCommerce necesitas usar filterscomo usted dice, solo usted parece tener el nombre del filtro incorrecto.

Probar:

https://mysite.com/wc-api/v1/products?filter[categories]=gedgets&consumer_key=ck_9354534x&consumer_secret=cs_dx7345345

categories es el nombre del campo devuelto por la API, por lo que debería ser lo que use.

  • Agradezco la respuesta. Lamentablemente también devuelve todos los productos.

    – máscara de murciélago

    12 de septiembre de 2014 a las 7:52

  • Necesitas API de descanso de WP complemento para esta API
  • Cree credenciales en woocommmerce->Configuración->Avance, encontrará el enlace REST API después de las pestañas
  • agregue la clave y use Consumer Key y Consumer Secret para escribir el encabezado de autorización OAuth 1.0 y use esta API.

    http://tudominio.com/wp-json/wc/v3/products/?category={IDENTIFICACIÓN}

Utilicé esta API y funciona perfectamente.

En caso de que alguien intente lograr esto en el futuro con la v2 de la API REST de Woo, así es como se hace:

https://${baseUrl}/wp-json/wc/v2/products?category=${categoryId}

Y si solo tiene el slug de la categoría, en lugar de la identificación, primero puede:

https://${baseUrl}/wp-json/wc/v2/products/categories?slug=${categorySlug}

usar filtro[category] en lugar de filtro[categories]

https://ursite.com/wc-api/v1/products?filter[category]=gedgets&consumer_key=ck_9354534x&consumer_secret=cs_dx7345345

  • Esto también funcionó para mí. Use el slug como valor de parámetro para la categoría. También puede agregar otros filtros, agregué un filtro de límite además de la categoría y funciona muy bien

    – Sudipta Bhattacharyya

    19 de abril de 2018 a las 15:09

avatar de usuario
Bhargav Rao

si está buscando productos, filtre por múltiples categorías, use la identificación debajo del punto final de la API:

https://example.com/wp-json/wp/v2/posts?categories=20,30

  • Esto también funcionó para mí. Use el slug como valor de parámetro para la categoría. También puede agregar otros filtros, agregué un filtro de límite además de la categoría y funciona muy bien

    – Sudipta Bhattacharyya

    19 de abril de 2018 a las 15:09

avatar de usuario
Skurt

¿Podría ser un error tipográfico en su filtrado? Me di cuenta de que dice [categories]= gedgets pero debería ser [categories]=gadgets en su lugar?

Estoy tratando de descifrar la API REST de Woocommerce y noté que si escribo algo mal en el filtro, devuelve todos los resultados.

  • No, la babosa es la misma ‘gedgets’. Error de ortografía.

    – máscara de murciélago

    15 de septiembre de 2014 a las 2:31

¿Ha sido útil esta solución?