Vue d’ensemble
En plus de la synchronisation complète (GET /freelances), les
partenaires peuvent interroger le pool Pylote à la demande, en 2 étapes :
- Stage 1 — Recherche anonymisée (
POST /partners/search) : votre requête est classée par notre moteur de matching. Vous recevez des profils partiels et anonymisés : de quoi évaluer la pertinence, rien pour identifier ou contacter. - Stage 2 — Révélation (
POST /partners/reveal) : à partir de l’idd’un résultat, vous recevez le profil complet (format JSON Resume, identique àGET /freelances). C’est à ce moment que le freelance est informé de la consultation (eventprofile_viewémis automatiquement côté Pylote).
Stage 1 — Rechercher
Sémantique de keywords
Filtres et référentiel
Les filtres sont exacts (pas de tolérance de frappe) : une valeur hors référentiel ne provoque pas d’erreur, elle ne matche simplement aucun profil. Les valeurs se récupèrent via le endpoint publicPOST /referential :
La géographie se filtre par zones de mobilité (régions, pays), pas par code
postal + rayon : mappez vos zones cibles vers nos régions.
Ce que contient un résultat
Chaque profil du Stage 1 contient :id (la clé du Stage 2), headline,
summary, localisation (ville/région/pays/CP), compétences, langues, séniorité,
métiers, disponibilité, préférences de mission, historique de missions
(intitulés, durées et descriptions, sans champ employeur), et matchRank.
Tous les textes libres (summary du profil et des missions) sont rédigés :
emails, téléphones, URLs et nom du freelance retirés. Ce sont des textes écrits
par le freelance : un nom d’entreprise peut occasionnellement y apparaître.
matchRank est le rang absolu du profil dans le classement de pertinence
(1 = meilleur match). C’est un rang réel, pas un score en pourcentage.
Ce que le Stage 1 ne contient jamais : nom, email (même proxy), téléphone,
liens de profils (CV, LinkedIn), champ employeur structuré.
Stage 2 — Révéler un profil
recruiterEmaildoit être dans votre whitelist. Sans cela : 404. C’est ce qui alimente le ” via ” que voit le freelance dans ses statistiques.- L’event
profile_viewest émis automatiquement : n’appelez pasPOST /partners/eventspour la consultation elle-même. Gardez-le pour les actions granulaires (click_cv, click_linkedin, add_favorite…). - Le contact passe par l’email proxy Pylote et le lien LinkedIn tracké du profil révélé. Le téléphone n’est pas exposé via le canal partenaire.
- Un recruteur
opt_outne peut pas révéler de profil (403) : la révélation expose des coordonnées, elle exige le tracking.
Rate limiting
120 requêtes/minute par clé API, toutes routes confondues. Au-delà :429.
Une recherche = une requête, quel que soit limit.