WooCommerce carga productos desde una API de terceros

4 minutos de lectura

avatar de usuario
Sha Moh

Estoy empezando con woocommerce. Según la documentación, necesitamos importar productos a nuestra base de datos que deben figurar en nuestro sitio web. Básicamente, la aplicación que estamos desarrollando actúa como una aplicación en la que el papel de la base de datos es mínimo. La aplicación del proveedor proporcionará API para iniciar sesión, cerrar sesión, lista de productos y todo. Todo lo que necesito hacer es integrar esas API en mi aplicación WooCommerce. ¿Cuál es la mejor manera de hacerlo? ¿Hay algún gancho de woocommerce disponible para lograr esto? ¿Hay alguna forma de obtener los productos de la API en lugar de la base de datos?

  • ¿Cuál es el papel de WC en este caso de uso? ¿La API brinda soporte para comprar y agregar al carrito?

    – Junaid

    6 de julio de 2017 a las 1:01

  • Esto es demasiado amplio. O harás esta pregunta un poco más simple o tienes que encontrar un programador que pueda ayudarte a trabajar en ello.

    –Reigel Gallarde

    6 de julio de 2017 a las 1:16

  • No hay ninguna función en WooCommerce que yo sepa que obtenga los productos de otra fuente. Lo más probable es que necesite crear esta función; o importe los productos a la base de datos de WooCommerce.

    –Reigel Gallarde

    6 julio 2017 a las 8:00

  • Bueno. Creo que sé lo que estás tratando de hacer. He estado trabajando en un proyecto que obtiene arte de Adobe Stock. La búsqueda se modificó para obtener elementos de la API de Adobe Stock y simplemente mostrarlos. Si un usuario quisiera comprar cualquier arte, simplemente hará clic en él y se creará un producto para él sobre la marcha utilizando la información de ese elemento API y se agregará al carrito.

    – Junaid

    6 de julio de 2017 a las 13:08

  • Puede modificar sus páginas de listado, es decir, archivos, página de productos, página de un solo producto y pasar la información del producto de una página a otra y usar sus puntos finales de API para obtener la información del producto. Una vez que alguien intente comprarlo, cree uno único (si el producto tiene variaciones) o busque ese producto en WC si ya fue creado por otro usuario y simplemente agréguelo al carrito. ¿Tener sentido?

    – Junaid

    6 de julio de 2017 a las 13:10

Sí, hay muchas maneras de lograr su objetivo. Los mejores y con mínimo esfuerzo y alto rendimiento. Puede obtener la respuesta de la API en la memoria en lugar de la base de datos y luego almacenarla en el caché de Redis.

La memoria caché de Redis expira en un intervalo de tiempo específico, luego se realizará una nueva llamada a la API y la memoria caché se actualizará. Puede programar la frecuencia del almacenamiento en caché en función de su latencia.

Gracias

avatar de usuario
José Gómez

Woocommerce tiene una API REST que funciona bastante bien. Si entendí bien que desea obtener los productos de una fuente externa y “mostrarlos” en su aplicación Woocommerce, creo que primero debe “importarlos” a la base de datos de WP, no puede omitir ese paso. No creo que pueda conectar Woocommerce a su base de datos de proveedores directamente.

Entonces, para importar los productos de sus proveedores a su WC, puede usar la API REST provista. Puede crear fácilmente un producto en Woocommerce usando Curl:

curl -X POST https://example.com/wp-json/wc/v2/products \
    -u consumer_key:consumer_secret \
    -H "Content-Type: application/json" \
    -d '{
  "name": "Premium Quality",
  "type": "simple",
  "regular_price": "21.99",
  "description": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.",
  "short_description": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.",
  "categories": [
    {
      "id": 9
    },
    {
      "id": 14
    }
  ],
  "images": [
    {
      "src": "http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_front.jpg",
      "position": 0
    },
    {
      "src": "http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_back.jpg",
      "position": 1
    }
  ]
}'

Ver completa Documentos API para más información.

EDITAR:

Acabo de recordar que hay una herramienta llamada Importación de todo WP eso te puede ayudar mucho a realizar esta tarea. Por lo que sé, puede programar importaciones automáticas desde fuentes externas XML/CSV. Puede actualizar todo tipo de objetos WP, como productos WC. Podría valer la pena echarle un vistazo.

¿Ha sido útil esta solución?