...
Una vez que Promo recibe información desde la cola rabbit Rabbit correspondiente, la misma será derivada al monitor de Importación y será procesada por la tarea programada denominada "Importador de Entidades".
...
clave | Tipo de Dato | Descripción |
---|---|---|
rabbitMQ.producer.enabled | Booleano | Propiedad que indica si está habilitado RabbitMQ para el posteo de datos (true o false) |
rabbitMQ.promotion.endpointName | Alfanumérico | Nombre de la cola de RabbitMQ para el posteo de promociones, la cual se encargara de recibir los mensajes para el posterior procesamiento por parte del Consumer |
rabbitMQ.limitstatus.endpointName | Alfanumérico | Nombre de la cola de RabbitMQ para el posteo del status de limites, la cual se encargara de recibir los mensajes para el posterior procesamiento por parte del Consumer |
rabbitMQ.enginestatus.endpointName | Alfanumérico | Nombre de la cola de RabbitMQ para el posteo del status de motor y consola. |
rabbitMQ.producer.uri | Alfanumérico | URI de conexión completa RabbitMQ para el posteo de datos (amqp://<user>:<password>@<host>:<port>/<vhost>) vhost: Opcional en caso de estar definido dentro del server RabbitMQ |
rabbitMQ.producer.username | Alfanumérico | Usuario para acceder al RabbitMQ para el posteo de datos |
rabbitMQ.producer.password | Alfanumérico | Password para acceder al RabbitMQ para el posteo de datos |
rabbitMQ.producer.host | Alfanumérico | Dirección (host) del RabbitMQ server para el posteo de datos |
rabbitMQ.producer.virtualHost | Alfanumérico | Virtual Host al RabbitMQ para el posteo de datos |
rabbitMQ.producer.port | Numérico | Puerto del server RabbitMQ para el posteo de datos |
rabbitMQ.promotionsCache.endpointName | Alfanumérico | Nombre de la cola RabbitMQ que recibirá los mensajes referentes al Cache de Promociones. (Ver Cache de Promociones) |
...
rabbitMQ.producer.enabled: (true o false)
rabbitMQ.producer.uri:amqp://<user>:<password>@<host>:<port>/<vhost(Opcional)>
rabbitMQ.promotion.endpointName:<nombreCola para posteo de promociones>
rabbitMQ.limitstatus.endpointName:<nombreCola para posteo del status de limites>
rabbitMQ.cardhistory.endpointName: <Nombre de la cola de RabbitMQ para el posteo de datos de tipo CardHistory>
rabbitMQ.enginestatus.endpointName:<nombreCola para posteo del status del motor y consola>
Segunda o configuración por parámetros:
rabbitMQ.producer.enabled:(true o false)
rabbitMQ.producer.username:<user>
rabbitMQ.producer.password:<pass>
rabbitMQ.producer.host:<host>
rabbitMQ.producer.virtualHost:<vhost>
rabbitMQ.producer.port:<port>
rabbitMQ.promotion.endpointName:<nombreCola para posteo de promociones>
rabbitMQ.limitstatus.endpointName:<nombreCola para posteo del status de limites>
rabbitMQ.cardhistory.endpointName: <nombreCola para posteo del CardHistory>
rabbitMQ.enginestatus.endpointName:<nombreCola para posteo del status del motor y consola>
RabbitMQ – Historial de Tarjetas
La cola de mensaje disponibles para el envío del historial de tarjetas:
...
Campo | Descripción | ||||||
id | Id del registro de limite en Mongo. | ||||||
amount | Monto actual asociado a la tarjeta de fidelidad | ||||||
amountPrev | Monto previo de la tarjerta de fidelidad | ||||||
card {} | Datos asociados a la tarjeta informada
| ||||||
cardAction | Accion asociada al movimiento de tarjeta de fidelidad. | ||||||
companyId | Compañía desde la que se envia el movimiento de la tarjeta de fidelidad. | ||||||
createdAt | Fecha de creacion de la tarjeta de fidelidad. | ||||||
customerCode | Cliente asociado a la tarjeta de fidelidad. | ||||||
date | Fecha del movimiento que se informa de la tarjeta de fidelidad. | ||||||
reason | Código de la razón asociada al movimiento que se informa de la tarjeta de fidelidad. | ||||||
reasonName | Nombre de la razón asociada al movimiento que se informa de la tarjeta de fidelidad. | ||||||
storeCode | Código de la tienda asociada al movimiento que se informa de la tarjeta de fidelidad. | ||||||
terminalCode | Código de la terminal asociada al movimiento que se informa de la tarjeta de fidelidad. |
RabbitMQ – Estado de los limites
La cola de mensaje disponibles para el envío de estado de los limites es:
...
Campo | Descripción |
id | Id del registro de limite en Mongo. |
promotionId | Id de la promoción en Mongo. |
benefitId | Id del beneficio en Mongo. |
promotionCode | Código de la promoción. |
promotionName | Nombre de la promoción. |
limitId | Id del límite en Mongo. |
scope | Tipo de limite a contabilizar (CUSTOMER, STORE, RETAILER). |
period | Periodo a contabilizar. |
maxValue | Valor máximo al que podrá llegar el limite definido en la promoción. |
customerId | Cliente asociado al límite. |
storeId | Id de la tienda donde se realizó el movimiento del límite. |
numberDays | Cantidad de días definidos para el periodo a contabilizar. |
nextReset | Próximo reseteo del límite. |
lastReset | Ultimo reseteo realizado al límite. |
limitTypeCode | Código del tipo de limite (benefitAmount, benefiedProductCount, benefitApplicationCount). |
description | descripción ingresada en el límite. |
lastUpdate | Ultima actualización del limite (desde consola a promociones con limite definido). |
active | Indica si el limite está a activo (true) o consumido (false). |
currentValue | Valor actual del límite. |
Mensajes: Cache de Promociones
...
RabbitMQ – Estado de Motor y Consola
La cola de mensaje disponibles para el envío de estado de de motor y consola es:
- rabbitMQ.enginestatus.endpointName >> Nombre de la cola de RabbitMQ para el posteo del status de motor y consola.
Informações | ||
---|---|---|
| ||
|
Configuración
El Job por defecto se ejecutará cada 5 minutos, pudiendo modificar el tiempo de ejecución desde Administración ->Tareas programadas.
Configuración del archivo promoplus.properties
Para identificar a la consola se deberán configurar los siguientes parámetros : promo.general.id y promo.general.name. Si estos parámetros se encuentran vacíos se utilizará en los procesos en ambos parámetros la ip.
Informações | ||
---|---|---|
| ||
Los valores ingresados en promo.general.id y en promo.general.name no deben coincidir con los parámetros id y name configurados en el motor de Promo. |
Ejemplo del Json que se envía de RabbitMQ
Bloco de código | ||
---|---|---|
| ||
{
"engineId": "1",
"engineName": "ENGINE1",
"processDate": "16/03/2021 11:33",
"startDate": "2021-03-12T03:00:00Z",
"endDate": "2021-04-20T02:59:00Z",
"keyMap": "napse",
"mapVersion": "2",
"stores": "napse",
"statusMQ": "ONLINE",
"timestamp": "16/03/2021 11:35"
"isConsole":"false"
} |
El Json de RabbitMQ, contendrá el siguiente formato:
Campo | Ejemplos | Tipo de dato | Detalle |
---|---|---|---|
engineId | "1" | Alfanumérico | Identificador del motor o consola. |
engineName | "ENGINE1" | Alfanumérico | Nombre del motor o consola. |
processDate | "16/03/2021 11:33" | Alfanumérico | Fecha y hora del ping del motor o consola. Formato : "dd/MM/yyyy HH:mm" |
startDate | "2021-03-12T03:00:00Z" | Alfanumérico | Fecha de inicio de vigencia del mapa, dato que se informa para el caso del motor si corresponde. Para consola vacío. Formato: "yyyy-MM-dd'T'HH:mm:ssXX" |
endDate | "2021-04-12T03:00:00Z" | Alfanumérico | Fecha fin de vigencia del mapa, dato que se informa para el caso del motor. Para consola vacío. Formato: "yyyy-MM-dd'T'HH:mm:ssXX" |
keyMap | "napse" | Alfanumérico | Identificador, dato que se informa para el caso del motor. Para consola vacío. |
mapVersion | "2" | Alfanumérico | Versión del mapa,para consola vacio. |
stores | "napse" | Alfanumérico | Tiendas solo para motor,para consola vacio. |
statusMQ | "ONLINE" | Alfanumérico | Estado del motor o consola. Valores posibles:ONLINE ,OFFLINE |
timestamp | "16/03/2021 11:35" | Alfanumérico | Fecha y hora de envío |
isConsole | "false" | Alfanumérico | Identifica si el origen es consola. Si es false indica que es motor |
...
Mensajes: Cache de Promociones
Cuando es ejecutado el proceso que evalúa y genera el cache de Promociones de Promo, se generan una serie de mensajes a la cola Rabbit con el siguiente formato general.
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "promotionCode" : "0", "promotionName" : "init promoCache lot number 1596140494623", "SKU" : "0", "img": null } |
Luego cada promoción asociada al producto llevará el siguiente formato:
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "promotionCode" : "p003", "promotionName" : "Promo03", "SKU" : "2734", "img": “http://myserverPromo:8080/assets/images/promonavidad.jpg” } |
...
Gestión de Errores
En el caso de existir registros de posteos a server RabbitMQ con ERROR, se mostrara un aviso (banner) en la cabecera de Promo, indicando de forma general la incidencia.
...