SAP Subscription Billing utiliza un tipo específico de API llamado Representational State Transfer Application Programming Interfaces, también conocido como REST APIs.
Hablemos primero de las API.
Una API actúa como un protocolo de comunicación entre diferentes programas de software. Explica cómo deben interactuar entre sí, proporcionando un conjunto de reglas e instrucciones. Piense en una API como un "intermediario" que permite que los programas de software se comuniquen de manera eficiente. Sin las API, no sería posible disfrutar de la simple tarea de reservar una habitación de hotel en línea o actualizar el software a través de la nube.
Antes de analizar las API REST, veamos cómo funciona una API. Vea el siguiente vídeo.
Ahora que comprende el rol de las API, profundicemos en las API REST.
REST significa Representational State Transfer (Transferencia de estado representacional). Es un estilo arquitectónico para diseñar aplicaciones en red. Una API REST utiliza HTTP —una tecnología fundacional de Internet— para solicitar y enviar datos. Estos datos pueden funcionar con una variedad de formatos, incluidos XML y JSON.
El concepto de REST se basa en los recursos. Un recurso en REST API es el concepto fundamental para la descripción de la información; es cualquier información que se puede nombrar. Por ejemplo, al hablar de SAP Subscription Billing, una suscripción puede ser un recurso y un cliente puede ser otro. La importancia de utilizar recursos en lugar de una gran base de datos es que cada recurso tiene una URL única que puede enlazar o referenciar.
Una característica sólida de las API REST es su utilización de métodos HTTP estándar. Estos incluyen POST que agrega un nuevo recurso; GET recupera un recurso; PUT actualiza un recurso; PATCH permite una actualización parcial; y DELETE elimina un recurso.

Los métodos PUT y PATCH son similares ya que ambos actualizan un recurso. Por ejemplo, si tiene un perfil de usuario con campos como nombre, correo electrónico y contraseña, una solicitud PUT requerirá que envíe todos los campos incluso si solo desea modificar la contraseña. El uso de PATCH over PUT ayuda a evitar reducir el rendimiento del sistema con cambios innecesarios al tratar con grandes recursos o actualizaciones frecuentes.
Idempotencia en APIs REST

La mayoría de los métodos de solicitud API REST se consideran idempotentes.
¿Qué significa el término idempotencia?
Una llamada u operación de API es idempotente si tiene el mismo resultado, independientemente de cuántas veces se aplique. Una operación idempotente proporciona protección contra llamadas duplicadas accidentales que causan consecuencias no deseadas.
Por ejemplo, si envía repetidamente la misma solicitud DELETE a una URL específica, es probable que los siguientes intentos fallen porque los datos ya se han borrado. El estado final del servidor con los datos eliminados sigue siendo el mismo después de la primera solicitud DELETE. Incluso si falla la segunda solicitud, el método DELETE se considera todavía idempotente porque se ha alcanzado el estado final deseado y no cambiará con peticiones repetidas.
Nota
Por ejemplo, considere un recurso que cuente para cada vez que se realiza una solicitud de PATCH. La solicitud de PATCH para aumentar el contador en 1 no reemplaza el historial del contador. Cada solicitud de PATCH posterior incrementará el contador. Si vuelve a aplicar la misma solicitud PATCH, el resultado variará cada vez y aumentará el contador.
La elección de un método API REST idempotente depende de su aplicación o servicio.
La belleza de las API REST radica en su simplicidad. Las API REST no tienen estado, lo que significa que el servidor no necesita conocer el estado del cliente. Una solicitud de un cliente ya contiene la información necesaria para completar una solicitud.
Tenga en cuenta que los métodos REST no se consideran un estándar. Los métodos REST son un conjunto de principios rectores y son adoptados por la mayoría de los desarrolladores como una herramienta poderosa para estructurar las API debido a su simplicidad, escalabilidad y compatibilidad con la web.
Las API (Interfaces de Programación de Aplicaciones) y las API REST (API Representacionales de Transferencia de Estado) juegan un papel crucial en el desarrollo de software moderno y las interacciones digitales. Las API proporcionan una forma para que diferentes sistemas de software se comuniquen e interactúen entre sí. Las API REST se han convertido en un estilo de arquitectura popular y ampliamente adoptado para diseñar sistemas en red, especialmente en el contexto de servicios web y aplicaciones basadas en la nube.

