Passer au contenu principal
Auto-importation via API

Comment effectuer une importation de données dans Teamtailor via une API publique

Nicolas avatar
Écrit par Nicolas
Mis à jour il y a plus d’une semaine

1a. Est-ce possible ?

Il est en effet possible d'effectuer vous-même une importation, cela dépendra de votre niveau de compréhension technique et du temps alloué à ce processus.

Pour cela il vous faut disposer d'un script interne capable de récupérer des informations de votre base de données existante, de les transformer au format compatible avec Teamtailor, puis de nous les envoyer. Cela peut être fait en récupérant les données de la base de données existante via une API ou à travers un fichier.

En résumé, tout ce qui compte, c'est d'être en capacité de comprendre les données et les API.

1b. Devrais-je le faire?

C'est une question plus complexe qui a ses "avantages" et ses "inconvénients". Normalement, cela serait plus conseillé pour les grandes entreprises qui ont plus de ressources et besoin d'une solution rapide.

Avantages

  • Peut être fait à votre propre rythme

  • Vous pouvez décider de chaque attribut et paramètre qui est importé et ce à quoi il devrait ressembler

  • C'est complètement gratuit

  • Nous pouvons offrir un soutien pour vous expliquer le fonctionnement de l'importation

Inconvénients

  • Nécessite l'écriture d'un script unique qui puisse traduire les informations d'une source vers un format accepté par Teamtailor

  • L' API publique a une limite de 50 requêtes toutes les 10 secondes, ce qui signifie qu'importer une grande base de données pourrait prendre beaucoup de temps

  • Nécessite une bonne compréhension de la façon dont les données et les API fonctionnent

2. Le processus

  1. Compréhension des données de Teamtailor

  2. Compréhension des données de l'API publique de Teamtailor

  3. Écriture du script

Teamtailor a un mode de données relationnelles, ce qui signifie que les objets peuvent avoir des attributs qui leur sont propres et des relations avec d'autres objets qui ne le sont pas. Ces relations sont essentielles pour comprendre le fonctionnement de Teamtailor.

Prenons pour exemple le mode de candidature dans notre documentation API

Comme vous pouvez le remarquer, ce mode dispose d"Attributes" et de "Relations".

Les attributs contiennent des données qui sont propres à cette candidature spécifique (quand elle a été créée, si elle est sourcée, etc..)

Les relations contiennent des données qui ne sont pas uniques à cette candidature mais qui existent en dehors d'elle. Par exemple, chaque candidature est en relation avec un candidat et une offre d'emploi.

Ces relations sont utilisées pour mieux comprendre qui a rempli cette candidature et pour quelle offre elle a été créée.

Cela trouve son utilité en cas de modification du candidat ou de l'offre d'emploi, la candidature reste fonctionnelle puisqu'elle n'a qu'un simple lien vers ces deux éléments. La candidature n'est donc pas directement affectée par le changement des deux autres. Cependant, cela signifie aussi que la création de certains objets au sein de Teamtailor peut nécessiter plusieurs requêtes.

Objet Candidat

Le plus souvent, les importations sont effectuées pour importer des candidats, il est donc important de comprendre comment fonctionne l'objet candidat et quelles données peuvent être ajoutées en tant qu'attributs à l'objet ou en tant que relations.

Comme mentionné précédemment, un objet Candidat aura une relation avec une candidature à une offre d'emploi s'il y a eu une candidature précédente, mais il existe de nombreuses autres relations de ce type. Après tout, l'objet candidat est le plus important sur la plateforme.

Attributs

Les données de candidat les plus élémentaires peuvent être trouvées dans les Attributs - il s'agit du nom, des coordonnées, des données d'autorisation, et d'autres informations que vous souhaiteriez conserver.

Cependant, vous pourriez remarquer que certaines données ne se trouvent pas dans l'attribut - le 'sexe' ou 'l'âge' par exemple. Ceci car Teamtailor opère avec un modèle de données 'open-ended'. Les données de base sont ici dans les attributs, mais des données supplémentaires peuvent être ajoutées comme des champs personnalisés ou des réponses aux questions.

Relations

Comme vous pouvez le voir, un candidat peut avoir de nombreuses relations différentes.

  • Pertinent à l'importation :

Questions et réponses contiennent des données sur les questions posées ainsi que les réponses fournies par le candidat. Ces deux dernières existent en tant qu'objets individuels en dehors du candidat.

Les Valeurs des champs personnalisés contiennent les réponses à tous les champs personnalisés qui ont été précédemment configurés. Par exemple, s'il y a un champ personnalisé appelé "parent", la valeur sur le candidat dira "oui" ou "non". Le champ personnalisé sera utilisé de la même manière, mais la valeur sera unique au candidat. La valeur du champ personnalisé (oui ou non) sera liée au candidat et au champ personnalisé (genre).

Notes (Commentaires) peuvent contenir toutes sortes d'informations de texte libre que le recruteur a saisies et peuvent aussi être ajoutées via l'API. Cela peut également contenir des informations qui n'ont aucune correspondance, par exemple, un transcript de CV.

  • Non pertinent à l'importation :

Activités contiennent les informations sur chaque action qui a été effectuée sur le candidat.

Téléchargements contiennent tous les documents supplémentaires que le candidat a téléversés.

Résultats du partenaire contiennent toutes les données que nous avons reçues d'autres intégrations que vous pourriez utiliser, par exemple, les résultats de tests.

Département, rôle, régions et localisations contiennent différentes données sur l'endroit où le candidat postule - elles sont automatiquement héritées de tout emploi auquel ils ont postulé et ne sont pas liées directement à l'emplacement du candidat.

2. Comprendre l'API publique de Teamtailor

L'API publique de Teamtailor est conçue conformément à la spécification JSON:API. Cela signifie que nous utilisons principalement JSON lors de la communication via l'API. La documentation contient des exemples fournis si nécessaire et une bibliothèque utile qui peut également être importée dans votre Postman.

Visualisation des données

Comme expliqué précédemment, Teamtailor a un modèle de données relationnel, ce qui signifie que nombreux objets existent en relation les uns avec les autres, y compris les candidats, leurs valeurs de champs personnalisés et réponses. Étant donné qu'un seul nouvel objet peut être créé par requête, cela nécessite un certain nombre de requêtes à effectuer pour chaque candidat.

Pour faciliter les choses, il est possible d"ouvrir" certaines de ces relations dans la réponse en ajoutant un paramètre include. Par exemple, si vous souhaitez connaître les valeurs des champs personnalisés pour un candidat, dans la requête vous pouvez ajouter ?include=custom-field-values. Cela ajoutera une section supplémentaire en dessous des données appelée included, et contiendra toutes les données sur les valeurs des champs personnalisés individuels qui se trouvent sous cette relation.

Cela signifie également que les valeurs de champ personnalisé, réponse, ou note (commentaire) qui seront ajoutées au candidat devront être ajoutées via une requête distincte.

Rate limit

La limite de requêtes est de 50 requêtes toutes les 10 secondes. Le script s'arrêtera une fois cette limite atteinte sauf si les requêtes sont assez espacées. Ajouter un délai de 300ms entre chaque requête est un bon moyen d'éviter d'atteindre cette limite.

3. Écrire le script

Voici le processus pour une importation personnalisée basique :

  1. Post Candidate endpoint - utilisez ceci pour créer un nouveau candidat. S'il y a des doublons, ils seront fusionnés par défaut (si l'attribut de fusion "merge" est définie sur true). Cette requête doit contenir les informations de base du candidat - nom, email, numéro de téléphone, photo et CV.

  2. Si un CV est nécessaire, vous devrez d'abord le télécharger sur un serveur public pendant au moins 30 secondes, puis fournir l'URL en tant que CV. Nous téléchargeons le fichier du CV dans les 30 secondes suivantes afin que vous puissiez le supprimer par la suite.

  3. Post Custom-field-value endpoint - utilisez ceci pour ajouter des valeurs de champ personnalisé au candidat. Vous aurez besoin de l'ID du candidat et de l'ID du champ personnalisé avant de le faire. Des champs personnalisés peuvent être créés via leur propre endpoint ou ajoutés à la plateforme, selon ce qui est le plus simple pour vous.

  4. Post Answer endpoint - utilisez ceci pour ajouter des réponses à la fiche du candidat. Les réponses peuvent également avoir un lien avec un emploi si la question est spécifique à cet emploi. Les réponses sont similaires aux valeurs de champ personnalisées, mais elles sont destinées à être remplies par le candidat lui-même lors de la candidature, plutôt qu'ajoutées par le recruteur.

  5. Notes (Commentaires) endpoint - utilisez ceci si vous souhaitez télécharger beaucoup de données et que vous n'êtes pas certain de la quantité existante de ces données. Cela se retrouvera sur la fiche du candidat, sous l'onglet Commentaires, sous forme de flux. Les notes (commentaires) nécessitent un utilisateur et un candidat.

Une fois le téléchargement terminé, vous pouvez valider les informations sur votre plateforme en vérifiant le nombre de candidats et s'ils ont ou non les données souhaitées.

Support

Si vous rencontrez des problèmes tels que des messages d'erreur ou si quelque chose ne fonctionne pas comme il se doit, vous pouvez contacter notre support en cliquant sur la fenêtre de chat dans Teamtailor ou en envoyant un e-mail à support@teamtailor.com

Si vous avez besoin d'aide pour des questions plus larges comme comprendre le processus ou la structure de données, contactez votre équipe commerciale ou votre CSM et ils vous mettront en relation avec la personne dédiée.

Avez-vous trouvé la réponse à votre question ?