# Introducción

La API de Facturación Electrónica Aurora permite a las empresas automatizar y gestionar la emisión y almacenamiento de comprobantes electrónicos. Diseñada para cumplir con los estándares legales y fiscales, esta API simplifica el proceso de facturación, asegurando que tus operaciones sean eficientes y estén siempre en cumplimiento con las normativas vigentes.

## Principales Características

* **Emisión de CPE**: Genera facturas, notas de crédito y débito.
* **Consulta de Documentos**: Accede a los CPE emitidos.
* **Anulación de documentos**: Genera la anulación de comprobantes.

## ¿Cómo Funciona?

La API está basada en REST, lo que significa que puedes interactuar con ella utilizando peticiones HTTP estándar (GET, POST, PUT, DELETE). Los datos son intercambiados en formato JSON, lo que facilita su integración con diversas plataformas y lenguajes de programación.

## Flujo de Trabajo Básico

1. **Autenticación**: Obtén un token de acceso mediante credenciales.
2. **Configuración**: Registra tus datos fiscales y preferencias de facturación.
3. **Emisión de Facturas**: Envía los datos necesarios para generar un CPE.
4. **Consulta o Seguimiento**: Consulta información sobre los documentos emitidos.
5. **Cancelación**: Solicita la anulación de un comprobante específico.

## Requisitos Previos

1. Tener un RUC activo.
2. Contar con las credenciales de acceso de usuario secundario SUNAT.
3. Contar con un certificado digital para facturación electrónica.
4. Disponer de un ambiente de desarrollo capaz de realizar peticiones HTTP y manejar datos en formato JSON.


# Suscripción

En la pagina suscripción puede gestionar la compra o extensión de los planes de suscripción.

<figure><img src="/files/KrXT9yOz8z9JmDBMbRv4" alt=""><figcaption></figcaption></figure>

Se muestra el estado de la suscripción actual, fecha de expiración, limite de consultas mensuales y documentos emitidos en el mes en curso.

### Pedidos

En la sección pedidos puede consultar el historial de las compras realizadas así como el documento electrónico correspondiente.

<figure><img src="/files/ID8yBgiwQj8BfKrMFlVE" alt=""><figcaption></figcaption></figure>


# Credenciales API

En la pagina credenciales puede generar y eliminar los tokens de autenticación obligatorios para realizar consultas API.

Los detalles que se muestran de cada token son:

* Descripción&#x20;
* Ultimo uso, en referencia a fecha actual
* Creacion de token, en referencia a fecha actual

<figure><img src="/files/vXl4MohaCv6CuUnggME3" alt=""><figcaption></figcaption></figure>

Al momento de crear un token debe copiar la cadena de texto generada, por motivos de seguridad no podrá consultar nuevamente esta información.

<figure><img src="/files/fyJxBWM8raeK9AtmAL6s" alt=""><figcaption></figcaption></figure>


# Configuración

En la opción Configuración puede editar todos los parámetros necesarios para emitir comprobantes electrónicos.

## Configuración de empresa

Los datos de su empresa usados para emitir todos los documentos electrónicos, también aparecen en los archivos PDF (opcionales) generados en la plataforma.

<figure><img src="/files/TzQRqY3E8RLZV49wL7gr" alt=""><figcaption></figcaption></figure>

## Credenciales

Debe completar las credenciales necesarias para emitir comprobantes y guías electrónicas.

Las contraseñas se almacenan encriptadas.

<figure><img src="/files/uwSBGiYJqtc5uZBQoGcX" alt=""><figcaption></figcaption></figure>

* **Usuario SOL secundario**: Usuario secundario SUNAT con perfil para enviar los comprobantes electrónicos.
* **Contraseña SOL usuario secundario**: Contraseña de usuario secundario SUNAT.
* **GRE API ID**: Valor ID de API SUNAT para enviar guías electrónicas. (En desarrollo)
* **GRE API clave**: Valor CLAVE de API SUNAT para enviar guías electrónicas. (En desarrollo)

## Logo

Puede cargar el logo de su empresa con las siguientes dimensiones: 150px de ancho por 75px de alto y 32Kb de tamaño de archivo en formato JPG.

## Certificado digital

Puede subir su certificado digital en formato PFX o P12. La contraseña proporcionada se utiliza únicamente para abrir y convertir el archivo al formato PEM, y no se almacena en el sistema.

<figure><img src="/files/Ew3R0iSyrzS3GURNAnvh" alt=""><figcaption></figcaption></figure>

## Obtener certificado digital

Generar un certificado digital tributario gratuito desde <https://cpe.sunat.gob.pe/certificado-digital>.

Generar un certificado digital de prueba desde el proveedor <https://llama.pe/certificado-digital-de-prueba-sunat>

Comprar un certificado digital de una entidad autorizada <https://cpe.sunat.gob.pe/informacion_general/certificados_digitales>


# Sucursales

En la opción Sucursales puede gestionar las sucursales de su empresa.

## Ver sucursales

<figure><img src="/files/azmODxS8sWhCqgBxgfvx" alt=""><figcaption></figcaption></figure>

## Agregar sucursal

Puede agregar una nueva sucursal haciendo clic en el botón `Nuevo` desde la página principal de sucursales.

<figure><img src="/files/bPkQ0uWvLqbMlKoku2R4" alt=""><figcaption></figcaption></figure>

## Editar sucursal

Puede editar una sucursal haciendo clic en el botón ![](/files/Jas1K0W9nzHubLu3hCxq) desde la página principal de sucursales.

<figure><img src="/files/Q9xhrIsZbeu0YaxUj9Ir" alt=""><figcaption></figcaption></figure>

## Eliminar sucursal

Puede eliminar una sucursal haciendo clic en el botón Borrar. Deberá completar la confirmación de borrado.

Solo puede eliminar una sucursal si no tiene series o usuarios vinculados.


# Entidades (Clientes)

En la opción Entidades puede gestionar clientes.

## Mostrar entidades

Puede buscar y filtrar entidades por denominación (nombre o razón social) y número de documento (RUC o DNI).

<figure><img src="/files/5trOGbmIu9uTl0tcJWAS" alt=""><figcaption></figcaption></figure>

## Agregar entidad

Puede agregar una nueva entidad haciendo clic en el botón `Nuevo` desde la página principal de entidades.

<figure><img src="/files/59cDHuHJinwLCJSEZGYg" alt=""><figcaption></figcaption></figure>

Debe completar todos los campos no opcionales. Si tiene una API de consulta activa debe seleccionar el tipo de documento, ingresar el número de documento y luego hacer clic en el botón `Buscar` para autocompletar los datos.

## Editar entidad

Puede editar una entidad haciendo clic en el botón ![](/files/Jas1K0W9nzHubLu3hCxq) desde la página principal de entidades.

<figure><img src="/files/xLHVJBHj3QpsuoG3YrLl" alt=""><figcaption></figcaption></figure>

## Eliminar entidad

Puede eliminar una entidad haciendo clic en el botón `Borrar`. Deberá completar la confirmación de borrado.


# Pase a producción

## Requisitos previos

* Tener registrado un certificado digital en portal SUNAT.
* Tener las credenciales de un usuario secundario SUNAT con permisos para emitir comprobantes electrónicos.

## Activar modo producción

Para realizar el pase a producción debe adquirir una suscripción de pago y activar la opción Configuración > Modo conexón con SUNAT

<figure><img src="/files/VrMCODfQ9yXLzAJE2N5N" alt=""><figcaption></figcaption></figure>

## Eliminar documentos de prueba

Se recomienda borrar los documentos de prueba antes de pasar a producción.

En la pagina de Configuración debe hacer click en el botón "Eliminar documentos de prueba", esta acción es irreversible y puede tomar varios segundos en completarse.

{% hint style="info" %}
El botón solo es visible cuando el modo producción esta deshabilitado.
{% endhint %}

<figure><img src="/files/Zb2QH0K2NYaa9Iyz0h8h" alt=""><figcaption></figcaption></figure>


# Generar comprobantes electrónicos

## Generar documento

Este método debe ser utilizado para generar un documento y enviarlo a los servidores de SUNAT para su procesamiento.

## POST /documents

> Create a document

```json
{"openapi":"3.0.2","info":{"title":"AURORA API","version":"1.0"},"tags":[{"name":"document"}],"servers":[{"url":"https://aurora.net.pe/api/v1"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"Document":{"type":"object","properties":{"tipo_de_comprobante":{"type":"string","enum":["01","03","07","08"]},"serie":{"type":"string"},"numero":{"type":"number"},"cliente_tipo_de_documento":{"type":"string","enum":["-","1","6","4","7"]},"cliente_numero_de_documento":{"type":"string"},"cliente_denominacion":{"type":"string"},"cliente_direccion":{"type":"string"},"cliente_email":{"type":"string"},"codigo_sunat_de_sucursal":{"type":"string"},"fecha_de_emision":{"type":"string"},"fecha_de_vencimiento":{"type":"string","nullable":true},"moneda":{"type":"string","enum":["PEN","USD"]},"tipo_de_cambio":{"type":"string","nullable":true},"porcentaje_de_igv":{"type":"number"},"total_gravada":{"type":"number"},"total_inafecta":{"type":"number","nullable":true},"total_exonerada":{"type":"number","nullable":true},"total_gratuita":{"type":"number","nullable":true},"total_igv":{"type":"number"},"total":{"type":"number"},"detraccion":{"type":"boolean","nullable":true},"observaciones":{"type":"string","nullable":true},"documento_que_se_modifica_tipo":{"type":"string","nullable":true},"documento_que_se_modifica_serie":{"type":"string","nullable":true},"documento_que_se_modifica_numero":{"type":"string","nullable":true},"tipo_de_nota_de_credito":{"type":"string","nullable":true},"tipo_de_nota_de_debito":{"type":"string","nullable":true},"forma_de_pago":{"type":"string","description":"1 = CONTADO, 2 = CREDITO","enum":["1","2"]},"medio_de_pago":{"type":"string","nullable":true},"total_impuestos_bolsas":{"type":"number","nullable":true},"orden_compra_servicio":{"type":"string","nullable":true},"venta_al_credito":{"type":"array","items":{"$ref":"#/components/schemas/DocumentFee"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/DocumentItem"}}},"required":["tipo_de_comprobante","serie","numero","cliente_tipo_de_documento","cliente_numero_de_documento","cliente_denominacion","cliente_direccion","codigo_sunat_de_sucursal","fecha_de_emision","moneda","porcentaje_de_igv","total_gravada","total_igv","total","forma_de_pago","items"]},"DocumentFee":{"type":"object","properties":{"cuota":{"type":"number"},"fecha_de_pago":{"type":"string"},"importe":{"type":"number"}},"required":["cuota","fecha_de_pago","importe"]},"DocumentItem":{"type":"object","properties":{"unidad_de_medida":{"type":"string"},"codigo":{"type":"string"},"descripcion":{"type":"string"},"codigo_producto_sunat":{"type":"string","nullable":true},"impuesto_bolsas":{"type":"number","nullable":true},"cantidad":{"type":"number"},"valor_unitario":{"type":"integer"},"precio_unitario":{"type":"integer"},"subtotal":{"type":"integer"},"tipo_de_igv":{"type":"string"},"igv":{"type":"integer"},"total":{"type":"integer"}},"required":["unidad_de_medida","codigo","descripcion","cantidad","valor_unitario","precio_unitario","subtotal","tipo_de_igv","igv","total"]},"DocumentResponse":{"type":"object","properties":{"id":{"type":"string"},"tipo_de_comprobante":{"type":"string"},"serie":{"type":"string"},"numero":{"type":"number"},"aceptada_por_sunat":{"type":"boolean"},"sunat_descripcion":{"type":"string"},"sunat_nota":{"type":"string","nullable":true},"sunat_codigo_respuesta":{"type":"string"},"sunat_error_soap":{"type":"string","nullable":true},"anulado":{"type":"boolean"},"cadena_para_codigo_qr":{"type":"string"},"codigo_hash":{"type":"string"},"enlace_pdf":{"type":"string"},"enlace_xml":{"type":"string"},"enlace_cdr":{"type":"string"}}},"ForbiddenResponse":{"type":"object","properties":{"message":{"type":"string"}}},"NotFoundResponse":{"type":"object","properties":{"message":{"type":"string"}}},"UnprocessableResponse":{"type":"object","properties":{"id":{"type":"string"},"tipo_de_comprobante":{"type":"string"},"serie":{"type":"string"},"numero":{"type":"number"},"sunat_codigo_respuesta":{"type":"string"},"sunat_error_soap":{"type":"string"}}}}},"paths":{"/documents":{"post":{"summary":"Create a document","tags":["document"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Document"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableResponse"}}}}}}}}}
```

## Enviar documento pendiente

Este método debe ser utilizado para enviar un documento previamente generado que no recibió respuesta de los servidores de SUNAT. Esto puede ocurrir debido a problemas de conectividad o mantenimientos programados en los servicios de SUNAT.

## GET /documents/send

> Send pending document

```json
{"openapi":"3.0.2","info":{"title":"AURORA API","version":"1.0"},"tags":[{"name":"document"}],"servers":[{"url":"https://aurora.net.pe/api/v1"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"DocumentResponse":{"type":"object","properties":{"id":{"type":"string"},"tipo_de_comprobante":{"type":"string"},"serie":{"type":"string"},"numero":{"type":"number"},"aceptada_por_sunat":{"type":"boolean"},"sunat_descripcion":{"type":"string"},"sunat_nota":{"type":"string","nullable":true},"sunat_codigo_respuesta":{"type":"string"},"sunat_error_soap":{"type":"string","nullable":true},"anulado":{"type":"boolean"},"cadena_para_codigo_qr":{"type":"string"},"codigo_hash":{"type":"string"},"enlace_pdf":{"type":"string"},"enlace_xml":{"type":"string"},"enlace_cdr":{"type":"string"}}},"ForbiddenResponse":{"type":"object","properties":{"message":{"type":"string"}}},"NotFoundResponse":{"type":"object","properties":{"message":{"type":"string"}}},"UnprocessableResponse":{"type":"object","properties":{"id":{"type":"string"},"tipo_de_comprobante":{"type":"string"},"serie":{"type":"string"},"numero":{"type":"number"},"sunat_codigo_respuesta":{"type":"string"},"sunat_error_soap":{"type":"string"}}}}},"paths":{"/documents/send":{"get":{"summary":"Send pending document","tags":["document"],"parameters":[{"name":"tipo_de_comprobante","in":"query","required":true,"schema":{"type":"string","enum":["01","03","07","08"]}},{"name":"serie","in":"query","required":true,"schema":{"type":"string"}},{"name":"numero","in":"query","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableResponse"}}}}}}}}}
```

## Consultar documento

Este método debe ser utilizado para consultar el estado de un documento previamente generado y enviado a los servidores de SUNAT.

## GET /documents

> Get document

```json
{"openapi":"3.0.2","info":{"title":"AURORA API","version":"1.0"},"tags":[{"name":"document"}],"servers":[{"url":"https://aurora.net.pe/api/v1"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"DocumentResponse":{"type":"object","properties":{"id":{"type":"string"},"tipo_de_comprobante":{"type":"string"},"serie":{"type":"string"},"numero":{"type":"number"},"aceptada_por_sunat":{"type":"boolean"},"sunat_descripcion":{"type":"string"},"sunat_nota":{"type":"string","nullable":true},"sunat_codigo_respuesta":{"type":"string"},"sunat_error_soap":{"type":"string","nullable":true},"anulado":{"type":"boolean"},"cadena_para_codigo_qr":{"type":"string"},"codigo_hash":{"type":"string"},"enlace_pdf":{"type":"string"},"enlace_xml":{"type":"string"},"enlace_cdr":{"type":"string"}}},"ForbiddenResponse":{"type":"object","properties":{"message":{"type":"string"}}},"NotFoundResponse":{"type":"object","properties":{"message":{"type":"string"}}}}},"paths":{"/documents":{"get":{"summary":"Get document","tags":["document"],"parameters":[{"name":"tipo_de_comprobante","in":"query","required":true,"schema":{"type":"string","enum":["01","03","07","08"]}},{"name":"serie","in":"query","required":true,"schema":{"type":"string"}},{"name":"numero","in":"query","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}}}}
```

## Ver comprobantes electrónicos emitidos

Puede buscar y filtrar comprobantes electrónicos por fecha de emision, cliente (denominación o número de documento) y número de documento.

El filtro también permite establecer un rango de fechas.

<figure><img src="/files/tf4gnL4Grx0fvMlou867" alt=""><figcaption></figcaption></figure>

El botón `Opciones` permite las siguientes acciones:

* Enviar a SUNAT (cuando estado es pendiente)
* Ver detalle respuesta SUNAT

La opción `Exportar` genera un archivo Excel con los comprobantes electrónicos emitidos en base a los filtros aplicados.

## Catálogos para generar comprobantes electrónicos

### Tabla de tipos comprobantes electrónicos

| Código | Descripción     |
| ------ | --------------- |
| 01     | FACTURA         |
| 03     | BOLETA DE VENTA |
| 07     | NOTA DE CRÉDITO |
| 08     | NOTA DE DÉBITO  |

### Tabla de tipos de entidad

| Código | Descripción           |
| ------ | --------------------- |
| -      | VARIOS                |
| 1      | DNI                   |
| 6      | RUC                   |
| 4      | CARNET DE EXTRANJERIA |
| 7      | PASAPORTE             |

### Tabla de tipos de moneda

| Código | Descripción        |
| ------ | ------------------ |
| PEN    | SOLES              |
| USD    | DÓLARES AMERICANOS |

### Tabla de tipos de pago

| Código | Descripción |
| ------ | ----------- |
| 1      | CONTADO     |
| 2      | CRÉDITO     |

### Tabla de tipos de IGV

| Código | Descripción                                 |
| ------ | ------------------------------------------- |
| 10     | Gravado - Operación Onerosa                 |
| 11     | Gravado - Retiro por premio                 |
| 12     | Gravado - Retiro por donación               |
| 13     | Gravado - Retiro                            |
| 14     | Gravado - Retiro por publicidad             |
| 15     | Gravado - Bonificaciones                    |
| 16     | Gravado - Retiro por entrega a trabajadores |
| 20     | Exonerado - Operación Onerosa               |
| 21     | Exonerado - Transferencia Gratuita          |
| 30     | Inafecto - Operación Onerosa                |
| 31     | Inafecto - Retiro por Bonificación          |
| 32     | Inafecto - Retiro                           |
| 33     | Inafecto - Retiro por Muestras Médicas      |
| 34     | Inafecto - Retiro por Convenio Colectivo    |
| 35     | Inafecto - Retiro por premio                |
| 36     | Inafecto - Retiro por publicidad            |


# Generar guías de remisión

## Ver guías de remisión

Puede buscar y filtrar guías de remisión por fecha de emision y cliente (denominación o número de documento).

El filtro también permite establecer un rango de fechas.

<figure><img src="/files/nMggEPp53odsieXlfD9L" alt=""><figcaption></figcaption></figure>

El botón `Opciones` permite las siguientes acciones:

* Enviar por email
* Imprimir
* Enviar a SUNAT (modo sin conexión habilitado)
* Consultar estado SUNAT (para obtener estado en SUNAT)
* Descargar PDF
* Descargar XML
* Descargar CDR (solo si estado en SUNAT es aceptado)

La opción `Descargar reporte` genera un archivo Excel con las guías de remisión emitidas en base a los filtros aplicados.

## Emitir guía de remisión remitente

Puede emitir una guía de remisión remitente haciendo clic en el botón `Nuevo` desde la página principal de guías de remisión.

<figure><img src="/files/jVPH5IXQornnvmRjJgx5" alt=""><figcaption></figcaption></figure>

Debe completar los campos solicitados para emitir una guía de remisión.

* Entidad
* Serie
* Número (autogenerado)
* Fecha emisión
* Fecha inicio de traslado
* Peso total
* Unidad de medida
* Motivo de traslado
* Modalidad de transporte
* Dirección punto partida
* Ubigeo punto partida
* Dirección punto llegada
* Ubigeo punto llegada
* Observaciones (opcional)

Para agregar productos haga clic en el botón ![](/files/yql87QW9jan5iH6OwSQT)para abrir un modal donde puede filtrar y buscar.

<figure><img src="/files/Pq9ct16TtybRF48xiaep" alt=""><figcaption></figcaption></figure>

Haga clic en el botón ![](/files/4e0EnbNkA35q9UG7pBaE)para agregar el producto a la guía de remisión.

Ahora puede agregar o editar detalles adicionales y cantidad o eliminar el producto de la guía de remisión.

<figure><img src="/files/HPZY5dxv5CQzRL2qdxER" alt=""><figcaption></figcaption></figure>


# Anular comprobantes electrónicos

## Anular documento

Este método debe ser utilizado para anular un documento (boleta, factura, nota) y enviarlo a los servidores de SUNAT para su procesamiento.

## POST /voided

> Void a document

```json
{"openapi":"3.0.2","info":{"title":"AURORA API","version":"1.0"},"tags":[{"name":"void"}],"servers":[{"url":"https://aurora.net.pe/api/v1"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"Voided":{"type":"object","properties":{"tipo_de_comprobante":{"type":"string","enum":["01","03","07","08"]},"serie":{"type":"string"},"numero":{"type":"number"},"motivo":{"type":"string"}},"required":["tipo_de_comprobante","serie","numero","motivo"]},"VoidedPostResponse":{"type":"object","properties":{"id":{"type":"string"},"numero":{"type":"number"},"sunat_ticket_numero":{"type":"string"},"aceptada_por_sunat":{"type":"boolean"},"sunat_descripcion":{"type":"string"},"sunat_nota":{"type":"string","nullable":true},"sunat_codigo_respuesta":{"type":"string"},"sunat_error_soap":{"type":"string","nullable":true},"enlace_xml":{"type":"string"},"enlace_cdr":{"type":"string"}}},"ForbiddenResponse":{"type":"object","properties":{"message":{"type":"string"}}},"NotFoundResponse":{"type":"object","properties":{"message":{"type":"string"}}},"UnprocessableResponse":{"type":"object","properties":{"id":{"type":"string"},"tipo_de_comprobante":{"type":"string"},"serie":{"type":"string"},"numero":{"type":"number"},"sunat_codigo_respuesta":{"type":"string"},"sunat_error_soap":{"type":"string"}}}}},"paths":{"/voided":{"post":{"summary":"Void a document","tags":["void"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Voided"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoidedPostResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableResponse"}}}}}}}}}
```

## Enviar anulación pendiente

Este método debe ser utilizado para enviar una anulación previamente generada que no recibió respuesta de los servidores de SUNAT. Esto puede ocurrir debido a problemas de conectividad o mantenimientos programados en los servicios de SUNAT.

## GET /voided/send

> Send pending void

```json
{"openapi":"3.0.2","info":{"title":"AURORA API","version":"1.0"},"tags":[{"name":"void"}],"servers":[{"url":"https://aurora.net.pe/api/v1"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"VoidedPostResponse":{"type":"object","properties":{"id":{"type":"string"},"numero":{"type":"number"},"sunat_ticket_numero":{"type":"string"},"aceptada_por_sunat":{"type":"boolean"},"sunat_descripcion":{"type":"string"},"sunat_nota":{"type":"string","nullable":true},"sunat_codigo_respuesta":{"type":"string"},"sunat_error_soap":{"type":"string","nullable":true},"enlace_xml":{"type":"string"},"enlace_cdr":{"type":"string"}}},"ForbiddenResponse":{"type":"object","properties":{"message":{"type":"string"}}},"NotFoundResponse":{"type":"object","properties":{"message":{"type":"string"}}},"UnprocessableResponse":{"type":"object","properties":{"id":{"type":"string"},"tipo_de_comprobante":{"type":"string"},"serie":{"type":"string"},"numero":{"type":"number"},"sunat_codigo_respuesta":{"type":"string"},"sunat_error_soap":{"type":"string"}}}}},"paths":{"/voided/send":{"get":{"summary":"Send pending void","tags":["void"],"parameters":[{"name":"tipo_de_comprobante","in":"query","required":true,"schema":{"type":"string","enum":["01","03","07","08"]}},{"name":"serie","in":"query","required":true,"schema":{"type":"string"}},{"name":"numero","in":"query","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoidedPostResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableResponse"}}}}}}}}}
```

## Consultar anulación

Este método debe ser utilizado para consultar el estado de una anulación previamente generada y enviada a los servidores de SUNAT.&#x20;

## GET /voided

> Get void

```json
{"openapi":"3.0.2","info":{"title":"AURORA API","version":"1.0"},"tags":[{"name":"void"}],"servers":[{"url":"https://aurora.net.pe/api/v1"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"VoidedGetResponse":{"type":"object","properties":{"id":{"type":"string"},"numero":{"type":"number"},"sunat_ticket_numero":{"type":"string"},"aceptada_por_sunat":{"type":"boolean"},"sunat_descripcion":{"type":"string"},"sunat_nota":{"type":"string","nullable":true},"sunat_codigo_respuesta":{"type":"string"},"sunat_error_soap":{"type":"string","nullable":true},"enlace_xml":{"type":"string"},"enlace_cdr":{"type":"string"}}},"ForbiddenResponse":{"type":"object","properties":{"message":{"type":"string"}}},"NotFoundResponse":{"type":"object","properties":{"message":{"type":"string"}}}}},"paths":{"/voided":{"get":{"summary":"Get void","tags":["void"],"parameters":[{"name":"tipo_de_comprobante","in":"query","required":true,"schema":{"type":"string","enum":["01","03","07","08"]}},{"name":"serie","in":"query","required":true,"schema":{"type":"string"}},{"name":"numero","in":"query","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoidedGetResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}}}}
```

{% hint style="info" %}
Anulación debe tener un número de ticket asignado.
{% endhint %}


# Códigos de respuesta API HTTP

## Respuestas exitosas

* Todas las respuestas exitosas retornan un código de estado HTTP 200 (OK).&#x20;
* El cuerpo de la respuesta se proporciona en formato JSON con el contenido esperado según la operación realizada.

<table><thead><tr><th width="100">Código</th><th width="100">Mensaje</th><th>Ejemplo</th></tr></thead><tbody><tr><td>200</td><td>OK</td><td><pre class="language-json"><code class="lang-json">{
    "id": "9de7f6f3-5c31-4f23-a7cd-6960d6fc4d56",
    "tipo_de_comprobante": "01",
    "serie": "FFF1",
    "numero": 1,
    "aceptada_por_sunat": true,
    "sunat_description": "La Factura numero FFF1-1, ha sido aceptada",
    "sunat_note": null,
    "sunat_responsecode": 0,
    "sunat_soap_error": null,
    "anulado": false,
    "cadena_para_codigo_qr": "20000000001|01|FFF1|1|18.00|118.00|01-01-2025|6|20603274742|X2dkUlvo/gSmdWk0zcT289ErP8U=|",
    "codigo_hash": "X2dkUlvo/gSmdWk0zcT289ErP8U=",
    "enlace_pdf": "https://api.aurora.net/pdf/9de7f6f3-5c31-4f23-a7cd-6960d6fc4d56",
    "enlace_xml": "https://api.aurora.net/xml/9de7f6f3-5c31-4f23-a7cd-6960d6fc4d56",
    "enlace_cdr": "https://api.aurora.net/cdr/9de7f6f3-5c31-4f23-a7cd-6960d6fc4d56"
}
</code></pre></td></tr><tr><td>201</td><td>Created</td><td><pre class="language-json"><code class="lang-json">{
    "id": "9de7f6f3-5c31-4f23-a7cd-6960d6fc4d56",
    "tipo_de_comprobante": "01",
    "serie": "FFF1",
    "numero": 1,
    "aceptada_por_sunat": true,
    "sunat_description": "La Factura numero FFF1-1, ha sido aceptada",
    "sunat_note": null,
    "sunat_responsecode": 0,
    "sunat_soap_error": null,
    "anulado": false,
    "cadena_para_codigo_qr": "20000000001|01|FFF1|1|18.00|118.00|01-01-2025|6|20603274742|X2dkUlvo/gSmdWk0zcT289ErP8U=|",
    "codigo_hash": "X2dkUlvo/gSmdWk0zcT289ErP8U=",
    "enlace_pdf": "https://api.aurora.net/pdf/9de7f6f3-5c31-4f23-a7cd-6960d6fc4d56",
    "enlace_xml": "https://api.aurora.net/xml/9de7f6f3-5c31-4f23-a7cd-6960d6fc4d56",
    "enlace_cdr": "https://api.aurora.net/cdr/9de7f6f3-5c31-4f23-a7cd-6960d6fc4d56"
}
</code></pre></td></tr></tbody></table>

## **Respuestas de error**

* Las respuestas de error retornan códigos de estado HTTP dentro de los rangos **4xx** (errores del cliente) o **5xx** (errores del servidor).
* El cuerpo de la respuesta se proporciona en formato JSON e incluye un mensaje que describe el error y, opcionalmente, detalles adicionales.

<table><thead><tr><th width="100">Código</th><th width="100">Mensaje</th><th>Ejemplo</th></tr></thead><tbody><tr><td>401</td><td>Unauthorized</td><td><pre class="language-json"><code class="lang-json">{
    "message": "Unauthenticated."
}
</code></pre></td></tr><tr><td>403</td><td>Forbidden</td><td><pre class="language-json"><code class="lang-json">{
    "message": "No se encontró una suscripción o prueba gratuita activa."
}
</code></pre></td></tr><tr><td>404</td><td>Not Found</td><td><pre class="language-json"><code class="lang-json">{
    "message": "El recurso solicitado no existe."
}
</code></pre></td></tr><tr><td>422</td><td><strong>Unprocessable Content</strong></td><td><pre class="language-json"><code class="lang-json">{
    "message": "El campo fecha de emision debe ser una fecha igual a 01-01-2025.",
    "errors": {
        "fecha_de_emision": [
            "El campo fecha de emision debe ser una fecha igual a 01-01-2025."
        ]
    }
}
</code></pre></td></tr><tr><td>500</td><td>Internal Server Error</td><td><pre class="language-json"><code class="lang-json">{
    "message": "Ocurrió un error. Por favor, inténtalo de nuevo más tarde."
}
</code></pre></td></tr></tbody></table>


