Skip to main content

Cycle de vie d’un recruteur

Un compte recruteur ne peut publier d’offres qu’après double validation : email + admin.

Diagramme d’états complet

États

ÉtatPeut publierPeut loginPeut recevoir candidatures
PENDING_EMAIL_VERIFICATIONNonNonNon
PENDING_ADMIN_APPROVALNonOui (lecture seule)Non
ACTIVEOuiOuiOui
REJECTEDNonOui (voir motif)Non
SUSPENDEDNonNonNon (offres passées en CLOSED)
DEACTIVATEDNonNonNon

Inscription complète

Validation admin — critères

La validation admin vise à éviter les fausses offres. Les critères ne sont pas automatisables — jugement humain requis.

Motifs de rejet fréquents

MotifRecours
RCCM invalide ou introuvableFournir justificatif par email support
Entreprise inexistante en ligneFournir preuves d’activité
Email non professionnel (gmail, yahoo)Utiliser email @entreprise.com
Doublon d’entrepriseContacter admin existant de l’entreprise
Activité non conformeIrrévocable

Revalidation après rejet

Suspension

Un recruteur peut être suspendu pour :
  • Publication d’offres frauduleuses répétées
  • Contact direct des candidats hors-plateforme (bypass)
  • Violation RGPD signalée
  • Plainte candidat confirmée

Multi-recruteurs par entreprise

Une entreprise peut avoir plusieurs recruteurs. Le premier recruteur inscrit est le propriétaire (owner), les suivants sont rattachés en tant que MEMBER.

Permissions intra-entreprise

ActionOWNERMEMBER
Publier offreOuiOui
Éditer offre (la sienne)OuiOui
Éditer offre (d’un collègue)OuiNon
Modifier logo / infos entrepriseOuiNon
Inviter nouveau recruteurOuiNon
Révoquer membreOuiNon
Supprimer compte entrepriseOuiNon

Audit trail

Toutes les transitions sont loggées :
CREATE TABLE recruiter_status_history (
  id BIGSERIAL PRIMARY KEY,
  recruiter_id BIGINT,
  from_status VARCHAR(30),
  to_status VARCHAR(30),
  reason TEXT,
  changed_by BIGINT,
  changed_at TIMESTAMPTZ DEFAULT NOW()
);
Accessible via GET /v1/api/admin/recruiters/{id}/status-history.