Bridge v7 - BRIDGE API REST - RabbitMQ - Exportación de transacciones


Documento de análisis




REVISIONES
FechaVersiónDescripciónAutor

 

1.0Creación del doc

 

1.1Se actualiza configuración de colas de exportación referenciando a documentación correspondiente

 


Se actualiza configuración de archivos de exportación con nuevo menú configuración → Colas de exportación

 

1.2Se agrega configuración para dejar activo Rabbit en API

 

1.3Se modifica el print screen dentro de "Configuracion de las colas"



CONTENIDO


Alcance

En el presente documento se detalla la exportación de entidades desde BRIDGE mediante el uso de colas RabbitMQ. El objetivo será:

  • Visualizar una exportación desde el monitor de exportación de BRIDGE MANAGER
  • Visualizar una exportación en la cola RabbitMQ
  • Como se consume el JSON exportado desde la cola RabbitMQ
  • Las entidades tomadas de referencia son: transactionRetail (TLOGs de venta/devolución) y customer (clientes) 


Configuración de default.json de API (desde el BM que exporta)

(v1.2) Asegurarse que la configuración a Rabbit se encuentra activa para API Central

En el directorio de instalación de API (bridgeapi/config/default.json) 


  • Luego verificar en el log de API si quedó la conexión con Rabbit en línea. 

  • Para la habilitación/configuración de tipos de transacción o entidades, ver en este doc, sección: 

    Configuración de las colas

Listado de transacciones de Bridge Manager

  • Para poder ver las operaciones realizadas en los puntos de venta y las operaciones de Bridge Manager (ej: operaciones de no venta) se podrá acceder desde el menú Monitoreo/Listado de transacciones. 
  • Alli mediante las acciones se podrá ver el JSON completo de la operación. 
  • En el listado se detallan los datos del encabezado que permite identificarla con su tienda, terminal y nro de transacción

  • Estas operaciones ya sean del tipo: SALE; RETURN, EXCHANGE o MANUALEXCHANGE, así como los NEWCUSTOMER son las que se exportarán a las colas una vez que el servicio de API de exportaciones las procese. 


Exportación desde Bridge Manager

  • Para poder verificar las exportaciones de entidades desde el entorno de BRIDGE MANAGER, se podrá conectar al Bridge Manager Central y acceder al monitor de exportación desde el menú Monitoreo/monitor de exportación. 

Monitor de exportación

  • En el campo filtro "Destino" se podrá acotar la búsqueda mediante la selección "rabbit" y todos los estados (por defecto se encuentra el filtro de estado = pendiente) 
  • Se podrá encontrar el listado de operaciones de venta/devolución/cambio y los clientes nuevos o editados de los cuales se genera la exportación. 
  • En el listado se detallan los datos del encabezado que permite identificarla con su tienda, terminal y nro de transacción (idem listado de transacciones explicado en el punto anterior)


DETALLE DE UNA EXPORTACIÓN

  • Para acceder al detalle, se debe seleccionar el botón "Acciones/Contenido"  del registro

  • La información es de los datos de encabezado de la operación. Ejemplo de una venta exportada

  • Contenido de una sale (venta):

  • Ejemplo de un cliente exportado

  • Contenido de un NewCustomer (cliente):


Configuración de las colas

  • Desde Configuración/Colas de exportación se podrá acceder al menú Exportación/Transacciones Rabbit
    Se configuran las colas desde el ABM de colas exportación en el menú Configuración/Colas de Exportación 21B_7_BASE_RE_042: Configuración de exportaciones a colas Rabbit ✅ a partir de la revisión 24456  para API  y la revisión 24454 para BM.

Consola RabbitMQ

Login

Colas: ver detalle

  • En la pestaña "Queues" se encuentran las colas disponibles, con su estado y la cantidad de mensajes recibidos.

  • Ingresando en el detalle de la cola, se podrá obtener más detalle del tráfico de la misma. Hacer un click sobre el nombre.

Queue Customer

  • Ejemplo customer:





  •  En la opción "Get messages" se podrá ver la información que se encuentra recibida sin consumirla /sacada de la misma (permite verificar los mensajes que están llegando)



  • Al seleccionar el botón "Get Message(s)" se podrán ver en detalle pudiendo en el campo Payload ver el contenido recibido.

Ejemplo del JSON de cliente
code":"0100025321123T1



{"_id":"60913fa49c0d1718f4559d6f","_class":"Person","apiProcessed":true,"code":"0100025321123T1","creditBillAvailable":false,"disabled":false,"email":"[email protected]",
"exemptFlag":false,"firstName":"Carlos","identificationType":"5ea556595604c8593c607f18","identifier":"25321123","lastName":"Gonzalez","partyRoleAssignments":["5ea556595604c8593c607f11"],
"store":"T1","typeCode":"PRS","version":1,"createdAt":"2021-05-04T12:36:30.146Z","updatedAt":"2021-05-04T12:36:30.146Z","contactMethods":[{"_id":"60913fa49c0d1718f4559d70",
"address":{"postalCode":"","firstLine":"Avenida 123","city":"60892028c490f1576c0724c1","state":"60891f5ac490f1576c072483","fourthLine":"","country":"60891bcec490f1576c0723fa",
"secondLine":"","thirdLine":""},"code":"0100025321123T1_particular","disabled":false,"effectiveDate":"2021-05-04T12:35:45.310Z","emailAddress":"[email protected]",
"expirationDate":"9999-12-31T12:33:02.673Z","name":"particular","party":"60913fa49c0d1718f4559d6f","partyCode":"0100025321123T1","principalForBilling":true,"principalForDelivery":false,"version":1}]}


Transacción NewCustomer en Bridge Manager Central (desde el monitor de exportación)

Customer:"partyCode": "0100025321123T1"


QUEUE Transactions




Ejemplo del JSON de una venta

"trxType":"Sale","trxNumber":12,"store":"609070117ded4c435b0a3674","storeName":"Tienda 1",


{"_id":"60915bb27d37b10ba0ef3be0","itemCount":1,"grossAmount":110.5,"taxAmount":0,"promoDiscountAmount":0,"manualDiscountAmount":0,"cancelFlag":false,"contingencyFlag":false,"netSalesAmount":110.5,"returnAmount":0,"transactionDiscountAmount":0,"iva0Amount":110.5,"iva21Amount":0,"iva10Amount":0,"iva27Amount":0,"customerLoyalty":[],"promoCouponLoyalty":[],"manualDiscounts":[],"transactionObjectId":"60915b95c9cd972424fdcdef","tenderRepository":"609072478a7529072c6fab7d","trxType":"Sale","trxNumber":12,"store":"609070117ded4c435b0a3674","storeName":"Tienda 1","terminal":"609071ef19263b4ea8dbd072","storeCode":"T1","terminalCode":"3","periodNumber":1,"sbPeriodNumber":2,"beginDateTime":"2021-05-04T14:34:47.754Z","endDateTime":"2021-05-04T14:34:59.203Z","beginDateTimeAsInt":20210504,"beginDateTimeHour":11,"operatorCode":"herval","operatorName":"Herval","trainingModeFlag":false,"suspendedFlag":false,"offlineFlag":false,"trxTypeLang":"Venta","grossPositiveAmount":110.5,"grossNegativeAmount":0,"ivaTaxAmount":0,"internalTaxAmount":0,"perceptionAmount":0,"currencyDescription":"PESO ARGENTINO","fiscalPosNumber":"0003","serieOfficialBill":"B","billType":"TK","billNumber":"00000012","businessDayDate":"2021-05-03T03:00:00.000Z","hasCustomer":false,"denomination":"CONSUMIDOR FINAL","createdAt":"2021-05-04T14:35:30.348Z","updatedAt":"2021-05-04T14:35:30.348Z","version":0,"items":[{"_id":"60915bb27d37b10ba0ef3bde","unitPrice":110.5,"quantity":1,"units":1,"extendedPrice":110.5,"netAmount":110.5,"promoDiscountAmount":0,"manualDiscountAmount":0,"transactionObjectId":"60915b95c9cd972424fdcdef","trxType":"Sale","trxNumber":12,"storeCode":"T1","store":"609070117ded4c435b0a3674","storeName":"Tienda 1","terminal":"609071ef19263b4ea8dbd072","terminalCode":"3","periodNumber":1,"sbPeriodNumber":2,"beginDateTime":"2021-05-04T14:34:47.754Z","beginDateTimeAsInt":20210504,"beginDateTimeHour":11,"operatorCode":"herval","operatorName":"Herval","internalCode":"IVA105","description":"PRODUCTO IVA 10.5%","voiding":false,"voidFlag":false,"trainingModeFlag":false,"suspendedFlag":false,"cancelFlag":false,"locationCode":"DEP1","ivaType":{"id":"5ea5565c5604c8593c6081ee","code":"0","description":"IVA Exento","percentage":0,"disabled":false},"taxDetail":[{"taxType":"VAT","typeCode":"Sale","taxAuthority":"0","taxableAmount":110.5,"taxIncludedInTaxableAmountFlag":true,"amount":0,"taxablePercentage":0,"magnitudTax":0}],"version":0,"createdAt":"2021-05-04T14:35:30.310Z","updatedAt":"2021-05-04T14:35:30.310Z"}],"payments":[{"_id":"60915bb27d37b10ba0ef3bdf","amount":110.5,"change":0,"surcharge":0,"netAmount":110.5,"foreignCurrencyQuote":1,"foreignAmount":0,"foreignChange":0,"transactionObjectId":"60915b95c9cd972424fdcdef","trxType":"Sale","trxNumber":12,"storeCode":"T1","store":"609070117ded4c435b0a3674","storeName":"Tienda 1","terminal":"609071ef19263b4ea8dbd072","terminalCode":"3","periodNumber":1,"sbPeriodNumber":2,"beginDateTime":"2021-05-04T14:34:47.754Z","beginDateTimeAsInt":20210504,"beginDateTimeHour":11,"operatorCode":"herval","operatorName":"Herval","tender":"5ea5565d5604c8593c60841f","tenderRepository":"609072478a7529072c6fab7d","tenderName":"EFECTIVO","voided":false,"voiding":false,"trainingModeFlag":false,"suspendedFlag":false,"cancelFlag":false,"fiscalPosNumber":"0003","billType":"TK","serieOfficialBill":"B","billNumber":"00000012","currencyISOCode":"ARS","card":false,"provider":"999","vtolStore":"-","vtolTerminal":"-","referenceNumber":"-","lotNumber":"-","cardNumber":"-","version":0,"createdAt":"2021-05-04T14:35:30.315Z","updatedAt":"2021-05-04T14:35:30.315Z"}],"discounts":[]}



Transacción Sale en Bridge Manager Central (desde el monitor de exportación)



Consumo de los datos posteados en la cola

  • Se requiere conectarse a RabbitMQ.

amqp.connect('amqp://localhost', function(error0, connection) { ...

  • Para consumir los datos de la cola, utilizar el método "consume"

 


Documentación de los JSON de entidades exportadas

  • Sem rótulos