Qué es una API (y para qué la usamos en la asociación)

Cada mañana el grupo de Telegram recibe el aviso de la actividad del día siguiente y Mastodon publica la foto del día. Y la copia de seguridad de la web se hace sola. Nadie pulsa ningún botón: lo hacen programas que hablan entre sí. La forma que tienen de hablarse tiene nombre, API, y aquí te explicamos qué es sin necesidad de saber programar.

La idea, en un restaurante

Piensa en un restaurante. Tú no entras en la cocina a hacerte la cena: se lo pides a quien atiende las mesas, con las palabras de la carta, y te trae el plato. No tienes que saber cómo es la cocina por dentro; solo tienes que saber qué hay en la carta y cómo se pide.

Una API (del inglés Application Programming Interface, «interfaz para programar aplicaciones») es esa carta y quien atiende las mesas, pero para programas. Un servicio —Telegram, Mastodon, una web— dice: «Si me envías una petición escrita de esta manera, yo te devuelvo esto». Otro programa lo pide y recibe la respuesta, sin entrar nunca en la cocina del otro.

Cómo es una petición

Casi siempre es una dirección web, como las que escribes en el navegador, pero pensada para que la lea una máquina. Por ejemplo, cualquier web hecha con WordPress, como la nuestra, responde en una dirección como esta:

https://valencia.esperanto.es/wp-json/wp/v2/posts

Si la abres, no verás una página bonita: verás texto ordenado con las últimas entradas, cada una con su título, la fecha y el enlace. Para una persona es feo; para un programa es perfecto, porque sabe exactamente dónde está cada cosa.

Algunas peticiones solo leen, como esta. Otras escriben —publicar un mensaje, guardar una página— y para esas el servicio pide una clave, como quien pide el carné antes de dejar pasar.

Cómo la usamos

Estos son algunos ejemplos:

1 · El robot de Telegram

Cada mañana, la web mira en el calendario qué hay al día siguiente y, por la API de Telegram, le dice al robot de la asociación que lo envíe al grupo, como una encuesta: «Ĉu vi ĉeestos?», con «Jes» y «Ne». Y al revés: cuando alguien le escribe /kategorioj o /pagxoj, el robot le pregunta a la web, también por API, qué categorías y qué páginas tiene, y las enseña. Si alguien cambia el menú de la web, el robot lo sabe solo.

2 · Mastodon y Pixelfed

A final de mes se programan las publicaciones del mes siguiente. Después, cada día a las 08:00, un programa mira qué toca hoy y lo publica por la API de cada servicio: en Mastodon, el texto en esperanto; en Pixelfed, los tres idiomas con sus fotos. Nadie tiene que acordarse.

3 · La copia de seguridad de la web

Un programa le pide a la web, por su API, el texto de todas las entradas y páginas, los menús y la configuración, y lo guarda fuera del servidor. Solo lee: no cambia ni una letra. Si un día se perdiera algo, el texto seguiría ahí.

4 · Las estadísticas de visitas

Contamos las visitas con Matomo, un programa libre instalado en nuestra web, que no envía nada a ninguna empresa de fuera. Matomo apunta cada visita, pero los informes solo se calculan si alguien se lo pide; un programa se lo pide por su API y así los números están al día.

Por qué nos importa

Porque una asociación pequeña no tiene gente para hacer a mano cada día el mismo trabajo. Con las API, lo que se puede repetir lo hace una máquina, y el tiempo de las personas va a lo que solo puede hacer una persona: las clases, los encuentros y hablar esperanto.

Y porque nos deja elegir. Mastodon, Pixelfed, Matomo y WordPress son software libre, y sus API están documentadas y abiertas a cualquiera: si un día queremos cambiar de servicio, lo que hemos hecho no se queda encerrado dentro de una empresa.