Nouvelle version

Meetlane devient le premier agent IA payé à la performance !

0 € d'abonnement, 99 € par lead qualifié : votre agent trouve vos prospects, les contacte par email et en multicanal, détecte leurs signaux d'achat, relance au bon moment grâce à ses réflexes et ne vous transfère que les contacts prêts à échanger. Sans engagement, arrêt quand vous voulez.

Documentation API Meetlane - v1.0

L'API Meetlane permet d'accéder aux fonctionnalités de la plateforme d'automatisation commerciale.

Introduction

L'API Meetlane permet d'accéder aux fonctionnalités de la plateforme d'automatisation commerciale. Cette API utilise une authentification par token et retourne des données au format JSON.

Format des Réponses :

Toutes les réponses de l'API suivent un format standardisé incluant un indicateur de succès.

Rate Limiting :

L'API est limitée à 100 requêtes par minute par utilisateur pour garantir la stabilité du service.

Limitations importantes :

Les agents en pause (status: paused) peuvent être consultés via l'API mais aucune action d'écriture n'est autorisée. Ces actions retourneront une erreur HTTP 403 avec le message "Agent paused".

Les agents annulés (status: cancelled) peuvent être consultés via l'API mais aucune action d'écriture n'est autorisée (ajout de contacts, validation d'emails/courriers, etc.). Ces actions retourneront une erreur HTTP 403 avec le message "Agent cancelled".

Terminologie et compatibilité :

Meetlane utilise le terme "agent" dans toute son API pour désigner un agent commercial IA.

Par compatibilité technique, l'alias campaign_filter est également accepté mais agent_filter est recommandé.

Si les deux paramètres sont fournis, agent_filter est prioritaire.

Authentification

L'API utilise l'authentification par clé API. Vous devez créer une clé API depuis votre espace utilisateur, et l'utiliser dans vos requêtes d'une des façons suivantes.

  • Header Authorization : Authorization: Bearer YOUR_API_KEY
  • Paramètre URL : ?api_key=YOUR_API_KEY

Pour créer une clé API, rendez-vous sur votre espace puis dans la section "API", créez votre clé, et copiez la (elle ne sera affichée qu'une fois). Gardez votre clé API confidentielle et ne la partagez jamais publiquement.

Serveur MCP (Model Context Protocol)

Branchez votre compte Meetlane à n'importe quel client compatible MCP (claude.ai, Claude Desktop, Cursor, Claude Code) pour interagir conversationnellement avec vos agents, emails, prospects (leads) et actions LinkedIn. Le serveur est accessible sur mcp.meetlane.ai avec votre token API habituel.

Authentification :

Le token est le même que pour l'API REST : générez-le depuis votre espace utilisateur, section « API ». Deux façons de le fournir :

  • Header Authorization: Bearer <votre-token> (recommandé)
  • Paramètre d'URL ?api_key=<votre-token> - pour les clients qui ne permettent pas de configurer de headers

Configuration client (exemple Claude Desktop / Claude Code) :

Dans le fichier de configuration de votre client (mcpServers), ajoutez une entrée nommée meetlane avec :

  • type : http
  • url : https://mcp.meetlane.ai/mcp
  • headers : Authorization: Bearer sk_votre_token... (votre token API généré depuis l'espace utilisateur)

Configuration claude.ai (connecteur personnalisé) :

Paramètres > Connecteurs > Ajouter un connecteur personnalisé, avec comme URL : https://mcp.meetlane.ai/mcp?api_key=sk_votre_token...

Limitations :

  • Rate-limit 100 req/min partagé avec l'API REST.
  • Token = accès complet (pas de scopes en MVP).
  • Le token Meetlane n'est utilisable que sur mcp.meetlane.ai (et inversement pour Manuscry).

Outils disponibles (21) :

  • add_to_blocklist - Ajoute une entrée à la blocklist (email, domain, company, siren, address).
  • block_contact - Bloque un contact et annule ses contenus en attente.
  • get_account_info - Récupère les infos du compte.
  • get_agent_reflexes - Règles IA configurées pour un agent.
  • get_agent_stats - Statistiques d'un agent (period: 7d/30d/90d/365d).
  • get_linkedin_weekly_stats - Statistiques LinkedIn hebdomadaires.
  • list_agents - Liste les agents IA.
  • list_blocklist - Liste la blocklist.
  • list_contacts - Liste les contacts avec filtres.
  • list_emails - Liste les emails avec filtres (category, agent, search).
  • list_emails_to_handle - Réponses IA en attente de validation.
  • list_emails_to_validate - Prises de contact en attente de validation.
  • list_linkedin_actions - Actions LinkedIn en attente.
  • mark_linkedin_action_failed - Marque une action LinkedIn comme échouée (avec raison facultative).
  • mark_linkedin_action_sent - Marque une action LinkedIn comme effectuée.
  • reject_email - Rejette une prise de contact.
  • remove_from_blocklist - Retire une entrée de la blocklist.
  • skip_email_response - Ignore une réponse IA.
  • update_linkedin_action_message - Modifie le message texte d'une action LinkedIn avant envoi.
  • validate_email - Approuve une prise de contact.
  • validate_email_response - Valide une réponse IA.

Informations utilisateur

Récupère les informations de l'utilisateur connecté et la liste de ses agents (hors brouillons).

GET https://meetlane.ai/api/api/me

Exemple de requête

Exemple de réponse

Agents retournés :

  • Seuls les agents publiés sont retournés (status != draft)
  • Les brouillons ne sont pas inclus dans les résultats

Champs des agents :

  • internal_note : Note personnelle pour identifier l'agent (nullable, 20 caractères max)
  • is_active : true si status = "active"

Statuts d'agent disponibles :

  • setup : Agent en cours de configuration
  • active : Agent actif et opérationnel
  • paused : Agent en pause
  • cancelled : Agent annulé (terminal)
  • pending_payment : Agent en attente de paiement

Liste des contacts

Récupère la liste des contacts avec pagination et filtres.

GET https://meetlane.ai/api/api/contacts

Paramètres

Nom Type Requis Description
page integer Non Numéro de page
per_page integer Non Éléments par page (1-100)
search string Non Recherche textuelle
status_filter string Non Filtre par statut
source_filter string Non Filtre par source
agent_filter string Non ID hashé de l'agent (recommandé - alias campaign_filter accepté)
targeting_filter string Non ID hashé du ciblage
sort_field string Non Champ de tri
sort_direction string Non Direction (asc/desc)
include_emails boolean Non Inclure les emails
semantic_search boolean Non Recherche par IA

Exemple de requête

Exemple de réponse

Statuts disponibles :

  • enrich : Prospects (leads) en enrichissement
  • neutral : Prospects neutralisés (post-enrichissement sans match)
  • contact : Prospects enrichis, prêts pour génération
  • validation : En attente de validation
  • nurture : En nurturing actif
  • won : Convertis en clients (terminal positif)
  • lost : Perdus (terminal)
  • later : À recontacter
  • noanswer : Séquence terminée sans réponse
  • error : Erreur technique (transitoire)
  • block : Bloqué (terminal, RGPD/blocklist)
  • cancelled : Annulé

Sources disponibles :

  • linkedin_auto : Prospection LinkedIn automatique (ciblage)
  • linkedin_manual : Ajout manuel via URL LinkedIn
  • competitor : Ciblage concurrent (réacteurs LinkedIn)
  • smart_auto : Ciblage IA (Smart Targeting, si activé sur votre compte)
  • inbound_email : Prospect créé automatiquement depuis un email entrant sur votre boîte, sans correspondance avec un contact existant
  • manual : Ajout manuel (autres sources)

Champs additionnels :

  • relevance : Score de pertinence (entier 1-10, null tant que non scoré)
  • linkedin_url : URL du profil LinkedIn (nullable)
  • picture : URL de la photo de profil (nullable)
  • agent_targeting : Ciblage LinkedIn associé (nullable)

Propriétés de touchpoints :

  • has_touchpoint_email : Email envoyé au prospect (boolean)
  • has_touchpoint_email_answer : Prospect a répondu par email (boolean)
  • has_touchpoint_letter : Courrier livré au prospect (boolean)
  • has_touchpoint_linkedin : Invitation LinkedIn envoyée au prospect (boolean)
  • has_touchpoint_letter_flash : QR code flashé par le prospect (boolean)
  • has_returned_letter : Courrier retourné (NPAI/PND) (boolean)

Masquage pré-contact (plans Performance) : pour un agent facturé au modèle performance, contacts[].value et linkedin_url sont masqués tant qu'aucune preuve d'envoi n'existe sur le prospect (email, LinkedIn ou courrier). Les clés restent présentes, seules les valeurs sont remplacées. La recherche par fragment de coordonnée (search) ne matche jamais un prospect masqué ; la recherche par nom/société reste disponible. filters_applied.contacts_masked vaut true uniquement si votre compte a au moins un agent sur un plan performance.

Démarrer la prospection sur un contact LinkedIn

Lance la prospection automatique (emails + courriers selon votre agent) sur un contact identifié par son URL LinkedIn, en l'ajoutant à votre agent. Meetlane enrichit le profil, recherche l'email pro, puis démarre la séquence configurée. À utiliser pour brancher Meetlane à votre CRM, vos formulaires ou tout autre outil d'intégration. Compatible avec les agents en ciblage automatique comme en ajout manuel.

POST https://meetlane.ai/api/api/campaigns/{agent_id}/contacts

Paramètres

Nom Type Requis Description
agent_id string Oui ID hashé de l'agent

Exemple de requête

Exemple de réponse

Compatible avec tous les agents Meetlane : Fonctionne avec les agents en ciblage automatique (linkedin_auto) et en ajout manuel (linkedin_manual).

Permet d'injecter des contacts supplémentaires dans un agent existant, même si celui-ci utilise un ciblage LinkedIn automatique.

Vérification préalable recommandée :

Utilisez GET /api/campaigns/{agent_id}/settings pour :

  1. Récupérer la liste exacte des champs requis selon votre configuration
  1. Comprendre quels champs sont utilisés dans vos emails/lettres

Champs obligatoires :

  • linkedin_url : URL complète du profil LinkedIn (format: https://www.linkedin.com/in/nom-prenom)

Champs optionnels :

  • identifier : Identifiant unique (auto-généré si vide)
  • ai_context : Contexte personnalisé complémentaire (recommandé)
  • Variables personnalisées selon la configuration de votre agent

Champ ai_context - Utilisation et fonctionnement :

Le champ ai_context est optionnel mais fortement recommandé. Voici comment il fonctionne :

1. Contexte automatique extrait du profil LinkedIn :

Meetlane extrait automatiquement du profil LinkedIn :

  • Poste actuel et entreprise
  • Parcours professionnel et expériences
  • Compétences et domaines d'expertise
  • Formation et diplômes

2. Votre contexte personnalisé (ai_context) :

Utilisez ce champ pour ajouter des informations spécifiques qui ne sont PAS sur le profil LinkedIn :

  • Contexte de rencontre (événement, conférence, recommandation)
  • Intérêts exprimés lors d'échanges directs
  • Besoins spécifiques identifiés
  • Notes de qualification commerciale

3. Fusion intelligente :

Votre contexte personnalisé sera fusionné avec les informations extraites du profil.

L'IA utilisera les deux sources pour générer des emails ultra-personnalisés.

Exemple concret :

Profil LinkedIn : "Directeur Marketing chez TechCorp, 10 ans d'expérience en SaaS B2B"

Votre ai_context : "Rencontré au salon BigData Paris, cherche solution d'automatisation"

Résultat : Email personnalisé mentionnant son poste + le contexte de rencontre + ses besoins

Gestion des crédits Meetlane :

Les contacts manuels LinkedIn consomment vos crédits contacts (leads_available_meetlane).

  • Si crédits disponibles : Traitement immédiat (dans les 30 min)
  • Si crédits insuffisants : Contacts ajoutés au sheet mais non traités
  • Les contacts en attente seront traités automatiquement lors du prochain rechargement de crédits

Traitement asynchrone :

Le contact passe par plusieurs étapes automatiques :

  1. Ajout au sheet : Contact stocké avec vos informations (immédiat)
  1. Enrichissement LinkedIn : Extraction du profil toutes les 30 min via all:leads-create-from-linkedin-manual-sheets
  1. Recherche d'adresse : Localisation de l'adresse postale si envoi de courrier configuré
  1. Création du prospect : Prospect enrichi créé avec toutes les informations
  1. Génération des messages : Emails/courriers personnalisés générés selon votre configuration

Le délai total entre l'ajout via API et la prise de contact peut être de 30 minutes maximum.

Ajout en masse :

Pour ajouter plusieurs contacts :

  • Effectuez une requête par contact
  • Rate limit : 100 requêtes par minute par utilisateur
  • Utilisez des identifiers uniques pour éviter les doublons

Champs dynamiques :

Si votre agent utilise des variables {custom} dans les emails/lettres, vous devez inclure les champs correspondants.

Utilisez GET /api/campaigns/{agent_id}/settings pour connaître tous les champs requis.

Gestion des erreurs de validation :

En cas d'erreur de validation (HTTP 422), la réponse inclut trois clés pour faciliter le debugging :

  • validation_errors : objet avec chaque champ en erreur et son message explicite (ex. linkedin_url: "L'URL LinkedIn est obligatoire pour les campagnes LinkedIn")
  • missing_fields : tableau des champs obligatoires manquants
  • invalid_fields : tableau des champs présents mais invalides (format incorrect, etc.)

Bloquer un contact

Bloque un contact et tous ses doublons, annule les contenus en attente et ajoute à la blocklist.

DELETE https://meetlane.ai/api/api/contacts/{leadId}/block

Paramètres

Nom Type Requis Description
leadId string Oui ID hashé du contact

Exemple de requête

Exemple de réponse

Actions automatiques :

  • Le contact et tous ses doublons (même email) sont bloqués
  • L'email est ajouté à votre blocklist
  • L'adresse postale est ajoutée à la blocklist si disponible
  • Tous les emails en attente (réponses et followups) sont annulés
  • Toutes les lettres en attente (avant génération) sont annulées

Retour :

  • duplicates_blocked : Nombre de doublons bloqués en plus du contact principal
  • emails_cancelled : Nombre d'emails annulés
  • letters_cancelled : Nombre de lettres annulées

Statistiques d'un agent

Récupère les statistiques de performance d'un agent.

GET https://meetlane.ai/api/api/agents/{agentId}/stats

Paramètres

Nom Type Requis Description
agentId string Oui ID hashé de l'agent
period string Non Période d'analyse (7d, 14d, 30d, 60d, 90d, 120d, 180d, 365d)

Exemple de requête

Exemple de réponse

Endpoints disponibles:

  • /api/agents/{agentId}/stats (recommandé pour Meetlane)
  • /api/campaigns/{agentId}/stats (alias fonctionnel pour compatibilité)

Comptage des messages reçus :

  • received ne compte que les réponses réelles de prospects : les messages automatiques (réponses d'absence, anti-spam, emails non attribués) sont exclus du compteur

Réflexes d'un agent

Récupère la liste des réflexes configurés pour un agent, avec leurs statistiques de déclenchement et les 5 dernières exécutions de chaque réflexe. Disponible sur les agents récents uniquement.

GET https://meetlane.ai/api/api/agents/{agentId}/reflexes

Paramètres

Nom Type Requis Description
agentId string Oui ID hashé de l'agent

Exemple de requête

Exemple de réponse

Prérequis : Les réflexes ne sont disponibles que sur les agents récents. Les agents plus anciens retournent une erreur 400.

Les réflexes sont des comportements automatiques post-séquence qui analysent le contexte du contact et déclenchent un email personnalisé si la situation correspond.

Chaque réflexe inclut ses 5 dernières exécutions avec le nom du prospect, l'entreprise, l'analyse IA et la date.

Le champ is_protected indique un réflexe de base fourni avec l'agent : il ne peut pas être supprimé (il peut en revanche être mis en pause).

Liste des emails

Récupère les emails de tous vos agents.

GET https://meetlane.ai/api/api/emails

Paramètres

Nom Type Requis Description
category string Non Catégorie d'emails
page integer Non Numéro de page
per_page integer Non Éléments par page
search string Non Recherche textuelle
semantic_search boolean Non Recherche par IA
agent_filter string Non ID hashé de l'agent (recommandé - alias campaign_filter accepté)

Exemple de requête

Catégories disponibles :

  • received : Emails reçus
  • sent : Emails envoyés
  • to_handle : À traiter
  • interested : Prospects intéressés
  • not_interested : Non intéressés
  • neutral : Neutres
  • block : À bloquer
  • auto_reply : Réponses automatiques
  • antispam : Antispam
  • unattributed : Non attribués (reçus sans prospect associé)

Volume unattributed : lorsque la création automatique de leads entrants est activée sur votre compte, un email reçu d'un expéditeur inconnu humain devient un prospect inbound_email (voir GET /api/contacts) au lieu de rester unattributed. Cela ne concerne qu'une minorité des emails de cette catégorie : la majorité (antispam, réponses automatiques, bounces, expéditeur invalide) continue à l'alimenter.

Emails en attente de validation

Récupère la liste des emails de prise de contact en attente de validation.

GET https://meetlane.ai/api/api/emails/to-validate

Paramètres

Nom Type Requis Description
page integer Non Numéro de page
per_page integer Non Éléments par page (1-100)
agent_filter string Non ID hashé de l'agent (recommandé - alias campaign_filter accepté)

Exemple de requête

Exemple de réponse

Masquage pré-contact (plans Performance) : pour un agent facturé au modèle performance, le champ email est masqué tant qu'aucune preuve d'envoi n'existe sur le prospect. La clé reste présente, seule la valeur est remplacée.

Réponses email à traiter

Récupère la liste des réponses email en attente de traitement.

GET https://meetlane.ai/api/api/emails/to-handle

Paramètres

Nom Type Requis Description
page integer Non Numéro de page
per_page integer Non Éléments par page (1-100)
agent_filter string Non ID hashé de l'agent (recommandé - alias campaign_filter accepté)

Exemple de requête

Exemple de réponse

Valider une prise de contact

Valide une prise de contact email pour envoi automatique.

POST https://meetlane.ai/api/api/emails/validate/{leadId}

Paramètres

Nom Type Requis Description
leadId string Oui ID hashé du prospect
custom_messages object Non Messages personnalisés

Exemple de requête

Exemple de réponse

Délai de carence :

Le prospect sera validé définitivement après 60 minutes.

Pendant ce délai, vous pouvez encore le refuser.

Personnalisation optionnelle :

Vous pouvez modifier les messages personnalisés en passant un objet custom_messages.

Refuser une prise de contact

Refuse une prise de contact email.

POST https://meetlane.ai/api/api/emails/reject/{leadId}

Paramètres

Nom Type Requis Description
leadId string Oui ID hashé du prospect

Exemple de requête

Exemple de réponse

Délai de carence :

Le prospect sera supprimé définitivement après 60 minutes.

Pendant ce délai, vous pouvez encore le valider.

Valider une réponse email

Valide ou modifie une réponse email générée par l'IA pour envoi automatique.

POST https://meetlane.ai/api/api/emails/validate-response/{emailId}

Paramètres

Nom Type Requis Description
emailId string Oui ID hashé de l'email reçu
content string Non Contenu personnalisé de la réponse (optionnel)
cc email Non Email en copie pour transfert (optionnel). Pris en compte uniquement quand l'email est gagné (catégorie interested) ou le lead déjà converti (won), sinon ignoré (cc_added=false). Sans ce champ, le CC de transfert déjà préparé est conservé.

Exemple de requête

Exemple de réponse

Paramètres optionnels :

  • Si content n'est pas fourni, utilise la réponse IA existante
  • Si cc est fourni, le prospect est automatiquement marqué comme gagné (status: won), sauf s'il est déjà en statut lost, block ou cancelled (le CC est ajouté à l'email mais le statut du prospect ne change pas)

Statuts de réponse :

  • waiting : En attente d'envoi automatique
  • La réponse sera envoyée par la commande meetlane:emails-send-replies

Type de réponse :

  • ai_validated : Si la réponse IA est conservée
  • manual : Si le contenu a été modifié

Ignorer une réponse email

Ignore une réponse email générée par l'IA sans y répondre.

POST https://meetlane.ai/api/api/emails/skip-response/{emailId}

Paramètres

Nom Type Requis Description
emailId string Oui ID hashé de l'email reçu

Exemple de requête

Exemple de réponse

Utilisation :

Marque l'email comme traité sans envoyer de réponse.

Utile pour les emails qui ne nécessitent pas de réponse (auto-reply, antispam, etc.).

Liste des courriers

Récupère les courriers de tous vos agents.

GET https://meetlane.ai/api/api/letters

Paramètres

Nom Type Requis Description
category string Non Catégorie de courriers
page integer Non Numéro de page
per_page integer Non Éléments par page (1-100)
search string Non Recherche textuelle
agent_filter string Non ID hashé de l'agent (recommandé - alias campaign_filter accepté)
lead_identifier string Non Identifiant unique du contact (celui fourni lors de l'ajout via API ou l'interface)

Exemple de requête

Exemple de réponse

Catégories disponibles :

  • to_validate : Courriers en attente de validation
  • validated : Courriers validés en attente d'envoi
  • rejected : Courriers refusés en attente de suppression
  • error : Courriers en erreur
  • insufficient_funds : Courriers en attente de crédits
  • in_preparation : Courriers en génération, impression ou attente d'envoi
  • transiting : Courriers en transit postal
  • delivered : Courriers délivrés
  • returned : Courriers retournés (NPAI/PND)
  • scanned : Courriers avec QR code flashé
  • not_scanned : Courriers avec QR code non flashé

Filtrage par identifiant :

Le paramètre lead_identifier permet de retrouver les courriers d'un contact spécifique en utilisant l'identifiant unique fourni lors de l'ajout (via API ou interface). Combiné avec agent_filter, il permet de retrouver précisément un courrier.

Statuts disponibles :

  • validating : En attente de validation utilisateur
  • generating : En cours de génération des visuels
  • printing : En attente d'impression
  • sending : En attente d'envoi
  • transiting : En transit
  • delivered : Livré
  • returned : Retourné (NPAI/PND)
  • cancelled : Annulé
  • error : Erreur technique

Masquage pré-contact (plans Performance) : pour un agent facturé au modèle performance, le bloc address est masqué tant qu'aucune preuve d'envoi n'existe sur le prospect destinataire. Les clés restent présentes, seules les valeurs sont remplacées.

Courriers en attente de validation

Récupère la liste des courriers en attente de validation.

GET https://meetlane.ai/api/api/letters/to-validate

Paramètres

Nom Type Requis Description
page integer Non Numéro de page
per_page integer Non Éléments par page (1-100)
agent_filter string Non ID hashé de l'agent (recommandé - alias campaign_filter accepté)

Exemple de requête

Exemple de réponse

Masquage pré-contact (plans Performance) : pour un agent facturé au modèle performance, le bloc address est masqué tant qu'aucune preuve d'envoi n'existe sur le prospect destinataire. Les clés restent présentes, seules les valeurs sont remplacées.

Valider un courrier

Valide un courrier pour envoi automatique.

POST https://meetlane.ai/api/api/letters/validate/{letterId}

Paramètres

Nom Type Requis Description
letterId string Oui ID hashé du courrier
blocks array Non Blocs de contenu personnalisés

Exemple de requête

Exemple de réponse

Délai de carence :

Le courrier sera validé définitivement après 60 minutes.

Pendant ce délai, vous pouvez encore le refuser.

Personnalisation optionnelle :

Vous pouvez modifier les blocs de contenu en passant un tableau blocks.

Chaque bloc doit avoir un id et un content.

Refuser un courrier

Refuse un courrier.

POST https://meetlane.ai/api/api/letters/reject/{letterId}

Paramètres

Nom Type Requis Description
letterId string Oui ID hashé du courrier

Exemple de requête

Exemple de réponse

Délai de carence :

Le courrier sera supprimé définitivement après 60 minutes.

Pendant ce délai, vous pouvez encore le valider.

Liste de blocage

Récupère la liste de blocage.

GET https://meetlane.ai/api/api/blocklist

Paramètres

Nom Type Requis Description
type string Non Type de blocage (email, domain, company, siren, address, all)
page integer Non Numéro de page
per_page integer Non Éléments par page

Exemple de requête

Exemple de réponse

Types disponibles :

  • email : Adresse email exacte
  • domain : Nom de domaine
  • company : Nom d'entreprise (recherche approximative)
  • siren : Numéro SIREN (9 chiffres)
  • address : Identité complète (format: firstname_slug|lastname_slug|zip)

Note sur le type address :

Le type address utilise un format spécial pour bloquer une personne par son identité complète.

Format de la valeur : firstname_slug|lastname_slug|code_postal

Exemple : jean|dupont|75001

La slugification utilise Str::slug() avec locale 'fr' pour gérer les accents français.

Ajouter à la blocklist

Ajoute un élément à bloquer.

POST https://meetlane.ai/api/api/blocklist

Paramètres

Nom Type Requis Description
type string Oui Type (email, domain, company, siren, address)
value string Oui Valeur à bloquer

Exemple de requête

Exemple de réponse

Types supportés :

  • email : Adresse email complète (ex: spam@example.com)
  • domain : Nom de domaine (ex: competitor.com)
  • company : Nom d'entreprise (ex: Concurrent SARL)
  • siren : Numéro SIREN à 9 chiffres (ex: 123456789)
  • address : Identité complète au format firstname_slug|lastname_slug|zip (ex: jean|dupont|75001)

Validation automatique :

Le type est détecté automatiquement selon le format de la valeur.

Pour le type address, la valeur doit être pré-formatée avec les slugs.

Supprimer de la blocklist

Supprime un élément de la blocklist par ID ou par valeur.

DELETE https://meetlane.ai/api/api/blocklist

Paramètres

Nom Type Requis Description
id string Non ID hashé de l'élément à supprimer
value string Non Valeur à débloquer (alternative à id)

Exemple de requête

Exemple de réponse

Méthodes de suppression :

  • Par ID : Utilisez le paramètre id avec l'ID hashé récupéré depuis GET /api/blocklist
  • Par valeur : Utilisez le paramètre value avec la valeur exacte

Note : Au moins un des deux paramètres (id ou value) doit être fourni. Si les deux sont fournis, id est prioritaire.

Historique des rendez-vous calendrier

Récupère l'historique des rendez-vous pris via la page de booking calendrier d'un agent.

GET https://meetlane.ai/api/api/agents/{agentId}/calendar-events

Paramètres

Nom Type Requis Description
agentId string Oui ID hashé de l'agent
page integer Non Numéro de page
per_page integer Non Éléments par page (1-50)

Exemple de requête

Exemple de réponse

Endpoints disponibles :

  • /api/agents/{agentId}/calendar-events (recommandé pour Meetlane)
  • /api/campaigns/{campaignId}/calendar-events (alias fonctionnel pour compatibilité)

Modes de rendez-vous (meeting_mode) :

  • visio : Rendez-vous en visioconférence (mode par défaut). Si le calendrier de l'agent est synchronisé, un lien de visioconférence est généré automatiquement et remonte dans meeting_url (null sinon).
  • phone : Le prospect demande à être appelé au numéro fourni

Les rendez-vous antérieurs à l'introduction du champ remontent visio.

Statuts possibles :

  • success : Événement créé avec succès dans Google Calendar
  • failed : Échec de création dans Google Calendar (événement sauvegardé localement)
  • calendar_disconnected : Calendrier Google non connecté (événement sauvegardé localement)

Important :

Cet historique est un log local des réservations effectuées via la page de booking.

Il n'est pas synchronisé avec Google Calendar et sert uniquement de journal d'audit.

Webhooks

Les webhooks permettent de recevoir des notifications en temps réel des événements de vos agents Meetlane.

Configuration : Interface Meetlane > Paramètres > Webhooks

Webhooks disponibles :

  • Filtrage par agent configurable
  • Stockés dans votre compte utilisateur
  • Configuration d'URL par type d'événement

Format général des webhooks : Chaque webhook est envoyé en POST avec le format JSON suivant :

Format général

Masquage pré-contact (plans Performance) : sur les événements lead_ready_for_validation, letter_ready_for_validation, billable_lead_detected, linkedin_invitation_created et linkedin_invitation_ready, le champ email ou linkedin_url du prospect est masqué tant qu'aucune preuve d'envoi n'existe sur aucun canal et que l'agent est facturé au modèle performance. La clé reste toujours présente dans le payload, seule sa valeur change.

Événements emails disponibles :

1. lead_ready_for_validation - Prospect (lead) prêt à être validé

Déclenché lorsqu'un nouveau contact est prêt pour une prise de contact email.

Payload lead_ready_for_validation

2. new_email_received - Nouvel email important reçu

Déclenché lorsqu'un email nécessitant attention est reçu d'un prospect.

Payload new_email_received

3. opportunity_transferred - Opportunité commerciale détectée

Déclenché lorsque Meetlane détecte une opportunité commerciale à transférer.

Payload opportunity_transferred

Identité du prospect : firstname, lastname, job et company sont nullables - un prospect né d'un email entrant peut ne pas avoir d'identité résolue. Seul email est toujours présent : utilisez-le comme clé de rattachement dans votre CRM.

4. lead_lost - Prospect perdu

Déclenché lorsque Meetlane détecte qu'un prospect n'est pas intéressé.

Payload lead_lost

5. lead_blocked - Prospect bloqué automatiquement

Déclenché lorsqu'un prospect est bloqué automatiquement (antispam, blocklist).

⚠️ Le champ email est masqué tant que le prospect n'a jamais été contacté sur aucun canal, sur les agents facturés au résultat - même politique que lead_ready_for_validation et billable_lead_detected. Chaque lettre et chiffre est remplacé par « x », la ponctuation est conservée. L'adresse réelle apparaît dès qu'un envoi a eu lieu.

Payload lead_blocked

6. reply_sent - Réponse envoyée à un prospect

Déclenché lorsqu'une réponse (auto ou manuelle) est envoyée à un prospect.

Payload reply_sent

7. auto_reply_prepared - Réponse automatique préparée

Déclenché lorsque Meetlane prépare une réponse automatique en attente de validation.

Payload auto_reply_prepared

Événements courriers disponibles :

8. letter_ready_for_validation - Courrier prêt à être validé

Déclenché lorsqu'un courrier a été généré et attend validation.

Payload letter_ready_for_validation

9. letter_sent - Courrier envoyé au service postal

Déclenché lorsqu'un courrier validé est envoyé à l'impression et à la poste.

Payload letter_sent

10. letter_delivered - Courrier livré au destinataire

Déclenché lorsque le courrier est confirmé livré par La Poste.

Payload letter_delivered

11. letter_returned - Courrier retourné (NPAI/PND)

Déclenché lorsqu'un courrier est retourné par La Poste (adresse incorrecte).

Payload letter_returned

12. qr_code_scanned - QR code flashé sur un courrier

Déclenché lorsqu'un destinataire scanne le QR code sur un courrier.

Payload qr_code_scanned

13. new_calendar_event - Nouveau rendez-vous calendrier

Déclenché lorsqu'un rendez-vous est pris via la page de réservation calendrier.

Payload new_calendar_event

Statuts possibles :

  • success : Événement créé avec succès dans Google Calendar
  • failed : Échec de création dans Google Calendar (événement sauvegardé localement)
  • calendar_disconnected : Calendrier Google non connecté (événement sauvegardé localement)

Modes de rendez-vous (meeting_mode) :

  • visio : Rendez-vous en visioconférence (mode par défaut). Si le calendrier de l'agent est synchronisé, un lien de visioconférence est généré automatiquement et remonte dans meeting_url (null sinon).
  • phone : Le prospect demande à être appelé au numéro fourni

Identité du contact : le formulaire de réservation ne collecte plus de nom - contact_firstname et contact_lastname proviennent du lead correspondant quand il est identifié, null sinon.

Événements LinkedIn disponibles :

14. linkedin_invitation_created - Invitation LinkedIn créée

Déclenché lorsqu'une invitation LinkedIn est créée et en attente d'envoi.

Payload linkedin_invitation_created

15. linkedin_invitation_ready - Invitation LinkedIn prête

Déclenché lorsque le message d'une invitation LinkedIn a été généré par l'IA et est prêt à être envoyé.

Payload linkedin_invitation_ready

16. linkedin_invitation_sent - Invitation LinkedIn envoyée

Déclenché lorsqu'une invitation LinkedIn a été envoyée à un prospect.

Payload linkedin_invitation_sent

Événements de facturation au résultat (plan Performance) :

17. billable_lead_detected - Lead qualifié

Déclenché lorsqu'un lead est qualifié sur un agent au plan Performance (facturation au résultat, lead unique à 99 € HT). amount_ht est le montant HT associé, status le statut de l'événement dans le registre de facturation (validated à la qualification, puis under_contest, refunded, billed ou offered) et qualified_at la date de qualification. Le lead peut être contesté depuis votre espace Meetlane : sous 7 jours à compter de la qualification s'il s'agit d'un concurrent ou d'un client existant, entre 14 et 21 jours s'il est resté injoignable. La preuve (réponse du prospect mot pour mot) est consultable depuis votre espace Meetlane.

Payload billable_lead_detected

Actions LinkedIn

Récupérez la liste des invitations LinkedIn générées par vos agents et marquez-les comme envoyées. Ces endpoints sont conçus pour être utilisés par l'extension Chrome Meetlane ou tout outil d'automatisation externe.

GET https://meetlane.ai/api/linkedin/actions

Paramètres

Nom Type Requis Description
agent_filter string Non ID hashé de l'agent pour filtrer les actions.
status string Non Statut des actions à récupérer. Valeurs : pending, generating, ready, sent, failed. Par défaut : ready.
limit integer Non Nombre maximum d'actions à retourner (1-100). Par défaut : 25.

Exemple de requête

Marquer une action LinkedIn comme envoyée

Marque une action LinkedIn (invitation) comme envoyée. Utilisé après l'envoi effectif de l'invitation sur LinkedIn, que ce soit manuellement ou via l'extension Chrome.

POST https://meetlane.ai/api/linkedin/actions/{actionId}/sent

Paramètres

Nom Type Requis Description
actionId string Oui ID hashé de l'action LinkedIn à marquer comme envoyée (dans l'URL).
metadata object Non Métadonnées optionnelles (ex: {"sent_via": "chrome_extension", "version": "1.0"}).

Exemple de requête

Modifier le message d'une action LinkedIn

Met à jour le message d'invitation d'une action LinkedIn. Utilisable uniquement si l'action est en statut `pending` ou `ready` (non encore envoyée).

PUT https://meetlane.ai/api/linkedin/actions/{actionId}/message

Paramètres

Nom Type Requis Description
actionId string Oui ID hashé de l'action LinkedIn (dans l'URL).
message string Non Nouveau message d'invitation (200 caractères max). Envoyer `null` ou une chaîne vide pour supprimer le message (invitation sans note).

Exemple de requête

Marquer une action LinkedIn comme échouée

Marque une action LinkedIn comme échouée. Utilisé lorsque l'envoi de l'invitation a échoué (erreur LinkedIn, profil introuvable, etc.). Seules les actions en statut `ready` peuvent être marquées comme échouées.

POST https://meetlane.ai/api/linkedin/actions/{actionId}/failed

Paramètres

Nom Type Requis Description
actionId string Oui ID hashé de l'action LinkedIn à marquer comme échouée (dans l'URL).
metadata object Non Métadonnées optionnelles (ex: {"sent_via": "chrome_extension", "error_reason": "Profile not found"}).

Exemple de requête

Statistiques LinkedIn hebdomadaires

Récupère les statistiques d'invitations LinkedIn des 7 derniers jours pour tous les agents avec LinkedIn activé. Conçu pour l'extension Chrome Meetlane.

GET https://meetlane.ai/api/linkedin/weekly-stats

Exemple de requête

Aperçu du webinar

Webinar Meetlane

Soyez alerté(e) de notre prochaine présentation live !

Vous préférez demander une démo ?
Manuscry Courriers intelligents boostés à l'IA, pour vendre et fidéliser
Découvrir