Saltar al contenido principal

Declarar

Este método envía el XML a SUNAT mediante web services.

Valores

VariableDescripciónProdDemo
URL_APIURL base de la APIhttps://api.emite.pehttps://api.demo.emite.pe
EMITE_IDIdentificador asignado a la empresaProporcionado por EmiteProporcionado por Emite
EMITE_KEYAPI Key asignada a la empresaProporcionado por EmiteProporcionado por Emite

Request

POST {{URL_API}}/factura/declarar

Headers

emite_id: {{EMITE_ID}}
emite_key: {{EMITE_KEY}}
Content-Type: application/json

Estructura Body

El objeto documento representa el documento a validar.

  • configuracion: Contiene los parámetros de configuración de la petición.
{
"documento": {
...,
"configuracion": {...}
}
}

La estructura completa del body se detalla en la tabla Propiedades Body.

Implementación

curl "{{URL_API}}/factura/declarar" -X POST \
-H "emite_id: {{EMITE_ID}}" \
-H "emite_key: {{EMITE_KEY}}" \
-H "Content-Type: application/json" \
-d "{\"documento\":{...,\"configuracion\":{...}}}"

Propiedades Body

PropiedadObligatoriedadTipoDescripción
documentoRequeridoobjectContiene los datos del documento.
documento.
serie
RequeridostringContiene la serie del documento.
documento.
correlativo
Requeridointeger
Tamaño: [1...8]
Contiene el correlativo del documento.
documento.
configuracion
OpcionalobjectContiene los parámetros de configuración de la petición.
documento.
configuracion.
notificar
OpcionalbooleanIndica si se quiere notificar mediante email.
documento.
configuracion.
noRetornarCdr
OpcionalbooleanIndica si se quiere obviar en la respuesta el XML del CDR.

Response

Si el código de estado es 200 la petición anterior retorna un JSON estructurado de la siguiente manera:

Success

200 — Cuando el proceso se ejecute correctamente.

{
"ticketPeticion": "1537486212351-1024216",
"estado": 3,
"nombreEstado": "ACEPTADO",
"estadoSunat": "0",
"observaciones": [
"La factura F001-1 fue aceptada"
],
"cdr": {
"name": "CDR_20600323751-01-F001-1.xml",
"content": "contenido-del-archivo",
"contentType": "text/xml"
}
}
PropiedadCondiciónTipoDescripción
ticketPeticionSiemprestringCódigo identificador de la petición.
estadoSiempreintegerCódigo interno de estado del documento.
nombreEstadoSiemprestringDescripción de estado interno del documento.
estadoSunatSiemprestringCódigo de validación SUNAT.
observacionesSiemprearray[string]Lista de mensajes asociados a la operación.
cdrCuando
documento.
configuracion.
noRetornarCdr
es null o false
objectContiene los datos del archivo CDR.
cdr.
name
Cuando
documento.
configuracion.
noRetornarCdr
es null o false
stringNombre del archivo.
cdr.
content
Cuando
documento.
configuracion.
noRetornarCdr
es null o false
string
Base64
Contenido del byte[] representado en Base64.
cdr.
contentType
Cuando
documento.
configuracion.
noRetornarCdr
es null o false
string
text/xml
Nombre del mime type del archivo.

Si el código de estado es 400, 401, 402, 403, 404 o 500 la petición anterior retorna un JSON estructurado de la siguiente manera:

Bad Request

400 - ERROR DE ESTRUCTURA JSON O EN LOS PARÁMETROS ENVIADOS.

Unauthorized

401 - ERROR DE AUTORIZACIÓN.

Payment Required

402 - ERROR POR FALTA DE PAGO.

Forbidden

403 - ERROR POR VALIDACIONES.

Not Found

404 - RECURSO NO ENCONTRADO.

Internal Server Error

500 - ERROR EN EL SERVIDOR.

{
"ticketPeticion": "1537486212351-1024216",
"estado": "NOT_FOUND",
"mensaje": "El documento F001-1 no ha sido registrado"
}
PropiedadCondiciónTipoDescripción
ticketPeticionSiemprestringCódigo identificador de la petición.
estadoSiemprestringNombre del estado HTTP retornado:
BAD_REQUEST
UNAUTHORIZED
PAYMENT_REQUIRED
FORBIDDEN
NOT_FOUND
INTERNAL_SERVER_ERROR.
mensajeSiemprestringDescripción del resultado o error retornado por la API.