Envoi changements de statut
HelloWork met à disposition une API qui permet de mettre à jour le statut des candidatures envoyées aux ATS.
L'objectif de cette API est de garantir une meilleure réactivité et fraicheur des données aux produits à l'origine des candidatures.
Pour cela, il faut que les ATS utilisent cette API via un webhook pour notifier HelloWork dès que le statut d'une candidature évolue (changement de statut, changement d'offre, candidat recruté, candidature supprimée...)
Endpoint
Pour mettre à jour le statut d'une candidature, il faut réaliser un appel POST
sur l'API HelloWork :
- L'url à appeler est fournie lors de la soumission de la candidature à l'ATS dans le champ
statusApiUrl
, plus d'infos ici - Cette url peut aussi être reconstruite à partir de l'id de la candidature envoyée (champ
applicationId
, voir ici) :
https://ats-partner.hellowork.com/v1/applications/{applicationId}/status
Format
Dans le body de la requête, le format à utiliser est le suivant :
{
status: string
eventDate: Date
created: Date
jobId: string
source: string | object
}
La définition des champs est la suivante :
Champ | Obligatoire / Facultatif | Définition |
---|---|---|
applicationId (query param) | Obligatoire | Identifiant de la candidature côté HelloWork ATS Partner. |
status | Obligatoire | Libellé du nouveau statut dans l'ATS. Dans la mesure où chaque ATS et chaque client peut avoir des besoins différents, il n'y a pas de norme ni d'énumération prédéfinie pour cette valeur. |
eventDate | Obligatoire | Date de l'évènement ayant causé la requête de mise à jour. |
created | Obligatoire | Date de création de la candidature dans l'ATS. |
jobId | Obligatoire | Identifiant de l'offre dans l'ATS. Obligatoire afin de notifier le produit à l'origine de la candidature en cas de changement d'offre dans l'ATS. |
source | Facultatif | String ou structure de champs représentant la source à l'origine de la candidature. La structure peut dépendre d'un ATS à l'autre. |
Plus d'informations sur le format de la requête à envoyer ici.
Exemple avec une source sur un champ
{
"status": "NEW_STATUS",
"eventDate": "2023-01-10T09:00:00.000Z",
"created": "2023-01-01T09:00:00.000Z",
"jobId": "2022-001-developer",
"source": "hellowork.com"
}
Exemple avec une source sur plusieurs champs
{
"status": "NEW_STATUS",
"eventDate": "2023-01-10T09:00:00.000Z",
"created": "2023-01-01T09:00:00.000Z",
"jobId": "2022-001-developer",
"source": {
"sourceTypeId": "DIRECT_SOURCING",
"sourceSubTypeId": "ClientId",
"sourceId": "CVCatcherWebsite"
}
}
Mapping des statuts
Statut | Description |
---|---|
sending | La candidature est en cours de traitement par ATS Connect, elle n'est pas encore parvenue à l'ATS |
sent | La candidature a bien été envoyée à l'ATS |
error | Erreur lors de l'envoi à l'ATS, pas de nouvelle tentative en attente |
not_found | La candidature n'a pas été trouvée dans l'ATS |
seen_by_recruiter | La candidature a été consultée par un recruteur dans l'ATS |
interview_by_recruiter | Un entretien a été planifié avec le candidat |
to_finalize | La candidature est en cours de finalisation |
hired | Le candidat a été recruté |
pool | Vivier |
offred | Proposition faite |
whithdrawn | Désistement candadidat |
outdated | Candidature abandonnée |
rejected_and_contacted_by_recruiter | Le candidat n'a pas été retenu et a été contacté. Il faut ajouter dans le payload un délais de communication si connu. Si inconnu, ne pas mettre de délais |
rejected | Le candidat n'a pas été retenu |
rejected_candidate | Le candidat a refusé l'offre |
unknown | Le statut retourné par l'ATS est inconnu |
Réponse
En cas de succès, l'API renvoie un statut 200 avec la réponse suivante :
{
"result": "Status was updated successfully"
}
Si la candidature n'a pas été trouvée, l'API renvoie un statut 404 avec la réponse suivante :
{
"statusCode": 404,
"error": "Not Found",
"message": "Could not find applicationInfo with id {applicationId} for ATS {ats_name}"
}