Blog
Cuando vemos la palabra API si nos referimos al concepto técnico estamos hablando de de una Interface del programa de aplicación, así como tal el concepto no tendría mucho sentido, si vemos de que trata podríamos decir que hablamos de protocolos, rutinas y herramientas diseñadas para simplificar el proceso de desarrollo sobre alguna plataforma de programación.
Con mis propias palabras te diré que la API de Magento es un sistema de comunicación entre código externo a lo nativo en Magento que permitirá utilizar cualquier componentes así como de reutilizar la información de la plataforma para lograr ampliar las capacidades de nuestra plataforma de comercio electrónico, dado que el objetivo principal de las API es la forma de interactuar las diferentes partes de software dentro de un sistema, por lo general se utiliza para programar componentes de interfaz gráfica de usuario.
Que es la API de Magento 2
La API de Magento 2 proporciona a los desarrolladores los medios para utilizar los servicios web conectados con el sistema de Magento, que debe saber para conocer más sobre la API.
La API admite comunicación mediante REST y SOAP.
- Hay tres tipos de autenticación como son:
- OAuth 1.0 para aplicaciones de terceros
- TOKENS para aplicaciones móviles
- Credenciales de inicio de sesión para Administradores y clientes
Se deben definir y asignar los recursos a las cuentas e integraciones, al final la comunicación del API comprueba si una llamada está autorizada para realizar la solicitud
Se requiere de un archivo XML muy sencillo y básico para la configuración, el archivo es llamado webapi.xml, este será el medio encargado para exponer un servicio personalizado o nativo
El API se basa en dos modelos, el sistema CRUD y un modelo de búsqueda de colección.
Para la exposición a dispositivos móviles, ofrece un filtrado de campos de respuesta para conservar el ancho de banda.
Mediante una sola llamada al API web se pueden ejecutar varios servicios simultáneamente.
Cuantos beneficios se puede conseguir con las API web de Magento, son muchas y en diferentes tipos de componentes, desde poder crear una aplicación móvil para clientes, así como una gran oportunidad para integrarse con un CRM corporativo del negocio ya sea un ERP con ayuda de la API de Magento 2, de igual forma se podría conectar un simple sitio web compartiendo la data expuesta en la tienda de comercio electrónico con cualquier CMS, hay también componentes tan básico como Widgets con JavaScript, tanto para la parte frontal así como la parte del backend de Magento.
Como se trabaja con la API de Magento 2
Primer es necesario registrar un nuevo Usuario de servicio web y esto se realiza muy sencillo desde el BackEnd, lo primero que necesitamos es definir cómo será el tipo de autenticación, ya se mencionó que hay 3 tipos, voy a comentar como se realiza cada registro de autenticación, primero veamos para una autenticación mediante TOKEN, Lo primero es ir a la opción localizada en Sistema/Permisos/Todos los Usuarios , una vez dentro de esta opción hay que Agregar nuevo usuario, registrar todos los datos y definir los recursos a los cuales tendrá acceso.
Para la autenticación por Sesión o OAuth, desde el BackEnd hay que ir a la opción Sistema/Extensiones/Integraciones y dar un clic a la opción Agregar Nueva Integración, una vez dentro hay que registrar los datos principales así como definir las URL para CallBack así como la URL de las credenciales de integración, es importante no olvidar elegir los recursos a los cuales tendrá acceso esta integración.
Si se ha decidido elegir autenticación por Sesión u OAuth, será necesario realizar un par de configuraciones más para lo cual hay que ir a la opción desde el backend Teindas/Configuracion/Servicios/Magento Web API y Tiendas/Configuracion/Servcios/OAuth.
API REST
Esta exposición está basada en el protocolo HTTP, la funcionalidad destinada a realizar este tipo de solicitudes y recibir respuestas, está definida en el archivo de configuración y las clases específicas ya mencionadas para lograr esta interacción, cada que se realiza una petición mediante esta logia se está realizando lo siguiente:
- Se envían encabezado HTTP para autenticar
- Se define el tipo de petición (GET, PUT, POST y DELETE)
- Desde la URL se determinan tres componentes importantes, el servidor, el servicio web y los recursos a utilizar.
- Se envían en la llamada todos los atributos y parámetros de entrada a proporcionar para realizar la solicitud.
Una vez conseguido el envió se espera una respuesta útil y un código de estado HTTP, hasta aquí vamos a dejar el tema de aprender un poco que es la API Web en Magento, es importante solo mencionar que para comprender más el tema de la exposición de un servicio REST desde Magento se tendrá que genera un artículo dedicado a cómo realizar una implementación para webapi, más adelante intentare explicarlo de una forma sencilla.