Anteriormente habíamos visto cómo usar la REST API de WordPress, sin embargo también hay plugins que tienen funcionalidad de REST API integrada, en este caso veremos cómo usar la REST API de Woocommerce.
1- Activando la REST API de Woocommerce
Para activar la REST API de Woocommerce puedes hacerlo desde el dashboard de WordPress: Woocommerce > Ajustes> Avanzados > REST API.
2- Generando las Claves
En la misma pantalla de activación, verás una opción de Claves/Aplicaciones, desde aquí puedes agregar nuevas claves.
Al añadir clave verás la siguiente pantalla, en donde puedes llenar datos de la nueva clave, para este ejemplo usaremos una clave con permiso de lectura para el usuario administrador.
Tras guardar los cambios verás la generación de las claves, la clave de usuario, la clave secreta y también en código QR. Guarda los textos de las claves generadas ya que lo usaremos posteriormente.
3- Usando la REST API desde una aplicación externa
Hay disponibles algunas librerías preparadas para usar la REST API de Woocommerce, en nuestro ejemplo usaremos una librería para trabajar con PHP.
- Primero, asegúrate de tener composer instalado.
- Desde tu terminal, crea un nuevo proyecto composer
composer init - Luego instal el paquete de dependencia
composer require automattic/woocommerce - Finalmente crea el archivo .php con el siguiente código y reemplaza la url del sitio de origen y las claves anteriormente generadas.
require __DIR__ . '/vendor/autoload.php'; use Automattic\WooCommerce\Client; $woocommerce = new Client( 'http://TuSitioWoocommece.com', 'ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', [ 'version' => 'wc/v3', ] ); print_r($woocommerce->get('products'));En la parte final del código verás que se recupera todos los productos desde el sitio web con Woocommece, para saber que otros métodos tienes disponibles revisa la documentación oficial de Woocommerce REST API.
Ver comentarios (55)
Excelente post e vídeo postado, mas há outros exemplos, tutos mais simples, e prático para leigos?
Hola quiero conectarme con la app desde un iPhone y me sale el siguiente mensaje no valid woocommerce API found check your URL, me podrían indicar cuál podria ser el inconveniente?
Revisa la estructura de los enlaces permanentes o Permalinks. No debe estar seleccionada la opción por defecto.
Como poner esto con credibanco
Hola quiero conectarme con la app desde un iPhone y me sale el siguiente mensaje no valid woocommerce API found check your URL, me podrían indicar cuál podria ser el inconveniente? He revisado, las opciones de los enlaces permanentes están bien
Hola, has probado primero con el código PHP de ejemplo en este artículo?, esto para descartar si hay algún problema con la API de origen.
Hola amigo necesito hacer ese trabajo de transferir un catalogo de mi provedor a,mi tienda,online necesito que se comunique con migo att,rodolfo
Hola Rodolfo, he eliminado tu correo, no deberías dejar tus datos públicos en comentarios, escríbeme a través del formulario de contacto: https://decodecms.com/contacto/
Necesito recorrer todos los productos y actualizar segun SKU con el xml que me otorgan. Sugerencias?
1000 gracias por este magnifico tutorial.
Hola, de manera general puedes usar la API de Woocommerce para ir actualizando los productos de acuerdo al bucle que crees para leer el XML, entenderás que sólo puede darte generalidades ya que es un tema de programación.
@Cristão, ¿Tengo que hacer lo mismo que usted, ha conseguido alguna solución?
Hola amigo, estoy intentando conectar mi API con un proyecto en angular e Ionic, pero realmente no puedo, ya he intentado de todo, hice lo de los links permanentes, y no obtengo nada, puedo conseguir un array pero de otras cosas, como de los post de WP, pero de los productos de WC no.
Hola, prueba primero tu API, usa el código de ejemplo en PHP que uso en este artículo, con eso descartas si es un problema con la API o con tu código cliente.
Hola necesito integrar un metodo de pago por medio de una api a mi woocommerce como podria hacerlo?
Hola, en el caso que comentas la API sería por parte de tu método de pago, sin embargo existen ya muchos plugins para WooCommerce de métodos de pago, asegúrate primero de buscar si ya hay algún plugin que use el método de pago que estas tratando de usar.
Hola, necesito integrar un HTML enviado por un proveedor con el objetivo de actualizar el inventario de los productos en tiempo real, como lo hago?
Hola Jorge te he respondido a través del formulario de contacto.
Hola, necesito conectarme pero por Node.js, y me sale un error en una de las dependencias de requeri, por que será?
Excelente tutorial .. quiero agradecerte por tanto amigo..
Tengo una consulta, espero me puedas ayudar.. tengo que sincronizar el stock de mi tienda woocommerce con el stock de sistema de facturación en la tienda física.. crees que comparar el stock de productos por el SKU y modificar su valor es posible con el API o cual sería la mejor práctica a realizar?
Hola, si claro, puedes usar la API de WooCommerce, sin embargo usa el ID, revisa este código de ejemplo: https://stackoverflow.com/questions/29258405/updating-stock-via-woocommerce-api-v2