Integración
El presente documento tiene por finalidad facilitar la integración de cualquier sistema sin importar el lenguaje de programación con el cual este desarrollado.
Para poder empezar a consumir nuestra API REST RAPIFAC, necesitamos tener los siguientes datos, usuario y contraseña, estos datos serán brindados por el área de ventas.
La ubicación de ambiente:
| Ambiente de pruebas | Ambiente de producción | |
|---|---|---|
| Autentificación | wsoauth-p1.rapifac.com | wsoauth.rapifac.com |
| Emisión | wsventas-p1.rapifac.com | wsventas.rapifac.com |
| Comprobantes | wscomprobante-p1.rapifac.com | wscomprobante.rapifac.com |
Para la autorización primero deberá solicitar un token de acceso (access_token), este le permitirá por un tiempo limitado tener acceso a los endpoints de nuestra API, el servidor de autorización le otorgará un token de refresco (refresh_token), con esté, podrá solicitar un nuevo token de acceso cuando el que tenga haya expirado; todo el flujo de autorización, obtención de token de acceso y token de refresco se implementa siguiendo los estándares OAuth2.0. A continuación se muestra el flujo de autorización de nuestro servicio de integración:

1. Access token vía resource owner credentials
Los campos username y password deben ser llenados con las credenciales correspondientes, por ejemplo si mi DNI es 55555555 y mi ruc 20555555551 el campo username = 5555555520555555551 y el campo password será la contraseña correspondiente al usuario.
Si la respuesta nos da un status code 200, entonces será exitosa y tendremos una respuesta como la siguiente:
Si el resultado de la petición retorna un status code 400, quiere decir que ud. ha enviado algún dato o parámetro de manera incorrecta, mostrando como respuesta:
2. Access token vía refresh token
El campo refresh_token debe ser completado con los datos del refresh token obtenido, cuando se obtuvo el access_token anterior.
Si la respuesta a la petición contiene un status code 200 entonces se obtendrá una respuesta igual a la de la petición de token vía Resource Owner Credentials, de igual manera si la respuesta contiene un status code 400 la respuesta será similar a la anterior mostrada.
Una vez que se obtiene el token de acceso todas las llamadas a la API REST RAPIFAC deberán llevar una cabecera llamada Authorization esta cabecera deberá contener el token_type obtenido en la solicitud de token, un espacio y el access_token que también se obtuvo de la petición de autorización; un ejemplo de solicitud con la cabecera de autorización sería el siguiente:
A continuación; se muestran ejemplos en distintos lenguajes y tecnologías utilizadas.
Emisión de comprobantes
Estas líneas de código están enviando una solicitud de acceso a nuestro servidor web de RAPIFAC para poder Emitir un Comprobante Electrónico, utilizando un token de autenticación proporcionado en el Inicio de Sesión en formato JWT y enviando un objeto JSON con detalles relevantes para la solicitud.
Formato para la emisión de un comprobante
Los datos se envían en formato JSON. Los datos necesarios son:
Descripción de los elementos del objeto
| campo | tipo | Valor Ejemplo | descripción |
|---|---|---|---|
| ID | Number | 123 | Este valor es el identificador del comprobante y se genera automáticamente por NUESTRO SISTEMA en el momento de la emisión del comprobante. |
| Sucursal | int | 1 | El id que identifica a la sucursal para la cual se está emitiendo el comprobante |
| IGVPorcentaje | Decimal | 18 | Porcentaje que se aplicará a la venta (los restaurantes pueden solicitar que sea 10) |
| DescuentoGlobalMonto | Decimal | 8.47 | Descuento Global en monto pero el valor neto de los productos gravados |
| CargoGlobalPorcentaje | Decimal | 0 | El porcentaje de descuento de los productos |
| CargoGlobalIndicadorCargos | Bool | true | Indicador para el XML que se enviara a la SUNAT |
| CargoGlobalCodigoMotivo | string | 46 | Recargo al consumo y/o propinas |
| OrigenSistema | int | 7 | Origen del sistema |
| CondicionPago | string | Contado | Condición en la cual se realiza el pago del comprobante, sus valores pueden ser: Contado, Credito. |
| ClienteTipoDocIdentidadCodigo | string | 6 | Cadena que representa el tipo de documento de identidad del cliente del comprobante, los valores que este campo puede aceptar son los siguientes: - -: SN DOC.DOM - 0: DOC. TRIB. - 1: L.E/DNI - 4: CARNET EXT - 6: RUC - 7: PASAPORTE - 9: CARNÉ SOLIC. REFUGIO - A: CED. DIPL. - B: DOC. PAIS RESID. - C: DOC TIN - PP.NN - D: DOC IN - PP.JJ - E: TARJETA ANDINA - TAM - F: PERMISO TEMPORAL - PTP - G: SALVOCONDUCTO - I: CARNÉ C.IDENT.-RREE - J: DOC.ID.EXTR. Sin embargo, estos tipos serán válidos para ciertos comprobantes y para ciertos casos, estos son: - TipoDocumentoCodigo 01, operación 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0200: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0201: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0202: 0, 6, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0205: 7, B - TipoDocumentoCodigo 01, TipoOperacionCodigo 2001: 6 - TipoDocumentoCodigo 03, Todos los tipos de documento |
| ClienteNumeroDocIdentidad | string | 20200200201 | El número del documento de identidad del cliente a quién se emite el comprobante |
| ListaDetalles | Array | [ ComprobanteDetalle1, ComprobanteDetalle2 ] | La lista de detalles del comprobante, cada ítem del arreglo será del tipo DetalleComprobante que se detallará más adelante. |
| ExoneradaXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos exonerados |
| InafectoXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos inafectos |
| ExportacionXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos de exportación |
| ImporteTotalTexto | string | VEINTE CON 00/100 SOLES | Importe total del comprobante en texto |
| DescuentoGlobalMontoBase | Decimal | 16.949 | Valor Neto de la venta de los productos gravados |
| DescuentoGlobalNGMonto | Decimal | 0 | Descuento Global en monto pero el valor neto de los productos no gravados |
| DescuentoGlobalNGMontoBase | Decimal | 0 | Valor Neto de la venta de los productos no gravados |
| AnticiposGravado | Decimal | 0 | Valor neto del Anticipo Gravado |
| AnticiposExonerado | Decimal | 0 | Valor neto del Anticipo Exonerado |
| AnticiposInafecto | Decimal | 0 | Valor neto del Anticipo Inafecto |
| CargoGlobalMonto | Decimal | 0 | Recargo Global en monto pero el valor neto |
| CargoGlobalMontoBase | Decimal | 10.00 | Valor Neto de la venta de los productos |
| ISCBase | Decimal | 0 | Sumatoria del ValorVentaItemXML |
| GratuitoGravado | Decimal | 10 | Total(sumatoria) del valor de venta neto de los productos |
| TotalPrecioVenta | Decimal | 10 | Total precio de venta (subtotal de la factura) |
| TotalValorVenta | Decimal | 8.47457 | Total valor de venta |
| ListaMovimientos | Array | [ MovimientoCuenta1, MovimientoCuenta2] | Arreglo de objetos de movimientos de cuentas, este objeto se detallará más adelante. |
| CreditoTotal | Decimal | 10 | Total de crédito del comprobante |
| TipoDocumentoCodigo | string | 01 | Tipo de comprobante para la emisión lo valores posibles pueden ser: -01: FACTURA -03: BOLETA -07: NOTA DE CRÉDITO -08: NOTA DE DÉBITO -09: GUÍA REMITENTE -31: GUÍA TRANSPORTISTA -98: COTIZACIÓN -99: ORDEN |
| Serie | string | F001 | Serie del documento o comprobante |
| Correlativo | int | 0001 | Número correlativo del documento o comprobante |
| MonedaCodigo | string | PEN | Código de la moneda con la que se emitió el comprobante: PEN y USD |
| FechaEmision | string | 30/05/2022 | Cadena con la fecha de emisión del comprobante, esta fecha debe estar en el formato dd/mm/yyyy, esta fecha debe ser la misma fecha en la que se emite el comprobante. |
| CorrelativoModificado | string | 156 | Correlativo que se modifica cuando el comprobante que se emite es de tipo 07 o 08 |
| TipoNotaCreditoCodigo | string | 01 | Valor que identifica el tipo de nota de crédito, aplica si el comprobante es de tipo 07. - 01: Anulación de la operación - 03: Corrección por error en la descripción - 04: Descuento global - 06: Devolución total - 07: Devolución por ítem - 13: Ajustes – montos y/o fechas de pago |
| TipoNotaDebitoCodigo | string | 01 | Valor que identifica el tipo de nota de débito, este valor solo aplica cuando el comprobante es de tipo 08. - 01: INTERESES POR MORA - 02: AUMENTO EN EL VALOR - 03: PENALIDAD |
| TipoOperacionCodigo | string | 0101 | Este código sirve para identificar el tipo de operación a realizar y aplica al comprobante tipo 01 Factura, sus posibles valores pueden ser: - 0101: Venta interna - 0200: Exportación de Bienes - 0201: Exportación de Servicios – Prestación servicios realizados íntegramente en el país - 0202: Exportación de Servicios – Hospedaje No Domiciliado - 0205: Exportación de Servicios – Paquete Turístico - 1001: Operación Sujeta a Detracción - 2001: Operación Sujeta a Percepción Para el comprobante tipo 03 Boleta su valor debe ser 0101. |
| TipoCambio | Number | 3.78 | El tipo de cambio del dólar |
| ClienteNombreRazonSocial | string | Libertad S.A. | Razón social del cliente a quién se emite el comprobante. |
| ClienteDireccion | string | Av. Siempre Viva 666 | Dirección del cliente a quién se emite el comprobante. |
| DescuentoGlobalPorcentaje | Decimal | 50 | El porcentaje de descuento de los productos gravados |
| DescuentoGlobalValor | Decimal | 10 | Descuento global como monto de los productos gravados |
| Observacion | string | Regularización del anticipo | Campo que sirve para agregar una observación adicional al comprobante |
| Gravado | Decimal | 8.4745 | Total(sumatoria) del valor de venta de los productos gravados |
| Exonerada | Decimal | 0 | Total(sumatoria) del valor de venta de los productos exonerados |
| TipoDocumentoCodigoModificado | String | 01 | Valor que representa el tipo de documento que se modifica, aplica en caso de que el comprobante sea de tipo 07 o 08, ya que estos documentos son de modificación de comprobantes, los valores posibles que puede contener son: - 01: FACTURA - 03: BOLETA DE VENTA |
| SerieModificado | String | F001 | Serie del documento que se modifica cuando el comprobante que se emite es del tipo 07 o 08. |
| Inafecto | Decimal | 0 | Total(sumatoria) del valor de venta de los productos inafectos |
| Exportacion | Decimal | 0 | Total(sumatoria) del valor de venta de los productos exportación |
| Gratuito | Decimal | 0 | Total(sumatoria) del valor de venta de los productos gratuitos no gravados |
| TotalDescuentos | Decimal | 8.47457 | Total de los descuentos tanto global como descuento por ítem |
| TotalAnticipos | Decimal | 0 | Total de todos los anticipos |
| ISC | decimal | 39.996399 | Monto calculado después de ingresar el ISCPorcentaje |
| IGV | Decimal | 1.525 | Suma IGV de todos los ítems |
| ICBPER | Decimal | 0 | Total del Impuesto al consumo de las bolsas de plástico |
| ImpuestoTotal | Decimal | 1.525 | Total de los impuestos a pagar (IGV, ISC, ICBPER, etc) |
| TotalOtrosCargos | Decimal | 1.525 | Total de los otros cargos |
| TotalImporteVenta | Decimal | 10 | Importe total de la venta, cesión en uso o del servicio prestado |
| TotalPago | Decimal | 10 | Total a pagar |
| PendientePago | Decimal | 10 | Total pendiente de pago |
Detalles
Objeto para la creación de un detalle
Descripción de los elementos del objeto
| campo | tipo | Valor Ejemplo | descripción |
|---|---|---|---|
| ID | long | 0 | Número que sirve para identificar el comprobante |
| ComprobanteID | long | 0 | Número que sirve para identificar el comprobante |
| Item | int | 1 | Numeración de los detalles |
| ProductoCodigo | string | Prod00151 | Código correlativo asignado por el sistema a un producto |
| ProductoCodigoCliente | string | UBI2023 | Código del producto asignado por el cliente a un producto |
| ProductoCodigoSUNAT | string | 39121321 | Código de SUNAT |
| TipoSistemaISCCodigo | string | -01 Sistema al valor -02 Aplicación del monto fijo -03 Sistema de precios de Venta al Público | Tipo de afectación ISC para un producto |
| UnidadMedidaCodigo | string | valor | Abreviatura de la Unidad de Medida |
| PrecioUnitarioItem | decimal | 236 | Monto asignado con IGV de cada producto |
| PrecioVentaCodigo | string | 0 o 1 | Código de precio de venta |
| ICBPER | decimal | 0.5 | Impuesto que grava la compra de bolsas plásticas |
| DescuentoIndicador | string | 0 o 1 | Opción para escoger el tipo de descuento – 0 (%) 1 (S/.) |
| PercepcionPorcentaje | decimal | 0 | Tasa de percepción agregada a un producto |
| PrecioCompra | decimal | 50 | Monto ingresado con el cual el producto fue comprado |
| CantidadUnidadMedida | decimal | 1 | Es el número que contiene la unidad |
| Kit | bool | true | Producto final compuesto con varios productos |
| PrecioUnitarioNeto | decimal | 150 | Monto asignado con IMPUESTOS de cada producto con resta de los descuentos |
| Cargo | decimal | 18.4375 | Monto que resulta del valor unitario por el recargo ingresado |
| Descuento | decimal | 40 | Monto que se ingresa al sistema |
| ValorUnitario | decimal | 200 | Monto asignado sin IGV de una unidad |
| ValorUnitarioNeto | decimal | 127.118 | Monto asignado sin IMPUESTOS de cada producto con resta de los descuentos |
| ValorVentaItem | decimal | 127.118 | Monto asignado sin IGV de cada producto |
| ValorVentaItemXML | decimal | 127.118 | Monto asignado sin IGV de cada producto menos el descuento |
| ISC | decimal | 39.996399 | Monto calculado después de ingresar el ISCPorcentaje |
| IGV | decimal | 18 | Impuesto que pagan los ciudadanos al realizar una adquisición |
| ICBPERSubTotal | decimal | 1 | Sumatoria del ICBPER según la cantidad de los productos |
| DescuentoBase | decimal | 400 | Monto asignado por el sistema |
| CargoItem | decimal | 36.875 | Monto que resulta del valor unitario por el recargo ingresado |
| PrecioVenta | decimal | 472 | El monto final ingresado por el cliente |
| MontoTributo | decimal | 66.375 | IGV |
| ISCPorcentaje | decimal | 11.11 | Monto ingresado para calcular el ISC |
| CargoPorcentaje | decimal | 10 | Monto que resulta del valor unitario por el recargo ingresado |
| Descripcion | string | PRODUCTO GRAVADO | Detalle el nombre del producto |
| Observacion | string | Regularización del anticipo | Campo que sirve para agregar una observación adicional al comprobante |
| Stock | decimal | 5 | Cantidad |
| Cantidad | decimal | 2 | Número que indica el contenido del producto |
| PrecioCodigo | decimal | 535 | Código de precio |
| PrecioUnitario | decimal | 236 | Monto asignado con IGV de una unidad |
| Peso | decimal | 1 | Cantidad que indica la masa de un producto |
| DescuentoMonto | decimal | 23.6 | Es el resultado obtenido del precio final entre el descuento |
| DescuentoPorcentaje | decimal | 10 | Monto ingresado para el descuento |
| TipoAfectacionIGVCodigo | string | 10 Gravado – Operación Onerosa | Son los distintos tipos de afectación IGV |
| ValorVenta | decimal | 400 | Monto que establece un vendedor para la adquisición de bienes o servicios que ofrece el comprador |
| ImporteTotal | decimal | 472 | Monto total |
| PesoTotal | decimal | 1 | Sumatoria total de las cantidades de todo los productos |
Movimientos
Objeto para la creación de movimientos
Descripción de los elementos del objeto
| campo | tipo | Valor Ejemplo | descripción |
|---|---|---|---|
| TipoDocumentoCodigo | String | 01 | Código del tipo del documento o comprobante: 01: Factura, 03: Boleta, 07: Nota de crédito, 08: Nota de débito, 99: Orden |
| Serie | String | F001 | Serie del documento o comprobante |
| Correlativo | Int | 1 | Número correlativo del documento o comprobante |
| Condicion | String | Contado | Condición con la que fue emitido el comprobante: Contado o Credito |
| CondicionComprobante | String | Contado | Condición del comprobante recuperado con nota de crédito o débito: Contado o Credito. |
| TipoCuentaCodigo | Int | 1 | Código del tipo de cuenta, estos son: 1. Efectivo, 2. Tarjeta, 3. Banco |
| CuentaNumero | String | 10101010 | Número o código de la cuenta donde se registra el dinero. |
| Usuario | String | 10101010 | Código del usuario que emitió el comprobante |
| MonedaCodigo | String | PEN | Código de la moneda con la que se emitió el comprobante: PEN y USD |
| SucursalId | Int | 1 | Código de la sucursal donde se emitió el comprobante. |
| TipoDocIdentidadCodigo | String | 1 | Tipo del documento de identidad con la que se emitió el comprobante. |
| NumeroDocIdentidad | String | 45454545 | Número del documento de identidad. |
| Observacion | String | Ventas | Observación o descripción del comprobante emitido. |
| CuentaNombre | String | BCP | Nombre de la cuenta |
| CuentaValor | String | 1-10101010 | Concatenación de TipoCuentaCodigo y CuentaNumero |
| Pago | Decimal | 100.00 | Monto del importe total del comprobante. |
| Vuelto | Decimal | 10.00 | Monto del cálculo del vuelto |
| FechaPago | DateTime | 08/02/2023 | Fecha de la operación bancaria o tarjeta |
| NumeroOperacion | String | 0455120 | Número de la operación bancaria o tarjeta |
| FechaVencimiento | DateTime | 08/03/2023 | Fecha de vencimiento para comprobante emitido al crédito. |
| PlazoDias | Int | 30 | Número de días de plazo para comprobante emitido al crédito. |
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta con datos del XML y/o CDR como la siguiente:
Cálculos aritméticos y catalogo de tablas
Para mayor facilidad de los cálculos y la emisión, tenemos 3 archivos que serán de gran ayuda.
Factura
Ejemplos para la emision de una factura
Tenemos archivos JSON de ejemplo, para la emisión de una factura para la mayoría de casos:
| Descripcion | Detalles |
|---|---|
| EMISION POR VENTA INTERNA CON OPERACION GRAVADA | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON DESCUENTO POR ITEM GRAVADO | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON OPERACION GRAVADA Y OTROS CARGOS(PROPINA) | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON ICBPER | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON OPERACION GRATUITA | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON OPERACIÓN EXONERADA | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON DESCUENTO POR ITEM EXONERADO | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON EXONERADO GRATUITO | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON OPERACIÓN INAFECTO | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON OPERACIÓN GRAVADA Y OPERACIÓN EXONERADA | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON DETRACCION | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON PRIMER ANTICIPO | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON TRES EJEMPLOS DE ITEM GRAVADOS | Descargar Ejemplo |
Boleta
Ejemplos para la emision de una boleta
Tenemos archivos JSON de ejemplo, para la emisión de una boleta para la mayoría de casos:
| Descripcion | Detalles |
|---|---|
| EMISION POR VENTA INTERNA CON OPERACION GRAVADA | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON DESCUENTO POR ITEM GRAVADO | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON OTROS CARGOS CON OPERACIÓN GRAVADA | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON ICBPER GRAVADO | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON OPERACIÓN GRATUITA | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON OPERACIÓN EXONERADA | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON DESCUENTO POR ITEM EXONERADO | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON EXONERADO GRATUITO | Descargar Ejemplo |
| EMISION POR VENTA INTERNA CON OPERACIÓN INAFECTO | Descargar Ejemplo |
Anulación
Anulación de un comprobante
Estas líneas de código están enviando una solicitud de acceso a nuestro servidor web de RAPIFAC para poder Anular un Comprobante Electrónico, utilizando un token de autenticación proporcionado en el Inicio de Sesión en formato JWT y enviando un objeto JSON con detalles relevantes para la solicitud.
Objeto para la anulación de un comprobante
El objeto en formato JSON que se necesita para la anulación de un comprobante es el siguiente:
Descripción de los elementos del objeto
| campo | tipo | Valor Ejemplo | descripción |
|---|---|---|---|
| ID | Number | 123 | Este valor es el identificador del comprobante y se genera automáticamente por nuestros sistemas en el momento de la emisión del comprobante. |
| TipoDocumentoCodigo | String | 01 | Este valor identifica el tipo de documento y su valor está determinado por los tipos de comprobantes que SUNAT acepta, estos pueden ser: - 01: Factura - 03: Boleta de Venta - 07: Nota de Crédito - 08: Nota de Debito - 09: Guía de RemisiónRemitente - 31: Guía de Remisión Transportista - 98: Cotización, este documento no escomprobante de pago,no se envía a SUNAT - 99: Orden, este documento no es comprobante de pago, no se envía a SUNAT |
| Serie | String | F001 | Serie del documento, esta serie identifica a un conjunto de comprobantes, y es diferente para cada tipo de comprobante, además cada tipo decomprobante puede tener varias series. |
| Correlativo | Number | 56 | Correlativo del documento, es un valor numérico secuencial que crece en una unidad para cada comprobante nuevo; además los comprobantes de una misma serie deben tener diferentes correlativos y estos deben ser secuenciales. |
| FechaEmision | String | 30/05/2022 | Cadena con la fecha de emisión del comprobante, esta fecha debe estar en el formato dd/mm/yyyy, esta fecha debe ser la misma fecha en la que se emite el comprobante |
| MotivoBaja | String | Error de monto | Cadena con el motivo de la anulación del documento |
| ListaDetalles | Array | [{ComprobanteDetalle1},{ComprobanteDetalle2}] | La lista de detalles del comprobante, cada ítem del arreglo sera del tipo DetalleComprobante que se detallará mas adelante |
| ListaMovimientos | Array | [{ MovimientoCuenta1},{MovimientoCuenta2}] | Arreglo de objetos de movimientos de cuentas, este objeto de detallará más adelante |
Anulacion mediante nota de crédito
Para la Anulacion mediante nota de crédito, se proporciona el método que se debe utilizar y algunos ejemplos para ciertos casos.
| Descripcion | Detalles |
|---|---|
| EMISION DE NOTA DE CREDITO DE FACTURA CON ANULACION DE LA OPERACIÓN | Descargar Ejemplo |
| EMISION DE NOTA DE CREDITO DE FACTURA CON DEVOLUCION POR ITEM | Descargar Ejemplo |
| EMISION DE NOTA DE CREDITO DE BOLETA CON ANULACION DE LA OPERACIÓN | Descargar Ejemplo |
| EMISION DE NOTA DE CREDITO DE BOLETA CON DEVOLUCION POR ITEM | Descargar Ejemplo |
Recuperar XML
Para obtener el XML de un comprobante electrónico emitido en el Sistema Rapifac, la solicitud se realiza a través de HTTP utilizando el método GET. Para lo cual debe utilizar el endpoint '/v0/comprobantes/xml?key={ComprobanteKey}' para recuperar un XML. 'ComprobanteKey' es el indentificador del XML a recuperar.
La solicitud también incluye un encabezado “authorization” que contiene el token de autenticación JWT (JSON Web Token) entregado previamente. Los parámetros que se pasan para la consulta URL son:
El tipo de respuesta es 'application/xml', es un archivo xml.
Recuperar CDR
Para obtener el CDR de un comprobante electrónico emitido en el Sistema Rapifac, la solicitud se realiza a través de HTTP utilizando el método GET. Para lo cual debe utilizar el endpoint '/v0/comprobantes/cdr?key={ComprobanteKey}' para recuperar un CDR. 'ComprobanteKey' es el indentificador del CDR a recuperar.
La solicitud también incluye un encabezado “authorization” que contiene el token de autenticación JWT (JSON Web Token) entregado previamente. Los parámetros que se pasan para la consulta URL son:
El tipo de respuesta es 'application/zip', es un archivo zip.
Reenviar
Ejemplos de petición para reenviar un comprobante
Se utiliza el endpoint '/v0/comprobantes/reenviar' para reenviar un documento. La solicitud también incluye un encabezado 'Authorization' que contiene el token de autenticación JWT (JSON Web Token) entregado previamente. Los valores que van en los parametros son:
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta con datos del XML y/o CDR como la siguiente:
Descripción de los parametros
| campo | tipo | Valor Ejemplo | descripción |
|---|---|---|---|
| ID | Int | 92811 | ID del comprobante |
| Regenerar | Int | 1 | Valor para hacer reenvio, estos son: - 0: Reenvio de CDR - 1: Reenvio de CDR y XML |
Recuperar
Ejemplos de petición para recuperar un comprobante
Se utiliza el endpoint '/v0/comprobantes' para recuperar un comprobante. La solicitud también incluye un encabezado de 'Authorization' que contiene el token de autenticación JWT (JSON Web Token) entregado previamente. Los valores que van en los parametros son:
Para hacer la solicitud de tipo GET por cURL es de la siguiente forma:
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta como la siguiente:
Buscar producto
Ejemplos de petición para buscar un producto
Se utiliza el endpoint '/v0/comprobantedetalles/productos' para buscar un producto. La solicitud también incluye un encabezado de 'Authorization' que contiene el token de autenticación JWT (JSON Web Token) entregado previamente.
Para hacer la solicitud de tipo GET por cURL es de la siguiente forma:
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta como la siguiente:
Descripción de los parámetros
| campo | tipo | Valor Ejemplo | descripción |
|---|---|---|---|
| Descripcion | String | gra | Nombre del producto a buscar |
| Sucursal | Int | 3677 | Id de la sucursal |
| PrecioConfiguracion | Int | 1 | Id de precio configuración |
| MonedaCodigo | String | PEN | Código del tipo de moneda (PEN, USD) |
| Pagina | Int | 0 | Número de página |
Recuperar producto
Ejemplos de petición para recuperar un producto
Se utiliza el endpoint '/v0/comprobanteDetalles/productos' para recuperar un producto y el endpoint '/v0/comprobanteDetalles/productosmultiples' para recuperar múltiples productos. La solicitud también incluye un encabezado de 'Authorization' que contiene el token de autenticación JWT (JSON Web Token) entregado previamente.
Para hacer la solicitud de tipo GET por cURL es de la siguiente forma:
Recuperar un producto
Recuperar productos múltiples
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta como la siguiente:
Respuesta json de un producto
Respuesta json de productos múltiples
Descripción de los parámetros
| campo | tipo | Valor Ejemplo | descripción |
|---|---|---|---|
| Codigo | String | Prod0904896 | Código del producto, si se recupera con productos múltiples este campo deberá ir separado entre comas de inicio a final. ejemplo: ,Prod0904897,Prod0904896, |
| CodigoBarras | String | Prod00001 | Código de barras del producto (campo opcional) |
| PrecioConfiguracionCodigo | Int | 1 | Id de precio configuración |
| MonedaCodigo | String | PEN | Código del tipo de moneda (PEN, USD) |
| Sucursal | Int | 3677 | Id de la sucursal |
Consulta RUC web service SUNAT
La API padrón RUC es un servicio en línea que permite obtener información actualizada sobre contribuyentes en Perú a partir de su número de RUC. Este servicio facilita los datos como la razón social, estado y dirección del contribuyente. Para más detalles e implementación, contactarse con el area de ventas.
