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>"