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.
campaigns:read pour la lecture, campaigns:write pour la création et la gestion.Lister les processus
/api/campaignsRetourne la liste des processus de recrutement de l'organisation, avec leurs étapes et configuration.
Query Parameters
| Paramètre | Type | Requis | Description |
|---|---|---|---|
page | integer | Non | Numéro de page (défaut : 1). |
pageSize | integer | Non | Résultats par page (défaut : 20). |
jobId | string | Non | Filtrer par offre d'emploi. |
status | string | Non | Filtrer par statut : DRAFT | ACTIVE | PAUSED | COMPLETED | ARCHIVED. |
Obtenir un processus
/api/campaigns/:idRetourne le détail d'un processus avec ses étapes, candidats et entretiens récents.
Path Parameters
| Paramètre | Type | Requis | Description |
|---|---|---|---|
id | string | Oui | Identifiant unique du processus. |
Créer un processus
/api/campaignsCrée un nouveau processus de recrutement associé à une offre.
Body Parameters
| Paramètre | Type | Requis | Description |
|---|---|---|---|
name | string | Oui | Nom du processus. |
jobId | string | Oui | Identifiant de l'offre d'emploi associée. |
description | string | Non | Description du processus. |
status | string | Non | Statut initial : DRAFT (défaut) | ACTIVE. |
startDate | string (ISO 8601) | Non | Date de début du processus. |
endDate | string (ISO 8601) | Non | Date de fin prévue. |
targetCount | integer | Non | Nombre de candidats cibles à recruter. |
interviewConfigId | string | Non | Configuration 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. |
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).
/api/campaigns/:id/pipelineRetourne les étapes du pipeline avec la progression de chaque candidat, les scores et les entretiens associés.
Ajouter une étape au pipeline
/api/campaigns/:id/pipelineAjoute une nouvelle étape à la fin du pipeline. L'ordre est attribué automatiquement.
Body Parameters
| Paramètre | Type | Requis | Description |
|---|---|---|---|
name | string | Oui | Nom affiché de l'étape. |
type | string | Oui | Type : AI_INTERVIEW | AI_PREQUALIFICATION | TEST | HUMAN_REVIEW. |
description | string | Non | Description de l'étape. |
order | integer | Non | Position dans le pipeline (auto si absent). |
isRequired | boolean | Non | Étape obligatoire pour progresser (défaut : true). |
config | object | Non | Configuration initiale (voir section Configurer une étape). |
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.
/api/stages/:stageId/configMet à jour la configuration d'une étape pipeline. Pour les étapes TEST, met aussi à jour la relation testTemplateId.
Champs communs (tous types)
| Paramètre | Type | Requis | Description |
|---|---|---|---|
evaluatorType | string | Non | AI (défaut) | HUMAN. |
minimumScore | integer | Non | Score minimum (0-100) pour passer à l'étape suivante. |
autoAdvance | boolean | Non | Passer automatiquement à l'étape suivante si score ≥ minimumScore. |
notifyRecruiterAfter | boolean | Non | Notifier le recruteur à chaque completion. |
generateReport | boolean | Non | Générer un rapport IA après completion. |
Champs AI_INTERVIEW / AI_PREQUALIFICATION
| Paramètre | Type | Requis | Description |
|---|---|---|---|
agentId | string | Non | Agent IA à utiliser. Surcharge l'agent de l'InterviewConfig. |
duration | integer | Non | Durée de l'entretien en minutes (5-180). |
interviewType | string | Non | online | inperson. |
agentTone | string | Non | professional | friendly | formal | casual | empathetic. |
agentLanguage | string | Non | Langue : fr | en | es | de | it. |
agentInstructions | string | Non | Instructions supplémentaires pour l'agent IA. |
topicsToAvoid | string | Non | Sujets à ne pas aborder. |
suspicionLevel | integer | Non | Niveau de vigilance anti-triche : 0 (désactivé) à 3 (maximal). |
evaluationCriteria | object[] | Non | Critères d'évaluation : [{ id, name, weight, enabled }]. |
scoringThresholds | object | Non | Seuils : { exceptional, excellent, good, average }. |
showLiveTranscription | boolean | Non | Afficher la transcription en temps réel au candidat. |
Champs TEST
| Paramètre | Type | Requis | Description |
|---|---|---|---|
technicalTestId | string | Non | ID du TestTemplate à assigner (null pour désassigner). |
testTimeLimit | integer | Non | Temps limite en minutes (surcharge la durée du test). |
testShuffleQuestions | boolean | Non | Mélanger l'ordre des questions. |
testAllowBackNavigation | boolean | Non | Autoriser la navigation arrière entre les questions. |
Champs HUMAN_REVIEW
| Paramètre | Type | Requis | Description |
|---|---|---|---|
recruiterId | string | Non | Identifiant du recruteur assigné à cette étape. |
recruiterInstructions | string | Non | Instructions de grille d'évaluation pour le recruteur. |
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
/api/stages/reorderReordonne toutes les étapes d'un pipeline. Impossible si la campagne est en statut ACTIVE.
Body Parameters
| Paramètre | Type | Requis | Description |
|---|---|---|---|
campaignId | string | Oui | Identifiant de la campagne. |
stageIds | string[] | Oui | Tableau des IDs d'étapes dans le nouvel ordre. |
ACTIVE et que des candidats ont déjà progressé. Passez d'abord la campagne en PAUSED.