{"swagger":"2.0","info":{"description":"Documentacion de la API de RepoComprobante","version":"1.4.0","title":"RepoComprobante","contact":{},"license":{}},"host":"tickets.josimar.com.ar","basePath":"/","tags":[{"name":"factura-resource","description":"Factura Resource"}],"paths":{"/api/facturas":{"get":{"tags":["factura-resource"],"summary":"Lista todas las facturas de forma paginada. ","description":"Lista todas las facturas de a una pagina a la vez. En el header de la respuesta se detalla información util para el consumidor. ","operationId":"getAllFacturasUsingGET","produces":["application/json;charset=UTF-8"],"parameters":[{"name":"page","in":"query","description":"El numero de pagina requerido","required":false,"type":"string","default":"0"},{"name":"size","in":"query","description":"El tamaño de la pagina","required":false,"type":"string","default":"20"},{"name":"sort","in":"query","description":"Criterio de ordenamiento con el formato: propiedad(,asc|desc).","required":false,"type":"string","default":"fecha_procesamiento,desc"}],"responses":{"200":{"description":"Se muestran los comprobantes hallados","headers":{"Link":{"type":"string","description":"<p> Enlaces útiles para la paginación segun el estándar <a href=\"https://tools.ietf.org/html/rfc5988\">RFC 5988</a></p><p> A continuación un ejemplo que contiene link a siguiente (next), previa (prev), ultima (last) y primera (first) pagina. </p><p>&lt;http://sever_url/api/facturas?page=4&amp;size=10&gt;; rel=\"next\",<br/>&lt;http://sever_url/api/facturas?page=2&amp;size=10&gt;; rel=\"prev\",<br/>&lt;http://sever_url/api/facturas?page=6&amp;size=10&gt;; rel=\"last\",<br/>&lt;http://sever_url/api/facturas?page=0&amp;size=10&gt;; rel=\"first\"<br/></p>"}},"schema":{"type":"array","items":{"$ref":"#/definitions/Factura"}}},"401":{"description":"Debe proveer un JWT valido y vigente para poder hacer la búsqueda"}},"deprecated":false}},"/api/facturas/pdf":{"get":{"tags":["factura-resource"],"summary":"Busca una factura con los datos únicos de cada factura. ","operationId":"searchToPdfUsingGET","produces":["application/json;charset=UTF-8"],"parameters":[{"name":"cae","in":"query","description":"cae","required":true,"type":"string"},{"name":"cuitEmisor","in":"query","description":"cuitEmisor","required":true,"type":"string"},{"name":"nroComprobante","in":"query","description":"nroComprobante","required":true,"type":"string"},{"name":"origen","in":"query","description":"origen","required":true,"type":"string"},{"name":"puntoVenta","in":"query","description":"puntoVenta","required":true,"type":"string"},{"name":"tipo","in":"query","description":"tipo","required":true,"type":"integer","format":"int64"}],"responses":{"200":{"description":"Se muestran el comprobante hallado","schema":{"type":"string","format":"byte"}},"404":{"description":"No se encontró el comprobante solicitado"}},"deprecated":false}},"/api/facturas/search":{"get":{"tags":["factura-resource"],"summary":"Busca una factura con los datos únicos de cada factura. ","operationId":"searchUsingGET","produces":["application/json;charset=UTF-8"],"parameters":[{"name":"cae","in":"query","description":"cae","required":true,"type":"string"},{"name":"cuitEmisor","in":"query","description":"cuitEmisor","required":true,"type":"string"},{"name":"nroComprobante","in":"query","description":"nroComprobante","required":true,"type":"string"},{"name":"origen","in":"query","description":"origen","required":true,"type":"string"},{"name":"puntoVenta","in":"query","description":"puntoVenta","required":true,"type":"string"},{"name":"tipo","in":"query","description":"tipo","required":true,"type":"integer","format":"int64"},{"name":"tipoDescripcion","in":"query","description":"tipoDescripcion","required":true,"type":"string"}],"responses":{"200":{"description":"Se muestran el comprobante hallado","schema":{"$ref":"#/definitions/Factura"}},"401":{"description":"Debe proveer un JWT valido y vigente para poder hacer la búsqueda"},"404":{"description":"No se encontró el comprobante solicitado"}},"deprecated":false}},"/api/facturas/searchByDateRange":{"get":{"tags":["factura-resource"],"summary":"Busca todos los comprobantes recibidos entre dos intervalos de tiempo","description":"<p> Busca los comprobantes que fueron procesados (fechaProcesamiento) entre dos intervalos de tiempo. </p><p> Opcionalmente se puede filtrar el resultado por sucursal. </p> <p> El rango de tiempo es un intervalos semi abierto [desde, hasta), lo que implica que el rango incluye desde pero excluye hasta en la búsqueda. </p>","operationId":"searchByDateRangeUsingGET","consumes":["application/json;charset=UTF-8"],"produces":["application/json;charset=UTF-8"],"parameters":[{"in":"body","name":"request","description":"request","required":true,"schema":{"$ref":"#/definitions/RequestByDate"}}],"responses":{"200":{"description":"Se muestran los comprobantes hallados","schema":{"type":"array","items":{"$ref":"#/definitions/Factura"}}},"401":{"description":"Debe proveer un JWT valido y vigente para poder hacer la búsqueda"}},"deprecated":false}},"/api/facturas/{id}":{"get":{"tags":["factura-resource"],"summary":"Muestra una factura por ID.","operationId":"getFacturaUsingGET","produces":["*/*"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"type":"string"}],"responses":{"200":{"description":"Se muestra el comprobante solicitado","schema":{"$ref":"#/definitions/Factura"}},"401":{"description":"Debe proveer un JWT valido y vigente para poder hacer la búsqueda"},"404":{"description":"No se encontró el comprobante solicitado"}},"deprecated":false},"delete":{"tags":["factura-resource"],"summary":"Borra la factura con el ID dado.","operationId":"deleteFacturaUsingDELETE","produces":["*/*"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"type":"string"}],"responses":{"204":{"description":"El comprobante ya no existe"},"401":{"description":"Debe proveer un JWT valido y vigente para poder hacer la búsqueda"},"403":{"description":"El usuario no tiene permisos para poder realizar la acción"}},"deprecated":false}},"/api/facturas/{id}/archivo":{"get":{"tags":["factura-resource"],"summary":"Muestra el archivo asociado a la factura, codificado en Base64.","operationId":"getArchivoUsingGET","produces":["*/*"],"parameters":[{"name":"id","in":"path","description":"id","required":true,"type":"string"}],"responses":{"200":{"description":"Se muestra el archivo solicitado","schema":{"$ref":"#/definitions/Archivo"}},"401":{"description":"Debe proveer un JWT valido y vigente para poder hacer la búsqueda"},"404":{"description":"No se encontró el comprobante solicitado"}},"deprecated":false}}},"definitions":{"AlicuotasIVA":{"type":"object","properties":{"alicuota":{"type":"number","description":"La alícuota aplicada. Ej: 0.21"},"baseImponible":{"type":"number","description":"El importe imponible con el cual de calcula el importe. Ej: 100.00"},"descripcion":{"type":"string","description":"La descripción del tipo de IVA"},"importe":{"type":"number","description":"El importe asociado a alícuota. Ej: 21.00"},"tipoIVA":{"type":"string","description":"El código de tipo IVA"}},"title":"AlicuotasIVA","description":"Da detalles sobre la alícuota del IVA aplicada a una factura"},"Archivo":{"type":"object","properties":{"archivo":{"type":"string","description":"El archivo pdf asociado, binario encodeado en base 64"},"id":{"type":"string","description":"El ID del comprobante"}},"title":"Archivo","description":"El wrapper del archivo asociado al comprobante"},"Asociado":{"type":"object","properties":{"comprobanteFecha":{"type":"string","format":"date","description":"Fecha del comprobante"},"cuitEmisor":{"type":"string","description":"Cuit del emisor"},"nroComprobante":{"type":"string","description":"El numero de comprobante"},"puntoVenta":{"type":"string","description":"El punto de venta"},"tipo":{"type":"integer","format":"int64","description":"El código de tipo de comprobante"},"tipoDescripcion":{"type":"string","description":"La descripción de tipo de comprobante"}},"title":"Asociado","description":"Da los datos mínimos necesarios para identificar al comprobante asociado al comprobante"},"Cajero":{"type":"object","properties":{"codigo":{"type":"integer","format":"int64","description":"El numero que identifica la cajero"},"nombre":{"type":"string","description":"El nombre del cajero"}},"title":"Cajero","description":"Da información sobre el cajero"},"Cantidad":{"type":"object","discriminator":"tipo","properties":{"tipo":{"type":"string","description":"Debe ser Enumerable o Pesable"}},"title":"Cantidad","description":"Da el detalle de la cantidad de un item. Esta es una generalización abstracta, por favor use uno de los siguiente subtipos: CantidadPesable, CantidadEnumerable"},"CantidadEnumerable":{"title":"CantidadEnumerable","allOf":[{"$ref":"#/definitions/Cantidad"},{"type":"object","properties":{"tipo":{"type":"string","description":"Debe ser Enumerable"},"valor":{"type":"number","description":"La cantidad en si misma"}},"title":"CantidadEnumerable","description":"Da el detalle de la cantidad de un item enumerable"}],"description":"Da el detalle de la cantidad de un item enumerable"},"CantidadPesable":{"title":"CantidadPesable","allOf":[{"$ref":"#/definitions/Cantidad"},{"type":"object","properties":{"tipo":{"type":"string","description":"Debe ser Pesable"},"valor":{"type":"number","description":"La cantidad en si misma"}},"title":"CantidadPesable","description":"Da el detalle de la cantidad de un item pesable"}],"description":"Da el detalle de la cantidad de un item pesable"},"CashBack":{"type":"object","properties":{"codigo":{"type":"integer","format":"int32","description":"Codigo"},"cuotas":{"type":"integer","format":"int32","description":"Cuotas"},"importe":{"type":"number","description":"El importe"},"medioPago":{"type":"string","description":"El nombre del medio de pago"}},"title":"CashBack","description":"Da información sobre los cashback"},"Cliente":{"type":"object","properties":{"codigo":{"type":"integer","format":"int64","description":"Código interno de identificación"},"documento":{"description":"Documento de identidad de la persona","$ref":"#/definitions/Documento"},"domicilio":{"description":"Domicilio de la persona","$ref":"#/definitions/Domicilio"},"nombre":{"type":"string","description":"Apellido y nombre de la persona natural o razón social de la persona jurídica"},"tipo":{"type":"string","description":"Natural o Juridico","enum":["JURIDICA","NATURAL"]},"tipoIIBB":{"type":"string","description":"Tipo de IIBB de la persona"},"tipoIVA":{"type":"string","description":"Tipo de IVA de la persona"}},"title":"Cliente","description":"Da detalles sobre el cliente, este puede ser un cliente natural (persona natural) o un cliente jurídico (persona jurídica)"},"Comprobante":{"type":"object","discriminator":"origen","properties":{"descuentoFidelidad":{"type":"number","description":"Descuento por fidelidad del cliente"},"fechaVencimientoCAE":{"type":"string","format":"date"},"nroComprobante":{"type":"string","description":"El numero de comprobante"},"origen":{"type":"string","description":"ComprobanteCAE, ComprobanteCAEA o ComprobantePrinter"},"puntoVenta":{"type":"string","description":"El punto de venta"},"tipo":{"type":"integer","format":"int64","description":"El código de tipo de comprobante"},"tipoDescripcion":{"type":"string","description":"La descripción de tipo de comprobante"}},"title":"Comprobante","description":"Da información sobre el comprobante y su origen. Esta es una generalización abstracta, por favor use uno de los siguiente subtipos: ComprobanteCAE, ComprobanteCAEA o ComprobantePrinter"},"ComprobanteCAE":{"title":"ComprobanteCAE","allOf":[{"$ref":"#/definitions/Comprobante"},{"type":"object","properties":{"cae":{"type":"string","description":"El CAE asociado de la factura. Requerido para ComprobanteCAE"},"descuentoFidelidad":{"type":"number","description":"Descuento por fidelidad del cliente"},"fechaProceso":{"type":"string","format":"date-time","description":"Fecha en el que se proceso la factura en la AFIP, en ISO 8601. Requerido para ComprobanteCAE"},"fechaVencimientoCAE":{"type":"string","format":"date"},"nroComprobante":{"type":"string","description":"El numero de comprobante"},"origen":{"type":"string","description":"Debe ser ComprobanteCAE"},"puntoVenta":{"type":"string","description":"El punto de venta"},"tipo":{"type":"integer","format":"int64","description":"El código de tipo de comprobante"},"tipoDescripcion":{"type":"string","description":"La descripción de tipo de comprobante"}},"title":"ComprobanteCAE","description":"Comprobante generado de forma online usando el servicio de la AFIP"}],"description":"Comprobante generado de forma online usando el servicio de la AFIP"},"ComprobanteCAEA":{"title":"ComprobanteCAEA","allOf":[{"$ref":"#/definitions/Comprobante"},{"type":"object","properties":{"caea":{"type":"string","description":"El CAEA asociado de la factura. Requerido para ComprobanteCAEA"},"descuentoFidelidad":{"type":"number","description":"Descuento por fidelidad del cliente"},"fechaVencimientoCAE":{"type":"string","format":"date"},"nroComprobante":{"type":"string","description":"El numero de comprobante"},"origen":{"type":"string","description":"Debe ser ComprobanteCAEA"},"puntoVenta":{"type":"string","description":"El punto de venta"},"tipo":{"type":"integer","format":"int64","description":"El código de tipo de comprobante"},"tipoDescripcion":{"type":"string","description":"La descripción de tipo de comprobante"}},"title":"ComprobanteCAEA","description":"Comprobante generado de forma offline usando un certificado CAEA"}],"description":"Comprobante generado de forma offline usando un certificado CAEA"},"ComprobantePrinter":{"title":"ComprobantePrinter","allOf":[{"$ref":"#/definitions/Comprobante"},{"type":"object","properties":{"descuentoFidelidad":{"type":"number","description":"Descuento por fidelidad del cliente"},"fechaVencimientoCAE":{"type":"string","format":"date"},"nroComprobante":{"type":"string","description":"El numero de comprobante"},"origen":{"type":"string","description":"Debe ser ComprobantePrinter"},"puntoVenta":{"type":"string","description":"El punto de venta"},"tipo":{"type":"integer","format":"int64","description":"El código de tipo de comprobante"},"tipoDescripcion":{"type":"string","description":"La descripción de tipo de comprobante"}},"title":"ComprobantePrinter","description":"Comprobante generado por una impresora fiscal \"clásica\""}],"description":"Comprobante generado por una impresora fiscal \"clásica\""},"Descuento":{"type":"object","properties":{"descripcion":{"type":"string","description":"La descripción del descuento"},"detallePorItem":{"type":"array","description":"Detalle por item","items":{"$ref":"#/definitions/DescuentoDetallePorItem"}},"idoferta":{"type":"integer","format":"int64","description":"El Id de la oferta"},"importe":{"type":"number","description":"El valor del descuento"},"porcentajeOferta":{"type":"number","description":"El porcentaje de la oferta"}},"title":"Descuento","description":"Da detalles sobre los descuentos aplicados a un item o la factura"},"DescuentoDetallePorItem":{"type":"object","properties":{"codigo":{"type":"string","description":"Codigo del descuento aplicado al item"},"importe":{"type":"number","description":"Importe del descuento aplicado al item"}},"title":"DescuentoDetallePorItem","description":"Detalles de los descuentos por item"},"Documento":{"type":"object","properties":{"descripcion":{"type":"string","description":"La descripción de tipo de documento"},"numero":{"type":"string","description":"El número de documento o el CUIT"},"tipo":{"type":"integer","format":"int64","description":"El código del tipo de documento"}},"title":"Documento","description":"Da información sobre el Documento del cliente"},"Domicilio":{"type":"object","properties":{"codigoPostal":{"type":"string","description":"El código postal del domicilio"},"direccion":{"type":"string","description":"La dirección del domicilio"},"localidad":{"type":"string","description":"La localidad del domicilio"},"partido":{"type":"string","description":"El partido del domicilio"},"provincia":{"type":"string","description":"La provincia del domicilio"}},"title":"Domicilio","description":"Da información sobre el Domicilio del cliente"},"Donacion":{"type":"object","properties":{"importe":{"type":"number","description":"El valor de la donación"},"nombre":{"type":"string","description":"La nombre de la entidad que recibe la donación"}},"title":"Donacion","description":"Da detalles sobre las donaciones hechas con la compra"},"Factura":{"type":"object","required":["caja","cajero","cantidadArticulos","cliente","comprobante","cuitEmisor","descuentoTotal","fechaHora","fechaProcesamiento","importeNeto","importeTotal","nroOperacion","origen","pagos","redondeo","subTotalSinDescuento","sucursal","textoAdicional","vuelto"],"properties":{"alicuotas":{"type":"array","items":{"$ref":"#/definitions/AlicuotasIVA"}},"archivo":{"type":"string","pattern":"^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$"},"caja":{"type":"integer","format":"int64"},"cajero":{"$ref":"#/definitions/Cajero"},"cantidadArticulos":{"type":"integer","format":"int64"},"cashback":{"type":"array","items":{"$ref":"#/definitions/CashBack"}},"cliente":{"$ref":"#/definitions/Cliente"},"comprobante":{"$ref":"#/definitions/Comprobante"},"comprobantesAsociados":{"type":"array","items":{"$ref":"#/definitions/Asociado"}},"cuitEmisor":{"type":"string"},"descuentoTotal":{"type":"number"},"descuentos":{"type":"array","items":{"$ref":"#/definitions/Descuento"}},"donaciones":{"type":"array","items":{"$ref":"#/definitions/Donacion"}},"fechaHora":{"type":"string","format":"date-time"},"fechaProcesamiento":{"type":"string","format":"date-time"},"fidelidad":{"description":"Datos de fidelidad del cliente","$ref":"#/definitions/Fidelidad"},"horaFinDocumento":{"type":"string"},"id":{"type":"string"},"importeNeto":{"type":"number"},"importeTotal":{"type":"number"},"impuestos":{"type":"array","items":{"$ref":"#/definitions/Impuesto"}},"lineas":{"type":"array","items":{"$ref":"#/definitions/Linea"}},"nroOperacion":{"type":"integer","format":"int64"},"observaciones":{"type":"array","items":{"$ref":"#/definitions/Observacion"}},"origen":{"type":"string","enum":["POS","WEB"]},"pagos":{"type":"array","items":{"$ref":"#/definitions/Pago"}},"periodoAsoc":{"$ref":"#/definitions/PeriodoAsoc"},"redondeo":{"type":"number"},"subTotalSinDescuento":{"type":"number"},"sucursal":{"$ref":"#/definitions/Sucursal"},"textoAdicional":{"type":"array","items":{"type":"string"}},"tipoCaja":{"type":"string"},"urlAfip":{"type":"string"},"urlTicket":{"type":"string"},"vuelto":{"type":"number"}},"title":"Factura","description":"The Factura entity."},"Fidelidad":{"type":"object","properties":{"descripcionSubFamilia":{"type":"string","description":"Descripcion subfamilia"},"nombre":{"type":"string","description":"Nombre del cliente"},"numero":{"type":"string","description":"Numero de cliente"},"subFamilia":{"type":"integer","format":"int32","description":"Numero de subfamilia"}},"title":"Fidelidad","description":"Da info sobre los datos de fidelidad del cliente"},"Impuesto":{"type":"object","properties":{"descripcion":{"type":"string","description":"La descripción del impuesto"},"importe":{"type":"number","description":"El valor del impuesto"}},"title":"Impuesto","description":"Da detalles sobre los impuestos aplicados a una factura excluyendo el IVA"},"Linea":{"type":"object","properties":{"alicuotaIVA":{"type":"number","description":"La alícuota del IVA sobre el item. <b>No</b> confundir con el objeto Alicuota IVA"},"cantidad":{"description":"La cantidad del item detallado","$ref":"#/definitions/Cantidad"},"codigo":{"type":"string","description":"El código estándar del item"},"codigoInterno":{"type":"string","description":"El código interno del item"},"descripcion":{"type":"string","description":"La descripción del producto"},"descuentos":{"type":"array","description":"Una lista de descuentos aplicados al item","items":{"$ref":"#/definitions/Descuento"}},"impInterno":{"type":"number","description":"Impuesto interno"},"ingresoManual":{"type":"integer","format":"int32","description":"Ingreso manual"},"nameDto":{"type":"string","description":"Nombre departamento"},"numDto":{"type":"integer","format":"int32","description":"Numero departamento"},"precioTotal":{"type":"number","description":"El precio total del producto"},"precioUnitario":{"type":"number","description":"El precio unitario del producto"}},"title":"Linea","description":"Da detalle de un item en la factura"},"Observacion":{"type":"object","properties":{"codigo":{"type":"integer","format":"int32","description":"Código AFIP de la observación"},"mensaje":{"type":"string","description":"Mensaje de la observación"}},"title":"Observacion","description":"Observaciones que realiza AFIP sobre un comprobante"},"Pago":{"type":"object","properties":{"DNI":{"type":"string","description":"DNI"},"autorizacion":{"type":"integer","format":"int32","description":"autorizacion"},"codigo":{"type":"integer","format":"int64","description":"El código del medio de pago"},"cotizacion":{"type":"number","description":"Cotizacion"},"cuotas":{"type":"integer","format":"int32","description":"La cantidad de cuotas que se paga"},"cupon":{"type":"integer","format":"int32","description":"cupon"},"detallePorItem":{"type":"array","description":"Detalle por item","items":{"$ref":"#/definitions/PagoDetallePorItem"}},"importe":{"type":"number","description":"El importe abonado con el medio de pago"},"lote":{"type":"integer","format":"int32","description":"lote"},"medioPago":{"type":"string","description":"El nombre del medio de pago"},"nombre":{"type":"string","description":"Nombre"},"nroComercio":{"type":"string","description":"nroComercio"},"nroTerminal":{"type":"string","description":"nroTerminal"},"numclt":{"type":"string","description":"numclt"},"recargos":{"type":"array","description":"Los recargos asociados","items":{"$ref":"#/definitions/Recargo"}}},"title":"Pago","description":"Da información sobre los distintos medios de pago usados para abonar"},"PagoDetallePorItem":{"type":"object","properties":{"codigo":{"type":"string","description":"Codigo del pago aplicado al item"},"importe":{"type":"number","description":"Importe del pago aplicado al item"}},"title":"PagoDetallePorItem","description":"Detalles del pago por item"},"PeriodoAsoc":{"type":"object","required":["fechaDesde","fechaHasta"],"properties":{"fechaDesde":{"type":"string","format":"date-time"},"fechaHasta":{"type":"string","format":"date-time"},"id":{"type":"integer","format":"int64"}},"title":"PeriodoAsoc","description":"Datos de el periodo asociado de un comprobante"},"Recargo":{"type":"object","properties":{"cft":{"type":"number","description":"CFT"},"detallePorItem":{"type":"array","description":"Detalle por item","items":{"$ref":"#/definitions/DescuentoDetallePorItem"}},"idOferta":{"type":"integer","format":"int64","description":"El ID de la Oferta"},"importe":{"type":"number","description":"El importe del interés"},"interes":{"type":"number","description":"El interés que se aplica"},"tea":{"type":"number","description":"TEA"},"tem":{"type":"number","description":"TEM"},"tna":{"type":"number","description":"TNA"}},"title":"Recargo","description":"Da información sobre los recargos aplicados por el medios de pago usados para abonar"},"RequestByDate":{"type":"object","required":["desde","hasta"],"properties":{"desde":{"type":"string","format":"date-time","description":"El inicio del rango (incluido en la búsqueda)"},"hasta":{"type":"string","format":"date-time","description":"El final del rango (excluido excluido en la búsqueda)"},"sucursal":{"type":"integer","format":"int32","description":"Un valor opcional para filtrar por sucursal. Si es nulo o no esta presente, es ignorado"}},"title":"RequestByDate","description":"Pedido de búsqueda por rango de fecha"},"Sucursal":{"type":"object","properties":{"defConsumidor":{"type":"string","description":"Leyenda defensa del consumidor"},"domicilio":{"type":"string","description":"El nombre de la sucursal"},"inicioActividad":{"type":"string","description":"Leyenda de inicio de actividad"},"nombre":{"type":"string","description":"La dirección postal de la sucursal"},"numero":{"type":"integer","format":"int32","description":"El numero que identifica la sucursal"},"zona":{"type":"string","description":"Zona"}},"title":"Sucursal","description":"Da información sobre la sucursal"}}}