Brightmarket Sync Guide

constants.py

Field maps y value maps específicos de tu organización.

src/constants.py centraliza los mapeos que consume el sync del SDK vía mappers_from_constants(constants).

Hay dos tipos de configuración:

  1. Field maps (*_FIELD_MAP) — qué columna de tu fuente corresponde a cada clave lógica del SDK.
  2. Value maps (*_MAPPING) — cómo traducir códigos de tu sistema a valores Brightmarket.

Guía completa de field maps: Field maps.

Field maps (*_FIELD_MAP)

Definí un dict por entidad que sincronices. Ejemplo mínimo para clientes:

CLIENT_FIELD_MAP = {
    "external_id": "tu_columna_id_cliente",
    "name": "tu_columna_nombre",
    "sex": "tu_columna_sexo",
    "department_id": "tu_columna_region",
}

Otros dicts según los flags que uses: SKU_FIELD_MAP, TICKET_FIELD_MAP, PAYMENT_METHOD_FIELD_MAP, PROMOTION_FIELD_MAP, REWARD_FIELD_MAP, POINTS_MOVEMENT_FIELD_MAP, POINTS_EXPIRATION_FIELD_MAP.

El template trae ejemplos comentados. Descomentalos y completá los nombres de columna reales antes de correr el sync.

Value maps (*_MAPPING)

ConstanteUso
SEXO_MAPPINGCódigo fuente → MALE / FEMALE / OTHER
DEPARTAMENTO_MAPPINGId departamento → nombre
DEPARTAMENTO_MAPPING_APINombre departamento → stateId Brightmarket
COUNTRY_MAPPINGId país/región fuente → countryId
COUNTRY_ID_FOR_RESOLVED_STATEcountryId cuando se resuelve un departamento a estado
CLIENT_LEVEL_MAPPINGCódigo nivel cliente → levelId (asignación tras create_client)
POINTS_MOVEMENT_TYPE_MAPPINGCódigo fuente → ACCUMULATION / CONSUMPTION / ADJUSTMENT

El template viene con value maps vacíos. Completalos según tu organización.

Carga en el registry

from brightmarket_data_sync.sync import build_default_commands, mappers_from_constants
import constants

mappers = mappers_from_constants(constants)
commands = build_default_commands(mappers)

No hardcodees credenciales ni URLs de API aquí — usá .env y BrightmarketConfig.

On this page