RRelancia
Relances

Bibliothèque de blocs

La structure JSON exacte de chaque bloc, prête à être copiée-collée pour construire une relance qui marche.

Cette page liste tous les blocs disponibles dans Relancia, avec leur structure JSON exacte. Utilisez-la comme référence quand vous voulez générer ou modifier un plan de relance, à la main ou via une IA.

Comment lire cette page

Pour chaque bloc, vous trouverez :

  • À quoi il sert : une explication courte
  • Quand l'utiliser : les cas concrets
  • Le JSON complet : un copier-coller prêt à l'emploi
  • Les champs : un tableau qui décrit chaque champ du bloc

Tous les blocs partagent la même base : id, type, position, data.label, data.subtitle, data.channel, data.description et data.parameters. Le type est l'une des quatre valeurs autorisées : trigger, condition, message, action. Les valeurs de parameters sont toutes des chaînes de texte.

Vue d'ensemble

Les 4 grandes familles de blocs disponibles dans Relancia. Chaque famille correspond à un type précis utilisé dans le JSON de la relance.

🟢 Bloc trigger — Appel manqué

À quoi il sert : déclenche la relance à chaque appel sans réponse sur votre ligne.

Quand l'utiliser : vous voulez rappeler automatiquement un client qui n'a pas pu vous joindre.

{
  "id": "trigger-missed-call",
  "type": "trigger",
  "position": { "x": 80, "y": 160 },
  "data": {
    "label": "Appel manqué détecté",
    "subtitle": "Déclencheur téléphonie",
    "channel": "appel",
    "description": "Se déclenche à chaque appel sans réponse sur la ligne.",
    "parameters": {
      "source_appel": "renvoi_appel",
      "numero_tracking": "principal",
      "delai_avant_relance_min": "2"
    }
  }
}
ChampTypeRequisDescription
source_appeltextenonSource de l'appel (renvoi_appel, etc.).
numero_trackingtextenonNuméro de tracking à surveiller (principal, etc.).
delai_avant_relance_minnombre (texte)nonDélai avant déclenchement, en minutes. 0 = immédiat.

🟢 Bloc trigger — Webhook entrant

À quoi il sert : déclenche la relance quand un service externe envoie un webhook signé.

Quand l'utiliser : vous voulez distinguer les appels selon le numéro composé, ou relier Relancia à un autre outil.

{
  "id": "trigger-webhook",
  "type": "trigger",
  "position": { "x": 80, "y": 160 },
  "data": {
    "label": "Webhook entrant",
    "subtitle": "Déclencheur API",
    "channel": "webhook",
    "description": "Se déclenche à la réception d'un POST HTTP externe signé.",
    "parameters": {
      "contact_phone_field": "phone",
      "contact_email_field": "email",
      "contact_name_field": "name",
      "webhook_secret": "secret-genere-par-relancia"
    }
  }
}
ChampTypeRequisDescription
contact_phone_fieldtextenonNom du champ JSON qui contient le numéro de téléphone.
contact_email_fieldtextenonNom du champ JSON qui contient l'email.
contact_name_fieldtextenonNom du champ JSON qui contient le nom.
webhook_secrettexteouiSecret partagé pour valider la signature. Généré par Relancia si vide.

🟢 Bloc trigger — Panier abandonné (Shopify)

À quoi il sert : déclenche la relance quand un client crée un panier sans commander.

Quand l'utiliser : vous avez une boutique Shopify et voulez réduire l'abandon.

{
  "id": "trigger-shopify",
  "type": "trigger",
  "position": { "x": 80, "y": 160 },
  "data": {
    "label": "Événement Shopify",
    "subtitle": "Déclencheur boutique",
    "channel": "shopify",
    "description": "Se déclenche à la réception d'un événement Shopify signé.",
    "parameters": {
      "contact_phone_field": "customer.phone",
      "contact_email_field": "customer.email",
      "contact_name_field": "customer.first_name"
    }
  }
}
ChampTypeRequisDescription
contact_phone_fieldtextenonChemin JSON pour le numéro du client dans le payload Shopify.
contact_email_fieldtextenonChemin JSON pour l'email.
contact_name_fieldtextenonChemin JSON pour le prénom.

🟢 Bloc trigger — Client inactif (PrestaShop)

À quoi il sert : déclenche la relance pour les clients sans commande récente.

Quand l'utiliser : vous avez une boutique PrestaShop et voulez reprendre contact avec les clients endormis.

{
  "id": "trigger-prestashop",
  "type": "trigger",
  "position": { "x": 80, "y": 160 },
  "data": {
    "label": "Événement PrestaShop",
    "subtitle": "Déclencheur boutique",
    "channel": "prestashop",
    "description": "Se déclenche à la réception d'un événement PrestaShop signé.",
    "parameters": {
      "contact_phone_field": "customer.phone",
      "contact_email_field": "customer.email",
      "contact_name_field": "customer.first_name"
    }
  }
}
ChampTypeRequisDescription
contact_phone_fieldtextenonChemin JSON pour le numéro du client.
contact_email_fieldtextenonChemin JSON pour l'email.
contact_name_fieldtextenonChemin JSON pour le nom.

🟢 Bloc trigger — Import CSV

À quoi il sert : déclenche la relance à l'ajout d'un contact via un import CSV.

Quand l'utiliser : vous importez une base et voulez la relancer segment par segment.

{
  "id": "trigger-csv-import",
  "type": "trigger",
  "position": { "x": 80, "y": 160 },
  "data": {
    "label": "Import terminé",
    "subtitle": "Fichier clients",
    "channel": "csv",
    "description": "Se déclenche à l'import d'un fichier de contacts.",
    "parameters": {
      "source": "csv",
      "segment": "import_manuel"
    }
  }
}
ChampTypeRequisDescription
sourcetextenonIdentifiant de la source (csv, etc.).
segmenttextenonÉtiquette du segment à relancer.

🔍 Bloc condition — WhatsApp disponible

À quoi il sert : vérifie que le contact a un numéro WhatsApp utilisable.

Quand l'utiliser : vous voulez choisir entre WhatsApp et email selon le contact.

{
  "id": "check-whatsapp-optin",
  "type": "condition",
  "position": { "x": 360, "y": 80 },
  "data": {
    "label": "WhatsApp disponible ?",
    "subtitle": "Vérification du canal",
    "channel": "condition",
    "description": "Vérifie si le contact peut être joint sur WhatsApp.",
    "parameters": {
      "verifier_mobile": "oui",
      "fallback": "email"
    }
  }
}
ChampTypeRequisDescription
verifier_mobiletextenonoui pour activer la vérification.
fallbacktextenonCanal de repli (email, etc.).

🔍 Bloc condition — Vérifier les horaires

À quoi il sert : envoie le message uniquement dans une plage horaire donnée, dans le fuseau de l'organisation.

Quand l'utiliser : vous ne voulez pas déranger un client en pleine nuit.

{
  "id": "check-hours",
  "type": "condition",
  "position": { "x": 360, "y": 200 },
  "data": {
    "label": "Vérifier les horaires",
    "subtitle": "Moment d'envoi",
    "channel": "vérification",
    "description": "N'envoie que pendant la plage horaire de l'organisation.",
    "parameters": {
      "plage_debut": "08:00",
      "plage_fin": "18:00"
    }
  }
}
ChampTypeRequisDescription
plage_debuttexte (HH:MM)nonHeure de début de la plage d'envoi.
plage_fintexte (HH:MM)nonHeure de fin de la plage d'envoi.

💬 Bloc message — Envoyer un WhatsApp

À quoi il sert : envoie un WhatsApp au contact.

Quand l'utiliser : vous voulez un message court et rapide après un appel manqué.

{
  "id": "send-whatsapp-recall",
  "type": "message",
  "position": { "x": 660, "y": 0 },
  "data": {
    "label": "Envoyer WhatsApp de rappel",
    "subtitle": "Relance après appel",
    "channel": "whatsapp",
    "description": "Envoie un message WhatsApp avec une proposition de rappel rapide.",
    "parameters": {
      "template": "appel_manque_rappel",
      "delai_min": "2"
    }
  }
}
ChampTypeRequisDescription
templatetextenonIdentifiant du modèle de message utilisé.
delai_minnombre (texte)nonDélai d'envoi en minutes après le déclencheur.

💬 Bloc message — Envoyer un email

À quoi il sert : envoie un email au contact.

Quand l'utiliser : vous voulez un message plus long ou un canal de secours si WhatsApp ne convient pas.

{
  "id": "send-email-fallback",
  "type": "message",
  "position": { "x": 660, "y": 200 },
  "data": {
    "label": "Envoyer un email de relance",
    "subtitle": "Fallback email",
    "channel": "email",
    "description": "Envoie un email si WhatsApp n'est pas disponible.",
    "parameters": {
      "template": "fallback_email",
      "expediteur": "hello@relancia.app"
    }
  }
}
ChampTypeRequisDescription
templatetextenonIdentifiant du modèle d'email.
expediteurtextenonAdresse email expéditrice (doit être configurée dans Sources).

⚙️ Bloc action — Créer une tâche

À quoi il sert : crée une tâche interne pour suivre manuellement le client.

Quand l'utiliser : vous voulez qu'un membre de l'équipe rappelle le client.

{
  "id": "create-sales-task",
  "type": "action",
  "position": { "x": 960, "y": 100 },
  "data": {
    "label": "Créer une tâche commerciale",
    "subtitle": "Suivi de l'équipe",
    "channel": "commercial",
    "description": "Crée une tâche interne pour le suivi humain.",
    "parameters": {
      "assignation": "commercial",
      "priorite": "haute"
    }
  }
}
ChampTypeRequisDescription
assignationtextenonPersonne ou équipe à qui assigner la tâche.
prioritetextenonPriorité (haute, normale, basse).

⚙️ Bloc action — Appeler une source HTTP

À quoi il sert : envoie un appel HTTP à un service externe (CRM, ERP, tableur).

Quand l'utiliser : vous voulez notifier un autre outil pendant la relance.

{
  "id": "http-notify",
  "type": "action",
  "position": { "x": 960, "y": 250 },
  "data": {
    "label": "Appeler une source HTTP",
    "subtitle": "Récupération externe",
    "channel": "http",
    "description": "Envoie un appel HTTP vers une URL externe pendant la relance.",
    "parameters": {
      "action_type": "http_request",
      "http_method": "POST",
      "url": "https://api.exemple.fr/endpoint",
      "content_type": "json",
      "headers_json": "{\"Authorization\": \"Bearer xxx\"}",
      "body_json": "{\"event\": \"relance_envoyee\"}",
      "body_text": "",
      "timeout_seconds": "10"
    }
  }
}
ChampTypeRequisDescription
action_typetexteouiDoit valoir http_request.
http_methodtextenonGET, POST, PUT, etc.
urltexteouiURL appelée.
content_typetextenonjson ou text.
headers_jsontexte JSONnonEn-têtes au format JSON en texte.
body_jsontexte JSONnonCorps au format JSON en texte.
body_texttextenonCorps en texte brut.
timeout_secondsnombre (texte)nonDélai d'attente en secondes.

⚙️ Bloc action — Générer une réponse IA

À quoi il sert : demande à une IA connectée de rédiger un message personnalisé.

Quand l'utiliser : vous voulez des relances qui s'adaptent au contexte du contact.

{
  "id": "ai-reply",
  "type": "action",
  "position": { "x": 960, "y": 400 },
  "data": {
    "label": "Générer réponse IA",
    "subtitle": "Réponse automatique",
    "channel": "ai",
    "description": "Prépare un texte personnalisé via l'IA connectée.",
    "parameters": {
      "action_type": "ai_reply",
      "body_source": "ai",
      "temperature": "0.4",
      "max_output_tokens": "240",
      "system_prompt": "",
      "model": ""
    }
  }
}
ChampTypeRequisDescription
action_typetexteouiDoit valoir ai_reply.
body_sourcetextenonSource du texte (ai pour générer).
temperaturenombre (texte)nonTempérature du modèle (0.0 à 1.0).
max_output_tokensnombre (texte)nonLimite de tokens en sortie.
system_prompttextenonConsigne système pour l'IA.
modeltextenonModèle à utiliser (sinon celui de la source Assistant IA).

Aller plus loin

On this page