Linio

Linio Descripción

Linio es un marketplace líder en Latinoamérica con presencia en 5 países.

Se nos fue solicitado generar módulos que permitan sincronizar las tiendas web de cada uno de los vendedores para presentar sus productos en la plataforma online de Linio, permitiendo sincronizar ordenes, productos, atributos, imágenes y la existencia de los productos. Estuvimos a cargo de desarrollar la integración para las siguientes 3 plataformas de comercio electrónico: 

  • Magento 2.3
  • Prestashop 1.7
  • WooCommerce 2.6

Face inicial

Nuestra aproximación inicial fue la de generar una aplicación general de abstracción para comunicar los diferentes módulos de linio con la API dándonos la capacidad de testar los diferentes endpoints y generar un conjunto de reglas de configuración que serían utilizado luego por todos los módulos de manera consistente. Esto permite aumentar la compatibilidad entre los diferentes módulos y tener una base de código común para las diferentes operaciones y preferencias que simplifican entender como los módulos funcionan entre todos los entornos antes de iniciar el proceso de desarrollo en cada uno de los módulos. Además simplifica la necesidad de conocer las diferencias opciones de configuración e interfaces para cada modulo por parte del equipo de soporte.

Las principales pantallas que implementamos permiten al usuario realizar las siguientes actividades (ver capturas de pantalla):

  • Configurar las credenciales para la API y validarlas
  • Configurar la integración de cada una de las categorías y como están vinculadas con las categorías locales
  • Configurar y vincular cada uno de los posibles atributos y sus valores entre el entorno local y los valores disponibles de Linio tanto a nivel de producto como de categoría
  • Vincular cada una de las marcas locales con las disponibles en la API
  • Mapear cada uno de los proveedores de envío
  • Vincular cada uno de los productos o categorías y sus productos en una sola llamada.

Además permite mostrar la información que devuelve el API de Linio ante cada una de las solicitudes, dado que estas llamadas son asíncronas. Esto nos permitió entender como funciona la API de Linio en mayor detalle y validar que información es requerida de ser enviada y recibida.

Extension Magento 2

Como primera integración generamos un nuevo modulo para Magento 2.3 usando PHP 7.2 para permitir integrar cualquier sitio en Magento 2.3 con la API de Linio. Como Magento ofrece la capacidad de tener diferentes tiendas, el modulo se diseño pensando en que cada una de las tiendas va a permitir vender en un pais diferente dentro del ecosistema de Linio.

Las pantallas generadas anteriormente fueron integradas en el sistema de configuración predeterminado de Magento permitiendo una configuración similar para todos los módulos desde un principio. Dado que existen diferencias en como se manejan los atributos de Linio y como Magento administra los atributos, valores y su relaciones con los productos y categorías, marcas, métodos de envío e imágenes de productos, se debió generar una estrategia de compatibilidad y documentarla para que quede clara tanto a los desarrolladores como a los integradores a futuro. Estos cambios permitieron que cada que vez que el vendedor realice un cambio dentro de su tienda online, este cambio sea enviado al centro de ventas de Linio y los datos sean actualizados, desde los atributos de los productos, su disponibilidad, imagenes, categorías a las que pertenece, etc. Esto es crucial ya que la información actualizada permitirá tener un cliente al día con los cambios del producto, precios y evitará que se venda un mismo producto en el canal propio del vendedor y desde el centro de ventas de Linio.

Una vez que este proceso fue completado, el siguiente paso consistió en recibir a traves de un webhook las notificaciones desde el centro de ventas de linio. Estas notificaciones permiten conocer cuando algún cambio sucede fuera de la tienda del vendedor y debemos de actualizar la tienda online para reflejarlo. Por ejemplo, cada vez que una orden se crea en la tienda de Linio que posee un producto de un vendedor que posee una integración, la API de Linio enviará un webhook con la información de la orden para que esta sea generada en la tienda local del vendedor y pueda realizar el procesamiento de la misma. Esto evita tener que estar revisando el canal de ventas y procesar las ordenes manualmente en la tienda local.

Una vez que el dueño de la tienda genera la información de envío del producto que se vendió a través de la tienda de Linio, el modulo se va a comunicar con la API de Linio para informarle de este cambio. Si la confirmación indica que el envío va a ser manejado a través del sistema de envios propio de linio, descargará toda la información necesaria actualizando el envío local permitiendo al vendedor menor trabajo para realizar el envío de sus paquetes. Esto además avisa al comprador de Linio que su producto esta pronto a despacharse y permite tener en ambas tiendas la información de envío como el número de seguimiento.
Toda la información critica referida al flujo de las nuevas ordenes es sincronizada entre el centro de ventas de Linio y la tienda del vendedor, incluyendo los casos de cancelación de orden, eliminación de productos desde la tienda loca, actualizaciones de stock y cambio en las imágenes relacionadas de cada producto.

Una vez que el testing interno fue completado se realizó una demostración con todo el equipo de Linio mostrando en vivo las funcionalidades y explicando los elementos específicos de la integración que se resolvieron mediante el equipo dado las diferencias entre el centro de ventas Linio y el sistema Magento. Esta llamada fue grabada para quedar como referencia al equipo de soporte de Linio a futuro cuando se liberen las integraciones.

Módulo de PrestaShop

Cuando se inició la integración con Prestashop, se encontró un conflicto entre las versiones de la librería Http (Guzzle) que se utiliza para comunicarse con la API desde el SDK provisto y la que se utiliza internamente por PrestaShop. Teniendo esto en cuenta se agregó una capa de abstración al API SDK que permite definir de manera más cómoda que librería y version se utiliza, aumentando la compatibilidad del SDK con otras plataformas en simultaneo. Siguiendo el mismo enfoque que en el módulo de Magento, se inicio generando las diferentes pantallas de configuración que se crearon en la fase inicial. Al igual que en el módulo de Magento, se documento las diferencias que existen entre la forma de manejar los atributos, productos, categorías, etc entre PrestaShop y el API de Linio.

Una vez que el testing interno se completo, se realizó la documentación de las diferencias y se realizó una demostración en vivo de como funciona la integración con una tienda de ejemplo para todo el equipo de Linio.

Plugin de WooCommerce

Este module fue más sencillo dado que dentro de las plataformas elegidas para integrar es una de las más sencillas en términos de estructuras y funcionalidades. Esto simplifico la cantidad de decisiones y revisiones requeridas para manejar las diferencias entre WooCommerce y API Linio.
Al igual que antes, el equipo fue capaz de adaptar las pantallas de configuración realizadas en la etapa inicial a la forma de trabajo de WordPress y WooCommerce y validar la vinculación de productos, categorias, envíos, ordenes y todos los demás elementos permitiendo integrar el centro de ventas de Linio con WooCommerce. El equipo documentó todas las diferencias y finalmente realizó una demostración en vivo con el equipo de Linio donde se validaron todos los cambios mediante una tienda de demostración.

VTEX

Adicionalmente a los módulos mencionados anteriormente, nos unimos al equipo de soporte interno para ayudar a los diferentes vendedores (merchants) que utilizan la plataforma de ventas online VTEX para lograr integrar la mayor cantidad posible entre ambos sistemas. Una vez que el equipo entendió cual es el proceso de integración requerido y como llevar la comunicación con los diferentes vendedores, se propusieron diferentes herramientas y cambios en el checklist de integración para que la aproximación inicial y el proceso sea más rápido y tenga menor cantidad de inconvenientes. Finalmente, se comenzó a trabajar en el proceso de mejorar el desarrollo de la plataforma que interconecta ambos sistemas mediante testing y validación de los errores que se encontraban dando soporte. Además se expresaron nuevas funcionalidades que facilitan el proceso de soporte las cuales fueron desarrollas e integradas dentro de la aplicación.
El proceso de soporte continua actualmente.

Actualización del SDK para Global Seller Center

Cómo Linio continua creciendo, nuevos desafíos han sido tomados por la compañía para tener un alcance más global. Con esta nueva perspectiva surge la necesidad de incluir más países fuera de los que actualmente están dentro del ecosistema de Linio y fue necesario realizar cambios en la estructura del API para soportar el nuevo alcance del Global Seller Center. Este sistema núcleo de Linio tiene un SDK que permite a las diferentes integraciones y módulos de terceros comunicarse con la API y require retrabajo para adaptar las funciones, llamadas y parámetros pensando en los nuevos requerimientos. Nuestro equipo se encuentra actualmente ayudando a refactorizar, rediseñar y mantener retro-compatibilidad en el código del SDK, implementar test unitarios y validación para permitir al SDK en PHP tener acceso a las nuevas funcionalidades de la API y permitir su acceso a todas las demás integraciones que las usan.

Link: https://developers.linio.com/page/sdk-plugins-languages

 


Etiquetado como


Sep 2021 - Linio

Etiquetas

Serfe info(at)serfe.com https://www.serfe.com/images/serfe_logo_text.png https://www.serfe.com/images/serfe_logo_text.png FALUCHO 2032, S3016LDB, SANTO TOME, SANTA FE, ARGENTINA 1-305-5375397