¿Qué es la API REST de WooCommerce?

Con la versión 2.1 de WooCommerce se han introducido multitud de mejoras y nuevas funcionalidades. Una de esas nuevas funcionalidades que se han integrado y probablemente la más revolucionaria, es la API REST de WooCommerce.

Pero antes de seguir avanzando, me gustaría aclarar qué es una API (del inglés Application Programming Interface) para que aquellos que no estén familiarizados con este concepto, puedan entender lo que voy a tratar más adelante en este artículo.

Una API se podría definir como un conjunto de funciones o métodos que ofrece cierta biblioteca para que puedan ser utilizados por otro software. La gran ventaja de usar APIs es que permiten implementar funciones o métodos en cualquier proyecto sin necesidad de reescribirlos de nuevo. Lo cual ahorra mucho tiempo y hace que el software tenga una estructura mucho más limpia.

La API REST sin embargo, es un caso particular de API, ya que todos los métodos o funciones de la biblioteca están apoyados en el estándar HTTP. Es decir, se usan para conectar diferentes aplicaciones web.

Por tanto, la API REST de WooCommerce permite que otras aplicaciones web de terceros usen los métodos de su biblioteca para conectarse a tu plataforma e-commerce de manera segura.

¿Qué mejoras supone la nueva API REST de WooCommerce?

Con la nueva API REST de WooCommerce se abre un nuevo mundo de posibilidades para todas las tiendas online implementadas con esta plataforma.

Ahora ya es posible conectar cualquier aplicación web externa a tu tienda online para que pueda tener acceso a todo tipo de información. Siempre bajo tu control claro está.

Con esto quiero decir que desde tu panel de administración de WordPress puedes definir que tipo de privilegios otorgas a la aplicación que quiere conectarse a tu tienda. Existen 3 tipos de permisos:

  1. Sólo lectura. La aplicación que se conecte a tu tienda sólo puede leer información para después procesarla y mostrarla a sus usuarios.
  2. Sólo escritura. La aplicación con permisos de escritura puede actualizar el estado del pedido.
  3. Lectura y escritura. Puede tanto leer información, como modificar el estado de un pedido.

Cómo se activa la API REST de WooCommerce y qué se necesita para usarla.

Para activar la API REST de tu tienda WooCommerce simplemente tienes que entra en «WooCommerce > Ajustes > General» y marca la casilla que dice «Activar la API REST«.

Una vez activada API REST, para que la aplicación en cuestión pueda conectarse a tu tienda y hacer consultas de forma segura -se recomienda tener instalado un certificado SSL-, hay que generar unas claves únicas. Estas claves reciben el nombre de «Clave de cliente« y «Clave secreta«. Para generarlas tienes que seguir los siguientes pasos:

  1. Entrar en «Usuarios > Todos los usuarios«, busca el usuario al que deseas dar acceso a la API REST de tu tienda y haz clic sobre él.
  2. Una vez dentro del panel de edición del usuario, desplázate abajo del panel para marcar la casilla «Generar clave para la API» y haz clic en «Actualizar perfil«.
  3. Vuelve a desplazarte abajo del panel y ya podrás ver las claves generadas para ese usuario. Sólo falta que selecciones que tipo de permisos quieres darle (Leer, Escribir o Leer/Escribir) y por último hacer clic en «Actualizar perfil» para guardar la configuración.
    Generar claves para la API REST de WooCommerce

Con esto ya tendrás las claves para poder conectar tu aplicación a tu tienda WooCommerce a través de la API REST.

Comunicando con WooCommerce a través de la API REST.

Para comunicarte con tu tienda WooCommerce a través de la API REST puedes hacerlo de forma muy sencilla con una librería cliente escrita en PHP por Gerhard Potgieter, el cual también forma parte del equipo de desarrollo de WooCommerce. Puedes descargarla desde su repositorio de Github.

Incluyendo esta librería en el código de tu aplicación y usando los métodos de la clase cliente «class-wc-api-client.php» podrás conectarte a tu tienda WooCommerce, hacer consultas o actualizar pedidos en base a los permisos que tengas otorgados.

Una consideración que debes tener en cuenta para evitar que la API REST te devuelva un error al conectar con tu tienda WooCommerce, es asegurarte de tener activados y configurados correctamente los enlaces permanentes de WordPress. Puedes comprobarlo en «Ajustes > Enlaces permanentes» y en el apartado «Ajustes comunes» debe estar marcada cualquiera de las opciones excepto la de «Predeterminado«.

Aunque no haya entrado en detalles, reconozco que este artículo ha sido bastante más técnico que los que vengo publicando hasta ahora. Pero tranquilo, no tengo pensado cambiar la línea editorial del blog, sólo que creía conveniente explicar un poco por encima qué es la REST API de WooCommerce, puesto que supone un gran avance para la plataforma.

Así que no te preocupes porque los próximos artículos seguirán en la misma línea de los anteriores, mucho más prácticos y siempre con el objetivo de aclarar dudas sobre la configuración de WooCommerce o resolver problemas que vayan surgiendo.

25 comentarios en “¿Qué es la API REST de WooCommerce?”

  1. tengo dudas, yo realize un sistema web y aparte un sistema con woocommerce existe posibilidad de conectarlos, quiero hacerlos por mysql queries pero primero pruebo modificando directamente en las tablas y no veo cambios en el navegador

  2. Hola,
    Estoy necesitando conectar mi tienda Woocommerce con mi Dynamic CRM.
    Conoces algun template o alguna biblioteca que simplifique la tarea?
    Gracias,

  3. Hola Antonio, tengo un CRM en el que creo y actualizo los datos de mis propiedades (inmuebles). Por otra parte tengo creada una web en la que visualizo la información (o eso pretendo) de estos inmuebles, pero que no puedo/quiero actualizar, solo mostrar.
    No se programar en php y solo conozco la filosofía API RESTful de forma teorica.
    ¿ Sabrias decirme si podría utilizar el plugin API REST de WordPress para poder realizar peticiones asincronas desde mi web contra el servidor deL CRM y así poder actualizar de FORMA AUTOMATICA la información de las propiedades en mi web ?
    La web la tengo en el Servidor (Hosting) contratado con WebEmpresa y la he desarrollado en WordPress-

    Muchas gracias de antemano

  4. Hola!
    Acabo de hacer lo que me indicas. En local me funciona sin problemas pero cuando subo el ejemplo me devuelve el error: «Falta el parámetro oauth_consumer_key [woocommerce_api_authentication_error] 404». ¿A qué puede ser debido?
    Saludos y gracias por adelantado

  5. Hola Antonio, muy buen artículo. Soy relativamente nuevo en esto, y tengo una consulta, espero puedas aclararme. Si con la API Rest puedo conectar dos aplicaciones web, ¿cómo haría si la aplicación está en un servidor local y yo necesito conectar su base de datos en sql con mi tienda woocommerce, y quisiera que al actualizar los productos de mi base de datos en el localhost esto logre automáticamente replicarse en mi tienda woocommerce. ¿Es esto posible con la API Rest? sino, ¿alguna idea para lograr esto?. Desde ya muchas gracias!

    1. Hola Ronald,

      Sería posible hacer llamadas a la Rest API desde tu servidor local a tu tienda online, pero no al revés. O por lo menos, yo no conozco la forma.

      Además tendrías que tener tu PC siempre encendido y con el servidor local corriendo para que las llamadas programadas a la API se realizaran con éxito.

      Saludos!

  6. Hola Antonio, Muchas gracias por este articulo! He instalad Stripe en Woocommerce y me da bien el test, pero no puedo pasar a Live. Cuando lo hago desaparece la opción en el checkout. Me he mirado todo y acabo de cambiar la recomendación que haces del permalink. No se si me puedes orientar para solucionarlo.
    Muchas gracias! Un salduo,

    Adelina

  7. Antonio! muy buen artículo, veo que ya es de hace un año pero me resulto muy útil, mientras te escribo tengo una duda, espero me puedas apoyar, tengo un proyecto donde implemente una tienda en línea utilizando woocommerce, la tienda trabaja con un proveedor droppshipping,

    Nos provee de una API, ya nos autorizaron y entregaron access token y userid, pero no tiene mas info o guía para la implementación, alguna idea o plugin que conozcas que nos permita hacer esta integración con wordpress, la API es de focalprice.

    Saludos!!

    1. Hola David,

      No conozco la API de Focalprice y de todas formas, sería un tema bastante complejo y extenso de explicar a través de los comentarios :-/

      Siento no poder ayudarte en eso.

      Un saludo!

    2. Hola David has encontrado alguna solucion, tambien necesito enlazar el stock de mi proveedor con mi stock de productos, que se mantengan actualizados, gracias me gustaria que te contactaras conmigo andresgarciaca@gmail.com

      1. Hola Andres no se si conoces nuestra pagina dropwp.com, somos especialistas en lo que indicas.
        Tenemos muchos sincronizadores con mayoristas de productos. Todos nuestros plugins sincronizar stock y precios.

  8. Me respondo, usando este metodo obtengo respuesta.

    https://www.example.com/wc-api/v3/orders?consumer_key=123&consumer_secret=abc

    Felicidades por la web.

  9. Hola, Antonio:
    Tengo una aplicacion en c# y quiero conectar la api, la conexion me tira error.
    He mirado el manual y he probado llamar a la api desde el navegador con:

    https://www.example.com/wc-api/v3/orders \ -u consumer_key:consumer_secret

    Mi web es https.
    Sale la ventana de user y pass pero me dice que no son validas, y son validas.
    ¿sabes cual puede ser el problema?

  10. Hola Antonio tengo una consulta para hacerte. Existe algún plugin o addon para Woocommerce que me permite llevar la caja diaria de un comercio. Es decir registrar los ingresos y egresos de dinero producido por la venta de productos y las salidas de dinero por diversos conceptos. Estos ingresos o egresos pueden ser con cheques, efectivo, tarjetas, etc. O tal vez de WordPress que se linkee con Woocommerce. Desde ya muchas gracias por tus muy buenos conceptos. Richard

  11. Gracias Antonio por tu abierto aporte en woocommerce. No soy ni diseñador, ni programador, solo un emprededor debutanto con woocommerce, self made !!!

    Seguiré estudiando tu abundante biblioteca!

    Nuevamente gracias y muy intresante tu aporte de API Rest, había pasado por ahí, pero ni siquiera sabía a que se refería, pero percibo su tremenda potencialidad!

  12. ¿Cualquier programa de gestión se puede conectar?
    Estaba buscando algo así y nos pedían una fortuna para sincronizar la tienda woocomerce con el programa de gestión de la tienda.
    ¿Puede ser debido a que el programa de gestión está desarrollado por una empresa local?

    Enhorabuena por tu blog, logras de una manera sencilla instruirnos a la perfección.

    1. Hola Sara,

      El hecho de que WooCommerce disponga de su propia API REST garantiza que cualquier aplicación web se pueda conectar a tu tienda. Pero eso no quiere decir que sea fácil ni barato :-/

      Supongo que te pedirían una fortuna porque para sincronizar tu tienda con el software de gestión hace falta desarrollar una aplicación que integre ambas plataformas.

      Además, si me dices que no es un programa de gestión extendido, sino que es una solución desarrollada a medida, entonces los precios se disparan.

      De todas formas, sé que existen soluciones para integrar WooCommerce con sistemas ERP. Este es un ejemplo: http://www.modernretail.com/pos-integrations/e-commerce-platforms/woocommerce/

      Espero haberte aclarado dudas.

      Saludos!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Responsable: Antonio Cantero, siendo la Finalidad; envío de mis publicaciones así como correos comerciales. La Legitimación; es gracias a tu consentimiento. Destinatarios: tus datos se encuentran alojados en mi plataforma de email marketing Active Campaign ubicada en EEUU y acogida al Privacy Shield. Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos en contacto@woodemia.com

Scroll al inicio