Aller au contenu

Utiliser Klozeo dans vos scénarios Make

Klozeo n’a pas d’app Make dédiée, et n’en a pas besoin. L’app HTTP de Make, module Make a request, envoie chaque lead à l’API REST Klozeo. Chaque envoi lance le dédoublonnage. Un lead renvoyé ne fusionne que s’il correspond à un lead existant sur l’email, le SIREN, le source_id ou le téléphone avec un nom similaire. Sans aucune de ces clés, Klozeo crée un nouveau lead.


Chaque requête doit porter votre clé API dans l’en-tête X-API-Key. Créez-en une dans le tableau de bord, dans Clés API, avec Nouvelle clé. La clé n’est affichée qu’une seule fois, copiez-la tout de suite. Utilisez une clé dédiée à Make pour pouvoir la révoquer sans casser vos autres intégrations.

Dans Make a request, réglez Authentication type sur API key et ajoutez une clé :

Champ Valeur
Name Klozeo
Key sk_live_...
API key placement In the header
API key parameter name X-API-Key

Laissez Headers vide. Make stocke la clé dans sa section Keys, en dehors de votre scénario, et vous pouvez la réutiliser dans chaque module Klozeo.


POST /leads vérifie les doublons avant chaque insertion. Si le lead correspond sur l’email, le SIREN, le source_id ou le téléphone avec un nom similaire, Klozeo le met à jour au lieu d’en créer un second.

HTTP › Make a request :

Champ Valeur
Authentication type API key (la clé ci-dessus)
URL https://api.klozeo.com/api/v1/leads
Method POST
Body content type application/json
Body input method Data structure
Parse response Yes

name et source sont obligatoires. Tous les autres champs sont facultatifs. Le corps ressemble à ceci :

{
"name": "Acme",
"source": "make",
"email": "[email protected]",
"city": "Lyon",
"source_id": "typeform-8f2c"
}

Utilisez source_id pour l’ID de l’enregistrement dans le système d’origine : une réponse de formulaire, une ligne de tableur ou un enregistrement CRM. Klozeo s’en sert pour reconnaître le lead à l’exécution suivante.

Sous Body structure, cliquez sur Add et créez un élément texte pour chaque champ Klozeo que vous envoyez : name, source, email, city, source_id. Puis, dans Body content, mappez chaque élément depuis la sortie d’un module précédent, par exemple une réponse de formulaire ou une colonne de tableur. Saisissez une valeur fixe comme make pour source.

Utilisez Data structure plutôt que JSON string. Make échappe pour vous les guillemets et les autres caractères JSON des valeurs mappées : un nom d’entreprise comme "Acme" & Co ne casse donc pas la requête.

Un lead est considéré comme un doublon quand il correspond à l’email d’un lead existant (sans tenir compte de la casse), à son SIREN, à son source_id, ou à son numéro de téléphone avec un nom similaire. Dans ce cas, Klozeo met à jour le lead existant et renvoie 200 au lieu de 201 :

  • Chaque champ que vous envoyez avec une valeur remplace la valeur stockée, y compris le téléphone, l’email et le site web, sauf s’il est verrouillé. Une fusion ne modifie jamais le name, le status ni les coordonnées GPS (latitude, longitude).
  • Les champs que vous omettez, ou que vous envoyez vides, restent inchangés.
  • Les tags s’ajoutent aux tags existants, ils ne les remplacent jamais.
  • Un lead marqué Ne pas contacter le reste, même si vous envoyez "do_not_contact": false.

Un lead qui ne partage qu’un nom et une ville avec un autre est quand même créé, avec un potential_duplicate_id dans la réponse. → Guide du dédoublonnage


Exécutez le module une fois pour que Make apprenne la forme de la réponse. Avec Parse response réglé sur Yes, vous pouvez ensuite mapper ses champs dans les modules suivants.

Créé (201) :

{
"id": "cl_...",
"message": "Lead created successfully",
"created_at": 1703520000
}

Fusionné dans un lead existant (200) :

{
"id": "cl_existing...",
"message": "Duplicate detected, existing lead updated",
"created_at": 1703520000,
"duplicate": true
}

Dans les deux cas, id est l’ID du lead. Mappez-le dans un module suivant, par exemple PUT https://api.klozeo.com/api/v1/leads/<id> pour définir un status après une étape de scoring. Pour brancher sur ce qui s’est passé, ajoutez un filtre sur duplicate : il vaut true uniquement en cas de fusion.


Dans les paramètres avancés, réglez Return error if HTTP request fails sur Yes. Une réponse 4xx ou 5xx arrête alors l’exécution avec une erreur : aucun lead ne disparaît sans que personne le remarque.

Statut Signification Que faire
400 Le corps est invalide : name ou source est manquant ou vide, le JSON est mal formé, ou website n’est pas une URL http(s) absolue. Le champ message explique pourquoi. Corrigez le mapping. Une valeur mappée vide compte comme manquante.
401 La clé API est absente, erronée ou révoquée. Vérifiez le API key parameter name (X-API-Key) et la clé elle-même.
403 La limite de leads de votre plan est atteinte (leads_limit_reached). Passez à un plan supérieur ou supprimez des leads.
429 Trop de requêtes : 250 par 10 minutes en Free, 2 500 en Pro, 5 000 en Scale, par clé API. Attendez le nombre de secondes indiqué dans l’en-tête Retry-After, puis relancez. Pour les grosses listes, envoyez jusqu’à 100 leads par requête (500 sur les offres payantes) avec la création en lot.

Les erreurs utilisent la même forme JSON :

{
"error": "bad_request",
"message": "name is required",
"code": "bad_request"
}

→ Référence API : Leads · Limites de débit · Guide n8n