Usando la API de WordPress
En esta ocasión, os presento un artículo «high level» que me comparte un viejo amigo-colaborador de este blog, José Manuel Sanz. En «Usando la API de WordPress», podréis leer que és y para que sirve una API y como se puede configurar en nuestra instalación de WordPress. El uso de las API nos sirve para interactuar con aplicaciones remotas y recoger datos para presentarlos en un formato estandarizado, lo que nos permite montar otras aplicaciones que se alimenten de estos datos como pueden ser app móviles que accedan a datos sin tener que instalar ni gestionar esos datos en nuestros dispositivos.
¿Qué es una API?
Una API es un conjunto de reglas y protocolos que permite que diferentes sistemas o aplicaciones se comuniquen entre sí. Es decir, las API permiten que los desarrolladores interactúen con una aplicación o servicio sin necesidad de acceder a su código fuente directamente. Con ellas, puedes solicitar datos, enviar información o desencadenar acciones de un sistema desde otro.
¿Para qué sirve una API?
Las API sirven principalmente para facilitar la integración y comunicación entre sistemas. Algunos de sus usos comunes son:
– Automatización de tareas: Ejecutar funciones o actualizar datos sin intervención manual.
– Integración de sistemas: Permitir que diferentes aplicaciones trabajen juntas, por ejemplo, una aplicación web que actualiza datos de WordPress automáticamente.
– Extracción de datos: Obtener información de una aplicación para analizarla o utilizarla en otra plataforma, como extraer posts de un blog para mostrarlos en una app móvil.
¿Qué es la REST API de WordPress?
La REST API de WordPress es una interfaz que permite a aplicaciones externas interactuar con WordPress mediante peticiones HTTP. Esto abre un gran abanico de posibilidades: puedes, por ejemplo, gestionar publicaciones, usuarios, medios o configuraciones de WordPress sin necesidad de acceder al panel de administración. Esto es muy útil para desarrolladores que buscan integrar WordPress con otras plataformas, o para construir aplicaciones independientes que consuman contenido de WordPress.
¿Para qué puede servir la API de WordPress?
La API de WordPress tiene múltiples aplicaciones prácticas, algunas de las más comunes son:
– Crear aplicaciones móviles: Integrar contenido y funcionalidades de un sitio WordPress en una app móvil.
– Conectar con otros sistemas: Permitir que un sistema de terceros (como una tienda online o una plataforma de gestión de contenido) utilice los datos de WordPress.
– Gestión remota del sitio: Crear paneles de administración personalizados, o integraciones en software propio, para gestionar contenido sin entrar en el panel de WordPress.
¿Cómo acceder a la API de WordPress?
La API de WordPress está disponible en cualquier instalación de WordPress versión 4.7 o superior. Si tienes acceso a un sitio de WordPress que ya está configurado, puedes acceder a la API de varias formas. Vamos a ver algunos ejemplos:
- Punto de acceso básico:
– La URL de la API es `https://tusitio.com/wp-json/wp/v2/`, donde `tusitio.com` es el dominio del sitio.
– Este punto de entrada ofrece acceso a todos los endpoints de la API, que son rutas para interactuar con diferentes tipos de datos.
- Endpoints comunes:
– Publicaciones (Posts): `/wp-json/wp/v2/posts`
– Páginas: `/wp-json/wp/v2/pages`
– Usuarios: `/wp-json/wp/v2/users` (requiere autenticación para la mayoría de las operaciones)
– Categorías: `/wp-json/wp/v2/categories`
– Medios: `/wp-json/wp/v2/media`
Por ejemplo, para obtener las publicaciones de un sitio, podrías enviar una solicitud `GET` a la URL `https://tusitio.com/wp-json/wp/v2/posts`.¡
Requisitos para Usar la API de WordPress
Para acceder y utilizar la API de WordPress de manera completa, debes cumplir con algunos requisitos:
- Autenticación:
– Aunque algunos endpoints como hemos dicho antes, son de acceso público, como la obtención de posts, para operaciones sensibles (crear, editar o eliminar) necesitas autenticarte.
– Los métodos de autenticación más comunes en WordPress son:
– Autenticación basada en cookies: Utiliza las cookies de usuario, disponible principalmente para aplicaciones en el mismo dominio.
– Basic Auth: Ideal para desarrollo, ya que envía usuario y contraseña en cada solicitud.
– OAuth: Es un método de autenticación segura recomendado para aplicaciones externas.
– JWT (JSON Web Token): Permite autenticación mediante tokens, siendo una opción popular en aplicaciones modernas. Se puede implementar en WordPress mediante un plugin como «JWT Authentication for WP REST API».
- Permisos de usuario:
– Los usuarios de WordPress tienen diferentes permisos según su rol. Para gestionar contenidos, normalmente se necesita una cuenta de administrador o editor.
- Configuración del servidor:
Instala el plugin JWT Authentication for WP REST API. La instalación del mismo es trivial, pero si es necesario hacer un par de ajustes en nuestra instalación de WordPress para que funcione correctamente:
– en el fichero wp-config.php hay que incluir la siguiente linea
define(‘JWT_AUTH_SECRET_KEY’, ‘tu-clave-secreta-segura’);
para tener una clave que nos sirva para encriptar el token JWT.
– en el fichero .htaccess, incluiremos las siguientes redirecciones
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) – [E=HTTP_AUTHORIZATION:%1]
– ahora necesitaremos las credenciales de usuario y contraseña para poder obtener el token. Lo veremos a continuación,
Ejemplos Prácticos de Uso de la API de WordPress
Veamos algunos ejemplos sobre cómo realizar solicitudes a la API de WordPress accediendo a diferentes endpoints a través de Postman:
1- Obtención del token
Método: POST
Url: localhost/wordpress/wp-json/jwt-auth/v1/token
Cuerpo de la petición: {«username»: «admin»,»password»: «tu_contraseña»}
2- Ver todos las entradas publicadas
Método: GET
Url: localhost/wordpress/wp-json/wp/v2/posts
Autorización Bearer: el token obtenido antes.
3- Obtener entrada concreta
Método: GET
Url: localhost/wordpress/wp-json/wp/v2/posts/ID_ENTRADA
Autorización Bearer: el token obtenido antes.
4- Crear una nueva entrada
Método: POST
Url: localhost/wordpress/wp-json/wp/v2/posts/
Autorización Bearer: el token obtenido antes.
Cuerpo de la petición: {«title»: «Mi Nuevo Post»,»content»: «Este es el contenido del post», «status»: «publish»}
5- Actualizar una entrada
Método: PUT / POST
Url: localhost/wordpress/wp-json/wp/v2/posts/ID_ENTRADA
Autorización Bearer: el token obtenido antes.
Cuerpo de la petición: {«title»: «Mi Nuevo Post actualizado»,»content»: «Este es el contenido del post», «status»: «publish»}
6- Eliminar una Publicación
Método: DELETE
Url: localhost/wordpress/wp-json/wp/v2/posts/ID_ENTRADA
Autorización Bearer: el token obtenido antes.
Usos Comunes de la API de WordPress
- Integración de aplicaciones: Puedes construir una aplicación móvil o web que consuma contenido desde WordPress, sin exponer el panel de administración.
- Sincronización de contenidos: La API facilita la sincronización de contenidos entre WordPress y otros sistemas.
- Administración de contenido: Permite la gestión de contenido desde plataformas externas.
- Creación de plugins personalizados: Con la API, puedes desarrollar plugins o aplicaciones que interactúen automáticamente con el contenido.
Conclusión
La API de WordPress es una herramienta poderosa para desarrolladores que desean integrar WordPress con otras aplicaciones o crear experiencias personalizadas. Con la capacidad de gestionar el contenido desde cualquier parte y personalizar la autenticación, puedes llevar la funcionalidad de WordPress más allá del típico sitio web, integrándolo en soluciones complejas o aplicaciones móviles de forma fácil y segura.
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!