kit-digital

De APIs, asesores y conectividad

apis-asesores-conectividadHace unos días presentando el proyecto de una plataforma web a uno de los despachos de referencia en Madrid, y dado que el proyecto incluye una parte muy importante de conectividad utilizando una API, surgió la pregunta ¿y qué es una API? Porque todo el mundo – tecnológico – habla de APIs, pero lo cierto es que no es un concepto claro para mucha gente.

La verdad es que ni el nombre en inglés Application Programming Interface, ni la explicación que podemos consultar en la Wikipedia creo que arroja demasiada luz a interlocutores no técnicos: “Interfaz de programación de aplicaciones es el conjunto de métodos que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción”

En la reunión lo intenté explicar sin demasiado éxito, la verdad, así que lo voy a intentar de nuevo, usando un ejemplo más cercano.

Un mundo sin asesores

Imaginemos por un momento un mundo sin asesores en el que la Agencia Tributaria ha conseguido enseñar a todo empresario y autónomo viviente a rellenar el Modelo 303; y ya por imaginar, que es gratis, nos imaginamos que han conseguido que todos lo hagan correctamente. Si, ese que estás pensando, también rellena el 303 él solito.

En este mundo ideal, nos encontramos con esa mágnifica iniciativa del Criterio de Caja. Y claro, como no hay asesores, a la AEAT le toca ir enseñando uno por uno a los 2 millones de empresarios y autónomos cómo rellenar el nuevo 303 para aplicar los cambios normativos. Ahora ya no te pido que te creas que lo consigue. No hay imaginación en el mundo que llegue tan lejos.

Y entonces Hacienda inventó la API

Como lo que no puede ser, no puede ser, y además es imposible, Hacienda tiene que buscar una solución. No puede ser que cada cambio normativo implique volver a formar a 2 millones de personas: hay que poner algo en medio que abstraiga a los empresarios de estos cambios .Y esto es una API.

Y esa API se llama Asesor: algo (alguién) que se pone entre el empresario y el Modelo 303, que abstrae al susodicho de los cambios y ocurrencias de nuestros gobernantes: ante un cambio normativo, el empresario no tiene que modificar en nada su relación con Hacienda. Ya se encarga la API-Asesor de adaptar la información que recibe a los nuevos requerimientos.

Y como toda API, el Asesor tiene métodos, parámetros de entrada y parámetros de salida.

Los métodos de la API

Los métodos son las cosas que puede hacer la API por nosotros. El método más conocido de la API-Asesor es TomaFacturas().

Cuando llega el trimestre, el empresario invoca al método TomaFacturas() de la API-Asesor igual que ha hecho en los últimos 20 años. Ni sabe, ni quiere saber lo que pasa a continuación: si hay que presentar el Modelo 300, el 303 o el 190789. Es el trabajo de la API el saber qué tiene que hacer con las facturas según la normativa vigente.

Evidentemente, la API-Asesor tiene otros muchos métodos: DameNominas(), DameBalances(), TomaInspeccion(), etc… cada una con sus parámetros de entrada y salida, pero vamos a quedarnos con TomaFacturas().

Parámetros de entrada

Son los datos que le tenemos que dar a la API para que haga cosas. Cada método tiene los suyos, que varían según la tarea a realizar. Los parámetros que hay que pasarle al método TomaFacturas() son:

  • ListaFacturasEnPDF
  • ListaFacturasEnBolsaCorteInglés
  • ListaFacturasEnExcel

Parámetros de salida

Es la respuesta que nos da la API a lo que le hemos pedido. Los parámetros que devuelve el método TomaFacturas() son:

  • YaEstáPresentado (Boolean) – Indica si se ha completado el trámite (True/False)
  • HayQuePagarEsto (Currency) – Indica la cantidad a pagar (EUR)
  • SiTanto (Constant) – Indica la respuesta al empresario cuando recibe el valor del parámetro HayQuePagarEsto.
  • TuVerás (Constant) – Indica la respuesta a las sugerencias del empresario para reducir HayQuePagarEsto.

Las APIs informáticas

Ahora vamos a cambiar a la AEAT, asesor y empresario, por dos programas informáticos que deben comunicarse entre sí.

Aprovechando que acabamos de integrar nuestro servicio de contabilización de facturas en la nube dentro de los programa contables de Diagram y ContaSol, lo usaremos como ejemplo. Para situarnos, la AEAT es el servicio de contabilización y los programa contables serían los empresarios.

Con esta implementación, el usuario ni nos ve: no usa Ubyquo, ni sale de su programa contable: añade los PDF, los envía a procesar y recibe los asientos dentro de Diagram o ContaSol.

Si hubieramos hecho la integración a las bravas, cualquier cambio/mejora que hagamos implica marear a los técnicos de Diagram y ContaSol para que la conexión siga funcionando. Por el contrario, lo que se ha hecho es desarrollar una API que aisla a Diagram/ContaSol, dejando fijo el enchufe exterior donde se conectan, mientras cambia el enchufe interior para adaptarse a los cambios. Si no hay nueva funcionalidad, ni se enteran de que hemos cambiado cosas.

Conectividad como requisito imprescindible

Igual que un Asesor debe poder ofrecer sus servicios a cualquier cliente – debe poder conectar a la AEAT a pymes, a autónomos en estimación directa, en módulos… – las APIs informáticas deben poder ofrecer enchufes a aplicaciones bajo cualquier plataforma: Windows, Web, etc… En nuestro ejemplo, tanto Diagram, como ContaSol, utilizan la implementación para Windows, pero durante los primeros meses de 2015 estarán disponibles integraciones del servicio de contabilización de facturas con otras soluciones de contabilidad y facturación en la nube.

La conectividad es la base del éxito de cualquier actividad hoy en día. Con el ritmo con el que aparecen nuevos servicios tecnológicos es imposible que ninguna solución de un único fabricante sea la mejor en todo. Hay innumerables productos que solo hacen una cosa, pero son con diferencia los que mejor la hacen. Y con los profesionales ocurre algo muy parecido: es imposible ser el mejor en todo; pero si que se puede ser un gran especialista en algo concreto.

El secreto del éxito es la conectividad: el poder aprovechar las mejores cualidades de cada especialista.

La poesía de la API

Así que, parafraseando a Gustavo Adolfo Bécquer:

– ¿Qué es una API?, dices mientras clavas en mi pupila tu pupila azul.
– ¿Y tú me lo preguntas, asesor? Una API… eres tú.

Feliz año para todos

Archivos