Request ID (trazabilidad)
Cada petición a la API recibe un identificador req_… en el header X-Request-Id. Con él puedes ver qué pasó con esa petición: cómo terminó, qué documento creó y todo lo que ocurrió después (respuesta de SUNAT, webhooks).
Todas las respuestas de la API traen el header X-Request-Id con un identificador único, por ejemplo req_01m6ykpac01gmar44yseadj2x8. En los errores (HTTP 4xx y 5xx) también viene en el cuerpo, en el campo requestId.
Error con requestIdjson
{
"success": false,
"message": "No se encontró el documento en el entorno DEMO.",
"data": [],
"requestId": "req_01m6ykpac01gmar44yseadj2x8"
}Para qué sirve
- Soporte: si algo falla, comparte el
requestId. Con él se ubica exactamente tu petición. - Diagnóstico propio: consulta
GET /peticiones/{id}para ver cómo terminó, el documento que creó y sus eventos, incluidos los que ocurrieron después en cola (la respuesta de SUNAT de un envío conwebhook: true, los webhooks enviados). - Errores sin documento: un 422 por campos inválidos no crea ningún documento.
GET /peticiones?estado=errorlista esas peticiones con los campos que fallaron.
Tu propio identificador
Si envías el header X-Request-Id con un valor tuyo (por ejemplo el id de tu pedido), Facturalo lo guarda y lo devuelve en X-Correlation-Id. Luego puedes consultar la petición con ese valor: GET /peticiones/pedido-123.
Qué se guarda y cuánto tiempo
- Método, ruta, código HTTP, mensaje, nombres de los campos con error, código SUNAT, origen y duración. No se guardan los cuerpos ni los headers de la petición.
- 30 días en demo (
sk_test_) y 90 días en producción (sk_live_). Los eventos del documento se conservan siempre.