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
| Header | Requerido | Descripcion |
|---|---|---|
X-API-Key | Si | Tu API key |
Content-Type | Si | application/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
| Status | Significado |
|---|---|
valid | Todos los datos son correctos |
warning | Datos validos pero con advertencias (ej: posible typo en email) |
error | Datos 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"}
]
}'