08/09/2026 · Errores de validación de llamamientos

Los errores de validación de llamamientos llegan en el mensaje

08/09/2026

Cuando POST /llamamientos no pasaba nuestra validación, el message de la respuesta era siempre el mismo literal —validation_errors— y el detalle real solo estaba en errors. Quien mostraba el message tal cual a su usuario le enseñaba un texto que no dice nada.

Antes
{
  "success": false,
  "message": "Hubo un error al enviar la comunicación. validation_errors",
  "status": 422,
  "errors": {
    "employees.0.nss": [
      "El campo NSS del empleado n# 1 debe ser de 12 dígitos."
    ]
  }
}

Ahora el message lleva los errores de campo, separados por | cuando hay varios:

Ahora
{
  "success": false,
  "message": "Hubo un error al enviar la comunicación. El campo NSS del empleado n# 1 debe ser de 12 dígitos.",
  "status": 422,
  "errors": {
    "employees.0.nss": [
      "El campo NSS del empleado n# 1 debe ser de 12 dígitos."
    ]
  }
}

errors no cambia: sigue indexado por la posición del trabajador dentro de employees, empezando en 0. El resto de endpoints del SEPE responde igual que antes.

El rechazo de un trabajador suelto sigue el mismo criterio: cuando el SEPE no lo tiene en su base de datos y faltan datos para darlo de alta, data.data[].message dice qué campo falta en vez de validation_errors.

Los rechazos del propio SEPE nunca han ido en errors: cuando el organismo rechaza a un trabajador concreto, el motivo viene en data.data[].message. Está explicado en Comunicar llamamientos.