Este servicio permitirá crear desde fuentes externas, una transacció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 | ||
---|---|---|
| ||
{ "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 , son valores tipificados que deben respetar los valores expuestos por BRIDGE en sus servicios.
Campo | Tipo | Descripción | Requerido | Ejemplos | Validación (código) | |
---|---|---|---|---|---|---|
externalNumber | String | Código de la transacción originante | SI | 000001 | 991: el código es requerido. 996: Ya existe el código originante | |
id | String | El ID de mongodb de la transacción | SI | |||
companyCode | String | El código de compañia BRIDGE | NO | |||
storeCode | String | El código de tienda BRIDGE | SI | |||
terminalCode | String | El código de terminal BRIDGE | SI | |||
operatorCode | String | El código de operador BRIDGE | SI | |||
operatorName | String | Nombre del operador | NO | Martin Malievac | ||
trxNumber | Number | El número de transacción BRIDGE | SI | |||
trxDate | Date | La fecha de la transacción BRIDGE | SI | Formato: yyyy-MM-dd HH:mm:ss | ||
trxType | String | Tipo de operacion | SI | Valores posibles: sale, refund, exchange | ||
creationDate | String | Fecha de creación | SI | 2020-07-01 08:51:00 Formato: yyyy-MM-dd HH:mm:ss | 992: la fecha de creación es requerida. | |
cancelFlag | String | Indicador si fue cancelada o no | SI | default: false | ||
channelCode | String | Canal de Origen | NO | este código será asignado por Napse de acuerdo al canal. | ||
currencyCode | String | Moneda | SI | peso | 994: la moneda es requerida. | |
netAmount | Number | Monto final de la transacción restando descuentos | SI | 1000 | 995: el monto final es requerido. | |
manualDiscountAmount | Number | Importe de descuentos a la transacción | SI | Informar 0 si no existe ninguno | ||
discountPromoTotal | Number | Importe de promociones de la transacción | SI | Importe de descuentos a la transacción | ||
internalTaxesTotal | Number | Monto de impuestos internos | NO | |||
ivaTotal | Number | Monto de iva | SI | |||
otherTaxes | Number | Monto de otros impuestos (ej: percepciones) | NO | |||
itemsQuantity | Number | Cantidad de unidades de la operación | SI | |||
billType | String | Tipo de comprobante | SI | |||
serieOfficialBill | String | Letra del comprobante | NO | |||
fiscalPosNumber | String | Nro de centro emisor o punto de venta | SI | |||
docNumber | String | Nro del comprobante | SI | |||
fiscalCAENumber | String | Nro de CAE o CAEA | NO | |||
fiscalCAEDate | Date | Fecha de CAE | NO | |||
fiscalInvoiceType | Number | Tipo de comprobante fiscal | NO | |||
total | Number | Monto total del comprobante | SI | |||
relatedTaxes (iva de la transacción) - requerido | ||||||
amount | Number | Importe liquidado según la alícuota de IVA | SI | |||
baseAmount | Number | Base imponible para la determinación de la alícuota | SI | |||
code | String | Código del Tipo de IVA | SI | 0, 21, 27, 10.5 | ||
name | String | Descripción del impuesto | SI | iva 21% | ||
OtherTaxes (otros impuestos de la transacción) - opcional, si se informa sus campos son mandatorios | ||||||
amount | Number | Importe del impuesto | SI | |||
baseAmount | Number | Base imponible para la determinación del tributo | SI | |||
code | String | Código del Tipo de Impuesto | SI | |||
name | String | Descripción de impuesto | SI | |||
aliquot | Number | Alícuota | SI | |||
party (cliente asociado a la transacción) - opcional | ||||||
code | String | Código del cliente | SI | 024314537 | 997: el código del cliente es requerido. | |
firstName | String | Nombre del Cliente | SI | Martin | 997: el nombre de la persona o empresa, es requerido. | |
lastName | String | Apellido del cliente | SI (solo si es typeCode = 'Person') | Malievac | 997: el apellido es requerido para clientes de tipo "Person" | |
String | Correo del cliente | SI | [email protected] | 997: el correo electrónico es requerido. | ||
identificationType | Number | Tipo de documento | SI | 1, valores posibles: 1: DNI | 997: el tipo de identificación es requerido. | |
identifier | String | Número de documento | SI | 24314537 | 997: el número de identificación es requerido. | |
birthYearNumber | Number | Año de nacimiento | NO | 1975 | ||
birthMonthNumber | Number | Mes de nacimiento | NO | 3 | ||
birthDayNumber | Number | Día de nacimiento | NO | 1 | ||
taxCategory | String | Categoría impositiva | SI | MT: MONOTRIBUTISTA RI: RESPONSABLE INSCRIPTO CF: CONSUMIDOR FINAL EX: IVA EXENTO | ||
partyContactMethods (direcciones del cliente). Son requeridas cuando se informa un cliente | ||||||
name | String | Nombre del método de contacto | SI | Personal, Trabajo, etc. | 1002: el nombre del método de contacto es requerido. | |
address.firstLine | String | Calle y número | SI | Almafuerte 1000 | 1003: la dirección es requerida. | |
address.secondLine | String | Otra info | NO | Piso 10, Puerta 12 | ||
address.cityCode | String | Ciudad | SI | MUN. Importante: código del listado de ciudades existentes, ver servicio city/all | 1004: la ciudad es requerida. | |
address.stateCode | String | Provincia | SI | BsAs. Importante: código del listado de provincias existentes, ver servicio state/all | 1005: la provincia es requerida. | |
address.countryCode | String | Pais | SI | ARG. Importante: código del listado de países existentes, ver servicio country/all | 1006: el país es requerido. | |
emailAddress | String | Email asociado a ese método de contacto | SI | Se puede poner el principal si no es diferente | 1007: el correo electrónico en el método de contacto, es requerido. | |
telephone.countryCode | String | código de País | NO | 54 | 1008: el código de país del teléfono es requerido. | |
telephone.areaCode | String | código de area | NO | 11 | 1009: el código de área del teléfono es requerido. | |
telephone.telephoneNumber | String | número de teléfono | SI | 36637777 | 1010: el número de teléfono es requerido. | |
extensionNumber | String | extensión | NO | 066 | ||
detail (Detalle de la transacción). Debe haber al menos uno | ||||||
internalItemCode | String | SKU del producto | SI | SAM01 | 1011: el código del producto es requerido. | |
storeCode | String | Código de tienda desde donde saldrá el stock. | SI | UNICENTER | 1012: el código de tienda del stock es requerido. | |
location | String | Código de depósito desde donde saldrá el stock | NO | VENTAS2 | Si no se informa, toma el default del ítem. | |
description | String | Descripción del producto | SI | Producto Galaxy S2 | 1013: la descripción del producto es requerida. | |
quantity | Number | Cantidad | SI | 1 | 1014: la cantidad pedida es obligatoria. | |
actualUnitPrice | Number | Precio unitario | SI | 1000 | 1015: el precio unitario es requerido. | |
discountPromoTotal | Number | Monto total de descuento por promoción | NO | 100 | ||
discountTotal | Number | Monto total de descuentos manuales | NO | 100 | ||
internalTaxesTotal | Number | Monto de impuesos internos | SI | 0 | ||
ivaTotal | Number | Monto del iva | SI | 0 | ||
extendedPrice | Number | Precio extendido (cantidad por precio unitario menos los descuentos) | SI | 900 | ||
seller | String | Código del vendedor | NO | martinm | ||
partyContactMethodName | String | Dirección de envío del cliente | SI (si eligió como opción delivery) | Personal, debe existir entre una de las direcciones informadas para el cliente | 1019: 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 - opcional | ||||||
SerialNumber | String | |||||
importDocNumber | String | |||||
customsNumber | String | |||||
customsDate | String | |||||
unitCount | Number | |||||
retail.priceModifiers : descuentos otorgados a los productos, esto se encuentra dentro de la colección item - opcional | ||||||
percent | Number | Porcentaje de descuento | SI (si es informada la línea) | 5 | 1020: si informa un descuento, debe informar el porcentaje. | |
amount | Number | Monto de descuento | SI (si es informada la línea) | 1000 | 1021: si informa un descuento, debe informar el monto. | |
reasonText | String | Razón del descuento | SI | Oferta del día | 1022: si informa descuento, debe informar la razón. | |
payments (pagos asociados a la transacción) A menos uno es requerido | ||||||
tender | String | Código del medio de pago | SI | peso. Importante: ver servicio tender/all para los códigos de pago permitidos. | 1022: debe informar un medio de pago válido. | |
amount: | Number | Monto del pago | SI | 1000 | 1022: debe informar el monto del pago. | |
planDescriptor | String | Descripción del plan de pagos elegido | SI (para pagos con tarjeta) | 9 meses sin intereses | 1023: debe informar el plan de pagos. | |
sellerName | String | Nombre de la entidad | SI (para pagos con tarjeta) | Mirgor | 1024: debe informar el nombre del merchant. | |
authorizationCode | String | Codigo de autorización de la tarjeta | SI (para pagos con tarjeta) |
| 1025: debe informar el código de autorización de la tarjeta. | |
couponNumber | String | Número de cupón | SI (para pagos con tarjeta) | 1 | 1026: debe informar el número de cupón | |
lotNumber | String | Número de Lote | SI (para pagos con tarjeta) | 1 | 1027: debe informar número de lote. | |
installments | String | Cuotas | SI (para pagos con tarjeta) | 9 | 1028: debe informar la cantidad de cuotas. | |
referenceNumber | String | Referencia de la tarjeta | SI (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. |