Skip to content

Errores ​

Los errores se devuelven con Content-Type: application/problem+json y esta forma:

json
{
    "type": "urn:auditium:api:error:ambito-insuficiente",
    "title": "Comitente fuera de alcance",
    "status": 403,
    "detail": "No se encuentra habilitado para consultar el/los comitente/s: 9999.",
    "instance": "/ruc/api/asignaciones_personal?id_comitente=9999",
    "_links": [
        { "href": "https://developers.auditium.com.ar/errores/ambito-insuficiente", "rel": "help", "method": "GET" }
    ]
}
CampoDescripción
typeIdentificador del tipo de error. Es estable: es el campo por el que hay que discriminar desde el código.
titleResumen del tipo de error.
statusCódigo HTTP, repetido en el cuerpo.
detailExplicación de esta ocurrencia. Es prosa y puede cambiar: no discriminar por este campo.
instanceRuta de la petición que produjo el error.
_linksEl primer elemento es siempre el link rel: help a la página de este catálogo.

El type es un identificador, no una URL: no hay que resolverlo por HTTP. La página navegable de cada tipo viaja en _links, y es la que está enlazada en la tabla de abajo.

typeHTTPQué pasó
credenciales-ausentes400 / 401No se envió el header Authorization
credenciales-invalidas401La credencial enviada no sirve
capacidad-insuficiente403El endpoint o el método no está habilitado para tus credenciales
ambito-insuficiente403Pediste datos de un comitente fuera de tu alcance
endpoint-inexistente404La ruta invocada no existe
parametro-requerido400Falta un parámetro obligatorio
parametro-invalido400Un parámetro tiene un valor que no admite
transporte-no-admitido400La petición no usó HTTPS, o el método no es admitido
formato-no-admitido415El cuerpo no se envió como multipart/form-data
lote-demasiado-grande413El lote trae más documentos que el máximo del requisito
validacion422Los valores enviados violan una regla de negocio

Rechazos por documento ​

Estos tres describen un documento de un lote de POST /presentaciones, no la petición entera. Viajan en rechazados[] dentro de un 201 cuando al menos un documento se presentó, o en errors[] dentro de un 422 cuando ninguno lo hizo.

typeQuién lo corrigeQué pasó
documento-rechazadoel clienteLa identificación no resuelve, no es un PDF, o el requisito no aplica a ese recurso
archivo-demasiado-grandeel clienteEl archivo excede el tope de tamaño del requisito
auditoria-inexistenteAuditiumFalta un registro interno. No requiere acción de tu parte

Los type de las tablas van siempre precedidos por urn:auditium:api:error: en el cuerpo de la respuesta. Por ejemplo, el tipo parametro-requerido llega como urn:auditium:api:error:parametro-requerido.

Cómo discriminar errores ​

bash
TYPE=$(curl -s https://auditium.com.ar/ruc/api/asignaciones_personal \
            -H "Authorization: Bearer $TOKEN" | jq -r '.type // empty')

case "$TYPE" in
    urn:auditium:api:error:credenciales-invalidas) ;; # renovar token y reintentar
    urn:auditium:api:error:ambito-insuficiente)    ;; # revisar id_comitente
    urn:auditium:api:error:parametro-requerido)    ;; # corregir la petición
esac

Un type desconocido debe tratarse como error genérico del código HTTP que acompaña: el catálogo puede crecer.

Documentación pública de la API Auditium · Generada con VitePress + Scalar.