Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Este servicio permitirá crear desde fuentes externas, una transacción posee la descripción de la transacción que es generada ante cada operación de venta, devolución o cambio a partir de postear en la cola Rabbit expuesta por Bridge, el JSON bajo el formato definido en el siguiente doc. 

Ejemplo del JSON a postear: 

Bloco de código
languagexml
{
	"externalNumber": "00001",		
	"id": "5f19d8989eefbe5418406887",
	"companyCode": "Napse",	
	"storeCode": "unicenter",
	"terminalCode": "20",
	"operatorCode": "martinm",
	"operatorName": "Martin Malievac",
	"trxNumber": 4,
	"trxDate": "2020-07-10 00:00:00",
	"trxType": "sale",	
	"creationDate": "2020-07-01 08:51:00",
	"cancelFlag": "false", 
	"channelCode": "bridge",
	"currencyCode": "peso",
	"netAmount": 4950,
	"manualDiscountAmount": 0,
	"internalTaxesTotal": 0,
	"ivaTotal": 0,
	"otherTaxes": 0, 
	"itemsQuantity": 1,
	"billType": "FC",
	"serieOfficialBill": "B",
	"fiscalPosNumber": "0010",
	"docNumber": "123025",
	"fiscalCAENumber": "3210",
	"fiscalCAEDate":"2020-07-10 00:00:00",
	"fiscalInvoiceType": 6,
	"total": 4950,
	"relatedTaxes":[
       {
      "amount":100.66,
      "baseAmount":479.34,
      "code":21,
      "name":"IVA 21%"
       }
      ],
   "otherTaxes": [
       {
      "amount":0,
      "baseAmount":0,
      "code":"",
      "name":"",
      "aliquot":0,
       }
	"party": {
		"code": "0243145377",
		"firstName": "Martin",
		"lastName": "Malievac",
		"email": "[email protected]",
		"typeCode": "Person",
		"identificationType": 1,
		"identifier": "24314537",
		"birthYearNumber": 1975,
		"birthMonthNumber": 1,
		"birthDayNumber": 3,
		"taxCategory": "CF",
		"partyContactMethods": {
			"delivery": {
				"name": "Personal",
				"address": {
					"firstLine": "Almafuerte 4430",
					"secondLine": "Puerta 10, Piso 2",
					"cityCode": "MUN",
					"stateCode": "BsAs",
					"countryCode": "AR",
					"postalCode": "1605"
				},
				"emailAddress": "[email protected]",
				"telephone": {
					"countryCode": "54",
					"areaCode": "11",
					"telephoneNumber": "36637487",
					"extensionNumber": "-"
				}
			},
			"billing": {
				"name": "Trabajo",
				"address": {
					"firstLine": "Venezuela 3158",
					"secondLine": "Piso 6. Interno 066",
					"cityCode": "VMA",
					"stateCode": "BsAs",
					"countryCode": "AR",
					"postalCode": "1603"
				},
				"emailAddress": "[email protected]",
				"telephone": {
					"countryCode": "54",
					"areaCode": "11",
					"telephoneNumber": "41100000",
					"extensionNumber": "066"
				}
			}
		}
	},
	"detail": [
		{
			"internaltemCode": "ABC001",
			"description": "Producto Galaxy S2",
			"storeCode": "UNICENTER",
			"location": "ventas2",
			"quantity": 1,
			"actualUnitPrice": 1000,
			"extendedPrice": 1000,
			"discountPromoTotal": 10,
			"discountTotal": 10,
			"internalTaxesTotal": 0,
			"ivaTotal": 0,
			"seller": "martinm",
			"partyContactMethodName": "Personal",
			"serializedUnits": [
				{
					"serialNumber": "123456789",
					"importDocNumber": "12345",
					"customsNumber": "123455",
					"customsDate": "2020-07-10 00:00:00",
					"unitCount": 1
				},
			],
			"priceModifiers": [
				{
					"percent": 5,
					"amount": 50,
					"reasonText": "Promo cliente especial"
				}
			]
		},
		],
	
	"payments": [
		{
			"tender": "peso",
			"amount": 2000
		},
		{
			"tender": "VI",
			"amount": 2950,
			"planDescriptor": "9 meses sin intereses",
			"sellerName": "MIRGOR",
			"authorizationCode": "1",
			"couponNumber": "1",
			"lotNumber": "1",
			"installments": "9",
			"referenceNumber": "1"
		}
	]
}

Descripción de los campos: 

Importante: los campos que poseen este ícono Image Removed, son valores tipificados que deben respetar los valores expuestos por BRIDGE en sus servicios.cambio o devolución.

Esto es realizado en colas RabbitMQ y lo que se postea, posee formato JSON.

Se adjuntan al post, diferentes ejemplos de transacciones en formato JSON.


View file
nameejemplostlog.json
height250


CampoTipoDescripción
Requerido
trxType
EjemplosValidación (código)externalNumberStringCódigo de la transacción originanteSI000001

991: el código es requerido.

996: Ya existe el código originante

idStringEl ID de mongodb de la transacciónSIcompanyCodeStringEl código de compañia BRIDGENOstoreCodeStringEl código de tienda BRIDGESIterminalCodeStringEl código de terminal BRIDGESIoperatorCodeStringEl código de operador BRIDGESI
operatorName
StringNombre del operadorNO
Martin Malievac
trxNumberNumberEl número de transacción BRIDGESI
trxDate
DateLa fecha de la transacción BRIDGESIFormato: yyyy-MM-dd HH:mm:sstrxTypeStringTipo de operacionSIValores posibles: sale, refund, exchangecreationDateStringFecha de creaciónSI2020-07-01 08:51:00 Formato: yyyy-MM-dd HH:mm:ss992: la fecha de creación es requerida.cancelFlagStringIndicador si fue cancelada o noSIdefault: falsechannelCodeStringCanal de OrigenNOeste código será asignado por Napse de acuerdo al canal.currencyCodeStringMonedaSIpeso994: la moneda es requerida.netAmountNumberMonto final de la transacción restando descuentosSI1000995: el monto final es requerido.manualDiscountAmountNumberImporte de descuentos a la transacciónSIInformar 0 si no existe ninguno

discountPromoTotal

Number

Importe de promociones de la transacciónSIImporte de descuentos a la transacción

internalTaxesTotal

Number

Monto de impuestos internosNOivaTotalNumberMonto de ivaSI

otherTaxes

NumberMonto de otros impuestos (ej: percepciones)NOitemsQuantityNumberCantidad de unidades de la operaciónSI

billType

StringTipo de comprobanteSIserieOfficialBillStringLetra del comprobanteNOfiscalPosNumberStringNro de centro emisor o punto de ventaSIdocNumberStringNro del comprobanteSIfiscalCAENumberStringNro de CAE o CAEANOfiscalCAEDateDateFecha de CAENOfiscalInvoiceTypeNumberTipo de comprobante fiscalNOtotalNumberMonto total del comprobanteSIrelatedTaxes (iva de la transacción) - requeridoamountNumberImporte liquidado según la alícuota de IVASIbaseAmountNumberBase imponible para la determinación de la alícuotaSIcodeStringCódigo del Tipo de IVASI
0, 21, 27, 10.5
nameStringDescripción del impuestoSIiva 21%OtherTaxes (otros impuestos de la transacción) - opcional, si se informa sus campos son mandatoriosamountNumberImporte del impuestoSIbaseAmountNumberBase imponible para la determinación del tributoSIcodeStringCódigo del Tipo de ImpuestoSInameStringDescripción de impuestoSIaliquotNumberAlícuotaSIparty (cliente asociado a la transacción) - opcionalcodeStringCódigo del clienteSI024314537997: el código del cliente es requerido.firstNameStringNombre del ClienteSIMartin997: el nombre de la persona o empresa, es requerido.lastNameStringApellido del clienteSI (solo si es typeCode = 'Person')Malievac997: el apellido es requerido para clientes de tipo "Person"emailStringCorreo del clienteSI[email protected]997: el correo electrónico es requerido.

Image Removed

identificationTypeNumberTipo de documentoSI

1, valores posibles:

1: DNI
2: Pasaporte
3: CUIL
4: CUIT

997: el tipo de identificación es requerido.identifierStringNúmero de documentoSI24314537997: el número de identificación es requerido.birthYearNumberNumberAño de nacimientoNO1975birthMonthNumberNumberMes de nacimientoNO3birthDayNumberNumberDía de nacimientoNO1taxCategoryStringCategoría impositivaSI
MT: MONOTRIBUTISTA
RI: RESPONSABLE INSCRIPTO
CF: CONSUMIDOR FINAL
EX: IVA EXENTO
partyContactMethods (direcciones del cliente). Son requeridas cuando se informa un clientenameStringNombre del método de contactoSIPersonal, Trabajo, etc.1002: el nombre del método de contacto es requerido.address.firstLineStringCalle y númeroSIAlmafuerte 10001003: la dirección es requerida.address.secondLineStringOtra infoNOPiso 10, Puerta 12

Image Removed

address.cityCodeStringCiudadSIMUN. Importante: código del listado de ciudades existentes, ver servicio city/all1004: la ciudad es requerida.

Image Removed

address.stateCodeStringProvinciaSIBsAs. Importante: código del listado de provincias existentes, ver servicio state/all1005: la provincia es requerida.

Image Removed

address.countryCodeStringPaisSIARG. Importante: código del listado de países existentes, ver servicio country/all1006: el país es requerido.emailAddressStringEmail asociado a ese método de contactoSISe puede poner el principal si no es diferente1007: el correo electrónico en el método de contacto, es requerido.telephone.countryCodeStringcódigo de PaísNO541008: el código de país del teléfono es requerido.telephone.areaCodeStringcódigo de areaNO111009: el código de área del teléfono es requerido.telephone.telephoneNumberStringnúmero de teléfonoSI366377771010: el número de teléfono es requerido.extensionNumberStringextensiónNO066detail (Detalle de la transacción). Debe haber al menos uno

Image Removed

internalItemCodeStringSKU del productoSISAM011011: el código del producto es requerido.

Image Removed

storeCodeStringCódigo de tienda desde donde saldrá el stock.SIUNICENTER1012: el código de tienda del stock es requerido.

Image Removed

locationStringCódigo de depósito desde donde saldrá el stockNOVENTAS2Si no se informa, toma el default del ítem.descriptionStringDescripción del productoSIProducto Galaxy S21013: la descripción del producto es requerida.quantityNumberCantidadSI11014: la cantidad pedida es obligatoria.actualUnitPriceNumberPrecio unitarioSI10001015: el precio unitario es requerido.discountPromoTotalNumberMonto total de descuento por promociónNO100discountTotalNumberMonto total de descuentos manualesNO100internalTaxesTotalNumberMonto de impuesos internosSI0ivaTotalNumberMonto del ivaSI0extendedPriceNumberPrecio extendido (cantidad por precio unitario menos los descuentos)SI900

seller

StringCódigo del vendedorNOmartinmpartyContactMethodNameStringDirección de envío del clienteSI (si eligió como opción delivery)Personal, debe existir entre una de las direcciones informadas para el cliente1019: el nombre de la dirección de envío al cliente es inválido.serializedUnits: en caso de que los items requieran nro de serie, se detallan los mismos - opcionalSerialNumberStringimportDocNumberStringcustomsNumberStringcustomsDateStringunitCountNumberretail.priceModifiers : descuentos otorgados a los productos, esto se encuentra dentro de la colección item - opcionalpercentNumberPorcentaje de descuentoSI (si es informada la línea)51020: si informa un descuento, debe informar el porcentaje.amountNumberMonto de descuentoSI (si es informada la línea)10001021: si informa un descuento, debe informar el monto.reasonTextStringRazón del descuentoSIOferta del día1022: si informa descuento, debe informar la razón.payments (pagos asociados a la transacción) A menos uno es requerido

Image Removed

tenderStringCódigo del medio de pagoSIpeso. Importante: ver servicio tender/all para los códigos de pago permitidos.1022: debe informar un medio de pago válido.amount:NumberMonto del pagoSI10001022: debe informar el monto del pago.planDescriptorStringDescripción del plan de pagos elegidoSI (para pagos con tarjeta)9 meses sin intereses1023: debe informar el plan de pagos.sellerNameStringNombre de la entidadSI (para pagos con tarjeta)Mirgor1024: debe informar el nombre del merchant.authorizationCodeStringCodigo de autorización de la tarjetaSI (para pagos con tarjeta)
  • En el caso de MercadoPago, aqui se informa el id de pago.
1025: debe informar el código de autorización de la tarjeta.couponNumberStringNúmero de cupónSI (para pagos con tarjeta)11026: debe informar el número de cupónlotNumberStringNúmero de LoteSI (para pagos con tarjeta)11027: debe informar número de lote.installmentsStringCuotasSI (para pagos con tarjeta)91028: debe informar la cantidad de cuotas.referenceNumberStringReferencia de la tarjetaSI (para pagos con tarjeta)44444444, en el caso de MercadoPago, allí va el id de la cuenta.1029: debe informar código de referencia de la tarjeta.
stringEl tipo de transacción, pueden ser los valores 'Sale', 'Return' o 'Exchange'
trxNumbernumberNumero de transacción de la terminal
trxNumberOriginalnumberEn caso de devoluciones, es requerido el numero original de la transacción
trxTypeLangstringEs el tipo de la transacción, en español, Venta, Devolución o Cambio
companyCodestringCódigo de compañía
companyNamestringNombre de la compañía
storeCodestringCódigo de la tienda
storeNamestringNombre de la tienda
terminalCodestringCódigo de la terminal
periodNumbernumberNumero de período
sbPeriodNumbernumberNúmero de turno
businessDayDateDateDia fiscal
beginDateTimeDateFecha de inicio de la transacción
endDateTimeDateFecha de fin de la transacción
beginDateTimeAsIntnumberFecha de inicio de la transacción, como entero
beginDateTimeHournumberFecha de fin de la transacción, como entero
operatorCodestringCódigo de operador o cajero
operatorNamestringNombre del operador
itemCountnumberCantidad de items de la venta
grossAmountnumberMonto bruto, con impuestos incluidos, sin descuentos
taxAmountnumberImporte de impuestos
promoDiscountAmountnumberDescuentos otorgados por promociones generales
manualDiscountAmountnumberDescuentos otorgados por descuentos manuales
trainingModeFlagbooleanSi es modo entrenamiento
suspendedFlagbooleanSi es una transacción suspendida
cancelFlagbooleanSi es una transacción cancelada
offlineFlagbooleanSi es una transacción offline
contingencyFlagbooleanSi es una transacción cargada en contingencia
netSalesAmountnumberMonto neto de la transacción
returnAmountnumberMonto de la devolución, para el caso de los cambios
grossPositiveAmountnumberMonto positivo de la venta (productos)
grossNegativeAmountnumberMonto negativo de la venta (impuestos)
ivaTaxAmountnumberImpuesto al valor agregado
internalTaxAmountnumberImpuestos internos
perceptionAmountnumberImporte de percepciones
transactionDiscountAmountnumberImporte general de descuentos de la transacción (descuentos por promociones + descuentos manuales)
iva0AmountnumberMonto de la venta con impuestos al 0% (solo Argentina)
iva21AmountnumberMonto de la venta con impuestos al 21%  (solo Argentina)
iva10AmountnumberMonto de la venta con impuestos al 10%  (solo Argentina)
iva27AmountnumberMonto de la venta con impuestos al 27%  (solo Argentina)
fiscalPosNumberstringNúmero de centro emisor para emisión de factura electrónica
billTypestringTipo de comprobante, las opciones son FC A, FC B, NC A, NC B
serieOfficialBillstringA o B de acuerdo a si es un comprobante a responsable inscripto o no
billNumberstringNumero fe factura electrónica
fiscalCAENumberstringNúmero de autorización de factura electrónica
fiscalCAEDateDateFecha de autorización de factura electrónica
currentZNumbernumberNúmero de Z fiscal
currencyDescriptionstringDescripción de la moneda de la operación
originalSerieOfficialBillstringEn caso de ser una nota de crédito, referencia a la factura original
originalFiscalPOSNumberstringEn caso de ser una nota de crédito, referencia a la factura original
originalBillNumberstringEn caso de ser una nota de crédito, referencia a la factura original
hasCustomerbooleanSi posee un cliente asociado o no
denominationstringEl nombre del cliente, en caso de poseer uno asociado
partyCodestringEl código del cliente, generalmente es su identificación
partyTaxCategorystringLa categoría impositiva del cliente, puede ser CF (Consumidor Final) o RI (Responsable Inscripto)
partyTypestringSi es persona PRS o Organización OGN
partyFirstNamestringPrimer nombre del cliente
partyLastNamestringApellido del cliente
partyPersonbooleanSi es una persona
partyOrganizationbooleanSi es una organización
partyIdentificationTypestringTipo de identificación. 1 DNI 2 Pasaporte 3 CUIT 4 CUIL
partyIdentificationNumberstringNumero de identificación
Items
trxTypestringSe repite el mismo dato que la cabecera
trxNumbernumberSe repite el mismo dato que la cabecera
storeNamestringSe repite el mismo dato que la cabecera
storeCodestringSe repite el mismo dato que la cabecera
terminalCodestringSe repite el mismo dato que la cabecera
periodNumbernumberSe repite el mismo dato que la cabecera
sbPeriodNumbernumberSe repite el mismo dato que la cabecera
beginDateTimeDateSe repite el mismo dato que la cabecera
beginDateTimeAsIntnumberSe repite el mismo dato que la cabecera
beginDateTimeHournumberSe repite el mismo dato que la cabecera
operatorCodestringSe repite el mismo dato que la cabecera
operatorNamestringSe repite el mismo dato que la cabecera
internalCodestringCódigo del producto.  Debe ser un SKU existente en Bridge. Consultar catálogo de maestros.
descriptionstringDescripción del producto
merchandiseHierarchyGroupCodestringCódigo de grupo de la estructura jerárquica
merchandiseHierarchyGroupNamestringNombre del grupo de la estructura jerárquica
unitPricenumberPrecio unitario del producto
quantitynumberCantidad del producto
unitsnumberCantidad del producto
extendedPricenumberPrecio total del producto (precio unitario x cantidad)
netAmountnumberImporte final o neto del producto
voidingbooleanSi es un producto anulado, es decir, no forma parte de la venta
voidFlagbooleanSi es un producto anulado, es decir, no forma parte de la venta
trainingModeFlagbooleanSe repite el mismo dato que la cabecera
suspendedFlagbooleanSe repite el mismo dato que la cabecera
cancelFlagbooleanSe repite el mismo dato que la cabecera
locationCodestringCódigo de almacen desde donde el producto sale
sellerCodestringCódigo del vendedor del item
promoDiscountAmountnumberDescuento otorgado por promociones
manualDiscountAmountnumberDescuentos manuales sobre el producto
Medios de Pago
trxTypestringSe repite el mismo dato que la cabecera
trxNumbernumberSe repite el mismo dato que la cabecera
storeNamestringSe repite el mismo dato que la cabecera
storeCodestringSe repite el mismo dato que la cabecera
terminalCodestringSe repite el mismo dato que la cabecera
periodNumbernumberSe repite el mismo dato que la cabecera
sbPeriodNumbernumberSe repite el mismo dato que la cabecera
beginDateTime:Date,DateSe repite el mismo dato que la cabecera
beginDateTimeAsIntnumberSe repite el mismo dato que la cabecera
beginDateTimeHournumberSe repite el mismo dato que la cabecera
operatorCodestringSe repite el mismo dato que la cabecera
operatorNamestringSe repite el mismo dato que la cabecera
tenderNamestringNombre del medio de pago
amountnumberMonto del medio de pago
changenumberCambio (en caso de ser efectivo)
surchargenumberRecargo (para casos como tarjetas)
voidedbooleanSi fue anulado
voidingbooleanSi fue anulado
netAmountnumberMonto neto del pago
trainingModeFlagbooleanSe repite el mismo dato que la cabecera
suspendedFlagbooleanSe repite el mismo dato que la cabecera
cancelFlagbooleanSe repite el mismo dato que la cabecera
fiscalPosNumberstringNumero de centro emisor
billTypestringTipo de comprobante, las opciones son FC A, FC B, NC A, NC B
serieOfficialBillstringA o B de acuerdo a si es un comprobante a responsable inscripto o no
billNumberstringNumero fe factura electrónica
foreignCurrencyQuotenumber 
foreignAmountnumberMonto en moneda extranjera
foreignChangenumberCambio de la moneda extranjera
currencyISOCodestringCódigo de la moneda
cardbooleanCódigo de tarjeta
externalIdstring 
vtolStorestringCódigo de tienda de VTOL
vtolTerminalstringCódigo de terminal de VTOL
cardNumberstringNúmero de tarjeta enmascarado
cardTypestringTipo de tarjeta
lotNumberstringNúmero de lote
referenceNumberstringNúmero de referencia
providerstringAutorizador
planDescriptorstringPlan de pagos
sellerNamestringCódigo de comercio
cardAuthorizationCodestringCódigo de autorización de la tarjeta
cardCouponNumberstringNúmero de cupón de la tarjeta
cardLotNumberstringNúmero de lote de la tarjeta
installmentsstringCantidad de cuotas
cardReferenceNumberstringCodigo de referencia de la tarjeta
Descuentos y promociones
trxTypestringSe repite el mismo dato que la cabecera
trxNumbernumberSe repite el mismo dato que la cabecera
storeNamestringSe repite el mismo dato que la cabecera
storeCodestringSe repite el mismo dato que la cabecera
terminalCodestringSe repite el mismo dato que la cabecera
periodNumbernumberSe repite el mismo dato que la cabecera
sbPeriodNumbernumberSe repite el mismo dato que la cabecera
beginDateTimeDateSe repite el mismo dato que la cabecera
beginDateTimeAsIntnumberSe repite el mismo dato que la cabecera
beginDateTimeHournumberSe repite el mismo dato que la cabecera
operatorCodestringSe repite el mismo dato que la cabecera
operatorNamestringSe repite el mismo dato que la cabecera
internalCodestringCodigo interno del producto
descriptionstringDescripción del producto
promoCodestringCódigo interno de la promoción
promoDescriptionstringDescripción de la promoción
benefitClassstringClase de beneficio (monetario o no monetario)
benefitTypestringTipo de beneficio (descuento fijo, descuento porcentaje)
benefitValuenumberValor del beneficio, por ejemplo, el porcentaje de descuento
couponCodestringCodigo de cupon
cardCodestringCódigo de tarjeta de fidelidad
cardTypestringTipo de tarjeta de fidelidad
currentCardAmountnumberMonto en puntos de la tarjeta
cancelFlagbooleanSe repite el mismo dato que la cabecera