Cloud Talent Solution (CTS) est un service qui intègre le machine learning au contexte de la recherche d'emploi. Il renvoie aux demandeurs des résultats de haute qualité qui dépassent largement les limites des méthodes classiques basées sur des mots clés. Prêt à l'emploi, CTS applique directement des modèles de pertinence et des ontologies poste/compétences aux détails de votre offre d'emploi. Vous pouvez enregistrer les événements client en fonction de l'activité des demandeurs afin d'améliorer les résultats qui leur sont renvoyés.
Le présent guide décrit les deux méthodes permettant de tirer parti de cette fonctionnalité. Nous vous recommandons d'utiliser la méthode createClientEventRequest
de l'API, qui contourne les problèmes d'authentification lors de la transmission de messages à Cloud Talent Solution à l'aide de Cloud Pub/Sub et fournit un ensemble opérationnel d'API permettant de mettre en œuvre le framework d'analyse.
Enregistrer les données d'événements client à l'aide de createClientEventRequest
(recommandé)
Lorsqu'un demandeur d'emploi effectue une action spécifique, l'API permet d'enregistrer cette action. Par exemple, un demandeur ou une autre entité interagissant avec le service reçoit une offre d'emploi (ou une liste d'offres) visible sur son écran, s'apparentant à une liste de résultats de recherche dans un format compressé ou tronqué. Dans ce cas, vous pouvez envoyer un événement IMPRESSION à Cloud Talent Solution, afin de fournir le contexte des résultats de la recherche et de spécifier le contenu visible par le demandeur d'emploi. En outre, lorsque celui-ci clique sur une offre pour afficher la description complète du poste, vous pouvez envoyer un événement VIEW qui enregistre l'intérêt de ce demandeur d'emploi pour ce poste.
Utilisation
L'exemple suivant montre comment envoyer un message à Cloud Talent Solution à l'aide de l'API. Le demandeur d'emploi ou une autre entité utilisant le service a reçu une offre d'emploi apparaissant sur son écran, par exemple dans une liste de résultats de recherche au format condensé ou sous forme d'extraits. Cet événement est généralement associé à la consultation d'une liste d'offres d'emploi sur une seule page, par le demandeur d'emploi.
Python
Pour en savoir plus sur l'installation et la création d'un client Cloud Talent Solution, consultez la page Bibliothèques clientes Cloud Talent Solution.
Consultez la section Types d'événements pour obtenir la liste complète des types d'événements disponibles.
Enregistrer des événements client à l'aide de Cloud Pub/Sub
Pour mettre à profit cette méthode, envoyez à Cloud Talent Solution des messages structurés qui traduisent les réactions des demandeurs d'emploi aux résultats renvoyés par leurs requêtes. Ces messages sont envoyés à Cloud Talent Solution via Cloud Pub/Sub. CTS analyse alors les messages du site client et les transmet au modèle de machine learning.
Le format de message et les requêtes Pub/Sub sont décrits ci-dessous.
Scénarios et workflows divers
Vous trouverez ci-dessous deux exemples illustrant différents scénarios de recherche, d'affichage et de candidature à un poste du point de vue d'un demandeur d'emploi.
Notez que vous devez UNIQUEMENT publier dans le projet p-jobs
et la rubrique cloud-jobs-events
.
Workflow 1
Le demandeur d'emploi effectue une recherche. Par exemple : Chef de produit San Francisco.
Les résultats de la recherche sont renvoyés au demandeur d'emploi.
L'objet de réponse à la recherche d'emploi renvoyé au serveur du client contient un
requestId
unique (par exemple :8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==
). Utilisez cerequestId
pour tous les futurs messages liés à cet appel d'API SearchJobsRequest particulier.Envoyez un message
IMPRESSION
à Cloud Talent Solution.Exemple de message d'événement :
{ "eventId": "ID1", "eventType": "IMPRESSION", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000", "jobs/4000000001","jobs/4000000002", "jobs/4000000003", "jobs/4000000004"] "eventTimestampMillis": 1494379614309 }
Le demandeur d'emploi sélectionne un résultat (une offre d'emploi) pour afficher tous les détails du poste.
Envoyez un message
VIEW
à Cloud Talent Solution.{ "eventId": "ID2", "eventType": "VIEW", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614311 }
Le demandeur d'emploi postule à l'offre consultée.
a. Si le demandeur d'emploi est redirigé vers une page du même domaine (une page de candidature interne), envoyez un message
APPLICATION_START
à Cloud Talent Solution.{ "eventId": "ID3", "eventType": "APPLICATION_START", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614310 }
b. Si le demandeur d'emploi est redirigé vers une page de candidature externe, envoyez un message
APPLICATION_REDIRECT
à Cloud Talent Solution.{ "eventId": "ID3", "eventType": "APPLICATION_REDIRECT", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614310 }
Lorsque le demandeur d'emploi termine une candidature interne, envoyez un message
APPLICATION_FINISH
à Cloud Talent Solution.{ "eventId": "ID4", "eventType": "APPLICATION_FINISH", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614311 }
Le demandeur d'emploi revient aux résultats de recherche (ou, s'il n'a encore cliqué sur aucune offre, poursuit sa consultation) et passe à la deuxième page des résultats.
Envoyez à Cloud Talent Solution un message
IMPRESSION
indiquant le jeu de résultats affiché sur la deuxième page. Remarque : Un nouveaurequestId
est généré dans la réponse de l'appel d'APISearchJobsRequest
générant la deuxième page de résultats. Par exemple,99e5b99c-f1ba-4f85-b17d-ccf878f451f9:APAb7IRESj+/Hzwa3bBd54P3qPx2yOWm5w==
.{ "eventId": "ID5", "eventType": "IMPRESSION", "requestId": "99e5b99c-f1ba-4f85-b17d-ccf878f451f9:APAb7IRESj+/Hzwa3bBd54P3qPx2yOWm5w==", "relatedJobNames": ["jobs/4000000005", "jobs/4000000006","jobs/4000000007", "jobs/4000000008", "jobs/4000000009"] "eventTimestampMillis": 1494379614400 }
Le demandeur d'emploi passe à la troisième page des résultats de recherche.
Envoyez un message
IMPRESSION
à Cloud Talent Solution avec le jeu de résultats suivant. REMARQUE : Un nouveaurequestId
est généré (par exemple,e2d2b916-78c3-4c65-aecc-d8452bc0afb0:APAb7IRvCsNPiRXYkgF8PN5e8BkbFzKOyg==
).{ "eventId": "ID6", "eventType": "IMPRESSION", "requestId": "e2d2b916-78c3-4c65-aecc-d8452bc0afb0:APAb7IRvCsNPiRXYkgF8PN5e8BkbFzKOyg==", "relatedJobNames": ["jobs/4000000010", "jobs/4000000011","jobs/4000000012", "jobs/400000013", "jobs/4000000014"] "eventTimestampMillis": 1494379614500 }
Workflow 2
Le demandeur d'emploi effectue une recherche. Par exemple : Chef de produit San Francisco.
Les résultats de la recherche sont renvoyés au demandeur d'emploi.
L'objet de réponse à la recherche d'emploi contient un
requestId
unique (par exemple,a2179a9b-cf73-413e-8076-98af08b991ad
). Utilisez cerequestId
pour tous les futurs messages liés à cet appel d'APISearchJobsRequest
.Envoyez un message
IMPRESSION
à Cloud Talent Solution.{ "eventId": "ID1", "eventType": "IMPRESSION", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000", "jobs/4000000001","jobs/4000000002", "jobs/4000000003", "jobs/4000000004"] , "eventTimestampMillis": 1494379614309 }
Le demandeur d'emploi sélectionne un résultat (une offre d'emploi) pour afficher tous les détails du poste.
Envoyez un message
VIEW
à Cloud Talent Solution.{ "eventId": "ID2", "eventType": "VIEW", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614311 }
Le demandeur d'emploi postule à une offre en un seul clic, comme décrit dans APPLICATION_QUICK_SUBMISSION.
Envoyez un message
APPLICATION_QUICK_SUBMISSION
à Cloud Talent Solution avec le jeu de résultats suivant.{ "eventId": "ID3", "eventType": "APPLICATION_QUICK_SUBMISSION", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614500 }
Le demandeur d'emploi effectue les actions suivantes :
a. Le demandeur d'emploi retourne aux résultats de la recherche et candidate à un poste directement depuis cette page. Le processus de candidature est plus long que celui défini dans APPLICATION_QUICK_SUBMISSION (il s'agit d'un processus de candidature en plusieurs étapes).
Envoyez un message
APPLICATION_START_FROM_SERP
à Cloud Talent Solution.{ "eventId": "ID4", "eventType": "APPLICATION_START_FROM_SERP", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000014"] "eventTimestampMillis": 1494379927500 }
b. Le demandeur d'emploi termine sa candidature au poste. Envoyez un message
APPLICATION_FINISH
à Cloud Talent Solution.{ "eventId": "ID5", "eventType": "APPLICATION_FINISH", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000014"] "eventTimestampMillis": 1494379935500
}
Le demandeur d'emploi revient aux résultats de la recherche et candidate à un poste directement depuis cette page. Le processus de candidature redirige le demandeur d'emploi vers un autre domaine situé en dehors du site client (candidature externe), à partir duquel il est impossible de suivre la progression de la candidature.
Envoyez un message
APPLICATION_REDIRECT_FROM_SERP
à Cloud Talent Solution.{ "eventId": "ID6", "eventType": "APPLICATION_START_FROM_SERP", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000017"] "eventTimestampMillis": 149438807500 }
Cette méthode est différente de
APPLICATION_REDIRECT
, où un demandeur d'emploi reste sur la page de description du poste lors de la redirection.
Message d'événement
Champs obligatoires :
eventId
(défini par le client) : chaque message envoyé à Cloud Talent Solution doit contenir un champeventId
unique. Il est recommandé d'inclure l'horodatage lors de la définition de ce champ pour éviter toute duplication. La longueur maximale de ce champ est de 255 caractères.requestId
: valeur derequestId
renvoyée par l'objet de réponse à la recherche d'emploi. Cette valeur est unique pour chaque appel d'APISearchJobsRequest
. On l'utilise pour tous les messages ultérieurs issus de l'événement de rechercheIMPRESSION
. La valeur derequestId
change à chaque nouvel appel d'APISearchJobsRequest
(par exemple, lorsque le demandeur d'emploi accède à la page suivante des résultats).Les messages pubsub sans requestId sont supprimés.
eventType
: type d'événement, tel queVIEW
ouIMPRESSION
. (consultez la documentation de référence surEventType
pour une liste complète des valeurs). Les champs obligatoires requis a minima pour activer les améliorations de modèle sontIMPRESSION
,VIEW
etAPPLICATION_START
(et/ouAPPLICATION_REDIRECT
).relatedJobNames
: valeurs d'intitulé de poste correspondant à tous les postes présentés au demandeur d'emploi au moment de l'événement. Pour un événementIMPRESSION
, il s'agit d'une liste de tous les postes de la page. Pour un événementVIEW
, il s'agit de l'intitulé du poste consulté. Les valeurs de ces intitulés sont au format projects/project-id/jobs/12343213, etc. (consultez la section Champs de la ressource Job pour afficher les définitions).eventTimestampMillis
L'horodatage de l'événement, mesuré en millisecondes écoulées depuis l'époque. Cet horodatage doit indiquer le moment exact où l'événement s'est produit et non pas la date d'envoi du message.
Envoyer un message
Le message d'événement doit être envoyé au service Cloud Pub/Sub avec des ID de projet et de sujet spécifiques. Pour obtenir des instructions, consultez le guide de démarrage rapide: Régler des événements clients Cloud Talent Solution.