• Dernière modification le: 31 May 2021

API de recherche candidate

L'API de recherche de candidats de CCW permet aux clients de récupérer des données sur les candidats soumis à la demande CCW.

L'API de recherche de candidats de CCW est utilisée pour rechercher des données sur les candidats qui ont été soumis à une ou plusieurs demandes CCW. Les critères de recherche tels que les prénoms/noms des candidats, le statut, l'admissibilité à être confirmée (en tant que travailleur temporaire) et plus encore, peuvent être demandés via l'API de recherche des candidats CCW. Toutes les données candidates 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 au Présentation de CCW API pour savoir comment authentifier et soumettre des demandes POST aux API CCW. Les demandes doivent inclure les éléments suivants :

Demander des en-têtes

Les en-têtes de demande sont requis pour l'authentification. Voir Demander des en-têtes pour plus de détails.

Corps de demande

Méta et Données les deux objets doivent être transmis dans le corps de la demande API :

Méta

La section Métadonnées définit le nombre de résultats renvoyés pour garantir des performances plus rapides. Comprend :

  • Limite : Définit le nombre maximum de résultats, entre 1 et 50, à renvoyer dans une seule demande API (c'est-à-dire le nombre de résultats sur une page)
    • Prend par défaut la valeur 50 si la valeur de Limite est vide ou supérieure à 50
    • Renvoie une erreur si la valeur de Limite est inférieure à 1
  • Décaler : définit l'enregistrement à partir duquel la demande doit commencer ; par exemple, limit=30, offset=51 renvoie les 30 enregistrements suivants commençant par l'enregistrement 51.
    • Prend par défaut la valeur 0 si la valeur pour Décaler est vide
    • Renvoie une erreur si la valeur pour Décaler est inférieur à 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 Données paramètres qui peuvent être transmis dans le corps de la demande API de recherche de candidat :

Attribut Type de données Requis ? Unique ? Valeurs Description
limite numéro Non Non 1-50 Nombre d'enregistrements à renvoyer par appel API
décalage numéro Non Non tout Numéro d'enregistrement spécifique auquel les résultats doivent commencer
id numéro Non Oui tout ID unique du candidat dans CCW. Généré lorsque le candidat est soumis à une demande. (Utilisé pour l'API de confirmation).
numéro string(100) Non Oui tout Numéro unique attribué au candidat dans CCW. Format : <Préfixe client>-CS-<numéro-de-séquence>
prénom string(100) Non Non tout Prénom du candidat
nom_de_famille string(100) Non Non tout Nom du candidat
courrier électronique string(400) Non Oui tout Adresse électronique du candidat
statut string(50) Non Non L'un des statuts valides de CCW Voir Statuts de candidat valides tableau ci-dessous.
ccw_id string(8) Non Oui tout ID CCW
numéro_de_référence_externe string(200) Non Non tout ID unique associé au candidat
numéro_de_demande string(100) Non Non tout Numéro de demande associé au candidat
prénom_du_responsable_recrutement string(100) Non Non tout Prénom du responsable du recrutement
nom_dernier_responsable_embauche string(100) Non Non tout Nom du responsable du recrutement
onboarding_admissibilité_satisfaite numéro Non Non 0,1

0=éligible, 1=non éligible

confirmation_éligibilité_satisfaite booléen Non Non vrai/faux ou oui/non ou 1/0 ou O/N ou T/F Indique si le candidat a un bon de travail accepté et si les critères d'admissibilité à l'onboarding sont remplis
nom_fournisseur string(200) Non Non tout Nom du fournisseur
date_début date Non Non tout Date de début du bon de travail actif, au format AAAA-MM-JJ (format standard ISO 8601)
date_de_fin date Non Non tout Date de fin du bon de travail actif, au format AAAA-MM-JJ

Exemple de demande

POST /api/candidates/search
HOST: <CCW FQDN>
Authorization: Bearer <token>
Accept: "application/json"
Correlation-Id: Z098Jth56Nkio343YY1vXt

{
    "meta":{
        "limit":"number",
        "offset":"number"
    }
    "data":{
        "id":"number",
        "number":"string",
        "first_name":"string",
        "last_name":"string",
        "email":"string",
        "ccw_id":"number",
        "status":"string",
        "external_reference_number":"string",
        "requisition_number":"string",
        "hiring_manager_first_name":"string",
        "hiring_manager_last_name":"string",
        "onboarding_eligibility_met":"string",
        "confirmation_eligibility_met":"string",
        "supplier_name":"string"
    }
}

Réponse API

Le ou les candidats correspondant à tous les paramètres de recherche envoyés dans le corps de la demande 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 CCW à une demande API réussie :

Attribut Demander un objet corps Type de données Description
total_count méta numéro Nombre d'enregistrements correspondant aux critères de recherche
a_plus méta booléen Vrai ou Faux - pour indiquer s'il y a plus de candidats qui répondent aux critères de recherche
id données numéro ID unique du candidat dans CCW. Généré lorsque le candidat est soumis à une demande. (Utilisé pour l'API de confirmation).
numéro données string(100) Numéro unique attribué au candidat dans CCW. Format : <Préfixe client>-CS-<numéro-de-séquence>
prénom données string(100) Prénom du candidat
nom_de_famille données string(100) Nom du candidat
courrier électronique données string(400) Adresse électronique du candidat
statut données string(50) Voir Statuts de candidat valides tableau ci-dessous.
ccw_id données string(8) ID CCW
cw_number données string(100) Numéro CW attribué au candidat
numéro_de_référence_externe données string(200) ID unique associé au candidat
prénom_du_responsable_recrutement données string(100) Prénom du responsable du recrutement
nom_dernier_responsable_embauche données string(100) Nom du responsable du recrutement
nom_utilisateur_responsable_embauche données string(512) Nom d'utilisateur du responsable du recrutement
embauche_manager_email données string(100) Adresse électronique du responsable du recrutement
type_engagement données string(400) Temporaire / Fournisseur
type_emploi données string(200) Type d'emploi (W2, 1099, etc.)
date_de_soumission données date Date à laquelle le candidat a été soumis à la demande, au format AAAA-MM-DDT24HHMMSSZ.
présélectionné données booléen Indique si le candidat a été ajouté à une liste de présélection
adresse_professionnelle données string(400) E-mail professionnel attribué au candidat
date_de_disponibilité données date Date à laquelle le candidat est disponible pour travailler, au format AAAA-MM-JJJ24HHMMSSZ.
soumis_à_d'autres_demandes données booléen Indique si le candidat a été soumis à d'autres demandes
onboarding_status données string(définir les valeurs) "pré-soumission-terminée", "onboarding-Reprise", "onboarding-pause", "onboarding-complete", "onboarding-canceled", "initié", "en cours"
onboarding_admissibilité_satisfaite données booléen

0=éligible, 1=non éligible

confirmation_éligibilité_satisfaite données booléen Indique si le candidat a un bon de travail accepté et si les critères d'admissibilité à l'onboarding sont remplis
id fournisseur de données numéro ID unique attribué au fournisseur dans CCW
Nom fournisseur de données string(400) Nom du fournisseur
numéro fournisseur de données string(400) Numéro unique attribué au fournisseur dans CCW
prénom données.fournisseur.contact string(100) Prénom du contact fournisseur
nom_de_famille données.fournisseur.contact string(100) Nom du contact fournisseur
courrier électronique données.fournisseur.contact string(400) Adresse électronique du contact fournisseur
id données.demande numéro ID unique attribué à la demande dans CCW
numéro données.demande string(100) Numéro unique attribué à la demande dans CCW
type données.demande string(200) Type de demande (par exemple : candidat identifié, demandeur)
code_job données.demande string(500) Code de tâche de demande
titre_du_travail données.demande string(400) Titre du job de demande
code_lieu_travail données.demande string(1000) Code du lieu de travail de la demande
nom_emplacement_travail données.demande string(40) Nom du lieu de travail de demande
type_de_service données.demande string(200) Type de travail
type_cours données.demande string(100) Type de taux
id données.ordres_de_travail numéro ID unique attribué au bon de travail dans CCW
numéro données.ordres_de_travail string(200) Numéro unique attribué au bon de travail dans CCW
actif données.ordres_de_travail booléen Indique si le bon de travail est actif
date_début_contrat données.ordres_de_travail date Date de début du bon de travail, au format AAAA-MM-JJJ24HHMMSSZ
date_fin_contrat données.ordres_de_travail date Date de fin du bon de travail, au format AAAA-MM-JJJ24HHMMSSZ
id données.relevé_des_travaux numéro ID unique attribué au cahier des charges dans CCW
numéro données.relevé_des_travaux string(100) Numéro unique attribué au cahier des charges dans CCW
id data.sows.ordre_des_tâches numéro ID unique attribué à l'ordre de tâche dans CCW
numéro data.sows.ordre_des_tâches string(100) ID unique attribué à l'ordre de tâche dans CCW

Exemples de réponses

Voici un exemple de réponse positive, où au moins un candidat correspond aux critères de recherche.

Remarques :

  • total_count : nombre total de candidats correspondant aux critères de recherche dans la demande API
  • a_plus : 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":"Cedric",
             "last_name":"Daniels",
             "email":"cedric.daniels@coupa.com",
             "ccw_id":"23230203",
             "supplier":{
                "id":526,
                "name":"Test Supplier.Inc",
                "number":"483735",
                "contact": {
                    "first_name":"Lester",
                    "last_name":"Freeman",
                    "email":"lester.freeman@supplierssample.com"
                }
             },
             "requisition":{
                "id":"174011",
                "number":"RS-REQ-27130",
                "type":"Create Requisition",
                "job_code":"",
                "job_title":"Clerical",
                "work_location_code":"04872",
                "work_location_name":"04872-Craftsman CA",
                "type_of_service":"Clerical/Professional",
                "rate_type":"Per Hour"
             },
             "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": "Regular",
             "employment_type": "1099",
             "status": "wo-accepted",
             "submitted_date": "2020-07-28T14:36:22Z",
             "cw_number": "RS-CW-059713",
             "number": "RS-CS-0060176",
             "short_listed": false,
             "work_email": "",
             "date_available": null,
             "submitted_to_other_requirements": false,
             "onboarding_status": "initiated",
             "onboarding_eligibility_met": 1,
             "confirmation_eligibility_met": false,
             "statement_of_works": [],
             "work_orders":[
              {
                "id":224583,
                "number":"RS-WO-059860",
                "active":"true",
                "contract_start_date":"2020-07-01T04:00:00Z",
                "contract_end_date":"2020-12-31T05:00:00Z"
                "external_reference_number": ""
              }
            ]
          }
        ],
        "meta": {
        "total_count": 1,
        "has_more": false
    }
}

Voici un exemple de réponse où aucun candidat ne répond aux critères de recherche :

{   
  "meta": {     
    "total_count": 0,     
    "has_more": false   
  },   
  "data":[] 
}

Statuts de candidat valides

Voici les valeurs de statut de candidat valides qui peuvent être transmises dans une demande à l'API de candidat CCW :

Nom du statut Code de statut
Candidat approuvé approuvé par le candidat
Entretien des candidats entretien de candidat
Non-présentation du candidat candidat non présent
Candidat rejeté candidat rejeté
Candidat remis en attente pour approbation demande-approbation-de-candidat
Candidat retiré candidat retiré
Ne pas soumettre candidat-ne-pas-soumettre
Intégration démarrée intégration des candidats lancée
OTH accepté accepté par les deux parties
OTH étendu étendu
OTH émis délivré par les deux tiers
OTH Rejet verrouillé rejeté-bloqué
OTH rejeté rejeté des deux côtés
OTH retiré

retiré

Ré-soumettre demandé resoumettre-demandé
Soumis pour approbation soumis pour approbation
Soumis au responsable soumis au responsable
Soumis à l'administrateur du programme soumis-à-administrateur-programme
Accepté par WO accepté par deux
WO Annulé Annulé deux fois
WO émis émis deux fois
WO rejeté deux rejetés

Codes d'erreur

Lorsqu'une demande API échoue, la réponse inclut l'un des codes d'erreur suivants :

Code de statut HTTP Code d'erreur Sous-code d'erreur Message d'erreur
400 E4000000 E4000001 Mauvaise demande. Un ou plusieurs en-têtes HTTP obligatoires sont manquants
400 E400000 E4000003 Le corps d'entrée n'est pas conforme au schéma attendu
400 E400000 E4000004 Valeur {field name} non valide
400 E400000 E4000005 {field name} ne peut pas contenir plus de {max} caractères
401 E4010000 E4010001 L’authentification a échoué. Vérifiez les identifiants associés à votre application B2C
401 E401000 E4010002 L’authentification a échoué. Jeton d'accès non valide ou expiré
403 E4030000 E4030001 Non autorisé. L'utilisateur n'a pas les droits pour effectuer l'action
403 E4030000 E4030002 Non autorisé. Portée non valide
403 E4030000 E4030003 Non autorisé. L'utilisateur API n'est pas valide. S'assurer que l'utilisateur est actif et défini comme utilisateur API
404 E4040000 E4040001 Non trouvé
405 E4050000 E4050001 Méthode Non Prise En Charge. Le service ne prend pas en charge la méthode HTTP demandée
500 E500000 E5000001 Une erreur système ou d'application s'est produite. Veuillez contacter l'administrateur Coupa CW

 

Une partie ou la totalité de cette page peut avoir été traduite par machine. Toutes nos excuses pour les inexactitudes.

Articles associés


API Coupa Core

Notre API RESTful fournit un accès fiable pour lire, modifier ou intégrer vos données à la plateforme Coupa.

Démarrez avec l'API

Informations générales sur l'utilisation de l'API Coupa et quand vous devez envisager d'utiliser CSV.

Transition vers OAuth 2.0 et OIDC

Coupa désapprouve les API Keys héritées et nécessite l'utilisation d'OAuth 2.0 / OIDC. À partir de R34, aucune nouvelle clé API ne sera émise et les clés API ne seront plus prises en charge avec R35.

Ressources

Nous avons organisé nos points de terminaison API par type d'objet : données de référence, données transactionnelles et ressources partagées.