Apariencia
Entrevistas (vista del candidato)
El candidato no agenda entrevistas por sí mismo — las agenda el recruiter HUMAE. El candidato recibe, confirma, reprograma o cancela a las entrevistas propuestas.
Listado de entrevistas
URL: /me/entrevistasEndpoint: GET /api/v1/me/interviews
Muestra todas las entrevistas asociadas a asignaciones del candidato:
┌───────────────────────────────────────────────────────┐
│ 🟡 Propuesta · Ronda 1 │
│ Desarrollador Backend · Startup ABC │
│ 📅 martes 22 abril, 10:00 am GMT-6 │
│ 💻 Online — Google Meet │
│ [Confirmar] [Reprogramar] [Cancelar] │
├───────────────────────────────────────────────────────┤
│ ✅ Confirmada · Ronda 2 │
│ Product Manager · Corporativo XYZ │
│ 📅 jueves 24 abril, 3:00 pm │
│ 🏢 Presencial · Av. Reforma 180, piso 12 │
│ [Reprogramar] [Cancelar] │
└───────────────────────────────────────────────────────┘Estados de una entrevista
propuesta ──▶ confirmada ──▶ realizada (ruta feliz)
│ │
└──▶ reprogramada ──▶ propuesta (nueva fecha)
│ │
└──▶ cancelada (terminal)
│
└──▶ no_asisto (solo desde confirmada)Ver diagrama completo en Máquinas de estado.
Acciones disponibles
Confirmar
Endpoint: POST /api/v1/me/interviews/{id}/confirm
- Solo desde estado
propuesta. - Cambia a
confirmada. - Dispara
InterviewConfirmedNotificational recruiter y al company_user. - El candidato recibe correo de confirmación con los detalles finales.
Reprogramar
Endpoint: POST /api/v1/me/interviews/{id}/rescheduleBody:
json
{
"new_scheduled_at": "2026-04-25T15:00:00-06:00",
"reason": "Conflicto con otra entrevista"
}- Disponible desde
propuestaoconfirmada. - Crea un registro en
interview_reschedulescon el histórico. - Cambia el estado a
reprogramaday al guardar la nueva fecha vuelve apropuesta. - El recruiter puede volver a confirmar o contra-proponer otra fecha.
Cancelar
Endpoint: POST /api/v1/me/interviews/{id}/cancelBody: {"reason": "Ya no puedo continuar con este proceso"}
- Disponible desde cualquier estado no terminal.
- Cambia a
cancelada. - El motivo se concatena al
recruiter_feedbackcon el prefijo[cancelado]. - Dispara
InterviewCancelledNotificationa todas las partes.
Impacto de cancelar
Si el candidato cancela sin reprogramar, la asignación puede moverse a withdrawn automáticamente y quedar fuera de esa vacante.
Notificaciones que recibe el candidato
| Evento | Quién lo dispara | Canal |
|---|---|---|
| Entrevista agendada | Recruiter | Email + in-app |
| Confirmación por otra parte | Recruiter o company_user confirmaron | Email + in-app |
| Reprogramación | La otra parte reprograma | Email + in-app |
| Cancelación | Cualquier parte cancela | Email + in-app |
| Recordatorio 24h antes | Sistema (cron) | Email (Fase 2) |
Todas las notificaciones incluyen los detalles de la entrevista: fecha, hora, modalidad, enlace o dirección, y datos del entrevistador.
Formato de la entrevista
Online
- Modalidad:
online. - Requiere
meeting_url(el recruiter la provee). meeting_providerpuede ser:google_meet,zoom,microsoft_teams,otro.meeting_idopcional (para mostrar el código de reunión).
Presencial
- Modalidad:
presencial. - Requiere
location(dirección completa). - Si está en oficina de la empresa, se enlaza con
Company.address.
Telefónica
- Modalidad:
telefono. - El recruiter llamará al número registrado en
CandidateProfile.contact_phoneowhatsapp.
Preparación para la entrevista
En el detalle de una entrevista agendada, el candidato ve:
- Descripción de la vacante (puesto, responsabilidades, sueldo ofertado).
- Empresa contratante (logo, descripción, sitio web).
- Nombre y rol del entrevistador (si la empresa lo proveyó).
- Materiales adjuntos (opcional: la empresa puede agregar un brief o ejercicio previo).
- Tips HUMAE (enlace a artículo de preparación genérico).
Después de la entrevista
Cuando el recruiter marca la entrevista como realizada:
- El candidato no recibe notificación automática (el feedback es privado al recruiter/empresa).
- En fase 2 se puede exponer una versión sanitizada del feedback al candidato ("Comentarios positivos", "Áreas a mejorar") a criterio del recruiter.
Políticas de autorización
- Candidato solo ve sus propias entrevistas.
InterviewPolicy::viewverifica:$interview->assignment->candidate_profile->user_id === $user->id.- Cualquier intento de ver/modificar entrevistas de otros devuelve
403 Forbidden.
Siguiente
Panel integrado del candidato con membresía, perfil, psicométricos y entrevistas: Dashboard del candidato →

