Processus de Recrutement

Les processus (campaigns) regroupent les candidats, offres et étapes d'un pipeline de recrutement. Chaque étape peut être un entretien IA, un test technique ou une validation humaine.

Scope requis : campaigns:read pour la lecture, campaigns:write pour la création et la gestion.

Lister les processus

GET/api/campaigns

Retourne la liste des processus de recrutement de l'organisation, avec leurs étapes et configuration.

Query Parameters

ParamètreTypeRequisDescription
pageintegerNonNuméro de page (défaut : 1).
pageSizeintegerNonRésultats par page (défaut : 20).
jobIdstringNonFiltrer par offre d'emploi.
statusstringNonFiltrer par statut : DRAFT | ACTIVE | PAUSED | COMPLETED | ARCHIVED.
Requête
Réponse 200

Obtenir un processus

GET/api/campaigns/:id

Retourne le détail d'un processus avec ses étapes, candidats et entretiens récents.

Path Parameters

ParamètreTypeRequisDescription
idstringOuiIdentifiant unique du processus.
Requête
Réponse 200

Créer un processus

POST/api/campaigns

Crée un nouveau processus de recrutement associé à une offre.

Body Parameters

ParamètreTypeRequisDescription
namestringOuiNom du processus.
jobIdstringOuiIdentifiant de l'offre d'emploi associée.
descriptionstringNonDescription du processus.
statusstringNonStatut initial : DRAFT (défaut) | ACTIVE.
startDatestring (ISO 8601)NonDate de début du processus.
endDatestring (ISO 8601)NonDate de fin prévue.
targetCountintegerNonNombre de candidats cibles à recruter.
interviewConfigIdstringNonConfiguration d'entretien par défaut (InterviewConfig.id). Partagée par les étapes AI_INTERVIEW de la campagne si non surchargée au niveau de l'étape.
Requête
Réponse 201

Pipeline — Gestion des étapes

Chaque processus est structuré en étapes ordonnées (PipelineStage). Une étape peut être un entretien vocal IA (AI_INTERVIEW), un test technique (TEST), une pré-qualification (AI_PREQUALIFICATION) ou une validation humaine (HUMAN_REVIEW).

GET/api/campaigns/:id/pipeline

Retourne les étapes du pipeline avec la progression de chaque candidat, les scores et les entretiens associés.

Requête
Réponse 200

Ajouter une étape au pipeline

POST/api/campaigns/:id/pipeline

Ajoute une nouvelle étape à la fin du pipeline. L'ordre est attribué automatiquement.

Body Parameters

ParamètreTypeRequisDescription
namestringOuiNom affiché de l'étape.
typestringOuiType : AI_INTERVIEW | AI_PREQUALIFICATION | TEST | HUMAN_REVIEW.
descriptionstringNonDescription de l'étape.
orderintegerNonPosition dans le pipeline (auto si absent).
isRequiredbooleanNonÉtape obligatoire pour progresser (défaut : true).
configobjectNonConfiguration initiale (voir section Configurer une étape).
Requête
Réponse 201

Configurer une étape

La configuration d'une étape est un objet JSON qui définit son comportement. Le contenu varie selon le type de l'étape.

PUT/api/stages/:stageId/config

Met à jour la configuration d'une étape pipeline. Pour les étapes TEST, met aussi à jour la relation testTemplateId.

Champs communs (tous types)

ParamètreTypeRequisDescription
evaluatorTypestringNonAI (défaut) | HUMAN.
minimumScoreintegerNonScore minimum (0-100) pour passer à l'étape suivante.
autoAdvancebooleanNonPasser automatiquement à l'étape suivante si score ≥ minimumScore.
notifyRecruiterAfterbooleanNonNotifier le recruteur à chaque completion.
generateReportbooleanNonGénérer un rapport IA après completion.

Champs AI_INTERVIEW / AI_PREQUALIFICATION

ParamètreTypeRequisDescription
agentIdstringNonAgent IA à utiliser. Surcharge l'agent de l'InterviewConfig.
durationintegerNonDurée de l'entretien en minutes (5-180).
interviewTypestringNononline | inperson.
agentTonestringNonprofessional | friendly | formal | casual | empathetic.
agentLanguagestringNonLangue : fr | en | es | de | it.
agentInstructionsstringNonInstructions supplémentaires pour l'agent IA.
topicsToAvoidstringNonSujets à ne pas aborder.
suspicionLevelintegerNonNiveau de vigilance anti-triche : 0 (désactivé) à 3 (maximal).
evaluationCriteriaobject[]NonCritères d'évaluation : [{ id, name, weight, enabled }].
scoringThresholdsobjectNonSeuils : { exceptional, excellent, good, average }.
showLiveTranscriptionbooleanNonAfficher la transcription en temps réel au candidat.

Champs TEST

ParamètreTypeRequisDescription
technicalTestIdstringNonID du TestTemplate à assigner (null pour désassigner).
testTimeLimitintegerNonTemps limite en minutes (surcharge la durée du test).
testShuffleQuestionsbooleanNonMélanger l'ordre des questions.
testAllowBackNavigationbooleanNonAutoriser la navigation arrière entre les questions.

Champs HUMAN_REVIEW

ParamètreTypeRequisDescription
recruiterIdstringNonIdentifiant du recruteur assigné à cette étape.
recruiterInstructionsstringNonInstructions de grille d'évaluation pour le recruteur.
Configurer un entretien IA
Configurer un test technique
Réponse 200
Pour une étape AI_INTERVIEW, vous pouvez soit fournir un agentId dans le config de l'étape, soit lier un interviewConfigId à la campagne (champ de niveau campagne). La config de l'étape a la priorité sur celle de la campagne.

Réordonner les étapes

PUT/api/stages/reorder

Reordonne toutes les étapes d'un pipeline. Impossible si la campagne est en statut ACTIVE.

Body Parameters

ParamètreTypeRequisDescription
campaignIdstringOuiIdentifiant de la campagne.
stageIdsstring[]OuiTableau des IDs d'étapes dans le nouvel ordre.
Requête
Le réordonnement est bloqué si la campagne a le statut ACTIVE et que des candidats ont déjà progressé. Passez d'abord la campagne en PAUSED.