contact
Inicia el desbloqueo de email/teléfono de un candidato (asíncrono).
POST
/talent-scout/contactInicia el desbloqueo de email de trabajo, email personal y/o teléfono de un candidato. Es asíncrono: la búsqueda del dato real puede tardar hasta 3 minutos del lado del proveedor, así que este endpoint no espera — devuelve QUEUED al toque y hay que consultar contact-status después.
Body
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| urn | string | Sí | urn del candidato |
| linkedinUrl | string | Sí | URL de LinkedIn del candidato (viene de search/enrich) |
| requestedFields | string[] | Sí | Al menos uno de: work_email, personal_email, phone |
curl -X POST "https://api.reclee.com/v1/talent-scout/contact" \
-H "Authorization: Bearer rk_live_TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"urn": "linkedin-a1b2c3d4",
"linkedinUrl": "https://linkedin.com/in/marinaestevez",
"requestedFields": ["work_email", "phone"]
}'Respuesta — recién despachado
{
"success": true,
"queued": true,
"status": "QUEUED",
"requestId": "unlock-linkedin-a1b2c3d4-1732800000000",
"requestedFields": ["work_email", "phone"],
"creditsCharged": 1.10,
"companyCredits": 1199.39,
"companyExtraCredits": 300
}Guardá el requestId y empezá a consultar contact-status con el mismo urn cada 15-30 segundos. No vuelvas a llamar contact para el mismo urn mientras esté QUEUED/PROCESSING — si lo hacés, te devuelve el mismo requestId sin cobrar de nuevo.
Respuesta — ya estaba desbloqueado
{
"success": true,
"fromCache": true,
"queued": false,
"status": "COMPLETED",
"requestedFields": ["work_email", "phone"],
"workEmail": "marina.estevez@globant.com",
"personalEmail": null,
"phoneNumber": "+54 9 11 4444 3300",
"creditsDeducted": 0,
"creditsCharged": 0
}Si falla
| code | Cuándo |
|---|---|
MISSING_LINKEDIN | No se pudo determinar la URL de LinkedIn del candidato |
INSUFFICIENT_CREDITS | No hay crédito suficiente para los campos pedidos. Devuelve requiredCredits / availableCredits |