Passer au contenu principal

Vue d’ensemble

En plus de la synchronisation complète (GET /freelances), les partenaires peuvent interroger le pool Pylote à la demande, en 2 étapes :
  1. 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.
  2. Stage 2 — Révélation (POST /partners/reveal) : à partir de l’id d’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 (event profile_view émis automatiquement côté Pylote).
Cette séparation vous permet d’implémenter votre propre logique de crédits : la consommation n’a lieu qu’au Stage 2.

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 public POST /referential :
Attention au champ à utiliser selon le filtre : 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

À savoir :
  • recruiterEmail doit être dans votre whitelist. Sans cela : 404. C’est ce qui alimente le ” via ” que voit le freelance dans ses statistiques.
  • L’event profile_view est émis automatiquement : n’appelez pas POST /partners/events pour 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_out ne 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.