Un web service o servicio web es un tipo de tecnología que, a través de ciertos protocolos y estándares, habilita la comunicación entre distintas computadoras y permite intercambiar datos entre ellas, en otras palabras, un web service es un tipo de API (Interfaz de Programación de Aplicaciones).
Características de un web service
Un web service está diseñado de forma que su interfaz se represente en un formato tal que una computadora cuyas especificaciones se hayan escrito en WSL, pueda representarlo.
Por lo general, utilizará el protocolo HTTP sin embargo, también pueden ser empleados los siguientes protocolos:
Además, el contenido del web service puede venir representado a través del formato XML o del formato JSON, siendo el JSON el tipo de carga útil más común en una API.
¿Es una API un web service?
Un web service sí que es un tipo de API pero una API puede ser un web service o no. Una API específica la forma en la que los componentes de software deben interactuar entre sí. Es un conjunto de rutinas y protocolos cuyas respuestas se devuelven haciendo uso de la estructura de un JSON o de un XML para representar los datos. Además, las APIs se caracterizan por poder utilizar cualquier tipo de protocolo de comunicación, sin estar limitadas como lo están los web services.
Y entonces llegó.. REST
REST (Representational State Transfer) es un concepto surgido en el año 2000 a través de una tesis doctoral por Roy Fielding, quien es uno de los principales autores de la especificación del protocolo HTTP.
Una API REST hace uso del protocolo HTTP para obtener los datos, siendo éstos intercambiados a través de un JSON o un XML (siendo el XML mucho menos común de ver). Las API REST se caracterizan por que el estado se representa en el recurso transferido de forma que la llamada no mantiene el estado. Además, REST utiliza los métodos de HTTP de forma explícita, siendo los más comunes los siguientes:
- GET: se utiliza para obtener un recurso.
- POST: se utiliza para crear un recurso en el servidor.
- PUT: se utiliza para actualizar un recurso del servidor o cambiarle su estado.
- DELETE: se utiliza para eliminar un recurso del servidor.
Por otra parte, las API REST ofrecen las siguientes ventajas:
- Separación entre cliente y servidor.
- Visibilidad, fiabilidad y escalabilidad.
- Es siempre independiente de la plataforma y del lenguaje.
eCommerce y las APIs
En el área del eCommerce, las APIs juegan un papel importante ya que ofrecen un gran número de ventajas para la gestión de pedidos, detalles de precios, actualizaciones de catálogos y datos relativos a los clientes. He aquí algunos de los ejemplos en los que se utilizan APIs en eCommerce:
- APIs para los productos: permiten extraer datos con respecto a la identificación de productos, descripciones de los mismos, imágenes, marcas, precios o descuentos entre otros.
- APIs para catálogos: son utilizadas para crear, editar y gestionar los catálogos en poco tiempo. Pueden ser el punto de inicio para gestión de inventario o generación de analíticas e informes.
- APIs para los pagos: en un eCommerce la plataforma de pago es fundamental, por ello, los bancos ofrecen sus TPVs de forma virtual, los cuales hacen uso de APIs para el intercambio de información.
- APIs para los envíos: al igual que los pagos, los envíos son otra parte fundamental de un eCommerce. Empresas como correos ofrecen una API para que los pedidos puedan ser “seguidos” por los clientes.