¿Cuáles son los fundamentos básicos para la sincronización de un sistema de gestión con una plataforma digital? (Método por API Webservice)

En nuestro artículo anterior expusimos los fundamentos básicos para la sincronización de un sistema de gestión con una plataforma digital, haciendo uso del método de un Servidor SQL, en este artículo lo haremos exponiendo el caso de utilizar la metodología de API Webservices tanto en el Sistema de Gestión como en la Plataforma Digital.

Asumimos en este caso que el sistema de gestión administrativo (ERP) está instalado en un servidor local o remoto y que dispone de la tecnología de API Webservice para el intercambio de información con otras plataformas, así como una plataforma digital ubicada en la nube de internet (remota), que podría estar basada en un comercio electrónico B2B o un CRM que también dispone de API Webservice.

A su vez, asumimos que además de la sincronización de datos estándar (Productos, Clientes Empresas, Clientes Contactos, Pedidos), se requiere sincronizar el manejo de un diccionario de correlación de las categorías y sub-categorías del ERP versus el Comercio Electrónico o CRM, así como el manejo matricial de descuentos por clientes por categorías de productos y la gestión de la cartera de crédito (B2B).

¿Qué significa API Webservice y cómo funciona?

API Webservice (Interfaz de Programación de Aplicaciones – Servicio Web) es un conjunto de protocolos y estándares utilizados para la comunicación entre aplicaciones en la web. Básicamente, se trata de una interfaz que permite que dos aplicaciones se comuniquen y compartan información de manera eficiente.

Un servicio web es una forma de comunicación entre dos dispositivos a través de una red, en la que una aplicación envía una solicitud a otra aplicación para que realice una tarea específica. La solicitud se realiza mediante un formato de mensaje estándar, como XML o JSON, y se envía a través de HTTP (Protocolo de Transferencia de Hipertexto).

La aplicación que recibe la solicitud procesa la información y envía una respuesta, que también está en un formato de mensaje estándar, a la aplicación que realizó la solicitud. Esta respuesta puede ser una acción realizada por la aplicación, como una consulta a una base de datos o la ejecución de una tarea específica.

El uso de API Webservice permite que las aplicaciones se comuniquen de forma segura, independientemente del lenguaje de programación utilizado para desarrollar cada una de ellas. Esto facilita la integración de diferentes sistemas y aplicaciones, lo que puede resultar en una mayor eficiencia y productividad.

Premisas generales para tomar en cuenta en la sincronización de un sistema de gestión con una plataforma digital usando API Webservices

Para poder realizar la sincronización de un sistema de gestión con una plataforma digital usando API Webservices entre el sistema local y el sistema remoto, es importante tomar en cuenta las siguientes premisas generales:

  • Todo el manejo de las lecturas de datos entre ambos sistemas debe hacerse por excepción (solo los elementos cambiantes). Esto significa que las API Webservices de ambos sistemas deben permitir consultar las modificaciones más recientes de los registros para la sincronización por excepción (Ej. Productos, Existencias, Precios, Clientes, Contactos, etc.).
  • Existe una Moneda Base por lo que los precios de los productos siempre se deben sincronizar con dicha moneda base.
  • Los Códigos (SKU) de los productos deben ser idénticos en el sistema de gestión y en la plataforma digital (Campo Clave).
  • Los Códigos (SKU) de los productos deben ser distintos para cada tipo de presentación del producto o combinación de atributos (Unidades/Tamaños/Colores/etc).
  • Las imágenes de los productos deben colocarse en un servidor en la nube con acceso público por URL. Puede ser el mismo servidor de la plataforma digital definiendo previamente su ubicación.
  • Los nombres de los archivos electrónicos de las imágenes deben ser sus mismos Códigos (SKU) con extensión/formato jpg.
  • En los Productos deben manejarse los campos de Peso (Kilogramos) y Dimensiones (Alto, Ancho, Largo, en centímetros) para poder calcular los precios de los envíos.
  • Los campos ID Empresa, ID Contacto, ID Producto, ID Categoría son los utilizados por el Sistema de Gestión.
  • Para los Pedidos se manejará un solo registro de Cabecera y múltiples registros de Detalles (1 registro por cada artículo en el pedido).
  • Si el medio de pago escogido por el cliente final es un medio manual, la información del formulario de confirmación de pago será emitida por un correo electrónico independiente, de lo contrario se notifica a través del propio pedido, por lo que deben existir dos campos para eso (ID de Referencia de Pago y Forma de Pago).
  • Deben manejarse los siguientes estados para los Pedidos: VALIDANDO EXISTENCIAS, EMITIENDO AL ERP, RECHAZADO POR EXISTENCIAS, RECIBIDO EN ERP, PROCESADO, ENVIADO, ENTREGADO, FACTURADO.
  • El Sistema de Gestión debe disponer del campo ID Pedido_Cabecera a los pedidos. Este campo será emitido desde la Plataforma Digital.
  • Debe manejarse un Diccionario de Categorías y Sub-Categorías de Productos (Líneas y Familias) de tal forma que se puedan definir de una manera más visual y didáctica para los usuarios de la Plataforma Digital. Por esta razón hay que crear un módulo especial en la Plataforma Digital (Pods) donde se maneje la correlación (Diccionario) de estas categorías y sub-categorías (Líneas y Familias de Productos) y que será actualizado manualmente por el Administrador de la Plataforma Digital.
  • El Sistema de Gestión debe manejar para cada producto los campos de Categoría (Línea), Sub-Categoría 1 (Familia 1), Sub-Categoría 2 (Familia 2), Sub-Categoría 3 (Familia 3).
  • El Sistema de Gestión debe manejar Porcentajes de Descuento en forma de una matriz de Clientes (Empresas) por por cada Categoría de Productos (Línea).
  • El Sistema de Gestión debe manejar las funcionalidades de Cartera de Crédito para poder informarlas a la Plataforma Digital.
  • Los Medios de Pago posibles a manejar en el Sistema de Gestión y a indicar en la cabecera de los pedidos dependen de la decisión del Cliente, y pueden estar incluidos: Tarjeta de Crédito o Débito, Transferencia Bancaria, Cupo de Crédito, Tarjeta de Crédito o Débito y Cupo de Crédito, Transferencia Bancaria y Cupo de Crédito.
  • El Sistema de Gestión debe aceptar la indicación del Monto Total, Monto Cupo y Monto Otro Medio, a través el End Point para la Escritura de Pedidos desde la Plataforma Digital al Sistema de Gestión.
  • El Sistema de Gestión debe informar a la Plataforma Digital cualquier cambio en la Cartera de Crédito de cada Cliente (Empresa) cuando reciba y procese los Pedidos desde la Plataforma Digital que incluyan como Medio de Pago alguna opción con el Cupo de Crédito.

Reglas de Sincronización de Datos

Para que la sincronización de un sistema de gestión con una plataforma digital usando API Webservices funcione correctamente, es importante tomar en cuenta las reglas para la sincronización de datos, como sigue:

1. Lecturas por la Plataforma Digital desde el Sistema de Gestión

  • La Plataforma Digital debe consultar al Sistema de Gestión usando el API Webservice del Sistema de Gestión, manejado por excepción (solo cambios).
  • El Sistema de Gestión debe responder con los datos cambiantes en el rango de tiempo solicitado.
  • Los datos cambiantes son actualizados en la base de datos de la Plataforma Digital

2. Escrituras por la Plataforma Digital hacia el Sistema de Gestión

  • La Plataforma Digital debe escribir al Sistema de Gestión usando el API Webservice del Sistema de Gestión
  • El Sistema de Gestión debe responder con el resultado de la transacción.
  • Los datos cambiantes son actualizados en la base de datos del Sistema de Gestión.

3. Lecturas por el Sistema de Gestión desde la Plataforma Digital

  • El Sistema de Gestión debe consultar a la Plataforma Digital usando el API Webservice de la Plataforma Digital, manejado por excepción (solo cambios).
  • La Plataforma Digital debe responder con los datos cambiantes en el rango de tiempo solicitado.
  • Los datos cambiantes son actualizados en la base de datos del Sistema de Gestión.

4. Escrituras por el Sistema de Gestión hacia la Plataforma Digital

  • El Sistema de Gestión debe escribir a la Plataforma Digital usando el API Webservice de la Plataforma Digital.
  • La Plataforma Digital debe responder con el resultado de la transacción.
  • Los datos cambiantes son actualizados en la base de datos de la Plataforma Digital

Reglas de Verificación de las Existencias de Productos (Stock)

En la sincronización de un sistema de gestión con una plataforma digital usando API Webservice, de un comercio electrónico o CRM con un ERP, se debe realizar la verificación de las existencias de productos (stock) en tiempo real, tomando en cuenta las siguientes reglas:

  • La plataforma digital deberá verificar las existencias antes de emitir un pedido hacia el Sistema de Gestión.
  • El Sistema de Gestión debe disponer de un End Point que le permita a la Plataforma Digital consultar las existencias de un producto en tiempo real. El retorno de esta consulta debe ser solamente la existencia.

Reglas de Cambio de Estado de Pedidos

Para que el correcto manejo de los estados de los pedidos es necesario cumplir ciertas reglas que se indican a continuación:

  • Cuando se crea un pedido en la Plataforma Digital el estado inicial emitido a la tabla intermedia es VALIDANDO EXISTENCIAS.
  • Si las cantidades solicitadas en el pedido son iguales o menores a las existencias disponibles, el personal del Cliente debe cambiar el estado del pedido a ACEPTADO.
  • Si las cantidades solicitadas en el pedido son mayores a las existencias disponibles, el personal del Cliente debe cambiar el estado del pedido a RECHAZADO.
  • Cuando el personal del Cliente haga cualquier cambio de estado de los pedidos asociados a la Plataforma Digital, en el Sistema de Gestión, éste debe realizar la Escritura del Estado del Pedido en la Plataforma Digital a través del API Webservice de la Plataforma Digital. Esto incluye los estados: ACEPTADO, RECHAZADO, PROCESADO, ENVIADO, ENTREGADO, FACTURADO.

Reglas de Manejo de Categorías/Subcategorías (Líneas y Familias) de Productos

Para que el correcto manejo de las Categorías/Subcategorías (Líneas y Familias) de Productos es necesario cumplir ciertas reglas que se indican a continuación:

  • La Plataforma Digital Dispone de un Diccionario de sus Categorías/Subcategorías con la correlación de las Categorías/Subcategorías que maneja el Sistema de Gestión.
  • Cuando un empleado del Cliente cree o modifique una Categoría/Subcategoría de Productos (Líneas y Familias), debe informar inmediatamente al Administrador de la Plataforma Digital sobre dicho cambio, para que éste incluyan el mismo en el Diccionario de Categorías/Subcategorías, así como para que cree la Categoría o Subcategoría correspondiente en el Catálogo de la Plataforma Digital (si es nueva).
  • Antes de Actualizar (Escribir) los Productos en la Plataforma Digital, el Sistema de Gestión debe consultar (Lectura) en el Diccionario de Categorías/Subcategorías de la Plataforma Digital, el ID de la Categoría de la Plataforma Digital que corresponde a la combinación de Categoría (Línea), Subcategoría 1 (Familia 1), Subcategoría 2 (Familia 2) y Subcategoría 3 (Familia 3) del Sistema de Gestión, a través del API Webservice de la Plataforma Digital, para entonces poder actualizar el producto en la Plataforma Digital, escribiendo el campo de ID de la Categoría de la Plataforma Digital, con el valor correcto relacionado. En el caso de que la combinación de categoría (Línea) y sub-categorías (Familias) del Sistema de Gestión no se encuentre en el Diccionario de Categorías y Subcategorías, no deberá escribir/actualizar el producto en la Plataforma Digital.

Regla de Manejo de Descuentos

Para que el correcto manejo de los descuentos es necesario cumplir la regla que se indica a continuación:

  • Antes de la actualización de los Descuentos desde el Sistema de Gestión hacia la Plataforma Digital, primero debe leerse el Diccionario de Categorías y Subcategorías de la Plataforma Digital para obtener el ID de la Categoría de la Plataforma Digital.

Reglas de Verificación de Usuarios Autorizados para Colocar Pedidos en la Plataforma Digital

Para que el correcto manejo de la colocación de pedidos en la Plataforma Digital, se deben realizar verificaciones de que los usuarios que se registren están autorizados como compradores oficiales de las empresas clientes, para lo que es necesario cumplir ciertas reglas que se indican a continuación:

  • En el proceso de registro de un nuevo usuario en la Plataforma Digital, lo primero que le solicita es el Correo Electrónico.
  • La Plataforma Digital verifica si dicho correo electrónico está en su base de datos. Si ya existe le indica al usuario que ya está registrado previamente.
  • Si no existe consulta al Sistema de Gestión por dicho contacto con base en su correo electrónico haciendo uso del API Webservice del Sistema de Gestión.
  • Si el correo electrónico existe en el Sistema de Gestión, le permite al usuario registrarse en la Plataforma Digital asociándole la empresa correspondiente a la identificación Fiscal existente.
  • Si el correo electrónico no existe en el Sistema de Gestión ni en la Plataforma Digital, se le solicita la Identificación Fiscal.
  • Si la identificación fiscal ya existe en la base de datos de la Plataforma Digital, no le permite al usuario registrarse indicando que no está autorizado como comprador de esa Identificación Fiscal.
  • Si la identificación fiscal no existe en la base de datos de la Plataforma Digital, se consulta al Sistema de Gestión por dicha empresa con base en su Identificación Fiscal haciendo uso del API Webservice del Sistema de Gestión.
  • Si la identificación fiscal ya existe en la base de datos del Sistema de Gestión, no le permite al usuario registrarse indicando que no está autorizado como comprador de esa Identificación Fiscal.
  • Si la identificación fiscal no existe en la Plataforma Digital ni en el Sistema de Gestión, se le permite registrarse como nuevo al usuario con dicha identificación fiscal.

Estructuras para la Sincronización de Datos usando API Webservice

A continuación, listamos cada una de las estructuras requeridas para la sincronización de datos usando API Webservice, por tipo de información, con sus detalles básicos a cumplir:

PRODUCTOS:

  • Dirección: Unidireccional.
  • Iniciador: Sistema de Gestión.
  • Proveedor: Sistema de Gestión.
  • Cliente: Plataforma Digital.
  • End Point (Recurso): Productos.
  • Campos: ID Registro, ID Producto, Código (SKU), Nombre, Marca, Modelo, Unidades, Descripción Corta, Descripción Larga, URL de la Imagen, ID Categoría, Precio de Lista, Precio de Oferta, Existencia, Peso, Ancho, Largo, Alto.

LECTURA DICCIONARIO DE CATEGORÍAS DE PRODUCTOS:

  • Dirección: Unidireccional.
  • Iniciador: Sistema de Gestión.
  • Proveedor: Plataforma Digital.
  • Cliente: Sistema de Gestión.
  • End Point (Recurso): Diccionario_Categorias_Productos.
  • Campos: ID Registro, Categoría Sistema de Gestión (Línea), Subcategoría Sistema de Gestión 1 (Familia 1), Subcategoría Sistema de Gestión 2 (Familia 2), Subategoría Sistema de Gestión 3 (Familia 3), Categoría Plataforma Digital, ID Categoría Plataforma Digital.

CLIENTES EMPRESAS:

  • Dirección: Bidireccional.
  • Iniciador: Sistema de Gestión o Plataforma Digital (donde se realice la creación o actualización del cliente).
  • Proveedor: Sistema de Gestión o Plataforma Digital (según el iniciador).
  • Cliente: Plataforma Digital o Sistema de Gestión (según el iniciador).
  • End Point (Recurso): Clientes.
  • Campos: ID Registro, ID Empresa, Nombre Empresa, Identificación Fiscal Empresa, Dirección, Ciudad, Estado, País, Código Postal, Teléfono Fijo, Teléfono Movil, Email.

CLIENTES PERSONAS CONTACTO:

  • Dirección: Bidireccional.
  • Iniciador: Sistema de Gestión o Plataforma Digital (donde se realice la creación o actualización del cliente).
  • Proveedor: Sistema de Gestión o Plataforma Digital (según el iniciador).
  • Cliente: Plataforma Digital o Sistema de Gestión (según el iniciador).
  • End Point (Recurso): Contactos.
  • Campos: ID Registro, ID Contacto, Nombres, Apellidos, ID Empresa, Cargo (Rol), Dirección, Ciudad, Estado, País, Código Postal, Teléfono Fijo, Teléfono Movil, Email.

PEDIDOS CABECERA:

  • Dirección: Unidireccional.
  • Iniciador: Plataforma Digital.
  • Proveedor: Plataforma Digital.
  • Cliente: Sistema de Gestión.
  • End Point (Recurso): Pedidos_Cabecera.
  • Campos: ID Registro, ID Pedido_Cabecera, Estado del Pedido, ID Empresa, ID Contacto, Facturación-Dirección, Facturación-Ciudad, Facturación-Estado, Facturación-País, Facturación-CódigoPostal, Facturación-Email, Facturación-Teléfono, Envío-Dirección, Envío-Ciudad, Envío-Estado, Envío-País, Envío-CódigoPostal, Envío-Email, Envío-Teléfono, Sub-Total Sin Descuento, Descuento, Sub-Total con Descuento, Costo Envío, Sub-Total con Envío, Impuestos, Total, Medio de Pago, ID Pago, Monto Cupo, Monto Otro Medio.

PEDIDOS DETALLES:

  • Dirección: Unidireccional.
  • Iniciador: Plataforma Digital.
  • Proveedor: Plataforma Digital.
  • Cliente: Sistema de Gestión.
  • End Point (Recurso): Pedidos_Detalles.
  • Campos: ID Registro, ID Pedido_Detalles, ID Pedido_Cabecera, ID Producto, Cantidad, Precio Unitario, Monto Total Producto.

ESTADOS DE PEDIDOS

  • Dirección: Bidireccional.
  • Iniciador: Sistema de Gestión o Plataforma Digital (donde se realice la creación o actualización del cliente).
  • Proveedor: Sistema de Gestión o Plataforma Digital (según el iniciador).
  • Cliente: Plataforma Digital o Sistema de Gestión (según el iniciador).
  • End Point (Recurso): Pedidos_Estados.
  • Campos: ID Registro, ID Pedido_Cabecera, Estado, Motivo del Rechazo

DESCUENTOS POR EMPRESAS

  • Dirección: Unidireccional.
  • Iniciador: Sistema de Gestión.
  • Proveedor: Sistema de Gestión.
  • Cliente: Plataforma Digital.
  • End Point (Recurso): Descuentos_por_Empresas.
  • Campos: ID Registro, ID Categoría Plataforma Digital, Código Fiscal Cliente (NIT), Descuento (%)

CARTERA DE CRÉDITO

  • Dirección: Unidireccional.
  • Iniciador: Sistema de Gestión.
  • Proveedor: Sistema de Gestión.
  • Cliente: Plataforma Digital.
  • End Point (Recurso): Cartera.
  • Campos: ID Registro, Empresa, NIT, Monto Aprobado, Monto Disponible, Cupo de Cartera, Plazo de Crédito, Suspendido, Inactivo, Cartera Vencida

Conclusión

Cuando realiza la sincronización de un sistema de gestión con una plataforma digital en la nube (remota), como el comercio electrónico o un CRM, con un sistema de gestión administrativo (ERP) local haciendo uso de API Webservices, es necesario definir múltiples aspectos fundamentales, como las premisas, reglas y estructuras, entre otros, para que la sincronización de los datos pueda funcionar correctamente.

Si usted hace uso de nuestras plataformas TecnoCommerce o TecnoCRM y desea sincronizarlas con su sistema de gestión administrativo, ¡contáctenos ahora!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.