Wordpress es uno de los CMS más utilizados en Internet. Cuenta con más del 23,4% de las páginas web construidas con CMS (según wikipedia). Así que es posible que sea una parte importante en nuestras organizaciones, empresas, proyectos, etc.
Aparte de nuestro Wordpress es posible que contemos con aplicaciones de escritorio, Smartphone u otras aplicaciones web para desarrollar la actividad principal. ¿Cómo centralizamos nuestros sistemas?, ¿cómo actualizo/modifico el contenido de mi Wordpress desde otro sistema?, ¿cómo engancho mi ERP, tienda online, aplicación con mi página en Wordpress?. Para todo esto existen los web services.
¿Qué problema solucionan?
En palabras del libro "Computación distribuida" Los servicios web proporcionan servicios de red transportados por HTTP, y están siendo propuestos como una nueva forma de construir aplicaciones de red desde componentes distribuidos (servicios) independientes del lenguaje y de la plataforma. Estos servicios de red se pueden integrar dinámicamente, según se necesite.
Vamos a hablar de crear un API de servicios web con REST y en Wordpress. Esto nos permitirá leer o manipular datos utilizando HTTP a través de sus típicas acciones POST, GET, PUT y DELETE.
¿Qué tipo de problemas solucionan?
Imaginemos un par de 'problemas' donde nos vendría bien.
- Proyecto desarrollado sobre Wordpress y ahora queremos lanzar una aplicación móvil usando los datos de la web.
- Tenemos una tienda online y un Wordpress para ofrecer productos/servicios y ahora queremos comunicar ambos sistemas de una forma sencilla y mantenible.
Evidentemente habrían más situaciones donde esta solución distribuida resolvería nuestros problemas.
Wordpress REST API
Actualmente se puede utilizar en forma de plugin, aunque es muy posible que lo integren en el core. Esto puede suponer un gran avance en el desarrollo sobre Wordpress.
En la sección de plugins de nuestro Wordpress podremos encontrar una gran variedad de creadores de servicios REST. En nuestro caso nos centraremos en WP API REST que encontraremos aquí (versión beta en desarrollo 2.0 de GitHub) o la versión estable si queremos una versión para poner en producción.
Como siempre, antes de hacer nada leeremos su documentación.
Haciendo uso del plugin
Tras instalarlo podemos comprobar de una forma sencilla que funciona haciendo la siguiente llamada.
Y esto nos devolverá un JSON con los datos como el nombre de la web, su descripción, url y lo que más puede interesarnos, las rutas (routes). Las rutas son los prototipos de URL a través de las cuales podremos acceder a su información con GET, PUT, etc. En mi caso queda algo así.
Trabajando con las peticiones
Para que nuestra aplicación de Smartphone (de uno de los problemas planteados) pudiese leer la información de Wordpress y representarlo, sólo tendríamos que llevar a cabo llamadas a los servicios web. A continuación vamos a listar unas cuantas operaciones para comprender su funcionamiento.
- Listar todos los artículos: Usando método GET
- Listar solo el artículo con id: Usando método GET
- Añadir un nuevo artículo*: Usando método POST
y enviar un JSON o una llamada HTTP multipart body con los valores * Eliminar un artículo*: Usando método DELETE
*Estas llamadas requieren de autentificación ya sea por OAuth (perfecto para clientes externos como una app Smartphone/web externa/aplicación escritorio) o por identificación mediante cookie de sesión (si estamos en el mismo sitio).
Por defecto Wordpress REST API tiene acceso a las propiedades básicas. Es muy posible que para nuestro software necesitemos o bien modificar estas consultas o bien añadir nuevos puntos de acceso. Para ello sólo tendremos que crear nuestro fichero .php y usar los métodos usados en el propio plugin.
Fácil ¿verdad?, ¿piensas que te puede venir bien en algún proyecto/trabajo/idea?. ¡Cuéntanos! ;)
Más información | wp-api
Ver todos los comentarios en https://www.genbeta.com
VER 0 Comentario