Què és una API (i per a què la fem servir en l’associació)

Cada matí el grup de Telegram rep l’avís de l’activitat de l’endemà i Mastodon publica la foto del dia. I la còpia de seguretat de la web es fa a soles. Cap persona prem cap botó: ho fan programes que parlen entre ells. La manera que tenen de parlar-se té nom, API, i ací t’expliquem què és sense que calga saber programar.

La idea, en un restaurant

Pensa en un restaurant. Tu no entres a la cuina a fer-te el sopar: li ho demanes a qui servix, amb les paraules de la carta, i et porta el plat. No has de saber com és la cuina per dins; només has de saber què hi ha en la carta i com es demana.

Una API (de l’anglés Application Programming Interface, «interfície per a programar aplicacions») és eixa carta i qui servix les taules, però per a programes. Un servei —Telegram, Mastodon, una web— diu: «Si m’envies una petició escrita d’esta manera, jo et torne això». Un altre programa ho demana i rep la resposta, sense entrar mai en la cuina de l’altre.

Com és una petició

Quasi sempre és una adreça web, com les que escrius en el navegador, però pensada perquè la llija una màquina. Per exemple, qualsevol web feta amb WordPress, com la nostra, contesta a una adreça com esta:

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

Si l’obris, no veuràs una pàgina bonica: veuràs text ordenat amb les últimes entrades, cadascuna amb el seu títol, la data i l’enllaç. Per a una persona és lleig; per a un programa és perfecte, perquè sap exactament on està cada cosa.

Algunes peticions només lligen, com esta. Altres escriuen —publicar un missatge, guardar una pàgina— i per a eixes el servei demana una clau, com qui demana el carnet abans de deixar passar.

Com la fem servir nosaltres

Estos en són alguns exemples:

1 · El robot de Telegram

Cada matí, la web mira en el calendari què hi ha l’endemà i, per l’API de Telegram, li diu al robot de l’associació que ho envie al grup, com una enquesta: «Ĉu vi ĉeestos?», amb «Jes» i «Ne». I al revés: quan algú li escriu /kategorioj o /pagxoj, el robot li pregunta a la web, també per API, quines categories i quines pàgines té, i les ensenya. Si algú canvia el menú de la web, el robot ho sap a soles.

2 · Mastodon i Pixelfed

A final de mes es programen les publicacions del mes següent. Després, cada dia a les 08:00 un programa mira què toca hui i ho publica per l’API de cada servei: en Mastodon, el text en esperanto; en Pixelfed, els tres idiomes amb les seues fotos. Ningú ha de recordar-se’n.

3 · La còpia de seguretat de la web

Un programa li demana a la web, per la seua API, el text de totes les entrades i pàgines, els menús i la configuració, i ho guarda fora del servidor. Només llig: no canvia ni una lletra. Si un dia es perdera alguna cosa, el text hi seria.

4 · Les estadístiques de visites

Comptem les visites amb Matomo, un programa lliure instal·lat en la nostra web, que no envia res a cap empresa de fora. Matomo apunta cada visita, però els informes només es calculen si algú li ho demana; un programa li ho demana per la seua API i així els números estan al dia.

Per què ens importa

Perquè una associació xicoteta no té gent per a fer a mà cada dia la mateixa faena. Amb les API, el que es pot repetir ho fa una màquina, i el temps de les persones va al que només pot fer una persona: les classes, les trobades i parlar esperanto.

I perquè ens deixa triar. Mastodon, Pixelfed, Matomo i WordPress són programari lliure, i les seues API estan documentades i obertes a qualsevol: si un dia volem canviar de servei, el que hem fet no es queda tancat dins d’una empresa.