Skip to main content

Workflow de candidature

Une candidature traverse plusieurs états avant d’aboutir à une embauche ou un refus. Ce guide détaille le cycle complet vu côté candidat et recruteur.

Diagramme d’états

1. Soumission (Candidat)

Le candidat postule à une offre publiée :
curl -X POST https://api.wethehivers.com/v1/api/candidatures \
  -H "Authorization: Bearer <token-candidat>" \
  -H "Content-Type: application/json" \
  -d '{
    "offreId": 42,
    "lettreMotivation": "Bonjour, je souhaite rejoindre votre équipe..."
  }'
Prérequis côté candidat :
  • Profil complet (nom, email, téléphone).
  • CV uploadé (au moins un).
  • Photo de profil (optionnel mais recommandé).
Un candidat ne peut postuler qu’une seule fois à une offre donnée. Un second appel renvoie 409 Conflict.

2. Présélection (Recruteur)

Le recruteur consulte ses candidatures reçues :
curl https://api.wethehivers.com/v1/api/recruteur/candidatures?status=NEW \
  -H "Authorization: Bearer <token-recruteur>"
Puis met à jour le statut :
curl -X PATCH https://api.wethehivers.com/v1/api/candidatures/123/status \
  -H "Authorization: Bearer <token-recruteur>" \
  -H "Content-Type: application/json" \
  -d '{ "status": "TO_MEET" }'

3. Entretien planifié

Le recruteur planifie un entretien. Le candidat reçoit un email et une notification in-app.
curl -X POST https://api.wethehivers.com/v1/api/candidatures/123/interview \
  -H "Authorization: Bearer <token-recruteur>" \
  -H "Content-Type: application/json" \
  -d '{
    "date": "2026-05-05T14:00:00Z",
    "lieu": "Siège TechCorp, Douala",
    "type": "PRESENTIEL"
  }'
Le statut passe automatiquement à IN_PROGRESS.

4. Décision finale

Après l’entretien, le recruteur conclut :
curl -X PATCH https://api.wethehivers.com/v1/api/candidatures/123/status \
  -H "Authorization: Bearer <token-recruteur>" \
  -H "Content-Type: application/json" \
  -d '{ "status": "HIRED" }'
Le candidat est notifié du résultat. Une candidature HIRED ou REJECTED est définitive.

Retrait par le candidat

Le candidat peut retirer sa candidature tant qu’elle n’est pas HIRED ou REJECTED :
curl -X POST https://api.wethehivers.com/v1/api/candidatures/123/withdraw \
  -H "Authorization: Bearer <token-candidat>"