Le point de terminaison Créer une candidature permet à une intégration externe de soumettre
la candidature d’un candidat à un poste Nextal précis. Il accepte une seule charge utile
canonique dérivée du riche modèle de candidature Indeed, de sorte que n’importe quelle source
d’intégration peut transmettre la même structure de corps.
Point de terminaison
POST https://public-api.nextal.com/{source}/{tenant}/{jobId}
Type de contenu
Rôle
application/json
Principal — recommandé pour toutes les nouvelles intégrations
application/xml
Secondaire — pris en charge pour la rétrocompatibilité
Paramètres de chemin
Paramètre
Type
Requis
Description
source
String
Oui
La clé de la source/du fournisseur d’intégration (par exemple indeed). Elle identifie l’origine de la candidature. Elle ne modifie pas le schéma du corps de la requête.
tenant
String
Oui
Le tenant Nextal auquel appartient le poste.
jobId
String
Oui
Le poste ciblé. Le serveur injecte cette valeur dans job.jobId de la candidature, de sorte que tout jobId que vous placez dans le corps est remplacé par la valeur du chemin.
Fonctionnement de source
Le segment de chemin source sert uniquement à identifier l’intégration qui soumet la
candidature — il est enregistré à des fins de suivi et de routage. Il ne modifie pas le
schéma du corps de la requête : chaque source transmet la même charge utile canonique
décrite ci-dessous. Transmettez la clé de fournisseur attribuée à votre intégration (par
exemple indeed), le tenant ciblé et le jobId du poste visé par la candidature.
Corps de la requête
Le corps est un seul objet de candidature canonique. Tous les champs sont facultatifs sauf
indication contraire; les champs inconnus ou null sont omis. La structure de premier niveau
est la suivante :
Champ
Type
Requis
Description
locale
String
Non
Locale de la candidature (par exemple en, fr_CA).
appliedOnMillis
Long
Non
Horodatage epoch (en millisecondes) du moment où la candidature a été soumise.
job
Object (Job)
Non
Le poste auquel le candidat a postulé. Voir Objet Job.
Chaque collection à l’intérieur de resume.json (positions, educations, links, awards,
certifications, associations, patents, publications, militaryServices) utilise la
même structure de wrapper :
Champ
Type
Requis
Description
_total
Long
Non
Nombre d’entrées dans values.
values
List of objects
Non
Les entrées; le type d’élément dépend de la collection (voir ci-dessous).
La réponse du candidat. Pour les questions à texte libre/nombre/date, il s’agit d’une chaîne; pour une sélection unique, il s’agit d’un objet { "label": ..., "value": ... }; pour une sélection multiple, il s’agit d’une liste de tels objets.
Objet Question
Champ
Type
Requis
Description
id
String
Non
Identifiant de la question.
question
String
Non
Le texte de la question.
type
String
Non
Type de question (par exemple text, number, date, select, multiselect).
<question>Are you legally authorized to work in Canada?</question>
<type>select</type>
<required>true</required>
<options>
<label>Yes</label>
<value>yes</value>
</options>
<options>
<label>No</label>
<value>no</value>
</options>
</question>
<answer>
<label>Yes</label>
<value>yes</value>
</answer>
</questionsAndAnswers>
</screenerQuestionsAndAnswers>
<analytics>
<device>desktop</device>
<ip>203.0.113.7</ip>
<referer>https://www.indeed.com</referer>
<userAgent>Mozilla/5.0</userAgent>
<sponsored>false</sponsored>
<targetedApplyAd>ad_55</targetedApplyAd>
</analytics>
</IndeedApplication>
Réponses et erreurs
En cas de succès, le point de terminaison retourne HTTP 200 OK avec un corps vide — la
candidature est acceptée et mise en file pour traitement dans le tenant ciblé. Il n’y a aucune
charge utile de réponse.
Statut
Signification
200 OK
Candidature acceptée.
400 Bad Request
Le corps est mal formé ou échoue à la validation (par exemple données de candidat manquantes, JSON/XML non analysable).
404 Not Found
Le source, le tenant ou le jobId n’a pas pu être résolu.
415 Unsupported Media Type
Le Content-Type n’est ni application/json ni application/xml.
500 Internal Server Error
Échec de traitement inattendu.
Le corps des erreurs respecte le type de contenu demandé. Exemples — JSON d’abord, puis XML.
Ce point de terminaison généralisé remplace les anciens points de terminaison de candidature
propres à un fournisseur — les points de terminaison de candidature Indeed indeed/{tenant}/{jobId}
et Neuvoo neuvoo/{tenant}/{jobId}. Ceux-ci demeurent documentés pour la rétrocompatibilité sous
Ancienne version → Candidatures (v1) → Créer une candidature.
Les nouvelles intégrations devraient cibler {source}/{tenant}/{jobId} avec la charge utile
canonique ci-dessus.