Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 3 Próxima »


PLUGIN BRIDGE2SQL

Documentación y Modelo de Datos SQL





Contenido


INTRODUCCIÓN


Este documento tiene como finalidad describir en detalle el modelo de datos utilizado en la integración del Plugin Bridge2SQL con SQL Server. La finalidad del documento es proporcionar una referencia técnica para el diseño, implementación y mantenimiento de la base de datos, asegurando la correcta estructuración de las transacciones procesadas desde el sistema Bridge Manager Central hasta su almacenamiento en SQL Server.

El objetivo principal es establecer un marco de referencia claro para la gestión de datos en el entorno de integración, facilitando la interoperabilidad entre los distintos sistemas involucrados. Se incluyen detalles sobre la arquitectura del sistema, el flujo de procesamiento de datos, la estructura de las tablas en la base de datos y el mapeo de información entre los formatos JSON y SQL.

Este documento está dirigido a desarrolladores, arquitectos de sistemas y administradores de bases de datos que requieran comprender el funcionamiento interno del Plugin Bridge2SQL y su impacto en la estructura de datos.




DIAGRAMA DE ARQUITECTURA


El sistema se conforma de cuatro componentes principales:

  • Bridge Manager Central: Sistema exportador.

  • Sistema de Colas RabbitMQ: Para encolar los datos exportados.

  • Plugin Bridge2Sql: Lee las colas RabbitMQ y escribe los datos en SQL.

  • Servidor SQL: Almacena los datos procesados.

Todos los componentes pueden convivir en el mismo servidor si fuera necesario.






DESCRIPCIÓN DE LOS COMPONENTES


Bridge Manager Central

Actúa como BackOffice complementando la operación en tienda de los puntos de venta. La solución cuenta con un conjunto de módulos que contemplan las operaciones reducidas de Cash Office, su módulo de abastecimiento y provee una serie de interfaces de integración con sistemas externos como ERP, sistemas legacy, etc.

Cuenta con una "Consola de administración", encargada de brindar una herramienta centralizada de administración. Esta consola es Web y funciona sobre un servidor de aplicaciones. Permite configurar qué tipos de transacciones se pueden exportar y hacía donde se expone la información por ejemplo “rabbit”.


Colas RabbitMQ

Sistema de mensajería que almacena datos encolados para procesamiento. Actúa como intermediario confiable entre sistemas distribuidos.

Su principal responsabilidad es almacenar los datos encolados para su procesamiento. RabbitMQ facilita la comunicación entre aplicaciones distribuidas al actuar como un intermediario confiable que encola, enruta y entrega mensajes de manera eficiente y flexible. Su uso permite la creación de sistemas robustos y escalables que pueden manejar grandes volúmenes de mensajes de manera confiable.

Las colas en RabbitMQ son puntos de almacenamiento temporales para los mensajes y actúan como buffers donde los mensajes son encolados hasta que son consumidos por los consumidores, en nuestro caso el plugin Bridge2Sql.


Plugin Bridge2Sql

Es un componente más de la solución Bridge que actua como el consumidor de los mensajes encolados en RabbitMQ y los procesa para insertarlos en el servidor de base de datos SQL. Una de las responsabilidades de este sistema es determinar a qué tablas se realizarán las inserciones de los registros dependiendo del valor de los campos de control.

Si bien realiza algunas operaciones de procesamiento, la mayor prioridad de este sistema será la lectura y escritura de la información.

Componentes:

  1. Configuración Inicial: Configurar conexión a RabbitMQ y a SQL Server

  2. Conexión a RabbitMQ: Configurar canales y declaración de colas a leer.

  3. Consumo de Mensajes: Recibe un mensaje, lo procesa extrayendo la información relevante para insertar en SQL.

  4. Procesamiento de Mensajes: Implica la deserialización del mensaje (si está en un formato específico, como JSON o XML), la validación de los datos y la preparación para la inserción en la base de datos.

  5. Conexión a la Base de Datos SQL Server: Abrir una conexión con SQL de forma segura.

  6. Inserción de Registros en la Base de Datos: Ejecutar los scripts de SQL

  7. Manejo de Errores y Reintentos: El plugin debe implementar mecanismos de manejo de errores y reintentos para garantizar la fiabilidad y la integridad de los datos.

  8. Cierre de Conexiones: Una vez que el plugin ha terminado de procesar los mensajes o se detiene su ejecución, debe cerrar todas las conexiones abiertas con RabbitMQ y la base de datos SQL Server de manera adecuada para liberar recursos y garantizar una terminación limpia.


SQL Server

Es un sistema de gestión de bases de datos relacional (RDBMS) desarrollado por Microsoft. Proporciona un entorno robusto y seguro para almacenar, administrar y recuperar datos de manera eficiente. Es ampliamente utilizado en empresas de todos los tamaños y sectores para almacenar y gestionar datos críticos de negocio.





FLUJO DE DATOS

El Plugin Bridge2SQL procesa transacciones marcadas como pendientes y determina el flujo de procesamiento según los siguientes criterios:

Transactions

Evalúa el campo trxType y si es "Sale", "ManualExchange" o "Exchange", inserta en:

  • transactionRetail (cabecera de la transacción).

  • transactionRetailItem (detalle de ítems).

  • transactionRetailPayment (detalle de pagos).

  • transactionRetailDiscount (detalle de descuentos).


New Customer

Si el campo typeCode es "NewCustomer", "PRS" o "OGN", inserta en:

  • party (cabecera del cliente).

  • partyContactMethod (métodos de contacto).


Tender Transaction

Si el campo typeCode es "TenderLoan", "TenderPickup" o "TenderWithdrawal", inserta en:

  • tenderTransaction (cabecera de la transacción).

  • tenderTransactionDetail (detalle de ítems).


Control Transaction

Si el campo trxType es "BusinessEOS" o "BusinessSOS", inserta en:

  • controlTransaction (cabecera).


Safe Transaction

Si el campo trxType es "TenderInflow" o "TenderOutflow", inserta en:

  • safeTransaction (cabecera).

  • safeTransactionDetail (detalle).




MAPEO DE LA INFORMACIÓN JSON - SQL

Una de las ideas del diseño de esta solución es que los nombres de los campos entre el JSON y SQL Sea el mismo y represente la misma información. En las tablas se mostrarán las correspondencias y se destacarán los casos en los que existe diferencia.


JSON Sale – SQL transactionRetail

Campo JSONCampo SQLDescripciónTipo dato
_id_idIdentificador únicoString
itemCountitemCountCantidad de ítemsNumber
grossAmountgrossAmountMonto brutoNumber
taxAmounttaxAmountMonto de impuestosNumber
promoDiscountAmountpromoDiscountAmountMonto de descuento promocionalNumber
manualDiscountAmountmanualDiscountAmountMonto de descuento manualNumber
cancelFlagcancelFlagBandera de cancelaciónBoolean
contingencyFlagcontingencyFlagBandera de contingenciaBoolean
netSalesAmountnetSalesAmountMonto neto de ventasNumber
returnAmountreturnAmountMonto de devoluciónNumber
transactionDiscountAmounttransactionDiscountAmountMonto de descuento de transacciónNumber
voidedFlagvoidedFlagBandera de anulaciónBoolean
nccProcessedFlagnccProcessedFlagBandera de procesamiento de NCCBoolean
iva0Amountiva0AmountMonto de IVA al 0%Number
iva21Amountiva21AmountMonto de IVA al 21%Number
iva105Amountiva105AmountMonto de IVA al 10.5%Number
iva27Amountiva27AmountMonto de IVA al 27%Number
foreignCurrencyInvoiceforeignCurrencyInvoiceFactura en moneda extranjeraBoolean
foreignCurrencySellingQuoteforeignCurrencySellingQuoteCotización de venta en moneda extranjeraNumber
transactionObjectIdtransactionObjectIdID de objeto de transacciónString
tenderRepositorytenderRepositoryRepositorio de transacciónString
trxTypetrxTypeTipo de transacciónString
trxNumbertrxNumberNúmero de transacciónNumber
storestoreTiendaString
storeNamestoreNameNombre de la tiendaString
terminalterminalTerminalString
storeCodestoreCodeCódigo de tiendaString
terminalCodeterminalCodeCódigo de terminalString
periodNumberperiodNumberNúmero de períodoNumber
sbPeriodNumbersbPeriodNumberNúmero de período (SB)Number
beginDateTimebeginDateTimeFecha y hora de inicioDateTime
endDateTimeendDateTimeFecha y hora de finalizaciónDateTime
beginDateTimeAsIntbeginDateTimeAsIntFecha y hora de inicio como enteroNumber
beginDateTimeHourbeginDateTimeHourHora de inicioNumber
operatorCodeoperatorCodeCódigo de operadorString
operatorNameoperatorNameNombre del operadorString
trainingModeFlagtrainingModeFlagBandera de modo de entrenamientoBoolean
suspendedFlagsuspendedFlagBandera de suspensiónBoolean
offlineFlagofflineFlagBandera de fuera de líneaBoolean
trxTypeLangtrxTypeLangTipo de transacción (idioma)String
currencyDescriptioncurrencyDescriptionDescripción de la monedaString
fiscalPosNumberfiscalPosNumberNúmero de Punto de Venta FiscalNumber
serieOfficialBillserieOfficialBillSerie de factura oficialString
billTypebillTypeTipo de facturaString
billNumberbillNumberNúmero de facturaNumber
businessDayDatebusinessDayDateFecha de día hábilDateTime
grossPositiveAmountgrossPositiveAmountMonto bruto positivoNumber
grossNegativeAmountgrossNegativeAmountMonto bruto negativoNumber
ivaTaxAmountivaTaxAmountMonto de impuesto IVANumber
internalTaxAmountinternalTaxAmountMonto de impuesto internoNumber
perceptionAmountperceptionAmountMonto de percepciónNumber
billTotalAmountbillTotalAmountMonto total de facturaNumber
hasCustomerhasCustomerBandera tiene clienteBoolean
partypartyInformación de clienteString
partyCodepartyCodeCódigo de clienteString
partyTaxCategorypartyTaxCategoryCategoría fiscal de clienteString
partyTypepartyTypeTipo de clienteString
partyFirstNamepartyFirstNameNombre de cliente (primer nombre)String
partyLastNamepartyLastNameApellido de clienteString
partyPersonpartyPersonPersona de clienteString
partyOrganizationpartyOrganizationOrganización de clienteString
partyIdentificationTypepartyIdentificationTypeTipo de identificación de clienteString
partyIdentificationNumberpartyIdentificationNumberNúmero de identificación de clienteString
partyAddressFirstLinepartyAddressFirstLinePrimera línea de dirección de clienteString
partyAddressCitypartyAddressCityCiudad de dirección de clienteString
partyAddressStatepartyAddressStateEstado de dirección de clienteString
partyAddressCountrypartyAddressCountryPaís de dirección de clienteString
partyAddressPostalCodepartyAddressPostalCodeCódigo postal de dirección de clienteString
partyEmailpartyEmailCorreo electrónico de clienteString
partyTelephonepartyTelephoneTeléfono de clienteString
denominationdenominationDenominaciónString
invoiceCurrencyCodeinvoiceCurrencyCodeCódigo de moneda de la facturaString
createdAtcreatedAtFecha de creaciónDateTime
updatedAtupdatedAtFecha de actualizaciónDateTime
versionversionVersiónNumber
baseCurrencyCodebaseCurrencyCodeCódigo de moneda baseString
originalSerieOfficialBilloriginalSerieOfficialBillSerie original de facturaString
originalFiscalPOSNumberoriginalFiscalPOSNumberNúmero original de punto de venta fiscalNumber
originalBillNumberoriginalBillNumberNúmero original de facturaNumber
originalTrxNumberoriginalTrxNumberNúmero original de transacciónNumber
originalStoreCodeoriginalStoreCodeCódigo original de tiendaString
originalTerminalCodeoriginalTerminalCodeCódigo original de terminalString
invoiceRequiredinvoiceRequiredFactura requeridaString
xmlxmlTimbradoXML Timbrado (Facturación MEX)String
timbradotimbradoBandera de TimbradoBoolean
sellerNamesellerNameNombre del vendedorString
sellerIDsellerIDID del vendedorString
trxRappitrxRappiBandera de Transacción RappiBoolean
trxCornerShoptrxCornerShopBandera de Transacción CornerShopBoolean
invoiceUUIDinvoiceUUIDUUID de la facturaString
storeCode +"-"+ terminalCode +"-"+ trxNumberfolioFolio de la factura (Facturación MEX)String
folioDeliveryfolioDeliveryFolio de entregaNumber
folioInternetfolioInternetFolio de InternetNumber
diasCreditodiasCreditoDías de créditoNumber
supervisorCreditTrxsupervisorCreditTrxTransacción de crédito del supervisorString
fiscalCAENumberfiscalCAENumberNúmero de CAE fiscalString
seq_exportseq_exportIdentificador secuencial de exportación (con IDENTITY(1,1))String
fiscalModefiscalModeModo fiscalBoolean


JSON Sale.items – SQL transactionRetailItem

Campo JSONCampo SQLDescripciónTipo dato
_id_idIdentificadorString
beginDateTimebeginDateTimeFecha y Hora de InicioDateTime
beginDateTimeAsIntbeginDateTimeAsIntFecha y Hora de InicioDateTime
beginDateTimeHourbeginDateTimeHourHora de InicioNumber
cancelFlagcancelFlagBandera de CancelaciónBoolean
createdAtcreatedAtFecha de CreaciónDateTime
descriptiondescriptionDescripciónString
extendedPriceextendedPricePrecio ExtendidoNumber
giftCardBalancegiftCardBalanceSaldo de Tarjeta de RegaloNumber
giftCardRechargeAmountgiftCardRechargeAmountMonto Recargado de Tarjeta de RegaloNumber
internalCodeinternalCodeCódigo InternoString
itemTypeitemTypeTipo de ÍtemString
manualDiscountAmountmanualDiscountAmountMonto de Descuento ManualNumber
merchandiseHierarchyGroupCodemerchandiseHierarchyGroupCodeCódigo del Grupo de Jerarquía de MercancíaNumber
merchandiseHierarchyGroupNamemerchandiseHierarchyGroupNameNombre del Grupo de Jerarquía de MercancíaString
netAmountnetAmountMonto NetoNumber
operatorCodeoperatorCodeCódigo de OperadorString
operatorNameoperatorNameNombre del OperadorString
periodNumberperiodNumberNúmero de PeríodoNumber
perceptionTotalperceptionTotalTotal de PercepciónNumber
prorratedTxDiscountprorratedTxDiscountDescuento Prorrateado de TransacciónNumber
promoDiscountAmountpromoDiscountAmountMonto de Descuento PromocionalNumber
quantityquantityCantidadNumber
returnedreturnedBandera de DevoluciónBoolean
sbPeriodNumbersbPeriodNumberNúmero de Período (SB)Number
sellerIDsellerIDID del VendedorString
sellerNamesellerNameNombre del VendedorString
sequenceNumbersequenceNumberNúmero de SecuenciaNumber
storestoreTiendaString
storeCodestoreCodeCódigo de TiendaString
storeNamestoreNameNombre de la TiendaString
suspendedFlagsuspendedFlagBandera de SuspensiónBoolean
taxTotaltaxTotalTotal de ImpuestosNumber
terminalterminalTerminalString
terminalCodeterminalCodeCódigo de TerminalString
transactionObjectIdtransactionObjectIdID de Objeto de TransacciónString
trainingModeFlagtrainingModeFlagBandera de Modo de EntrenamientoBoolean
trxNumbertrxNumberNúmero de TransacciónNumber
trxTypetrxTypeTipo de TransacciónString
updatedAtupdatedAtFecha de ActualizaciónDateTime
unitOfMeasureCodeunitOfMeasureCodeCódigo de Unidad de MedidaString
unitOfMeasureDecimalsunitOfMeasureDecimalsDecimales de Unidad de MedidaNumber
unitPriceunitPricePrecio UnitarioNumber
unitsunitsUnidadesNumber
vatTotalvatTotalTotal de IVANumber
voidFlagvoidFlagBandera de AnulaciónBoolean
voidedQuantityvoidedQuantityCantidad AnuladaNumber
voidingvoidingAnulaciónBoolean
versionversionVersiónNumber
locationCodelocationCodeCódigo de UbicaciónString


Campos discontinuados

Los siguientes campos han sido eliminados de la estructura de datos de transactionRetailItem en la última actualización:

  • folio: Relacionado con la facturación.

  • idsat: Campo vinculado a la facturación electrónica en México.

  • itemSerialNumber: Número de Serie del Ítem.

  • pedimento: Información aduanera o de importación.

  • totalAmount: Se ha eliminado el campo de monto total.


JSON Sale.discounts – SQL transactionRetailDiscount

Campo JSONCampo SQLDescripciónTipo dato
_id_idIdentificadorString
actionactionAcciónString
beginDateTimebeginDateTimeFecha y Hora de InicioDateTime
beginDateTimeAsIntbeginDateTimeAsIntFecha y Hora de Inicio como EnteroDateTime
beginDateTimeHourbeginDateTimeHourHora de InicioNumber
benefitClassbenefitClassClase de BeneficioString
benefitNumberbenefitNumberNúmero de BeneficiobenefitNumber
benefitPercentbenefitPercentPorcentaje de BeneficioNumber
benefitValuebenefitValueValor del BeneficioNumber
cancelFlagcancelFlagBandera de CancelaciónBoolean
createdAtcreatedAtCreado enDateTime
descriptiondescriptionDescripciónString
internalCodeinternalCodeCódigo InternoString
messagemessageMensajeString
operatorCodeoperatorCodeCódigo de OperadorString
operatorNameoperatorNameNombre del OperadorString
periodNumberperiodNumberNúmero de PeríodoNumber
promoDescriptionpromoDescriptionDescripción de la PromociónString
promotionNumberpromotionNumberNúmero de PromociónString
reasonreasonRazónString
sbPeriodNumbersbPeriodNumberNúmero de Período (SB)Number
sequenceNumbersequenceNumberNúmero de SecuenciaNumber
storestoreTiendaString
storeCodestoreCodeCódigo de TiendaString
storeNamestoreNameNombre de la TiendaString
terminalterminalTerminalString
terminalCodeterminalCodeCódigo de TerminalString
transactionObjectIdtransactionObjectIdID de Objeto de TransacciónString
trxNumbertrxNumberNúmero de TransacciónNumber
trxTypetrxTypeTipo de TransacciónString
typetypeTipoString
updatedAtupdatedAtActualizado enDateTime
versionversionVersiónNumber


JSON Sale.payments – SQL transactionRetailPayment

Campo JSONCampo SQLDescripciónTipo dato
_id_idIdentificadorString
amountamountMontoNumber
beginDateTimebeginDateTimeFecha y Hora de InicioDateTime
beginDateTimeAsIntbeginDateTimeAsIntFecha y Hora de Inicio como EnteroNumber
beginDateTimeHourbeginDateTimeHourHora de InicioNumber
billNumberbillNumberNúmero de FacturaNumber
billTypebillTypeTipo de FacturaString
cancelFlagcancelFlagBandera de CancelaciónBoolean
cardcardTarjetaBoolean
cardAuthorizationCodecardAuthorizationCodeCódigo de Autorización de TarjetaString
cardNumbercardNumberNúmero de TarjetaNumber
cardCouponNumbercardCouponNumberNúmero de Cupón de TarjetaString
cardCouponNumberOffcardCouponNumberOffCupón de Tarjeta AlternativoString
changechangeCambioNumber
createdAtcreatedAtCreado enDateTime
currencyISOCodecurrencyISOCodeCódigo de Moneda ISOcurrencyISOCode
fiscalPosNumberfiscalPosNumberNúmero de Punto de Venta FiscalString
foreignAmountforeignAmountMonto en Moneda ExtranjeraNumber
foreignChangeforeignChangeCambio en Moneda ExtranjeraNumber
foreignCurrencyQuoteforeignCurrencyQuoteCotización de Moneda ExtranjeraNumber
lotNumberlotNumberNúmero de LoteString
netAmountnetAmountMonto NetoNumber
operatorCodeoperatorCodeCódigo de OperadorString
operatorNameoperatorNameNombre del OperadorString
periodNumberperiodNumberNúmero de PeríodoNumber
sbPeriodNumbersbPeriodNumberNúmero de Período SecundarioNumber
planDescriptorplanDescriptorDescripción del PlanString
providerproviderProveedorString
referenceNumberreferenceNumberNúmero de ReferenciaString
serieOfficialBillserieOfficialBillSerie de Factura OficialString
sellerNamesellerNameNombre del VendedorString
storestoreTiendaString
storeCodestoreCodeCódigo de TiendaString
storeNamestoreNameNombre de la TiendaString
suspendedFlagsuspendedFlagBandera de SuspensiónBoolean
surchargesurchargeRecargoNumber
tendertenderForma de PagoString
tenderCodetenderCodeCódigo de Forma de PagoString
tenderNametenderNameNombre de Forma de PagoString
tenderRepositorytenderRepositoryRepositorio de Forma de PagoString
terminalterminalTerminalString
terminalCodeterminalCodeCódigo de TerminalString
transactionObjectIdtransactionObjectIdID de Objeto de TransacciónString
trainingModeFlagtrainingModeFlagBandera de Modo de EntrenamientoBoolean
trxNumbertrxNumberNúmero de TransacciónNumber
trxTypetrxTypeTipo de TransacciónString
updatedAtupdatedAtActualizado enDateTime
versionversionVersiónNumber
voidedvoidedAnuladoBoolean
voidingvoidingAnulaciónBoolean
vtolStorevtolStoreTienda de VtolString
vtolTerminalvtolTerminalTerminal de VtolString
extraCashAmountextraCashAmountMonto Extra en EfectivoNumber
extraCashCuponextraCashCuponCupón de Monto Extra en EfectivoNumber
walletPaymentIdwalletPaymentIdIdentificador de Pago con Billetera DigitalextraCashCupon

Campos discontinuados

Los siguientes campos han sido eliminados de la estructura de datos de transactionRetailPayment en la última actualización:

  • BankNameTransfer (Nombre del banco en transferencias, ya no requerido en la nueva estructura)

  • bankdescription (Descripción del banco para transferencias, eliminado por redundancia)

  • prochemex (Registro relacionado con Prochemex en Cheques MEX, removido por actualización de procesos)

  • transferNumber (Número de referencia de transferencias, eliminado debido a cambios en la gestión de pagos)


JSON NewCustomer – SQL party

Campo JSONCampo SQLDescripciónTipo dato
_class_classClaseString
_id_idIdentificadorString
apiProcessedapiProcessedBandera Procesado por APIBoolean
birthCountryCodebirthCountryCodeCódigo de País de NacimientoString
birthDayNumberbirthDayNumberDía de NacimientoNumber
birthMonthNumberbirthMonthNumberMes de NacimientoNumber
birthYearNumberbirthYearNumberAño de NacimientoNumber
codecodeCódigoString
createdAtcreatedAtFecha de CreaciónDateTime
creditBillAvailablecreditBillAvailableDisponible en la Factura de CréditoBoolean
disableddisabledBandera DeshabilitadoBoolean
emailemailCorreo ElectrónicoString
exemptFlagexemptFlagBandera de ExentoBoolean
firstNamefirstNamePrimer NombreString
genderTypegenderTypeTipo de GéneroString
identificationTypeidentificationTypeTipo de IdentificaciónString
identifieridentifierIdentificadorString
lastNamelastNameApellidoString
storestoreTiendaString
typeCodetypeCodeCódigo de TipoString
updatedAtupdatedAtFecha de ActualizaciónDateTime
versionversionVersiónNumber
namenameNombreString


Campos discontinuados

Los siguientes campos han sido eliminados de la estructura de datos de party en la última actualización:

  • isCredit (Bandera que indicaba si el cliente tenía crédito, eliminada en la nueva versión).

  • membership (Número de membresía del cliente, ya no se almacena en esta tabla).

  • middleNames (Campo de segundos nombres, removido de la estructura de datos).

  • partyCRSegment (Segmento de cliente, eliminado por cambios en la segmentación de datos).

  • partyRoleAssignment (Asignación de rol de cliente, ya no se gestiona en esta tabla).


JSON NewCustomer.contactMethods – SQL partyContactMethod

Campo JSONCampo SQLDescripciónTipo dato
_id_idIdentificadorString
codecodeCódigoString
disableddisabledDeshabilitadoBoolean
effectiveDateeffectiveDateFecha EfectivaDateTime
emailAddressemailAddressCorreo Electrónico de ClienteString
expirationDateexpirationDateFecha de ExpiraciónDateTime
namenameNombre de ClienteString
partypartyID de ClienteString
partyCodepartyCodeCódigo de ClienteString
principalForBillingprincipalForBillingPrincipal para FacturaciónString
principalForDeliveryprincipalForDeliveryPrincipal para EntregaString
versionversionVersiónNumber
countrycountryPaísString
secondLinesecondLineSegunda LíneaString
thirdLinethirdLineTercera LíneaString
betweenStreetsbetweenStreetsEntre CallesString
postalCodepostalCodeCódigo PostalString
firstLinefirstLinePrimera LíneaString
citycityCiudadString
statestateEstadoString
fourthLinefourthLineCuarta LíneaString
telephoneNumbertelephoneNumberNúmero de TeléfonoString
countryCodecountryCodeCódigo de PaísString
areaCodeareaCodeCódigo de ÁreaString
extensionNumberextensionNumberNúmero de ExtensiónNumber


Campos discontinuados

Los siguientes campos han sido eliminados de la estructura de datos de partyContactMethod en la última actualización:

  • telephone.areaCode (Ahora reemplazado por areaCode en la nueva estructura).

  • address.betweenStreets. Campo eliminado.

  • address.city (Ahora se usa simplemente city).

  • telephone.countryCode (Ahora se usa simplemente countryCode).

  • address.country (Ahora se usa simplemente country).

  • address.extensionNumber (Eliminado de la nueva estructura).

  • address.firstLine (Ahora se usa simplemente firstLine).

  • address.fourthLine (Ahora se usa simplemente fourthLine).

  • address.postalCode (Ahora se usa simplemente postalCode).

  • address.secondLine (Ahora se usa simplemente secondLine).

  • address.thirdLine (Ahora se usa simplemente thirdLine).

  • telephone.telephoneNumber (Ahora se usa simplemente telephoneNumber).


JSON TenderTransaction – SQL tenderTransaction

Campo JSONCampo SQLDescripciónTipo dato
_id_idIdentificadorString
beginDateTimebeginDateTimeFecha y Hora de InicioDateTime
businessDayDatebusinessDayDateFecha del Día de NegocioDateTime
createdAtcreatedAtFecha de CreaciónDateTime
endDateTimeendDateTimeFecha y Hora de FinalizaciónDateTime
isAutomaticisAutomaticBandera Es AutomáticoBoolean
periodperiodPeríodoNumber
rsUserrsUserUsuarioString
safesafeCaja FuerteString
sequenceNumbersequenceNumberNúmero de SecuenciaNumber
storestoreTiendaString
storeCodestoreCodeCódigo de TiendaString
storeSafeCodestoreSafeCodeCódigo de Caja Fuerte de TiendaString
terminalCodeterminalCodeCódigo de TerminalString
tilltillCajaString
tillCodetillCodeCódigo de CajaString
tillTotillToCaja DestinoString
tillTypetillTypeTipo de CajaString
totalstotalsTotalesNumber
trxOrigintrxOriginTransacción OrigenString
transactionObjectIdtransactionObjectIdID de Objeto de TransacciónString
typeCodetypeCodeCódigo de TipoString
updatedAtupdatedAtFecha de ActualizaciónDateTime
userNameuserNameNombre de UsuarioString
userNameDescriptionuserNameDescriptionDescripción del Nombre de UsuarioString
versionversionVersiónNumber
tenderTransactionStatustenderTransactionStatusEstado de la Transacción de PagoString
workStationworkStationEstación de TrabajoString
subperiodsubperiodSubperíodoNumber


JSON TenderTransaction.tenderTranItems – SQL tenderTransactionDetail

Campo JSONCampo SQLDescripciónTipo dato
_id_idIdentificadorString
amountamountMontoNumber
externalDepositoryexternalDepositoryDepósito ExternoString
foreignCurrencyQuoteFactorforeignCurrencyQuoteFactorFactor de Cotización de Moneda ExtranjeraDateTime
qtyqtyCantidadNumber
tendertenderForma de PagoString
tenderCodetenderCodeCódigo de Forma de PagoString
tenderNametenderNameNombre de Forma de PagoString
transactionObjectIdtransactionObjectIdID de Objeto de TransacciónString


JSON TenderInflow – SQL safeTransaction

orado las actualizaciones detectadas en el nuevo script SQL.

Campo JSONCampo SQLDescripciónTipo dato
_id_idIdentificadorString
bagNumberbagNumberNúmero de BolsaNumber
beginDateTimebeginDateTimeFecha y Hora de InicioDateTime
businessDayDatebusinessDayDateFecha del Día de NegocioDateTime
cancelFlagcancelFlagBandera de CancelaciónBoolean
contigencyFlagcontigencyFlagBandera de ContingenciaBoolean
docNumberdocNumberNúmero de DocumentoNumber
endDateTimeendDateTimeFecha y Hora de FinalizaciónDateTime
offlineFlagofflineFlagBandera Fuera de LíneaBoolean
originalTransactionoriginalTransactionTransacción OriginalString
periodCodeperiodCodeCódigo de PeríodoString
periodNumberperiodNumberNúmero de PeríodoNumber
safeIdsafeIdID de Caja FuerteString
sbPeriodNumbersbPeriodNumberNúmero de SubperíodoNumber
storeCodestoreCodeCódigo de TiendaString
subPeriodCodesubPeriodCodeCódigo de SubperíodoNumber
suspendedFlagsuspendedFlagBandera de SuspensiónBoolean
terminalCodeterminalCodeCódigo de TerminalString
tillCodetillCodeCódigo de CajaString
tillTypetillTypeTipo de CajaString
totalstotalsTotalesNumber
trainingModeFlagtrainingModeFlagBandera de Modo de EntrenamientoBoolean
trxNumbertrxNumberNúmero de TransacciónNumber
trxOrigintrxOriginOrigen de TransacciónString
trxStatustrxStatusEstado de TransacciónString
trxTypetrxTypeTipo de TransacciónString
trxTypeCodetrxTypeCodeCódigo de Tipo de TransacciónString
updatedAtupdatedAtActualizado enDateTime
userNameuserNameNombre de UsuarioString
voidedFlagvoidedFlagBandera de AnuladoBoolean
notenoteNotaString


Campos discontinuados

Los siguientes campos han sido eliminados de la estructura de datos de safeTransaction en la última actualización:

  • tenderControlTransaction.TenderInflow.bagNumber (Ahora reemplazado por bagNumber directamente).

  • tenderControlTransaction.TenderInflow.docNumber (Ahora es docNumber directamente).

  • tenderControlTransaction.TenderInflow.totals (Ahora es simplemente totals).

  • tenderControlTransaction.TenderInflow.note (Ahora es simplemente note).


JSON TenderInFlow.tenderControlTransactionTenderLineItems – SQL safeTransactionDetail

Campo JSONCampo SQLDescripción
amountamountMonto
commentscommentsComentarios
countcountCantidad
exchangeRateexchangeRateTasa de Cambio
externalDepositoryCodeexternalDepositoryCodeCódigo de Depósito Externo
externalDepositoryIdexternalDepositoryIdID de Depósito Externo
foreignCurrencyAmountforeignCurrencyAmountMonto en Moneda Extranjera
IdSafeTransactionDetailIdSafeTransactionDetailID de Detalle de Transacción Segura
retailStoreIdretailStoreIdID de Tienda Minorista
safeIdsafeIdID de Transacción
sequenceNumbersequenceNumberNúmero de Secuencia
tenderDescriptiontenderDescriptionDescripción de Forma de Pago
tenderIdtenderIdID de Forma de Pago
tenderTypeCodetenderTypeCodeTipo de Forma de Pago


JSON BusinessEOD – SQL controlTransaction

Campo JSONCampo SQLDescripciónTipo dato
_id_idIdentificadorString
beginDateTimebeginDateTimeFecha y Hora de InicioDateTime
businessDayDatebusinessDayDateFecha del Día de NegocioDateTime
cancelFlagcancelFlagBandera de CancelaciónBoolean
contingencyFlagcontingencyFlagBandera de ContingenciaBoolean
createdAtcreatedAtFecha de creaciónDateTime
endDateTimeendDateTimeFecha y Hora de FinalizaciónDateTime
offlineFlagofflineFlagBandera Fuera de LíneaBoolean
originalTransactionoriginalTransactionTransacción OriginalString
periodCodeperiodCodeCódigo de PeríodoString
periodNumberperiodNumberNúmero de PeríodoNumber
sbPeriodNumbersbPeriodNumberNúmero de SubperíodoNumber
storeCodestoreCodeCódigo de TiendaString
subPeriodCodesubPeriodCodeCódigo de SubperíodoNumber
suspendedFlagsuspendedFlagBandera de SuspensiónBoolean
terminalCodeterminalCodeCódigo de TerminalString
trainingModeFlagtrainingModeFlagBandera de Modo de EntrenamientoBoolean
trxNumbertrxNumberNúmero de TransacciónNumber
trxOrigintrxOriginOrigen de TransacciónString
trxStatustrxStatusEstado de TransacciónString
trxTypetrxTypeTipo de TransacciónString
trxTypeCodetrxTypeCodeCódigo de Tipo de TransacciónString
updatedAtupdatedAtFecha de ActualizaciónDateTime
voidedFlagvoidedFlagBandera de AnuladoBoolean


JSON newOrder – SQL newOrder

Campo JSONCampo SQLDescripcionTipo dato
_id_idIdentificadorString
externalNumberexternalNumberCódigo de la orden del originanteString
internalNumberinternalNumberNro de pedido interno de BRIDGEString
notesnotesComentarios sobre la ordenString
creationDatecreationDateFecha de creaciónDateTime
channelCodechannelCodeCanal de OrigenString
terminalCodeterminalCodeCódigo de la terminal donde se crea el pedidoString
companycompanyCódigo de la compañíaString
currencyCodecurrencyCodeMonedaString
netAmountnetAmountMonto final del pedido, incluyendo el costo de entrega, menos los descuentos.Number
manualDiscountAmountmanualDiscountAmountImporte de descuentos a la transacciónNumber
orderTypeCode
orderTypeCode
Codigo del tipo de ordenString
isPaid
isPaid
Indicador de cobradoBoolean
externalSellerIDexternalSellerIDID del vendedor externo (no es un usuario BRIDGE) String
externalSellerNameexternalSellerNameNombre del vendedor externo (no es un usuario de BRIDGE) String
perceptionAmountperceptionAmountMonto de percepciones del pedido Number
storeCodestoreCodeCódigo de la tiendaString
storeNamestoreNameNombre de la tiendaString
partypartyId del clienteString
party.codepartyCodeCódigo del clienteString
party.taxCategorypartyTaxCategoryCategoría impositiva del cliente ante el IVAString
party.firstNamepartyFirstNameNombre del ClienteString
party.lastNamepartyLastNameApellido del clienteString
party.emailpartyEmailCorreo del clienteString
party.identificationTypepartyIdentificationTypeTipo de documentoNumber
party.identifierpartyIdentifierNúmero de documentoString
party.birthYearNumberpartyBirthYearNumberAño de nacimientoNumber
party.birthMonthNumberpartyBirthMonthNumberMes de nacimientoNumber
party.birthDayNumberpartyBirthDayNumberDía de nacimientoNumber
party.personpartyPersonSi es del tipo personaString
party.organizationpartyOrganizationSi es del tipo empresa u organizaciónString
party.genderTypepartyGenderTypeSexo del clienteString
party.typeCodepartyTypeCodeTipo de clienteString

JSON NewOrder.detail  – SQL newOrderDetail

Campo JSONCampo SQLDescripcionTipo dato
_id_idIdentificadorString
itemCodeitemCodeSKU del productoString
descriptiondescriptionDescripción del productoString
orderedQtyorderedQtyCantidad pedidaNumber
unitPriceunitPricePrecio unitarioNumber
deliveryOrPickupdeliveryOrPickupSi la linea será con retiro en tienda o envíoString
pickupLocationCodepickupLocationCodeCódigo de la locación en donde retiraráString
pickupInformationpickupInformationDescripción de quien hará el retiroString
requiredDaterequiredDateFecha de envío requerida o de retiro en tiendaDateTime
partyContactMethodNamepartyContactMethodNameDirección de envío del clienteString
barcodebarcodeCódigo de barras del articulo (si fue ingresado con ese dato)Number
magnitudemagnitudeMagnitud (peso, longitud, etc) del item si su  unidad de medida asociada tiene manejo de decimalesNumber
unitsunitsCantidad de unidades de la presentación (asociado al código de barras) String
storeCodestoreCodeCódigo de Tienda String
locationCodelocationCodeCódigo del depósitoString
netAmountnetAmountMonto neto Number
itemSerialNumberitemSerialNumberSerie del itemString
newOrderIdnewOrderIdID de la newOrderString

JSON NewOrder.detail.priceModifiers  – SQL newOrderDetailPriceModifiers

Campo JSONCampo SQLDescripcionTipo dato
percentpercentPorcentaje de descuentoNumber
amountamountMonto de descuentoNumber
reasonTextreasonTextRazón del descuentoString
newOrderDetailIdnewOrderDetailIdIdentificador newOrderDetailString

JSON NewOrder.payments   – SQL newOrderPayments

Campo JSONCampo SQLDescripcionTipo dato
tendertenderCódigo del medio de pagoString
amountamountMonto del pagoNumber
planDescriptorplanDescriptorDescripción del plan de pagos elegidoString
sellerNamesellerNameNombre de la entidadString
authorizationCodeauthorizationCodeCodigo de autorización de la tarjetaString
couponNumbercouponNumberNúmero de cupónString
lotNumberlotNumberNúmero de LoteString
installmentsinstallmentsCuotasString
referenceNumberreferenceNumberReferencia de la tarjetaNumber
newOrderIdnewOrderIdId de la NewOrderString

JSON NewOrder.transactions   – SQL newOrderTransactions

Campo JSONCampo SQLDescripcionTipo dato
storeCodestoreCodeEl código de tienda BRIDGEString
terminalCodeterminalCodeEl código de terminal BRIDGEString
operatorCodeoperatorCodeEl código de operador BRIDGEString
trxNumbertrxNumberEl número de transacción BRIDGENumber
trxDate
trxDate
La fecha de la transacción BRIDGEDateTime
newOrderIdnewOrderIdId de la NewOrderString

JSON tillConciliation   – SQL tillConciliation  

Campo JSONCampo SQLDescripcionTipo dato
_id

_id

Identificador

string

trainingModeFlag

trainingModeFlag

no utilizado en la conciliación

boolean

suspendedFlag

suspendedFlag

no utilizado en la conciliación

boolean

voidedFlag

voidedFlag

no utilizado en la conciliación

boolean

offlineFlag

offlineFlag

no utilizado en la conciliación

boolean

contigencyFlag

contigencyFlag

no utilizado en la conciliación

boolean

storeCode

storeCode

código de la tienda

string

externalId

externalId

código externo de la tienda

number

costCenter

costCenter

código de centro de costo de la tienda

string

terminalCode

terminalCode

código de la terminal

string

workstationCategoryId

workstationCategoryId

Indica la categoría de la terminal desde donde se realiza la conciliación

string

trxNumber

trxNumber

número de la transacción

number

businessDayDate

businessDayDate

Fecha contable

datetime

beginDateTime

beginDateTime

Fecha y hora en que inicia la transacción

datetime

endDateTime

endDateTime

Fecha y hora en que finaliza la transacción

datetime

periodNumber

periodNumber

Número de período de la conciliación

number

sbPeriodNumber

sbPeriodNumber

Número de subperíodo o turno de la conciliación

numbre

periodCode

periodCode

Código del periodo de la conciliación

number

subPeriodCode

subPeriodCode

Código del subperiodo de la conciliación

number

userName

userName

Nombre de usuario que realiza la transacción

string

originalTransaction

originalTransaction

NO SE UTILIZA

string

trxOrigin

trxOrigin

Origen de la transacción

string

trxStatus

trxStatus

Estatus de la transacción

string

trxType

trxType

Tipo de transacción, en este caso es TillConciliation

string

trxTypeCode

trxTypeCode

Código del tipo de transacción

number

updatedAt

updatedAt

Fecha en que fue actualizado la transacción

datetime

exportCalendarPeriod.calendarPeriodID

exportCalendarPeriodCalendarPeriodID


number

exportCalendarPeriod.shiftID

exportCalendarPeriodShiftID


number

exportCalendarSubPeriod.calendarPeriodID

exportCalendarSubPeriodCalendarPeriodID


number

exportCalendarSubPeriod.shiftID

exportCalendarSubPeriodShiftID


number

controlTransaction.typeCode

typeCode

Indica el tipo de transacción: TillConciliation (conciliación)

string

controlTransaction.subTypeCode

subTypeCode

Indica el subtipo de transacción

string

controlTransaction.typeId

typeId

ID del tipo de transacción (uso interno)

number

controlTransaction.TillConciliation.periodConciliationFlag

periodConciliationFlag

Identifica sí el período / turno está conciliado

Boolean

controlTransaction.TillConciliation.amounts.tenderLoanTotalAmount.numberDecimal

tenderLoanTotalAmount

indica el monto de las dotaciones

number

controlTransaction.TillConciliation.amounts.tenderPickupTotalAmount.numberDecimal

tenderPickupTotalAmount

Indica el monto de los retiros 

number

controlTransaction.TillConciliation.amounts.tenderWithdrawalTotalAmount.numberDecimaltenderWithdrawalTotalAmountIndica el monto de las rendiciones

number

controlTransaction.TillConciliation.amounts.tenderDepositoryTotalAmount.numberDecimal

tenderDepositoryTotalAmount

No utilizado

number

controlTransaction.TillConciliation.amounts.positiveTenderTotalAmount.numberDecimal

positiveTenderTotalAmount

Indica el monto de las ventas

number

controlTransaction.TillConciliation.amounts.negativeTenderTotalAmount.numberDecimal

negativeTenderTotalAmount

Indica el monto de las devoluciones

number

controlTransaction.TillConciliation.amounts.othersIncome.numberDecimal

othersIncome

Indica el monto de las cobranzas

number

controlTransaction.TillConciliation.amounts.othersExpenditure.numberDecimal

othersExpenditure

Indica el monto de las devoluciones de cobranzas

number

controlTransaction.TillConciliation.amounts.presented.numberDecimal

presented

monto de los arqueos

number

controlTransaction.TillConciliation.amounts.excessesMissing.numberDecimal

excessesMissing

Indica los montos de sobrante / faltante

number

JSON tillConciliation.tenderAdditionalData   – SQL tillConciliationTenderAdditionalData 

Campo JSONCampo SQLDescripcionTipo dato

tenderCode

tenderCode

Codigo medio de pago

string

tenderName

tenderName

Nombre medio de pago

string

provider

provider


string

tillConciliationId

tillConciliationId

id de la tillConciliationId

string

JSON tillConciliation.subperiods   – SQL tillConciliationSubperiods

Campo JSONCampo SQLDescripcionTipo dato

sbPeriodNumber

sbPeriodNumber

Número de subperíodo o turno de la conciliación

string

subPeriodCode

subPeriodCode

Código del subperiodo de la conciliación

string

tillConciliationId

tillConciliationId

id de la tillConciliationId

string

JSON tillConciliation.controlTransaction.TillConciliation.controlTransactionTillLineItems – SQL tillConciliationTillLineItems

Campo JSONCampo SQLDescripcionTipo dato

_id

_id

identificador

string

equence

equence

Secuencia de la transacción

number

conciliatedFlag

conciliatedFlag

Identifica si la cuenta esta conciliada

boolean

conciliationReason

conciliationReason

Identifica el motivo de diferencia

string

conciliationComments

conciliationComments

Comentarios adicionales de la conciliación

string

conciliationOperator

conciliationOperator

operador que concilió la cuenta

string

conciliationDate

conciliationDate

Indica la fecha y hora en que se concilió la cuenta

datetime

tenderRepository

tenderRepository

Indica la cuenta primaria (operador / terminal / categoría de terminal) 

string

amounts.tenderLoanTotalAmount.numberDecimal

tenderLoanTotalAmount

indica el monto de las dotaciones

number

amounts.tenderPickupTotalAmount.numberDecimal

tenderPickupTotalAmount

Indica el monto de los retiros

number

amounts.tenderWithdrawalTotalAmount.numberDecimal

tenderWithdrawalTotalAmount

Indica el monto de las rendiciones

number

amounts.positiveTenderTotalAmount.numberDecimal

positiveTenderTotalAmount

Indica el monto de las ventas

number

amounts.negativeTenderTotalAmount.numberDecimal

negativeTenderTotalAmount

Indica el monto de las devoluciones

number

amounts.othersIncome.numberDecimal

othersIncome

Indica el monto de las cobranzas

number

amounts.othersExpenditure.numberDecimal

othersExpenditure

Indica el monto de las devoluciones de cobranzas

number

amounts.presented.numberDecimal

presented

Indica el monto de los arqueos

number

amounts.excessesMissing.numberDecimal

excessesMissing

Indica los montos de sobrante / faltante

number

tillConciliationId

tillConciliationId

id tillConciliation

string

JSON tillConciliation.controlTransaction.TillConciliation.controlTransactionTillLineItems.controlTransactionTillTenderLineItems –

SQL tillConciliationTillTenderLineItems

Campo JSONCampo SQLDescripcionTipo dato

sequence

sequence

Secuencia de transacción

number

tender

tender

Indica el medio de pago

string

tenderCode

tenderCode

código de medio de pago

string

tenderLoanTotalAmount

tenderLoanTotalAmount

indica el monto de las dotaciones

number

tenderPickupTotalAmount

tenderPickupTotalAmount

Indica el monto de los retiros

number

tenderWithdrawalTotalAmount

tenderWithdrawalTotalAmount

Indica el monto de las rendiciones

number

positiveTenderTotalAmount

positiveTenderTotalAmount

Indica el monto de las ventas

number

negativeTenderTotalAmount

negativeTenderTotalAmount

Indica el monto de las devoluciones

number

othersIncome

othersIncome

Indica el monto de las cobranzas

number

othersExpenditure

othersExpenditure

Indica el monto de las devoluciones de cobranzas

number

presented

presented

Indica el monto de los arqueos

number

excessesMissing

excessesMissing

Indica los montos de sobrante / faltante

number

tillConciliationTillLineItemsId

tillConciliationTillLineItemsId

id de tillConciliationTillLineItems

string

SON tillConciliation.controlTransaction.TillConciliation.controlTransactionTillLineItems.controlTransactionSecondaryTillLineItems

SQL tillConciliationSecondaryTillLineItems

Campo JSONCampo SQLDescripcionTipo dato

_id

_id

identificador

string

sequence

sequence

Secuencia de la transacción

number

tenderRepository

tenderRepository

Identifica la cuenta base

string

amounts.tenderLoanTotalAmount.numberDecimal

tenderLoanTotalAmount

indica el monto de las dotaciones

number

amounts.tenderPickupTotalAmount.numberDecimal

tenderPickupTotalAmount

Indica el monto de los retiros

number

amounts.tenderWithdrawalTotalAmount.numberDecimal

tenderWithdrawalTotalAmount

Indica el monto de las rendiciones

number

amounts.positiveTenderTotalAmount.numberDecimal

positiveTenderTotalAmount

Indica el monto de las ventas

number

amounts.negativeTenderTotalAmount.numberDecimal

negativeTenderTotalAmount

Indica el monto de las devoluciones

number

amounts.othersIncome.numberDecimal

othersIncome

Indica el monto de las cobranzas

number

amounts.othersExpenditure.numberDecimal

othersExpenditure

Indica el monto de las devoluciones de cobranzas

number

amounts.presented.numberDecimal

presented

Indica el monto de los arqueos

number

amounts.excessesMissing.numberDecimal

excessesMissing

Indica los montos de sobrante / faltante

number

tillConciliationTillLineItemsId

tillConciliationTillLineItemsId

ID tillConciliationTillLineItems

string

JSON tillConciliation.controlTransaction.TillConciliation.controlTransactionTillLineItems.controlTransactionSecondaryTillLineItems.controlTransactionSecondaryTillTenderLineItemsSQL tillConciliationSecondaryTillTenderLineItems

Campo JSONCampo SQLDescripcionTipo dato

sequence

sequence

Secuencia de transacción

number

tender

tender

Indica el medio de pago

string

tenderCode

tenderCode

código de medio de pago

string

tenderLoanTotalAmount

tenderLoanTotalAmount

indica el monto de las dotaciones

number

tenderPickupTotalAmount

tenderPickupTotalAmount

Indica el monto de los retiros

number

tenderWithdrawalTotalAmount

tenderWithdrawalTotalAmount

Indica el monto de las rendiciones

number

positiveTenderTotalAmount

positiveTenderTotalAmount

Indica el monto de las ventas

number

negativeTenderTotalAmount

negativeTenderTotalAmount

Indica el monto de las devoluciones

number

othersIncome

othersIncome

Indica el monto de las cobranzas

number

othersExpenditure

othersExpenditure

Indica el monto de las devoluciones de cobranzas

number

presented

presented

Indica el monto de los arqueos

number

excessesMissing

excessesMissing

Indica los montos de sobrante / faltante

number

tillConciliationSecondaryTillLineItemsId

tillConciliationSecondaryTillLineItemsId

id de tillConciliationSecondaryTillLineItems

string

INSTALACIÓN DEL PLUGIN

  • Para que el plugin funcione, deben haberse dado los siguientes pasos: 
    • Creación de la base de datos Bridge2SQL en MongoDB.
    • Creación de la base de datos Bridge2SQL en SQL Server.
    • Haber corrido los scripts en la base de datos Bridge2SQL de SQL Server y los incrementales.
    • Haber instalado el plugin NodeJS.
    • Haber configurado bien el plugin, apuntando a central, base de datos mongo y SQL.
    • Haber habilitado la exportación a Rabbit desde BMC.
    • Haber configurado en el config del plugin, que colecciones va a exportar, es decir, esto se configura en BMC (habilitando la exportación a Rabbit) y luego en el plugin (indicando cuales son las colas Rabbit que escucha).
  • Se debe crear una nueva base de datos con un nombre alusivo en un Servidor SQL Server, por ejemplo Bridge2SQLMarti
  • En MongoDB, en el servidor en donde ejecuta BMC o BAPIC, se debe crear una base de datos MongoDB con un nombre alusivo, por ejemplo Bridge2SQLMarti
  • Se deben correr el script principal y los incrementales en el siguiente orden: 
    • CreacionTablas.sql
    • 20240606-NAPSEPD-31693-AlterTenderReferenceNumber.sql
    • 20240819-NAPSEPD-32712-AlterTransactionRetail.sql
    • 20240821-NAPSEPD-32527-AlterTransactionRetailPayment.sql
    • 20240924-NAPSEPD-34679-AlterTransactionRetail.sql
    • 20241120-NAPSEPD-36262-AlterTransactionRetailPayment.sql
    • 20250327-NAPSDPD-35846-AgregaCamposDeProcesamientoEnTablas.sql
    • 20250410-NAPSDPD-35846-AcomodaCamposSiNoExisten.sql
  • La base deberá verse así: 

  • El próximo paso, es configurar el archivo de configuración: 
  • {
      "app": {
        "db": {
          "mongoUrl": "mongodb://admin:[email protected]:27017/pluginSQLmarti?replicaSet=bridge&authSource=admin"
        },
        "rabbit": {
          "url": "amqp://admin:[email protected]:5672",
          "active": true,
          "queues":["transactions.sql", "customers.sql"]
        },
        "server": {
          "port": "8682",
          "logMode": "debug",
          "isSsl": false
        },
        "bridge": {
          "url": "http://10.4.203.65:8081",
          "client": "bridge-api",
          "secret": "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709",
          "topTransactions": 10
        },
        "sql": {
          "user": "napse_usr",
          "password": "Read+Card-Bell",
          "database": "DW_NAPSE",
          "server": "10.72.250.11",
          "port": 1433
        }
      }
    }
    
    
  • Los datos del archivo, son los siguientes: 
    • mongoUrl es la dirección del servidor de base de datos contra el cual operará el plugin, NO se trata de la base productiva de BRIDGE, si no, de una nueva base que será utilizada por el plugin.
    • rabbit: se debe configurar la IP de RabbitMQ de donde el plugin tomará los registros que se exportan.
    • rabbit.queues: se deben definir que colas se tomarán.
    • bridge: son los datos de BRIDGE API.
    • sql: es la información del servidor de SQL Server en donde cree la base.
  • Luego, se instala el plugin como cualquier otro, es decir, si es en Linux, se configura en ecosystem o si es en Windows, como servicio.



  • Sem rótulos