Saltar al contenido principal

POST /credentials/validate

Valida los datos de recipientes sin emitir credenciales (dry run). Util para detectar errores antes de la emision real.

Request

POST /api/v1/credentials/validate

Headers

HeaderRequeridoDescripcion
X-API-KeySiTu API key
Content-TypeSiapplication/json

Body

{
"template_id": "550e8400-e29b-41d4-a716-446655440000",
"recipients": [
{
"email": "estudiante@ejemplo.com",
"recipient_name": "Juan Perez",
"result_value": "A"
},
{
"email": "invalido@gmial.com",
"recipient_name": "",
"result_value": "Z"
}
]
}

Response

{
"template_id": "550e8400-e29b-41d4-a716-446655440000",
"total": 2,
"valid": 1,
"warnings": 0,
"errors": 1,
"recipients": [
{
"row": 1,
"email": "estudiante@ejemplo.com",
"status": "valid",
"errors": [],
"warnings": []
},
{
"row": 2,
"email": "invalido@gmial.com",
"status": "error",
"errors": [
"Calificacion invalida. Valores permitidos: A, B, C, D, F"
],
"warnings": [
"Did you mean gmail.com?"
]
}
]
}

Status por recipiente

StatusSignificado
validTodos los datos son correctos
warningDatos validos pero con advertencias (ej: posible typo en email)
errorDatos invalidos, no se podra emitir

Validaciones realizadas

  • Email: Sintaxis, registros MX del dominio, deteccion de typos comunes (gmial.com -> gmail.com)
  • Duplicados: Emails repetidos en el mismo batch
  • Campos requeridos: Segun la configuracion del template
  • Valores permitidos: Para calificaciones con valores predefinidos
  • Creditos: No exceden los disponibles en el template

Ejemplo

curl -X POST "https://app.unicreda.com/api/v1/credentials/validate" \
-H "X-API-Key: uc_live_tu_key_aqui" \
-H "Content-Type: application/json" \
-d '{
"template_id": "550e8400-e29b-41d4-a716-446655440000",
"recipients": [
{"email": "test@ejemplo.com", "recipient_name": "Test", "result_value": "A"}
]
}'