API de recherche de candidat
L'API de recherche de candidats de la CCW permet aux clients de récupérer des données sur les candidats soumis à la demande de la CCW.
L'API de recherche de candidats de la CCW est utilisée pour rechercher des données sur les candidats qui ont été soumis à une ou plusieurs demandes de la CCW. Les critères de recherche tels que les prénoms/noms des candidats, le statut, l'éligibilité à confirmer (en tant que travailleur occasionnel) et plus encore, peuvent être demandés via l'API de recherche de candidats CCW. Toutes les données de candidat correspondant aux critères de recherche spécifiques sont renvoyées.
L'URL de base pour accéder à l'API de recherche de candidats CCW est : https :/<instance>//api/candidates/search
Reportez-vous à l'aperçu de l'API CCW pour savoir comment authentifier et soumettre des demandes POST aux API CCW. Les demandes doivent inclure les éléments suivants :
En-têtes de la demande
Des en-têtes de demande sont nécessaires à des fins d'authentification. Voir la section En-têtes de demande de la documentation de présentation de l'API de la CCW pour plus de détails.
Corps de la demande
Les objets Meta et Data doivent tous deux être transmis dans le corps de la requête API :
Méta
La section des métadonnées définit le nombre de résultats renvoyés, afin d'assurer des performances plus rapides. Inclut :
- Limite : Définit le nombre maximal de résultats, entre 1 et 50, à renvoyer dans une seule requête API (c'est-à-dire le nombre de résultats sur une page)
- Par défaut, 50 résultats si la valeur de la limite est vide ou supérieure à 50
- Renvoie une erreur si la valeur de la limite est inférieure à 1
- Compenser : Définit l'enregistrement auquel la demande doit commencer ; par exemple, limit=30, offset=51 renvoie les 30 enregistrements suivants en commençant par l'enregistrement 51.
- La valeur par défaut est 0 si la valeur de décalage est vide
- Renvoie une erreur si la valeur de décalage est inférieure à 0.
Données
Un ou plusieurs paramètres de recherche spécifiques à demander (au moins un paramètre non vide doit être envoyé).
Le tableau suivant définit tous les paramètres de données qui peuvent être transmis dans le corps de la demande d'API de recherche de candidat :
Attributs | Type de données | Obligatoire ? | Unique ? | Valeurs | Description |
---|---|---|---|---|---|
limite | nombre | Non | Non | 1-50 | Nombre d'enregistrements à renvoyer par appel API |
offset | numéro | Non | Non | tout | Numéro d'enregistrement spécifique auquel les résultats devraient commencer |
iD | numéro | Non | Oui | tout | ID unique du candidat dans la CCW. Généré lorsque le candidat est soumis à une demande. (Utilisé pour l'API de confirmation). |
nombre | string(100) | Non | Oui | any | Numéro unique attribué dans la CCW pour le candidat. Format : <Client prefix>-CS-<sequence-number> |
first_name | string(100) | Non | Non | tout | Prénom du candidat |
last_name | string(100) | Non | Non | tout | Nom du candidat |
string(400) | Non | Oui | tout | Courrier électronique du candidat | |
état | string(50) | Non | Non | Un des statuts valides de la CCW | Voir le tableau Statuts des candidats valides ci-dessous. |
ccw_id | string(8) | Non | Oui | any | CCW ID |
external_reference_number | string(200) | Non | Non | any | ID unique associé au candidat |
numéro_de_demande | string(100) | Non | Non | tout | Numéro de demande associé au candidat |
hiring_manager_first_name | string(100) | Non | Non | tout | Prénom du responsable du recrutement |
hiring_manager_last_name | string(100) | Non | Non | tout | Nom du responsable du recrutement |
onboarding_eligibility_met | nombre | Non | Non | 0,1 |
0=éligible, 1=non éligible |
confirmation_eligibility_met | boolean | Non | Non | vrai/faux ou oui/non ou 1/0 ou O/N ou T/F | Indique si le candidat a un ordre de travail accepté et si les critères d'admissibilité à l'intégration sont remplis. |
supplier_name | string(200) | Non | Non | tout | Nom du fournisseur |
start_date | date | Non | Non | tout | Date de début du bon de travail actif, formatée comme AAAA-MM-JJ (formatage standard ISO 8601) |
end_date | date | Non | Non | tout | Date de fin du bon de travail actif, formatée comme AAAA-MM-JJ |
Demande d'exemple
PUBLICATION /API/candidats/recherche HÔTE : <CCW FQDN> Autorisation : Porteur <token> Accept : "application/json" Corrélation-Id : Z098Jth56Nkio343YY1vXt { "meta" :{ "limit" :"nombre", "offset" :"numéro" } "data" :{ "id" :"numéro", "number" :"chaîne", "first_name" :"chaîne", "last_name" :"chaîne", "email" :"chaîne", "ccw_id" :"numéro", "status" :"chaîne", "external_reference_number" :"chaîne", "réquisition_NUMBER" :"chaîne", "hiring_manager_first_name" :"chaîne", "hiring_manager_last_name" :"chaîne", "onboarding_eligibility_met" :"chaîne", "confirmation_eligibility_met" :"chaîne", "supplier_name" :"chaîne" } }
Réponse API
Le ou les candidats correspondant à tous les paramètres de recherche envoyés dans le corps de la demande d'API sont renvoyés. Le tableau suivant définit tous les paramètres qui peuvent être inclus avec les candidats dans la réponse de la CCW à une demande d'API réussie :
Attributs | Objet du corps de la demande | Type de données | Description |
---|---|---|---|
total_count | meta | numéro | Nombre d'enregistrements correspondant aux critères de recherche |
has_more | meta | boolean | Vrai ou Faux - pour indiquer s'il y a plus de candidats qui répondent aux critères de recherche |
iD | données | nombre | ID unique du candidat dans la CCW. Généré lorsque le candidat est soumis à une demande. (Utilisé pour l'API de confirmation). |
nombre | données | string(100) | Numéro unique attribué dans la CCW pour le candidat. Format : <Client prefix>-CS-<sequence-number> |
first_name | données | string(100) | Prénom du candidat |
last_name | données | string(100) | Nom du candidat |
courrier électronique | données | string(400) | Courrier électronique du candidat |
statut | données | string(50) | Voir le tableau Statuts des candidats valides ci-dessous. |
ccw_id | données | string(8) | CCW ID |
cw_number | données | string(100) | Numéro CW attribué au candidat |
external_reference_number | données | string(200) | ID unique associé au candidat |
hiring_manager_first_name | données | string(100) | Prénom du responsable du recrutement |
hiring_manager_last_name | données | string(100) | Nom du responsable du recrutement |
hiring_manager_user_name | données | string(512) | Nom d'utilisateur du responsable du recrutement |
hiring_manager_email | données | string(100) | Adresse électronique du responsable du recrutement |
engagement_type | données | string(400) | Temp / Fournisseur |
employment_type | données | string(200) | Type d'emploi (W2, 1099, etc.) |
submitted_date | données | date | Date à laquelle le candidat a été soumis à la demande, formaté comme AAAA-MM-JJT24HHMMSSZ. |
présélectionné | données | boolean | Indique si le candidat a été ajouté à une liste restreinte |
work_email | données | string(400) | E-mail professionnel attribué au candidat |
date_available | données | date | La date à laquelle le candidat est disponible pour travailler, formatée comme AAAA-MM-JJT24HHMMSSZ. |
soumis_à_d'autres_réquisitions | données | boolean | Indique si le candidat a été soumis à d'autres demandes |
onboarding_status | données | chaîne(valeurs définies) | "pre-soumission-completed", "onboarding-Resumed", "onboarding-paused", "onboarding-completed", "onboarding-cancelled", "initiated", "in-progress" |
onboarding_eligibility_met | données | boolean |
0=éligible, 1=non éligible |
confirmation_eligibility_met | données | boolean | Indique si le candidat a un ordre de travail accepté et si les critères d'admissibilité à l'intégration sont remplis. |
iD | data.supplier | numéro | Identifiant unique attribué au fournisseur dans CCW |
nom | data.supplier | string(400) | Nom du fournisseur |
numéro | data.supplier | string(400) | Numéro unique attribué au fournisseur dans CCW |
first_name | data.supplier.contact | string(100) | Prénom du contact du fournisseur |
last_name | data.supplier.contact | string(100) | Nom de famille du contact du fournisseur |
courrier électronique | data.supplier.contact | string(400) | Adresse courriel du contact du fournisseur |
iD | data.requisition | numéro | Identifiant unique attribué à la demande dans la CCW |
nombre | data.requisition | string(100) | Numéro unique attribué à la demande dans la CCW |
type | data.requisition | string(200) | Type de demande (par exemple : candidat identifié, reqular) |
job_code | data.requisition | string(500) | Code de mission de demande |
job_title | data.requisition | string(400) | Intitulé du poste de la demande |
code_localisation_travail | data.requisition | string(1000) | Code de lieu de travail de la demande |
work_location_name | data.requisition | string(40) | Nom du lieu de travail de la demande |
type_of_service | data.requisition | string(200) | Type de travail |
rate_type | data.requisition | string(100) | Type de taux |
id | data.work_orders | numéro | Identifiant unique attribué au bon de travail dans CCW |
numéro | data.work_orders | string(200) | Numéro unique attribué au bon de travail dans CCW |
actif | data.work_orders | boolean | Indique si l'ordre de travail est actif |
contract_start_date | data.work_orders | date | Date de début du bon de travail, formatée comme AAAA-MM-JJT24HHMMSSZ |
contract_end_date | data.work_orders | date | Date de fin du bon de travail, formatée comme AAAA-MM-JJT24HHMMSSZ |
iD | data.statement_of_works | numéro | Identifiant unique attribué à l'EDT DANS la CCW |
numéro | data.statement_of_works | string(100) | Numéro unique attribué à l'EDT DANS la CCW |
iD | data.sows.task_order | numéro | Identifiant unique attribué au bon de tâche dans CCW |
numéro | data.sows.task_order | string(100) | Identifiant unique attribué au bon de tâche dans CCW |
Exemples de réponses
Voici un exemple de réponse réussie, où au moins un candidat correspondait aux critères de recherche.
Notes :
- total_count : nombre total de candidats correspondant aux critères de recherche dans la demande d'API
- has_more : vrai ou faux, indiquant s'il y a plus de candidats qui correspondent aux critères de recherche, en plus de ceux inclus dans la réponse
{ "meta" : { "total_count" : 1, "has_more" : false }, "data" : [{ "candidate" :{ "id" :622757, "number" :"CCW_CS_13897", "first_name" :"Cédric", "last_name" :"Daniels", "email" :"cedric.daniels@coupa.com", "ccw_id" :"23230203", "fournisseur" :{ "id" :526, "name" :"Tester Supplier.Inc", "number" :"483735", "contact" : { "first_name" :"Lester", "last_name" :"Freeman", "email" :"lester.freeman@supplierssample.com" } }, "demande" :{ "id" :"174011", "numéro" :"RS-REQ-27130", "type" :"Créer une demande", "job_code" :"", "job_title" :"Commis", "work_location_code" :"04872", "work_location_name" :"04872-Artisan CA", "type_of_service" :"Commis/Professionnel", "rate_type" :"Par heure" }, "hiring_manager_user_name" : "100DuChloe1.DuCollins1.1@coupadev.com", "hiring_manager_first_name" : "DuCollins1.1", "hiring_manager_last_name" : "100DuChloe1", "hiring_manager_email" : "100DuChloe1.DuCollins1.1@coupadev.com", "engagement_type" : "Normale", "employment_type" : "1099", "status" : "wo-accepté", "submitted_date" : "2020-07-28T14:36:22Z", "cw_number" : "RS-CW-059713", "nombre" : "RS-CS-0060176", "short_listed" : false, "courriel_travail" : "", "date_available" : null, "submitted_to_other_requirements" : false, "onboarding_status" : "initié", "onboarding_eligibility_met" : 1, "confirmation_eligibility_met" : faux, "statement_of_works" : [], "work_orders" :[ { "id" :224583, "number" :"RS-WO-059860", "active" :"vrai", "contract_start_date" :"2020-07-01T04:00:00Z", "contract_end_date" :"31/12/2020T05:00:00Z" "numéro_de_référence_externe" : "" } ] } ], "meta" : { "total_count" : 1, "has_more" : false } }
Voici un exemple de réponse où aucun candidat ne répondait aux critères de recherche :
{ "meta" : { "total_count" : 0, "has_more" : false }, "data" :[] }
Statut valide du candidat
Voici les valeurs de statut de candidat valides qui peuvent être transmises dans une demande à l'API candidate de CCW :
Nom du statut | Code d'état |
---|---|
Candidat approuvé | approuvé par le candidat |
Entretien avec les candidats | entretien-candidat |
Non-présentation du candidat | candidate-no-show |
Candidat rejeté | candidat-rejeté |
Candidat re-demandé pour approbation | candidat-requête-approbation |
Candidat retiré | candidat-tiré |
Ne pas soumettre | candidate-do-not-submit |
Intégration commencée | candidat-onboarding-démarré |
OTH ACCEPTÉ | oth-accepté |
OTH ÉTENDU | oth-extended |
OTH ÉMIS | oth-issued |
Rejet OTH VERROUILLÉ | oth-rejected-locked |
OTH REJETÉ | oth-rejeté |
OTH RETIRÉ |
oth-retrait |
Soumettre à nouveau la demande | re-submit-requested |
Soumis pour approbation | soumis pour approbation |
Soumis au gestionnaire | soumis au gestionnaire |
Soumis à l'administrateur du programme | soumis-à-programme-admin |
WO accepté | wo-accepté |
AT annulé | wo-cancelled |
BT Émis | wo-issued |
BT rejeté | wo-rejeté |
Codes d'erreur
Lorsqu'une demande d'API échoue, la réponse comprendra l'un des codes d'erreur suivants :
Code du statut HTTP | Code d'erreur | Sous-code d'erreur | Message d'erreur |
---|---|---|---|
400 | E4000000 | E4000001 | Demande erronée. Manque un ou plusieurs des en-têtes HTTP obligatoires |
400 | E4000000 | E4000003 | Le corps d'entrée n'est pas conforme au schéma attendu |
400 | E4000000 | E4000004 | Valeur de {field name} non valide |
400 | E4000000 | E4000005 | {field name} ne peut pas dépasser {max} caractères |
401 | E4010000 | E4010001 | Échec de l'authentification. Vérifiez les informations d'identification associées à votre application grand public |
401 | E4010000 | E4010002 | Échec de l'authentification. Le jeton d'accès n'est pas valide ou a expiré |
403 | E4030000 | E4030001 | Non autorisé. L'utilisateur n'a pas le droit d'effectuer l'action |
403 | E4030000 | E4030002 | Non autorisé. Portée non valide |
403 | E4030000 | E4030003 | Non autorisé. L'utilisateur de l'API n'est pas valide. Assurez-vous que l'utilisateur est actif et défini en tant qu'utilisateur API |
404 | E4040000 | E4040001 | Introuvable |
405 | E4050000 | E4050001 | Méthode non prise en charge. Le service ne prend pas en charge la méthode HTTP demandée |
500 | E5000000 | E5000001 | Une erreur système ou d'application s'est produite, veuillez communiquer avec l'administrateur Coupa CW |