Skip to main content
El SDK valida las entradas de cada método en el cliente, contra los mismos esquemas de @qcobro/common que usa la API, antes de enviar la petición. Una entrada inválida (un lote vacío, un enum desconocido, un email malformado) lanza un ValidationError y no realiza ninguna llamada de red.

Captura un ValidationError

ValidationError se reexporta desde @qcobro/sdk, así que puedes capturarlo sin depender de @qcobro/common directamente.

La forma del error

Un ValidationError lleva un código estable, un mensaje legible y una lista de errores por campo.
string
Siempre "VALIDATION_ERROR". Úsalo para distinguir los fallos de validación de otros errores.
string
Resumen legible que combina los errores de campo (por ejemplo name: ...; clientId: ...).
FieldError[]
Un elemento por campo inválido. Cada FieldError tiene field, message y code.
Cada entrada de fieldErrors tiene esta forma:
string
Ruta del campo inválido (por ejemplo rows.0.email), o "root" si el error no es de un campo concreto.
string
Descripción legible del fallo de ese campo.
string
Código del fallo (por ejemplo too_small, invalid_type), proveniente del esquema.

Serializa el error

Para devolver el error en tu propia API o registrarlo, usa toJSON, que produce una representación serializable.

Errores del servidor frente a errores de validación

La validación en el cliente solo atrapa entradas malformadas. Los errores que devuelve la API, como UNAUTHORIZED cuando falta o caduca la autenticación, llegan como errores de tRPC, no como ValidationError.
Ante un UNAUTHORIZED, el cliente intenta por defecto refrescar el token una vez y reintentar la petición. Solo si el reintento también falla aflora el error. Consulta Autenticación y tokens.

Siguientes pasos

Autenticación y tokens

Cómo el cliente refresca tokens y cómo aflora UNAUTHORIZED.

Referencia del SDK

Tipos y métodos exportados por @qcobro/sdk.