Interpretación rápida
Aquí tienes una tabla de interpretación rápida para la terna: success, connection, sunat_success
false
false
null
Fallo técnico sin hablar con SUNAT/OSE (timeout, DNS, TLS, caída de red)
Reintentar; revisar conectividad/credenciales/token; backoff exponencial.
false
true
null
Error técnico con respuesta HTTP (422/401/500, payload inválido, token rechazado).
Corregir request/campos; renovar token; revisar code, message, errors
true
true
null
Comunicación OK pero sin respuesta (ticket en proceso 98, respuesta indeterminada o send de RC/RA/GRE con solo ticket).
Guardar ticket; consultar /status; reintentar más tarde si 98.
true
true
null
Veredicto SUNAT/OSE: RECHAZADO (p.ej. status 99 o CDR con códigos 1xxx–3xxx).
Mostrar code/message; si hay cdr, leer observaciones; corregir XML y reemitir.
true
true
false
Veredicto SUNAT/OSE: ACEPTADO (o OBSERVADO si state_label=observado).
Finalizar flujo; almacenar CDR; si observado, mostrar notes y tomar acciones.
true
true
true
Raro: indica que hubo procesamiento local exitoso pero se marcó sin conexión. (No debería ocurrir con nuestro estándar).
Tratar como inconsistencia; log y revisar implementación.
true
false
null
No aplicable: con success=false y connection=false, sunat_success debe ser null.
Normalizar a null; revisar emisor.
Reglas clave
success= salud técnica del proceso local + si se logró o no hablar con el servicio (no confundir con aceptación SUNAT/OSE).connection= hubo respuesta HTTP/SOAP (true) vs no hubo respuesta (false).sunat_success= veredicto SUNAT/OSE:trueaceptado,falserechazado,nullpendiente/indeterminado/sin evaluación.
Last updated