Hoy os contamos unas pequeñas nociones relacionadas con la integración de API de terceros con WordPress. Tanto si quieres mostrar lugares en tu sitio web con un mapa impulsado por Google, listar eventos desde una página de Meetup o personalizar la forma en que se muestra un feed de medios sociales, una API te permitirá recuperar y utilizar datos alojados en otros lugares de Internet dentro de tu sitio web de WordPress.

Integraciones de API de terceros con WordPress

Integraciones APIs con WordPress

¿Qué es una API?

API significa Application Programming Interface (Interfaz de programación de aplicaciones). Una API es como el camarero que lleva información y platos de ida y vuelta de la cocina. Aplicado al mundo de Internet, permite que varias aplicaciones de la web envíen y reciban datos.

Terminología relevante de la API

Aquí hay un glosario de términos que debes conocer antes de adentrarnos a lo más destacado de este post y para que puedas entender todo el significado:

  • Clave API: Una clave API es el código de autorización que se pasa en una solicitud API a través de un encabezado o parámetro URL, que identifica al solicitante y establece que tiene la capacidad de recuperar los datos solicitados.
  • Autenticación: La autenticación es el proceso de identificación del usuario de la API, ya sea a través de la(s) clave(s) de la API, como se definió anteriormente, o con OAuth (véase más adelante).
  • Cliente: El cliente es la aplicación o el solicitante que inicia la recuperación de datos.
  • Punto final: La dirección web exacta (URI) que apunta a la funcionalidad API solicitada.
  • JSON: JSON significa Javascript Object Notation. Es un formato de datos comúnmente usado para solicitudes de APIs.
  • OAuth: OAuth significa autorización estándar abierta. OAuth es un método alternativo de autenticación que permite el acceso sin compartir directamente las credenciales (en contraste con las claves de la API).
  • REST: La transferencia de estados representativos es un método estandarizado para interactuar con los recursos a través de métodos HTTP (Get – recupera recursos, Post – crea recursos, Put- actualiza los recursos y Suprimir – elimina los recursos).

Ejemplos de integraciones de API en WordPress

Las integraciones de la API están en todas partes. Están potenciando las conexiones que te permiten comprobar el tiempo sin tener que salir de los resultados de búsqueda de Google y mostrar las publicaciones de tus (o las de tus clientes) fuentes de medios sociales en tus sitios web. Un ejemplo muy común que se me viene a la cabeza es mostrar las imágenes de Instagram sincronizadas con tu blog.

Este tipo de integración es tan común que ni siquiera pensamos en lo que lo impulsa. En el caso de WordPress, simplemente instalamos un plugin, configuramos unos pocos ajustes y todo está listo para funcionar. Pero, ¿qué hacemos si no existe un plugin para obtener los datos que queremos?. Aquí es donde puede ampliar sus habilidades de desarrollo y construir su propia integración.

Mostrando los próximos encuentros de Meetup.com

A continuación explicamos un ejemplo de una integración sencilla de la API.

Los próximos eventos se extraen de la API de Meetup.com y, con un shortcode, se muestran en un área de widgets en nuestro sitio web. Este código comienza creando shortcode en WordPress utilizando la API de códigos cortos, que acepta dos atributos . «Count» (limitando el número de eventos a mostrar, en este caso, el valor predeterminado es 5) y «Meetup» (permite reutilizar el shortcode para mostrar eventos de otros grupos de Meetup). Luego se pasan los atributos del shortcode para crear la URI de la solicitud, en este caso http://api.meetup.com/nombreXX-wordpress/events, luego la respuesta JSON es decodificada y formateada en una lista con viñetas de los próximos eventos con el nombre del evento (enlazado a Meetup.com), la fecha y la hora.

Sitios web no públicos

Otro ejemplo interesante del uso de la API es para uso interno o para sitios web no públicos como intranets o portales. Construimos y mantenemos un «portal de patrocinadores» para uno de nuestros clientes que les permite compartir datos con los patrocinadores de sus conferencias. Entre esos datos están los nombres, datos demográficos, currículum vitae e información de contacto de los asistentes a la conferencia que están buscando trabajo y han optado por que sus datos sean compartidos con las empresas.

Estos asistentes compraron entradas para el evento o a través de un widget de entradas publicado en un sitio web independiente. Al comprar las entradas, los asistentes eligen si desean optar por compartir datos. Posteriormente, nuestro portal toma la información de los asistentes de la API del portal de venta y crea un nuevo post. Es un tipo de post personalizado denominado «candidato» dentro de WordPress. Esto permite al organizador de la conferencia pasar información de los asistentes a los patrocinadores del evento sin tener que exportar informes CSV.

Básicamente, el planteamiento para realizar esta integración y lo que deberíamos implementar a nivel de código sería lo siguiente.

Revisa la url de la API de los asistentes del portal de venta como se construye con los datos pasados de los ID de eventos de este portal almacenados en otro lugar. Si los asistentes existen, compruebe primero si ya se ha creado un post en WordPress, utilizando el correo electrónico del asistente como identificador único. Si un post ya existe, se actualizará. Si no existe, se creará uno nuevo. Verifique si los asistentes dieron permiso para que su información fuera compartida y sólo importar o actualizar los registros donde el permiso fue concedido. Busca respuestas a preguntas específicas hechas en el momento de la compra del billete en el portal de venta y guarda las respuestas como meta del puesto o términos de taxonomía adjuntos al puesto. Sólo ejecuta esta importación cuando una casilla de verificación está marcada en el backend activando la importación.

Conclusiones de trabajar con API en WordPress

El desarrollo e implementación de integraciones con WordPress vía API o servicios web, ha significado para los programadores un importante hecho para los avances en sus trabajos. Gracias a esta flexibilidad ofrecida por WordPress y ofreciendo todas las posibilidades para integrarte con sistemas terceros, muchos ya se han decantado por este CMS para utilizarlo en la mayoría de sus proyectos.