Integración stock

Integración de stock

Cloudcar es una plataforma integral que facilita el comercio electrónico para la industria automotriz. Nuestro software proporciona una solución robusta y escalable para la gestión del inventario de vehículos, permitiendo que estos sean mostrados online, posibilitando la reserva y compra de manera eficiente y minimizando el riesgo de ventas duplicadas.

Pasos iniciales

Antes de comenzar con la integración de nuestros sistemas, es necesario que el cliente nos proporcione el esquema (schema) de su stock de vehículos. Este esquema debe contener todos los campos relevantes que describan las características de un vehículo y su disponibilidad.

El esquema mínimo que Cloudcar necesita para operar correctamente incluye los siguientes datos:

  • Marca
  • Modelo
  • Versión
  • Año
  • Color
  • VIN (número de identificación del vehículo)
  • Precio
  • Estado del vehículo (disponible, reservado, vendido, bloqueado)

Además de los campos requeridos, se pueden proporcionar datos opcionales para mejorar la experiencia del usuario y proporcionar más detalles sobre cada vehículo. Estos campos incluyen:

  • Ubicación
  • Precio con oferta
  • Tipo de cambio (CLP/USD)
  • Detalles del vehículo
  • Tiempo de entrega
  • Color de interior
  • Accesorios
  • etc.

Una vez que tenemos el esquema del cliente, se estandarizarón los datos del stock de vehículos para ser utilizados en la plataforma de Cloudcar.

El sistema de sincronización de stock requiere de dos interacciones para su correcto funcionamiento: obtención del stock y cambio de estado de un vehículo. El primero permite conocer el stock disponible del cliente, mientras que el segundo permite realizar cambios de estado de un vehículo dentro del DMS/ERP del cliente, para evitar duplicidad de ventas.

Para las dos interacciones anteriormente mencionadas, existen varios mecanismos para poder realizar la integración, los cuales se detallan a continuación.

Mecanismos de integración

Obtención de stock de vehículos (obligatorio)

Una vez realizada la estandarización entre el esquema de stock del cliente y la plataforma Cloudcar, podemos comenzar con la obtención del stock de vehículos. Cloudcar puede interactuar con el inventario del cliente de las siguientes maneras:

1. API REST o SOAP

Cloudcar consume una API que proporciona datos actualizados del stock de vehículos. La estructura de los datos que se enviarán a través de la API debe coincidir con el esquema proporcionado por el cliente.

Ejemplo:

curl GET "https://api.marca.com/stock" -H "accept: application/json" -H "Authorization ..."

Response body:

[
  {
    "marca": "Mazda",
    "modelo": "CX-5",
    "version": "2.0",
    "anio": 2019,
    "color": "Rojo",
    "vin": "JM3KFACL5K0650000",
    "precio": 14990000,
    "estado": "disponible"
  }
]

2. Webhooks

Un webhook permite la notificación del estado actual de los vehículos en stock. A través de este método, la plataforma Cloudcar puede recibir notificaciones automáticas cada vez que ocurre un cambio de estado. En un principio, se deberá enviar el stock inicial a través del webhook.

Ejemplo:

curl -X POST "https://webhook.marca.com/stock?=Concesionario1" -H "accept: application/json" -H "Authorization ..."

body:

{
  "marca": "Mazda",
  "modelo": "CX-5",
  "version": "2.0",
  "anio": 2019,
  "color": "Rojo",
  "vin": "JM3KFACL5K0650000",
  "precio": 14990000,
  "estado": "disponible"
}

Response body:

{
  "status": "ok"
}

3. Stream de eventos con Kafka

Apache Kafka es una plataforma de stream de eventos en tiempo real capaz de manejar grandes cantidades de datos de manera eficiente. Cloudcar puede consumir datos de stock de vehículos desde una fuente Kafka, proporcionando actualizaciones casi en tiempo real del inventario.

Producción de mensajes: Ahora puede comenzar a producir mensajes (eventos) en su tópico recién creado. Cada evento debería ser un cambio de estado de un vehículo o una adición de un nuevo vehículo al stock. Los eventos deben ser enviados en formato JSON, siguiendo el esquema que se ha acordado.

Ejemplo:

{
  "marca": "Ford",
  "modelo": "Mustang",
  "version": "GT",
  "anio": 2023,
  "color": "Rojo",
  "vin": "1FATP8FF6J5186166",
  "precio": 35000,
  "estado": "disponible",
  "ubicacion": "Madrid",
  "precio_con_oferta": 32000,
  "detalles": "Vehículo deportivo con excelente rendimiento y comodidad",
  "tiempo_de_entrega": "5 días",
  "color_interior": "Negro",
  "accesorios": "Rines deportivos, sistema de sonido premium"
}

Consumo de eventos en Cloudcar

En el lado de Cloudcar, se configurará un consumidor Kafka para leer estos mensajes desde el tópico específico. El consumidor interpretará los eventos entrantes de acuerdo al esquema proporcionado y actualizará el stock de vehículos en la plataforma Cloudcar en tiempo semi-real.

Es importante destacar que este es un ejemplo simplificado. La configuración exacta y los detalles técnicos pueden variar según las necesidades específicas y la infraestructura del cliente. Además, Kafka tiene muchas características avanzadas, como la replicación de datos y la tolerancia a fallos, que se deben considerar para un despliegue en producción.

4. Archivos XLSX

En caso de que los métodos anteriores no estén disponibles, el stock de vehículos puede ser proporcionado a través de un archivo XLSX/CSV. Los detalles específicos de cómo debe estructurarse este archivo se proporcionarán en la sección correspondiente. Para facilitar este metodo se asignará un correo electrónico para que el cliente pueda enviar el archivo y ese sea procesado automáticamente.

Cambio de estado de vehículo

Para evitar la duplicidad de ventas, es necesario que Cloudcar pueda notificar al sistema del cliente cuando un vehículo se haya vendido o se haya cancelado una venta. Esta integración pueda requerir conectar otros puntos que no se mencionan en este documento, por lo que se debe tener en cuenta que la integración puede variar según las necesidades específicas del cliente.

El estado de un vehículo en la plataforma Cloudcar puede variar dependiendo de su disponibilidad y las operaciones ejecutadas sobre este. Este cambio de estado puede ser administrado directamente en la plataforma Cloudcar, o bien, puede ser notificado opcionalmente a un sistema externo.

Para que Cloudcar pueda realizar la integración correctamente, es esencial tener acceso al cambio de estado de un vehículo, ya sea que se haya vendido o que se haya cancelado una venta. Cloudar puede efectuar el cambio de estado de las siguientes maneras:

1. API REST/SOAP

Los datos enviados a través de estas APIs deben seguir un esquema específico proporcionado por el cliente y mapeado a los sistemas de Cloudcar mediante un diccionario. Este esquema define la estructura y el tipo de los datos que se envían, lo cual es esencial para que Cloudcar pueda interpretar y actuar sobre estos datos correctamente. Los detalles sobre cómo se debe estructurar esta API, como los endpoints, los métodos HTTP utilizados (GET, POST, etc.), y los cuerpos de las solicitudes y respuestas, se proporcionarán una vez que se reciba y procese el esquema del cliente.

Ejemplo:

curl -X POST "https://api.concesionario.com/changeState" -H "accept: application/json" -H "Authorization ..."

body:

{
  "internalId": "JM3KFACL5K0650000",
  "state": "RESERVED"
}

Response body:

{
  "status": "RESERVED",
  "message": "El vehículo ha sido reservado exitosamente"
}

2. Webhooks

Los webhooks son otra forma eficiente de mantener sincronizados a Cloudcar y los sistemas externos. Un webhook es esencialmente una URL a la que Cloudcar puede enviar una solicitud HTTP cuando ocurre un evento específico (en este caso, un cambio en el estado de un vehículo). Al igual que con las APIs, se proporcionará una guía detallada de cómo implementar webhooks para notificar el cambio de estado de los vehículos a la plataforma Cloudcar, personalizada en función del esquema del cliente.

3. Archivos XLSX

Si los sistemas externos no soportan la comunicación a través de APIs, o webhooks, el estado de los vehículos también puede ser actualizado mediante el envío de archivos XLSX al igual que el paso anterior. Estos archivos deben ser estructurados de una manera específica para que Cloudcar pueda interpretarlos correctamente. Los detalles de cómo se debe estructurar el archivo XLSX para la carga del stock de vehículos se proporcionarán una vez que se reciba y procese el esquema del cliente. Estos detalles incluirán el formato y la organización de los datos según el esquema proporcionado.