En résumé : L’API Rodz propose deux types de signaux complémentaires pour piloter votre développement commercial : competitor-relationships (détection des interactions de vos prospects avec vos concurrents) et public-tenders (veille automatisée sur les appels d’offres publics). Ce guide détaille leur fonctionnement, leur configuration technique et les façons de les combiner pour augmenter votre taux de conversion.
Qu’est-ce qu’un signal de concurrence ou de marché public ?
Les cycles de vente B2B s’allongent. Les décideurs comparent plusieurs solutions avant de signer. Dans ce contexte, détecter le bon moment pour intervenir n’est pas une question de persévérance, c’est une question de contexte.
Un signal d’affaires, c’est précisément ça : un contexte dans lequel se trouve une entreprise. Ce contexte conditionne les problèmes qu’elle rencontre et, donc, les solutions qu’elle cherche. Les deux types de signaux présentés ici exploitent cette logique.
Un signal de type competitor-relationships alerte quand une entreprise cible interagit avec l’un de vos concurrents : abonnement à une page LinkedIn, commentaire sur une publication, participation à un événement organisé par un acteur rival. Ces micro-interactions révèlent un intérêt naissant, souvent bien avant qu’un appel d’offres formel ne soit lancé.
Un signal de type public-tenders détecte la publication d’appels d’offres publics (marchés publics, délégations de service public, accords-cadres) correspondant à vos critères sectoriels et géographiques. Il est particulièrement utile pour les entreprises qui répondent régulièrement à des consultations publiques ou qui veulent identifier les organisations qui remportent ces contrats.
Pour une vue d’ensemble des signaux disponibles, consultez notre guide de définition des signaux d’affaires.
Prérequis
Avant de configurer ces deux types de signaux, vérifiez que vous disposez des éléments suivants :
- Un compte API Rodz actif avec une clé d’authentification valide. Si ce n’est pas encore fait, suivez le guide de démarrage pour obtenir votre première clé.
- Une liste de concurrents identifiés (pour competitor-relationships) : noms d’entreprise, identifiants LinkedIn ou domaines web. Plus votre liste est précise, plus les alertes sont pertinentes.
- Des critères de ciblage pour les marchés publics (pour public-tenders) : codes CPV, secteurs d’activité, zones géographiques, fourchettes de montants.
- Un endpoint webhook configuré pour recevoir les notifications en temps réel. Consultez le guide de configuration des webhooks pour la mise en place.
- Un outil de traitement des données (CRM, plateforme d’automatisation, base de données) capable de recevoir et d’exploiter les payloads JSON.
- Une connaissance de base de l’API REST Rodz, notamment les conventions d’authentification et la gestion des erreurs documentées dans la référence API complète.
Signal competitor-relationships : surveiller les interactions concurrentielles
Ce que détecte ce signal
Le signal competitor-relationships surveille les interactions numériques entre vos comptes cibles et vos concurrents. Concrètement, l’API Rodz analyse plusieurs types d’événements :
- Abonnements LinkedIn : un décideur ou une entreprise cible suit la page d’un concurrent.
- Engagements sur le contenu : likes, commentaires ou partages de publications concurrentes.
- Mentions et tags : une entreprise cible mentionne un concurrent dans ses propres publications.
- Participations événementielles : inscription à des webinaires, salons ou conférences organisés par un concurrent.
- Connexions au réseau commercial : un contact devient premier degré de connexion avec un commercial du concurrent (voir la section dédiée plus bas).
Chaque événement reçoit un score d’intensité de 1 à 10. Un simple like sur un post générique ne génère pas le même score qu’un commentaire détaillé sur une démonstration produit. C’est une distinction utile, mais aussi un peu déroutante au début : un score 3 peut sembler faible, or il peut suffire à déclencher une prise de contact si le contexte global du compte est favorable.
Quand utiliser ce signal
Déplacement concurrentiel. Vous savez qu’un prospect utilise la solution d’un concurrent. En surveillant les variations d’engagement (baisse d’interactions avec le fournisseur actuel, hausse avec d’autres acteurs), vous identifiez le moment précis où le prospect commence à explorer des alternatives.
Timing de prise de contact. Plutôt que de contacter un prospect à froid, vous attendez qu’il manifeste un intérêt pour le marché en interagissant avec du contenu concurrent. Votre approche commerciale s’appuie alors sur un contexte réel, pas sur une hypothèse.
Veille concurrentielle. En agrégeant les données sur plusieurs mois, vous identifiez les concurrents qui gagnent en visibilité auprès de votre cible et ceux qui en perdent. Ces tendances alimentent votre positionnement.
Exemple de requête cURL
curl -X POST https://api.rodz.io/v1/signals/competitor-relationships \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"competitors": [
{"name": "Concurrent A", "linkedin_url": "https://linkedin.com/company/concurrent-a"},
{"name": "Concurrent B", "domain": "concurrent-b.com"}
],
"target_accounts": ["acc_12345", "acc_67890"],
"interaction_types": ["follow", "like", "comment", "mention"],
"min_intensity_score": 3,
"webhook_url": "https://votre-domaine.com/webhooks/competitor-signals"
}'
Cette requête configure la surveillance de deux concurrents sur un ensemble de comptes cibles, en filtrant les interactions dont le score d’intensité est supérieur ou égal à 3.
Payload webhook
Quand une interaction est détectée, l’API Rodz envoie un payload JSON à votre endpoint webhook :
{
"signal_type": "competitor-relationships",
"signal_id": "sig_cr_2026030712345",
"detected_at": "2026-03-07T14:32:00Z",
"account": {
"id": "acc_12345",
"name": "Entreprise Cible SAS",
"domain": "entreprise-cible.fr"
},
"competitor": {
"name": "Concurrent A",
"linkedin_url": "https://linkedin.com/company/concurrent-a"
},
"interaction": {
"type": "comment",
"intensity_score": 7,
"source_url": "https://linkedin.com/feed/update/urn:li:activity:123456",
"actor": {
"name": "Marie Dupont",
"title": "Directrice des achats",
"linkedin_url": "https://linkedin.com/in/marie-dupont"
},
"content_snippet": "Très intéressant, nous cherchons justement ce type de solution..."
},
"metadata": {
"monitoring_id": "mon_abc123",
"total_interactions_30d": 12
}
}
Le champ total_interactions_30d donne une vision consolidée : un prospect qui cumule 12 interactions en 30 jours avec un concurrent est clairement en phase d’évaluation. C’est le type de contexte qui justifie un message immédiat, pas une relance programmée trois semaines plus tard.
Cas d’usage : déplacement concurrentiel
Prenons le cas d’un éditeur de logiciel de gestion de projet. Son principal concurrent publie une série de contenus sur une nouvelle fonctionnalité. Grâce au signal competitor-relationships, l’éditeur détecte que trois de ses comptes cibles ont commenté ces publications en posant des questions techniques précises.
L’idée ici n’est pas de lancer une séquence de relances automatisées. C’est d’envoyer un message unique, ancré dans ce contexte précis : « J’ai vu que vous vous intéressez à [fonctionnalité]. Nous avons une approche différente qui traite aussi [problème connexe]. Quinze minutes cette semaine ? » Ce type de message contextuel génère des taux de réponse 3 à 5 fois supérieurs à un cold call classique. C’est l’ordre de grandeur qu’on retrouve dans la logique des signaux d’affaires : Rodz documente 4 fois plus de rendez-vous obtenus via signal qu’en prospection à froid, dans une fenêtre de 48 heures.
Competitor-connections : détecter les nouvelles connexions chez vos concurrents
C’est une variante du signal competitor-relationships qui mérite une section à part. Elle ne surveille pas les interactions publiques (commentaires, likes), mais un événement précis : un contact qui devient premier degré de connexion avec un commercial de votre concurrent sur LinkedIn.
Concrètement, le signal répond à cette question : je veux contacter une personne dès qu’elle entre en relation directe avec l’équipe de vente d’un concurrent. C’est un signal d’affaires d’une netteté rare. Cette connexion indique, dans la majorité des cas, qu’une conversation commerciale vient de s’ouvrir.
Configuration pas à pas
La mise en place suit un enchaînement en trois étapes.
Étape 1 : identifier les commerciaux du concurrent.
Vous fournissez à l’API l’URL LinkedIn de la page entreprise du concurrent. Rodz scrape automatiquement la liste des personnes rattachées à cette entreprise et filtre celles dont le titre correspond à un rôle commercial (Account Executive, Business Developer, SDR, Sales Manager, etc.). Cette extraction est actualisée régulièrement pour prendre en compte les recrutements et les départs.
Étape 2 : appliquer les filtres ICP.
Une fois la liste des commerciaux concurrents établie, vous définissez le profil des contacts à surveiller. Les filtres disponibles combinent :
- Persona : titre ou fonction (Directeur commercial, Responsable achats, DSI, etc.)
- Secteur d’activité : code NAF, industrie LinkedIn ou secteur personnalisé
- Zone géographique : région, département, pays
- Taille d’entreprise : fourchette d’effectifs ou de chiffre d’affaires
L’API Rodz ne remonte que les connexions qui correspondent à ce profil. Si un commercial du concurrent se connecte avec un profil hors ICP, aucune alerte n’est générée. Ce filtrage est ce qui distingue un signal d’affaires qualifié d’un flux de données brut.
Étape 3 : recevoir le contact enrichi.
Quand une connexion entre un commercial concurrent et un profil correspondant à votre ICP est détectée, l’API envoie un webhook avec les informations du contact : nom, titre, entreprise, URL LinkedIn, et dans la mesure du possible son adresse email professionnelle. Vous avez alors une fenêtre de 48 heures pour activer ce contact. Au-delà, la valeur du signal redescend au niveau d’une liste froide.
Exemple de requête cURL
curl -X POST https://api.rodz.io/v1/signals/competitor-connections \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"competitor_linkedin_url": "https://linkedin.com/company/concurrent-a",
"icp_filters": {
"personas": ["Directeur commercial", "Sales Manager", "Head of Sales", "VP Sales"],
"industries": ["Software", "SaaS", "IT Services"],
"regions": ["FR-IDF", "FR-ARA"],
"company_size": {"min": 20, "max": 500}
},
"webhook_url": "https://votre-domaine.com/webhooks/competitor-connections"
}'
Payload webhook
{
"signal_type": "competitor-connections",
"signal_id": "sig_cc_2026070412345",
"detected_at": "2026-07-04T08:47:00Z",
"competitor": {
"name": "Concurrent A",
"linkedin_url": "https://linkedin.com/company/concurrent-a",
"salesperson": {
"name": "Thomas Martin",
"title": "Account Executive",
"linkedin_url": "https://linkedin.com/in/thomas-martin-ae"
}
},
"contact": {
"name": "Sophie Renard",
"title": "Directrice commerciale",
"linkedin_url": "https://linkedin.com/in/sophie-renard",
"email": "s.renard@entreprise-cible.fr",
"company": {
"name": "Entreprise Cible SAS",
"domain": "entreprise-cible.fr",
"industry": "Software",
"size": 120,
"region": "FR-IDF"
}
},
"metadata": {
"monitoring_id": "mon_cc_789",
"icp_match_score": 88
}
}
Le champ icp_match_score indique à quel point le contact correspond aux filtres que vous avez définis. Un score supérieur à 80 est généralement suffisant pour déclencher une action commerciale immédiate.
Pourquoi ce signal change le rapport au timing
La plupart des équipes commerciales apprennent trop tard qu’un concurrent a engagé un prospect. Elles le découvrent lors d’un appel où le prospect mentionne « nous évaluons aussi votre concurrent », ou via un avis d’attribution quand le marché est déjà perdu.
Le signal competitor-connections renverse cette temporalité. Vous êtes alerté au moment précis où la conversation concurrente s’ouvre, pas après qu’elle soit terminée. C’est une position radicalement différente : vous pouvez soit engager en parallèle, soit préparer un angle différenciant avant que le prospect ne soit convaincu par l’argumentaire adverse.
Un seul message, au bon moment, sans relance. Si le contact ne répond pas maintenant, il traversera d’autres signaux d’affaires dans les mois qui suivent (en moyenne quatre par an selon les données Rodz) et chaque nouveau contexte offrira un nouveau prétexte de contact légitime.
Signal public-tenders : détecter les appels d’offres publics
Ce que détecte ce signal
Le signal public-tenders surveille les plateformes de marchés publics (BOAMP, JOUE, plateformes de dématérialisation régionales) pour identifier les appels d’offres correspondant à vos critères. L’API Rodz agrège et normalise les données issues de multiples sources pour fournir une vision unifiée :
- Appels d’offres ouverts : marchés publics, accords-cadres, procédures adaptées.
- Avis d’attribution : identification des entreprises qui remportent des contrats dans votre secteur.
- Renouvellements à venir : détection des marchés arrivant à échéance, donc susceptibles de faire l’objet d’une nouvelle consultation.
- Sous-traitance : opportunités liées à des marchés existants.
Quand utiliser ce signal
Réponse aux appels d’offres. C’est le cas d’usage le plus direct. Vous êtes alerté dès qu’un marché correspondant à votre domaine est publié, ce qui vous laisse le maximum de temps pour préparer votre réponse. Je veux contacter une organisation publique quand elle publie un appel d’offres dans mon secteur : c’est exactement ce que ce signal produit.
Identification de prospects. Les avis d’attribution révèlent quelles entreprises remportent des contrats publics. Si un concurrent gagne un marché, l’acheteur public sera de nouveau en consultation dans quelques années. Préparer son positionnement en amont, c’est ne pas arriver le jour J sans contexte.
Veille sectorielle. En analysant les volumes et les montants des marchés publiés dans un secteur donné, on évalue la dynamique d’un marché et on adapte sa stratégie commerciale. Pour approfondir cette dimension, consultez notre guide de veille sectorielle.
Exemple de requête cURL
curl -X POST https://api.rodz.io/v1/signals/public-tenders \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"cpv_codes": ["72000000", "48000000"],
"regions": ["FR-IDF", "FR-ARA", "FR-OCC"],
"min_amount": 50000,
"max_amount": 5000000,
"tender_types": ["open", "restricted", "adapted"],
"include_awards": true,
"include_renewals": true,
"webhook_url": "https://votre-domaine.com/webhooks/tender-signals"
}'
Cette requête configure une veille sur les marchés publics dans les secteurs du logiciel et des services informatiques (codes CPV 72 et 48), pour trois régions françaises, avec des montants compris entre 50 000 et 5 000 000 euros.
Payload webhook
Quand un appel d’offres correspondant à vos critères est détecté, voici le payload envoyé :
{
"signal_type": "public-tenders",
"signal_id": "sig_pt_2026030798765",
"detected_at": "2026-03-07T09:15:00Z",
"tender": {
"reference": "BOAMP-2026-0307-001234",
"title": "Fourniture et maintenance d'une solution de gestion de projet collaborative",
"buyer": {
"name": "Métropole de Lyon",
"siret": "200046977 00011",
"type": "collectivite_territoriale"
},
"cpv_codes": ["72212000", "72267000"],
"estimated_amount": 450000,
"currency": "EUR",
"publication_date": "2026-03-07",
"deadline": "2026-04-15T16:00:00Z",
"procedure_type": "open",
"region": "FR-ARA",
"source_url": "https://www.boamp.fr/avis/detail/2026-0307-001234",
"lots": [
{
"number": 1,
"title": "Licence et déploiement",
"estimated_amount": 300000
},
{
"number": 2,
"title": "Maintenance et support",
"estimated_amount": 150000
}
]
},
"metadata": {
"monitoring_id": "mon_xyz789",
"match_score": 92
}
}
Le champ match_score (de 0 à 100) indique le degré de correspondance entre l’appel d’offres et vos critères. Un score élevé signifie que l’opportunité est pertinente pour votre activité.
Cas d’usage : veille proactive sur les marchés publics
Une ESN spécialisée dans les solutions cloud configure le signal public-tenders avec des codes CPV ciblés sur l’hébergement et les services cloud. Elle reçoit en moyenne 15 à 20 alertes par semaine, filtrées par région et par montant.
Grâce aux avis d’attribution, l’équipe commerciale identifie aussi les collectivités qui viennent de signer un contrat avec un concurrent. Elle note ces comptes dans le CRM avec une date de renouvellement estimée (généralement 3 à 4 ans plus tard) et lance un programme de nurturing 12 mois avant l’échéance. Cette approche lui permet de se positionner comme alternative crédible bien avant la publication du nouvel appel d’offres.
Combiner veille concurrentielle et appels d’offres
La vraie puissance de ces signaux apparaît quand on les croise. Voici trois stratégies de combinaison qui produisent des résultats concrets.
Stratégie 1 : Détection précoce des cycles d’achat
Configurez le signal competitor-relationships sur les acheteurs publics que vous ciblez. Quand un responsable achats d’une collectivité commence à interagir avec les contenus de vos concurrents sur LinkedIn, c’est souvent le signe qu’un appel d’offres est en préparation. Vous pouvez engager la conversation en amont de la publication officielle, pendant la phase de sourcing où l’acheteur explore le marché. C’est la fenêtre la plus courte, mais aussi la plus fertile.
Stratégie 2 : Analyse post-attribution
Quand le signal public-tenders vous notifie qu’un concurrent a remporté un marché, activez le signal competitor-relationships sur l’acheteur concerné. Vous surveillez ainsi la qualité de la relation entre l’acheteur et le titulaire. Des signes de mécontentement (baisse d’engagement, interactions avec d’autres fournisseurs) signalent une possible résiliation anticipée ou un non-renouvellement. Rien de spectaculaire, mais cela arrive régulièrement.
Stratégie 3 : Scoring enrichi des opportunités
Intégrez les données des deux signaux dans votre CRM pour construire un score d’opportunité composite. Un prospect qui interagit avec vos concurrents (score competitor-relationships élevé) et dont le secteur publie beaucoup d’appels d’offres (volume public-tenders en hausse) représente une opportunité à prioriser. Ce croisement de signaux permet à vos équipes de concentrer leur énergie sur les comptes les plus avancés dans leur cycle d’achat. Et si ce même prospect vient de connecter avec un commercial concurrent, le score monte d’un cran supplémentaire : trois signaux superposés sur un même compte, c’est le profil d’un compte archi-prioritaire.
Exemple d’automatisation combinée
Voici un scénario type que vous pouvez mettre en œuvre avec un outil d’automatisation comme Make :
- Le webhook competitor-connections détecte qu’un profil ICP vient de connecter avec un commercial d’un concurrent.
- Une recherche automatique est lancée sur le signal public-tenders pour vérifier si un appel d’offres est en cours ou à venir pour l’organisation de ce contact.
- Si un appel d’offres est trouvé, une tâche prioritaire est créée dans le CRM avec toutes les informations consolidées : coordonnées du contact, détail du marché, deadline de dépôt.
- Si aucun appel d’offres n’est publié, le contact est ajouté à une séquence de nurturing personnalisée, avec une alerte programmée six mois avant la date de renouvellement estimée du dernier marché attribué dans ce secteur.
Pour aller plus loin sur les possibilités d’intégration, consultez la documentation complète de l’API Rodz.
Questions fréquentes
Quels concurrents puis-je surveiller avec le signal competitor-relationships ?
Autant que nécessaire. Il suffit de fournir leur nom d’entreprise, leur URL LinkedIn ou leur domaine web. L’API Rodz accepte un tableau de concurrents dans chaque requête de configuration. Pour des résultats exploitables rapidement, commencer par 5 à 10 concurrents principaux, puis élargir en fonction des résultats, est une approche sensée.
Le signal competitor-connections nécessite-t-il un accès spécial ?
Non. Il s’active comme n’importe quel signal via l’API, en fournissant l’URL LinkedIn de la page entreprise du concurrent et les filtres ICP souhaités. Rodz se charge de l’extraction et de la mise à jour régulière de la liste des commerciaux rattachés à ce concurrent. Vous n’avez pas à maintenir cette liste manuellement.
Le signal public-tenders couvre-t-il les marchés européens ?
Oui. Le signal public-tenders agrège les données du BOAMP (Bulletin Officiel des Annonces de Marchés Publics) pour la France, du JOUE (Journal Officiel de l’Union Européenne) pour les marchés européens, et de nombreuses plateformes de dématérialisation régionales. La couverture géographique exacte est détaillée dans la référence API. Pour en savoir plus sur les obligations de publication, vous pouvez consulter directement le portail européen des marchés publics TED.
Quel est le délai entre la détection d’un signal et la réception du webhook ?
Pour le signal competitor-relationships et competitor-connections, le délai moyen est de 1 à 4 heures. L’API Rodz analyse les interactions sur les réseaux sociaux à intervalles réguliers et envoie les notifications dès qu’un événement correspondant à vos critères est identifié. Pour le signal public-tenders, les appels d’offres sont détectés dans les 2 heures suivant leur publication sur les plateformes officielles. Ce délai est ce qui fait la différence : au-delà de 48 heures, un signal perd l’essentiel de sa valeur opérationnelle.
Comment filtrer les signaux pour éviter le bruit ?
Deux leviers. Pour competitor-relationships, ajustez le paramètre min_intensity_score : un score minimum de 5 ou plus élimine les interactions superficielles (simples likes) pour ne conserver que les engagements substantiels (commentaires, partages, mentions). Pour competitor-connections, les filtres ICP (persona, secteur, région, taille) font l’essentiel du travail de qualification : Rodz ne transmet que les connexions qui correspondent au profil défini. Pour public-tenders, affinez vos codes CPV, vos zones géographiques et vos fourchettes de montants. Plus vos critères sont précis, plus les alertes sont pertinentes. La nomenclature CPV officielle de la Commission européenne est une bonne référence pour identifier les codes adaptés à votre activité.
Puis-je intégrer ces signaux directement dans mon CRM ?
Oui. Les webhooks Rodz envoient des payloads JSON standardisés que vous pouvez traiter avec n’importe quel outil d’intégration (Make, Zapier, n8n) ou directement via votre propre middleware. Les champs account.id et signal_id facilitent la déduplication et le rapprochement avec vos fiches CRM existantes. Pour configurer vos webhooks, suivez notre guide dédié.
Quelle est la différence entre un avis de marché et un avis d’attribution ?
Un avis de marché est la publication d’un appel d’offres : l’acheteur public recherche un fournisseur. C’est le moment de préparer et soumettre votre candidature. Un avis d’attribution informe du résultat : il indique quel fournisseur a remporté le marché, pour quel montant. Ce second type d’avis est précieux pour votre veille, car il révèle qui gagne quoi et à quel prix.
Comment configurer des alertes pour les renouvellements de marchés ?
Activez le paramètre include_renewals: true dans votre requête de configuration. L’API Rodz analyse les dates d’échéance des marchés en cours et envoie une alerte quand un marché arrivant à expiration correspond à vos critères. Vous recevez cette notification suffisamment en amont pour préparer votre positionnement avant la publication du nouvel appel d’offres.
Les signaux competitor-relationships fonctionnent-ils au niveau du contact ou de l’entreprise ?
Les deux. L’API Rodz détecte les interactions au niveau individuel (un décideur qui commente un post concurrent) et les agrège au niveau de l’entreprise. Le payload webhook inclut les informations du contact (nom, titre, URL LinkedIn) ainsi que celles de l’entreprise. Vous pouvez donc cibler directement la personne qui a manifesté de l’intérêt, tout en ayant une vision globale de l’engagement au niveau du compte.