Brightmarket Sync Guide

Guía de implementación

Paso a paso para implementar adapter, sync y ejecución en tu proyecto cliente.

Tu proyecto sincroniza datos desde tu fuente hacia Brightmarket usando el SDK brightmarket-data-sync. Todo lo que escribe en la API vive en el SDK; vos implementás lectura, transformación y orquestación.

Checklist

1. Obtener el proyecto

Seguí Obtener tu proyecto: entrega de Brightmarket o descarga del zip.

2. Instalar dependencias

Inicio rápido: login_aws.envauth-pip.shpip install.env.

3. Probar conectividad

python -m src.main -test

4. Adaptar conexión a tu fuente (src/db.py)

El SDK no incluye drivers de BD. Si tu fuente no es SQL Server, adaptá src/db.py a pyodbc, psycopg2, archivos, etc.

Tu clase debe exponer consultas que devuelvan filas (idealmente list[dict]).

5. Implementar el adapter (src/adapter.py)

Implementá todos los métodos de BrightmarketAdapter:

MétodoQué devolvés
get_clients_created / get_clients_modifiedFilas de clientes
get_skusFilas de artículos/SKUs
get_ticketsUna fila por línea de ticket
get_payment_methodsMedios de pago distintos
get_promotionsFilas o dicts según tu sync
get_rewardsRewards (opcional)

Fechas en formato YYYYMMDD. Devolvé filas crudas; el mapeo a payloads va en src/sync/.

Implementá un método a la vez y probá con el flag CLI correspondiente.

6. Constantes de negocio (src/constants.py)

Mapeos de tu organización: sexo, departamento/región, niveles de cliente, sucursales a omitir, etc.

7. Módulos sync (src/sync/)

Patrón por entidad:

  1. Leer con el adapter
  2. Transformar fila → argumentos del writer
  3. Llamar al writer del SDK

Ver Estructura del proyecto para cada archivo y Referencia del SDK para payloads.

PromocionesPromotionsWriter con callbacks opcionales para sucursales o métodos de pago faltantes.

8. CLI (src/main.py)

Flags habituales en tu proyecto:

FlagAcción
-testProbar BD + login API
-clientsClientes nuevos y modificados
-skusArtículos / SKUs
-ticketsTickets de venta
-payment_methodsMedios de pago
-promotionsPromociones
-rewardsRewards (opcional)
-from / -toRango YYYYMMDD

9. Ejecutar syncs

python -m src.main -clients -from 20260101 -to 20260131

Orden sugerido: -payment_methods-clients-skus-promotions-rewards (opcional) → -tickets.

Ampliar el proyecto

NecesidadQué agregar
Más entidadesMétodo en adapter + src/sync/<entidad>.py + flag en main.py
Varias basesVarios conectores en el adapter
Docker / CIVer CI / PyInstaller
EjecutablePyInstaller con hiddenimports=['brightmarket_data_sync', 'brightmarket_data_sync.writers']

Referencia

Si necesitás un ejemplo de implementación real, pedilo a tu contacto de Brightmarket.

On this page