Consultar Avanzado
Este método consulta un documento y permite obtener una copia del PDF y/o XML y/o CDR.
Valores
| Variable | Descripción | Prod | Demo |
|---|---|---|---|
URL_API | URL base de la API | https://api.emite.pe | https://api.demo.emite.pe |
EMITE_ID | Identificador asignado a la empresa | Proporcionado por Emite | Proporcionado por Emite |
EMITE_KEY | API Key asignada a la empresa | Proporcionado por Emite | Proporcionado por Emite |
Request
POST {{URL_API}}/guia-remision-transportista/numero/{{SERIE-CORRELATIVO}}
Headers
emite_id: {{EMITE_ID}}
emite_key: {{EMITE_KEY}}
Content-Type: application/json
Path Params
El valor SERIE-CORRELATIVO representa el documento a consultar.
Está compuesto por:
serie: Serie del documento.correlativo: Correlativo del documento.
Por ejemplo: V001-1
Estructura Body
El objeto configuracion contiene los parámetros de configuración de la petición.
{
"configuracion": {...}
}
La estructura completa del body se detalla en la tabla Propiedades Body.
Implementación
- Shell
- Node
- Java
- PHP
curl "{{URL_API}}/guia-remision-transportista/numero/{{SERIE-CORRELATIVO}}" -X POST \
-H "emite_id: {{EMITE_ID}}" \
-H "emite_key: {{EMITE_KEY}}" \
-H "Content-Type: application/json" \
-d "{\"configuracion\":{...}}"
const axios = require('axios');
const data = {
configuracion: {
// ...
}
};
axios.post('{{URL_API}}/guia-remision-transportista/numero/{{SERIE-CORRELATIVO}}', data, {
headers: {
emite_id: '{{EMITE_ID}}',
emite_key: '{{EMITE_KEY}}',
'Content-Type': 'application/json'
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error.response?.data || error.message);
});
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) throws Exception {
URL url = new URL("{{URL_API}}/guia-remision-transportista/numero/{{SERIE-CORRELATIVO}}");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("emite_id", "{{EMITE_ID}}");
conn.setRequestProperty("emite_key", "{{EMITE_KEY}}");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String json = """
{
"configuracion": {
}
}
""";
try (OutputStream os = conn.getOutputStream()) {
byte[] input = json.getBytes("utf-8");
os.write(input, 0, input.length);
}
int statusCode = conn.getResponseCode();
System.out.println("HTTP Status: " + statusCode);
}
}
<?php
$data = (object)[
'configuracion' => (object)[
// ...
]
];
$ch = curl_init('{{URL_API}}/guia-remision-transportista/numero/{{SERIE-CORRELATIVO}}');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'emite_id: {{EMITE_ID}}',
'emite_key: {{EMITE_KEY}}',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error: ' . curl_error($ch);
} else {
echo $response;
}
curl_close($ch);
Propiedades Body
| Propiedad | Obligatoriedad | Tipo | Descripción |
|---|---|---|---|
| configuracion | Requerido | object | Contiene el listado de documentos a consultar. |
| configuracion. retornarPdf | Requerido | boolean | Indica si se desea obtener el contenido del archivo PDF. |
| configuracion. retornarXml | Requerido | boolean | Indica si se desea obtener el contenido del archivo XML. |
| configuracion. retornarCdr | Requerido | boolean | Indica si se desea obtener el contenido del archivo CDR. |
Response
Si el código de estado es 200 la petición anterior retorna un JSON estructurado de la siguiente manera:
200 — Cuando el proceso se ejecute correctamente.
{
"ticketPeticion": "1537486212351-1024216",
"estado": 3,
"nombreEstado": "ACEPTADO",
"estadoSunat": "0",
"observaciones": [
"El Comprobante número V001-1, ha sido aceptado"
],
"ticketSunat": "2adf322f-...-ba7b96ebfb0a",
"estaAnulado": false,
"informacionQR": "https://e-factura.sunat.gob.pe/v1/contribuyente/gre/comprobantes/descargaqr?hashqr=8W8FIjURVQeF....bgy+xMrGgT5w==",
"pdf": {
"name": "20600323751-31-V001-1.pdf",
"content": "contenido-del-archivo",
"contentType": "application/pdf"
},
"xml": {
"name": "20600323751-31-V001-1.xml",
"content": "contenido-del-archivo",
"contentType": "text/xml"
},
"cdr": {
"name": "CDR_20600323751-31-V001-1.xml",
"content": "contenido-del-archivo",
"contentType": "text/xml"
}
}
| Propiedad | Condición | Tipo | Descripción |
|---|---|---|---|
| ticketPeticion | Siempre | string | Código identificador de la petición. |
| estado | Siempre | integer | Código interno de estado del documento. |
| nombreEstado | Siempre | string | Descripción de estado interno del documento. |
| estadoSunat | Siempre | string | Código de validación SUNAT. |
| observaciones | Siempre | array[string] | Lista de mensajes asociados a la operación. |
| ticketSunat | Siempre | string | Número de ticket de la operación de registro en SUNAT. |
| estaAnulado | Siempre | boolean | Indica si el documento fue comunicado de baja (en el caso de guías siempre será false). |
| informacionQR | Cuando estadoSunat es 3 (ACEPTADO) | string | Contenido del QR del documento que representa su aceptación en SUNAT. |
| Cuando configuracion. retornarPdf es true | object | Contiene los datos del archivo PDF. | |
| pdf. name | Cuando configuracion. retornarPdf es true | string | Nombre del archivo. |
| pdf. content | Cuando configuracion. retornarPdf es true | stringBase64 | Contenido del byte[] representado en Base64. |
| pdf. contentType | Cuando configuracion. retornarPdf es true | stringapplication/pdf | Nombre del mime type del archivo. |
| xml | Cuando configuracion. retornarXml es true | object | Contiene los datos del archivo XML. |
| xml. name | Cuando configuracion. retornarXml es true | string | Nombre del archivo. |
| xml. content | Cuando configuracion. retornarXml es true | stringBase64 | Contenido del byte[] representado en Base64. |
| xml. contentType | Cuando configuracion. retornarXml es true | stringtext/xml | Nombre del mime type del archivo. |
| cdr | Cuando configuracion. retornarCdr es true | object | Contiene los datos del archivo CDR. |
| cdr. name | Cuando configuracion. retornarCdr es true | string | Nombre del archivo. |
| cdr. content | Cuando configuracion. retornarCdr es true | stringBase64 | Contenido del byte[] representado en Base64. |
| cdr. contentType | Cuando configuracion. retornarCdr es true | stringtext/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:
400 - ERROR DE ESTRUCTURA JSON O EN LOS PARÁMETROS ENVIADOS.
401 - ERROR DE AUTORIZACIÓN.
402 - ERROR POR FALTA DE PAGO.
403 - ERROR POR VALIDACIONES.
404 - RECURSO NO ENCONTRADO.
500 - ERROR EN EL SERVIDOR.
{
"ticketPeticion": "1537486212351-1024216",
"estado": "NOT_FOUND",
"mensaje": "El Comprobante número << V001-1 >> no ha sido registrado"
}
| Propiedad | Condición | Tipo | Descripción |
|---|---|---|---|
| ticketPeticion | Siempre | string | Código identificador de la petición. |
| estado | Siempre | string | Nombre del estado HTTP retornado:BAD_REQUESTUNAUTHORIZEDPAYMENT_REQUIREDFORBIDDENNOT_FOUNDINTERNAL_SERVER_ERROR. |
| mensaje | Siempre | string | Descripción del resultado o error retornado por la API. |