REST API de WordPress: qué es y cómo funciona
¿Estás buscando un tutorial para principiantes sobre WordPress REST API? Entonces has venido al lugar correcto. En este artículo, te presentaremos el proyecto de WordPress API REST, te explicaremos por qué es tan importante y te ofreceremos algunas ideas sobre cómo usarlo.
Descarga la hoja de trucos de WordPress definitiva
Tabla de Contenidos
Qué es la API REST de WordPress
El proyecto API de Transferencia de Estado Representacional (REST, por sus siglas en inglés) es un estilo arquitectónico de software que determina cómo los servicios web se comunican entre sí a través del Protocolo de transferencia de hipertexto.
En junio de 2013, Ryan McCue y Rachel Baker de WordPress subieron el proyecto REST API a GitHub. Después de obtener mucho apoyo público y atraer a casi 100 contribuyentes para mejoras futuras, el proyecto se agregó al núcleo de WordPress en Diciembre de 2015.
Ahora, casi todos los profesionales que trabajan con WordPress han oído hablar de la API REST. Sin embargo, desde su integración principal, solo los desarrolladores avanzados se han tomado el tiempo de aprender qué tan poderosa puede ser esta nueva función. Esto es muy desafortunado ya que esta herramienta puede abrir infinitas posibilidades para extender tu sitio web de WordPress.
WordPress REST API tiene como objetivo proporcionar una API que se pueda integrar con temas, aplicaciones móviles y más. Permite que WordPress interactúe con cualquier aplicación y los desarrolladores pueden incluso usarlo para crear sus propias API.
Aquí hay algunas maneras en que puedes aprovecharlo en tus proyectos, todas salidas de ejemplos reales:
- Event Espresso utiliza la API REST para proporcionar acceso de desarrollador a su infraestructura interna, lo que hace posible desarrollar aplicaciones basadas en sus servicios.
- Simmer, un plugin de recetas de WordPress, permite a los desarrolladores crear sus propias aplicaciones de recetas utilizando su API de desarrollador.
Cómo funciona la API REST de WordPress
Hay muchos tipos de interfaces de programación de aplicaciones (API), pero REST se destaca como un estándar moderno. Funciona manipulando datos textuales de un lugar a otro sin acceso directo a una base de datos o interfaz de usuario.
Las API REST se entregan a través de puntos finales de Protocolo de Transferencia de Hipertexto (HTTP), utilizando el formato de JavaScript Object Notation (JSON). Estos puntos finales representan las publicaciones, páginas y otros tipos de datos de WordPress.
Si nunca antes has trabajado con JavaScript o su notación de objetos, una buena idea es comenzar por aprender los principios básicos de JSON. Esto te ayudará a comprender mejor este tutorial de API REST de WordPress.
Por qué la API REST de WordPress es importante para los desarrolladores
Gracias al formato JSON, la API REST de WordPress permite a WordPress intercambiar datos con otros sitios web y software escritos en cualquier lenguaje de programación. Por lo tanto, los desarrolladores ya no están limitados a PHP, y pueden usar WordPress para manejar los datos a través de REST API.
El enfoque creciente en la API indica un cambio en cuáles son los lenguajes de programación más relevantes para aprender. Debido a que la API REST está basada JavaScript, pronto nos podríamos encontrar con que JavaScript del lado del servidor es el nuevo PHP.
Esto ya se puede ver en el nuevo software de WordPress.com, Calypso, que se ejecuta completamente en JavaScript y la API REST.
Adicionalmente, al estandarizar la forma en que las aplicaciones interactúan con los datos de WordPress, el desarrollo de WordPress será más simple e intuitivo.
Por esa razón, nuestro tutorial de API REST de WordPress está aquí para alentarte a prestar más atención a esta función.
5 pasos para comenzar con la API REST de WordPress
En este tutorial de API REST de WordPress, utilizaremos la interfaz de línea de comandos (CLI) para ejecutar todas las solicitudes. La CLI te permite interactuar fácilmente con la API REST sin tener que escribir scripts adicionales para solicitar y procesar la información.
Lo primero que debes hacer es abrir un programa CLI en tu computadora: Terminal para macOS y Linux, y PuTTY para Windows. Después de eso, copia tu dirección IP compartida o dedicada e inicia sesión con tus credenciales SSH.
También recomendamos usar un sitio de demostración o pruebas locales para este tutorial. Además, asegúrate también de que se ejecute en WordPress versión 4.4 o superior.
Paso 1: familiarízate con los conceptos clave de la API REST
Comenzaremos nuestro tutorial de API REST de WordPress explicando los conceptos y términos clave:
- Rutas y Puntos finales: una ruta es una URL que puedes asignar a diferentes métodos HTTP, mientras que un punto final es una conexión entre un método HTTP individual y una ruta. /wp-json/ es un ejemplo de una ruta y contiene todos los puntos finales correspondientes.
- Peticiones: son una instancia de WP_REST_Request. Se utilizan para almacenar y recuperar información para la solicitud actual.
- Respuestas: proporcionan los datos que solicitaste o devuelven un error que te permite saber qué fue lo que salió mal.
- Esquemas: muestran una lista de todas las propiedades y parámetros de entrada que la API REST puede aceptar y devolver.
- Clases de controlador: es el lugar donde administras las partes móviles de la API REST.
Paso 2: conoce los puntos finales más útiles de la API REST
En esta parte del tutorial de la API REST, te mostraremos varios puntos finales útiles de la API REST que puedes probar con tu sitio:
- En primer lugar, querrás saber cómo construir una llamada HTTP a la API REST. La base de cada llamada a la API REST de WordPress es la siguiente:
http://tudominio.com/wp-json/
- Luego, puedes probar la conexión ejecutando el comando curl en tu CLI:
curl -X OPTIONS -i http://tudominio.com/wp-json/
Deberías ver un mensaje de HTTP exitoso:
HTTP/1.1 200 OK Date: Wed, 23 Oct 2019 19:51:41 GMT Server: Apache/2.4.29 X-Robots-Tag: noindex Link: <http://yourdomain.com/wp-json/>; rel="https://api.w.org/" X-Content-Type-Options: nosniff Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages Access-Control-Allow-Headers: Authorization, Content-Type Allow: GET Transfer-Encoding: chunked Content-Type: application/json; charset=UTF-8
- A continuación, puedes repetir este comando utilizando varios de los puntos finales principales. Esta vez, simplemente usaremos la versión GET de curl para obtener una lista JSON de sus publicaciones de WordPress. Para hacerlo, puedes usar el siguiente comando:
curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts
Alternativamente, intenta esto para ver todas tus páginas de WordPress existentes:
curl -X GET -i http://tudominio.com/wp-json/wp/v2/pages
Si deseas ver más ejemplos, la API REST de WordPress ofrece un manual de referencia que contiene muchos puntos finales útiles.
Paso 3: aprende los conceptos básicos de autenticación de la API REST
Algunas acciones y datos dentro de la API REST son públicos, mientras que otros requieren que inicie sesión como administrador. Sin embargo, dado que es la API REST, no hay ningún lugar para iniciar sesión.
Para solucionar este problema, puedes autenticarte al realizar cualquier llamada que requiera acceso administrativo, como ver contenido no publicado o actualizar una publicación.
Para este tutorial, utilizaremos el plugin Basic Auth de la API REST de WordPress. Es un complemento simple para desarrolladores que te ayuda a conocer la API REST, pero no está destinado a sitios en vivo. Aquí te explicamos cómo instalar el plugin:
- Descarga el plugin de la REST API de WordPress Basic Auth.
- Inicia sesión en tu Panel de WordPress y ve a Plugins -> Agregar nuevo. Haz clic en el botón Cargar plugin y selecciona el archivo zip del complemento.
- Ve al menú Plugins instalados y activa el plugin desde allí.
- Una vez instalado Basic Auth, abre la CLI y autentica una solicitud de API utilizando el indicador user. Aquí hay un ejemplo de cómo aplicar el método de autenticación de usuario, usando curl para ver publicaciones no publicadas::
curl -X GET --user username:password -i http://tudominio.com/wp-json/wp/v2/posts?status=draft
Ahora que conoces la autenticación básica, puedes explorar otros métodos recomendados en la documentación de la API REST.
Paso 4: selecciona tu primera publicación de WordPress con la API REST
Cuando hayas entendido cómo hacer llamadas básicas a la API REST usando el comando curl, puedes seleccionar una publicación específica:
- Primero, enumera todas tus publicaciones como lo hicimos anteriormente:
curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts
- Luego, busca el ID de una publicación que quieras actualizar. Agrega este ID al final de tu consulta para seleccionar solo esa publicación individual:
curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts/<ID>
Puedes usar esto para seleccionar un ID determinado para cualquier punto final de la API REST, ya sea que quieras ver una publicación, página o taxonomía.
Paso 5: actualiza tu primera publicación de WordPress con la API REST
Finalmente, intentemos enviar una actualización a la publicación seleccionada. Para este tutorial de la API REST, intentaremos cambiar el nombre del título de nuestra publicación mediante el comando POST. No olvides incluir las credenciales de autenticación.
Los nuevos cambios se compartirán usando la bandera d al final de nuestro comando.
- En este ejemplo, pasarás una variable de objeto JavaScript personalizada (título) a un valor personalizado (Mi nuevo título):
curl -X POST --user username:password http://tudominio.com/wp-json/wp/v2/posts/PostID -d '{"titutlo":"Mi Nuevo Titulo"}'
Consejo profesional
Asegúrate de reemplazar el nombre de usuario, la contraseña, el ID de la publicación y el nombre del título con sus propios detalles de WordPress.
- Luego, puedes volver a seleccionar la publicación individual para verificar los nuevos cambios:
curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts/PostID
¡Felicidades! Acabas de realizar tus primeras ediciones administrativas con la API REST de WordPress.
Conclusión
La API REST de WordPress es una poderosa adición al núcleo de WordPress y los desarrolladores han comenzado a descubrir sus capacidades, por ejemplo creando Headless WordPress. En consecuencia, embarcarse ahora y aprender a trabajar con ella puede hacerte más valioso como desarrollador y te permitirá crear aplicaciones utilizando los servicios de WordPress.
En este tutorial de la API REST de WordPress, has aprendido los cinco pasos importantes para dominar esta función:
- Familiarízate con los conceptos clave de la API REST.
- Conoce los puntos finales más útiles de la API REST.
- Aprende los conceptos básicos de autenticación de la API REST.
- Selecciona tu primera publicación de WordPress con la API REST.
- Actualiza una publicación de WordPress con la API REST.
Si bien este tutorial de la API REST de WordPress solo considera la superficie de sus capacidades, creemos que sigue siendo un buen punto de partida antes de profundizar en ella.
¿Tienes alguna pregunta? ¡Háznosla saber en la sección de comentarios a continuación!
Aprende más sobre WordPress
Cómo activar WordPress Multisite
Los mejores frameworks de WordPress
Cómo configurar WordPress localmente usando XAMPP
Qué es xmlrpc.php en WordPress y cómo desactivarlo
Comentarios
April 05 2018
Interesantísimo post, muchas gracias.
May 31 2018
Hola, ¿la api rest de wordpress permite obtener sliders, google maps y videos de algun sitio web desarrollado en wordpress para mostrarlo en otro sitio web o aplicacion?
June 11 2018
"Hola Eudys ¿Cómo te encuentras? Recomiendo que leas los siguientes enlaces para obtener la respuesta específica que buscas: 1) https://developer.wordpress.org/rest-api/ (el manual que lo explica todo, desde cómo funciona hasta lo que hace) 2) Un hilo interesante que puede tener información respecto a los Sliders https://wordpress.org/support/topic/loading-slider-via-rest-api/ 3) Otra opción sería que consultes específicamente a desarrolladores de WordPress en StackOverflow.com"
August 04 2018
Excelente post y explicación, muchas gracias!
January 04 2019
Muchas felicitaciones por el Post, está muy claro y con ejemplos precisos, muchas gracias Gustavo B.
February 01 2019
Teniendo el manual y todos los datos que me ha facilitado la empresa, cómo podría integrar una web del tipo civitatis en mi web a través de la API. Tengo conocimientos de WP. Entiendo que necesito instalar el API REST de WP. Qué pasos hay que seguir, es demasiado complicado? Gracias de antemano.
July 25 2019
Muy buena explicación gracias por tu tiempo.
July 25 2019
Hola Christian, gracias por leernos y qué bueno que te haya servido la información :)
August 18 2019
Buen tema, pero para mi Nivel usuario me sale como un error critico de wordpress al instalar un tema y ni idea como arreglarlo o si en algo afectan... Saludos! La REST API es una forma en que WordPress y otras aplicaciones se comunican con el servidor. Un ejemplo es la pantalla del editor de bloques, que se basa en esto para mostrar y guardar tus publicaciones y páginas. La solicitud a la REST API falló debido a un error. Error: [] cURL error 28: Operation timed out after 10001 milliseconds with 0 bytes received La solicitud de loopback a tu sitio ha fallado. Eso quiere decir que las características que dependan de ello no van a funcionar correctamente. Error: [] cURL error 28: Operation timed out after 10000 milliseconds with 0 bytes received
September 04 2019
Hola Hugo, asegúrate de que tu WordPress esté actualizado a la versión más reciente. Y asegúrate de que tu servidor esté ejecutando una versión nueva de la biblioteca PHP y cUrl. Es posible que sea un problema relacionado con el servidor.
September 07 2019
Hola Gustavo soy estudiante de app Android y iOS, programador y diseñador y tengo un ejercicio que realizar el de crear una api en formato json y añadirle a mi app y monstralo por pantalla he visto el ejemplo de mi profesor y el video pero ahora tengo que hacerlo yo con otra pagina que tenga api abiertas pero me hago un lio la verdad, me esta costando hacer este ejercicio me podrías echar una mano. Este es el enunciado de la pregunta:Después de ver cómo trabajar con los archivos JSON para cargar datos en nuestras aplicaciones, vamos a crear una aplicación para repasar lo aprendido. Para ello crearemos una aplicación como la que hemos visto en la unidad. Buscaremos una web que nos ofrezca datos abiertos en formato JSON y los importaremos a nuestra aplicación para que nos los muestre. En el ejemplo se utilizó una web de servicios meteorológicos que nos daba el clima en tiempo real de cualquier ciudad del mundo. En el ejercicio deberemos cargar los datos de cualquier otra web sea del tema que sea y que nos muestre en nuestra aplicación los datos que nos ofrece esa web.
December 16 2019
Hola José, Si lo que quieres es obtener los datos de otra API y no necesariamente codificarla, todo lo que tienes que hacer es llamar a esa API, por ejemplo: abre esto - https://jsonplaceholder.typicode.com/todos/1 puedes ver que inmediatamente obtienes una respuesta. Hay más información sobre como usar estos datos aquí: https://jsonplaceholder.typicode.com/ Ten en cuenta que dependiendo de si es php, iOS o android, las cosas son un poco diferentes.
August 10 2023
Muchisimas gracias por toda la información y orientación super útil, felicidades!