Le répertoire est la liste des personnes à qui vous envoyez des SMS : un numéro, un nom, une société, des étiquettes et des champs personnalisés. Les groupes rassemblent des contacts pour les joindre d'un coup, par une campagne ou un envoi rapide. La liste des désinscriptions enregistre les numéros qui ont demandé à ne plus recevoir vos messages, et la passerelle la fait respecter à chaque envoi.
Tout reste sur votre passerelle. Le répertoire n'est jamais envoyé chez nous ni chez personne d'autre.
Contacts
L'écran Contacts liste votre répertoire.
| Commande | Usage |
|---|---|
| Rechercher un contact | Retrouver un contact par nom, numéro ou société |
| Filtres Étiquette, Groupe, Désinscrits | Restreindre la liste |
| Nouveau contact | Créer un contact à la main |
| Importer un CSV | Importer un fichier, voir Importer un fichier CSV |
| Exporter en CSV / Exporter en JSON | Télécharger les contacts que montrent les filtres en cours |
Le tableau montre chaque Contact, son Numéro, ses Groupes, ses Étiquettes et son État (Désinscrit ou non). Depuis chaque ligne, vous pouvez modifier, supprimer, désinscrire ou réinscrire.
Les champs d'un contact
| Champ | Règles |
|---|---|
| Numéro au format international | Obligatoire, + puis l'indicatif du pays, par exemple +261341234567. Un seul contact par numéro |
| Prénom, Nom | Jusqu'à 120 caractères chacun |
| Société | Jusqu'à 160 caractères |
| Adresse e-mail | Jusqu'à 254 caractères |
| Notes internes | Jusqu'à 2 000 caractères. Pour votre équipe seulement, jamais envoyées |
| Étiquettes, séparées par des virgules | Jusqu'à 24 étiquettes de 40 caractères. Pour trier et filtrer : « vip », « détail », « salon 2026 » |
| Champs personnalisés | Jusqu'à 32 champs à vous (par exemple « carte fidélité », « ville »), 60 caractères pour le nom et 500 pour la valeur. Ils viennent d'un import CSV ou de l'API, et la fiche contact d'une conversation les affiche |
Les champs d'un contact s'insèrent dans un message grâce aux variables des modèles : « Bonjour {prenom} » devient « Bonjour Rina » pour chaque destinataire.
Deux contacts ne peuvent pas partager un numéro : en créer un second répond « Ce contact existe déjà. »
Supprimer un contact le retire du répertoire et de ses groupes. Les messages déjà échangés restent dans les conversations, et une désinscription reste en vigueur : supprimer le contact d'une personne qui a répondu STOP ne vous autorise pas à lui écrire de nouveau.
Groupes
L'écran Groupes gère vos listes de diffusion. Un groupe est ce que vise une campagne, et ce qu'utilise le mode Groupe de contacts de l'envoi rapide.
| Action | Effet |
|---|---|
| Nouveau groupe | Nom du groupe (jusqu'à 80 caractères, unique sans tenir compte des majuscules) et Description (jusqu'à 500) |
| Modifier le groupe | Le renommer ou changer sa description |
| Ouvrir un groupe | Voir ses membres, Ajouter des contacts, ou Retirer du groupe |
| Supprimer ce groupe | Le groupe disparaît, ses contacts restent dans le répertoire |
Un contact peut appartenir à plusieurs groupes. Un contact désinscrit reste dans ses groupes, mais les campagnes et les envois rapides le sautent.
Un groupe rattaché à une campagne en cours ou programmée ne peut pas être supprimé : « Ce groupe est rattaché à une campagne en cours ou programmée. » Attendez d'abord la fin de la campagne.
Vous pouvez aussi ranger un contact dans un groupe depuis la fiche contact d'une conversation (Ajouter à un groupe), ou au moment de l'import.
Importer un fichier CSV
Importer un CSV remplit le répertoire à partir d'un tableur ou d'un autre outil. Rien n'est enregistré avant votre confirmation : la fenêtre analyse d'abord le fichier et vous montre ce qui va se passer.
- Choisissez le fichier. Un fichier CSV avec une ligne d'en-tête, jusqu'à 32 Mo. Le séparateur (virgule, point-virgule, tabulation ou barre verticale) est détecté automatiquement : un fichier enregistré par un tableur dans n'importe quelle langue fonctionne.
- Vérifiez la Correspondance des colonnes. La fenêtre reconnaît les noms de colonnes courants, en plusieurs langues : « phone », « mobile », « téléphone », « numéro » pour le numéro ; « prénom », « first name » ; « nom », « last name » ; « société », « company » ; « email », « courriel » ; « notes » ; « étiquettes », « tags ». Corrigez une colonne si besoin, ou mettez-la sur Ignorer ; l'aperçu se met à jour. Une colonne que rien ne reconnaît devient un champ personnalisé sous son propre nom, jusqu'à 32. La colonne du numéro est obligatoire.
- Choisissez quoi faire des Numéros déjà présents :
- Garder la fiche existante (par défaut) : un contact déjà présent dans le répertoire n'est pas touché ;
- Compléter avec les colonnes non vides : le fichier complète le contact existant, et une cellule vide n'efface jamais ce que vous avez saisi à la main.
- Ajouter au groupe (facultatif) : chaque contact importé, nouveau ou déjà présent, rejoint ce groupe. Pratique pour importer une liste directement dans le groupe que visera une campagne.
- Lisez le Résumé de l'import : lignes lues, à créer, à mettre à jour, déjà présentes et gardées, rejetées, et les Premières lignes, telles qu'elles seront lues. Lignes rejetées liste les lignes refusées, avec le motif : Numéro manquant, Numéro invalide, En double dans le fichier, Ligne mal formée.
- Cliquez sur Importer N contacts.
Les numéros doivent être au format international (+261...). Les doublons sont repérés sur le
numéro une fois normalisé : +261 34 12 345 67 et +261341234567 sont le même contact. Une colonne
d'étiquettes peut contenir plusieurs étiquettes séparées par des virgules, des points-virgules ou
des barres verticales.
Importer un numéro présent dans la liste des désinscriptions ne lève pas la désinscription.
Désinscription
Une personne qui demande à ne plus recevoir vos SMS doit cesser de les recevoir. La passerelle s'en charge.
Désinscription automatique. Quand un correspondant répond par un mot d'arrêt, le numéro est désinscrit aussitôt. Le message doit contenir le mot d'arrêt seul, ou suivi d'un mot comme « SMS » ou « TOUT » ; majuscules, accents et ponctuation n'ont pas d'importance. Mots reconnus :
| Mots d'arrêt | Peuvent être suivis de |
|---|---|
| STOP, STOPALL, STOPPER, ARRET, ARRETER, DESABONNER, DESABONNEMENT, DESINSCRIRE, DESINSCRIPTION, UNSUBSCRIBE, OPTOUT, QUIT, CANCEL, END, FIN | SMS, ALL, TOUT, TOUS, TOUTES, MESSAGE, MESSAGES, TODO |
« STOP », « Stop. », « Arrêt » et « stop sms » désinscrivent ; « Surtout n'arrêtez pas » non. Cette liste est volontairement étroite : elle suit ce que publient les opérateurs, pour qu'un client qui écrit « je ne peux pas stopper mon abonnement tout seul » ne soit pas désinscrit par erreur. Pour réagir à d'autres mots, ajoutez une règle dans Automatisation.
Désinscription manuelle. Dans Contacts, Désinscrire demande un Motif de la désinscription facultatif et s'applique aussitôt. La fiche contact d'une conversation propose le même bouton, sans motif.
Ce que fait une désinscription :
- tout nouvel envoi vers le numéro est refusé, depuis le tableau de bord, une campagne ou l'API, avec « Ce numéro est désinscrit. » ;
- les messages déjà en file pour ce numéro passent Annulé au lieu de partir ;
- les campagnes écartent le numéro à leur démarrage, pour que leurs totaux soient réels ;
- un envoi rapide vers un groupe l'écarte avant l'envoi.
La désinscription appartient au numéro, pas au contact. Un STOP venant d'un numéro absent de votre répertoire est enregistré quand même, et supprimer un contact ne la lève pas. Seul Réinscrire la lève : ne le faites que si la personne l'a demandé. Pour un numéro absent de votre répertoire, créez d'abord son contact : il apparaît Désinscrit, et vous pouvez alors le réinscrire. Changer le numéro d'un contact n'emporte pas sa désinscription : elle reste attachée à l'ancien numéro, et le contact prend l'état de son nouveau numéro.
Le filtre Désinscrits de Contacts liste les contacts désinscrits.
Options
| Option | Où | Par défaut | Valeurs admises | Effet |
|---|---|---|---|---|
| Numéro | Formulaire du contact ; API phone |
Obligatoire | Format international, unique | Identifie le contact ; la désinscription le suit |
| Nom, société, e-mail, notes | Formulaire du contact | Vide | Voir les champs | Affichage, recherche, variables des modèles |
| Étiquettes | Formulaire du contact, import ; API tags |
Aucune | Jusqu'à 24, de 40 caractères | Filtre Étiquette, tri |
| Champs personnalisés | Import, API customFields |
Aucun | Jusqu'à 32 ; nom de 60, valeur de 500 caractères | Variables des modèles, fiche contact |
| Groupes | Écran Groupes, fiche contact, import ; API groupIds |
Aucun | Autant que voulu | Cibles des campagnes et des envois rapides |
| Désinscrit | Désinscrire / Réinscrire ; API POST et DELETE /contacts/{contactId}/blacklist |
Non | Oui ou non, avec un motif facultatif | Refuse tout envoi, annule les messages en file, retire des audiences de campagne |
| Numéros déjà présents | Fenêtre d'import ; API dedupe |
Garder la fiche existante (skip) |
skip, update |
Si l'import complète ou non les contacts existants |
| Ajouter au groupe | Fenêtre d'import ; API groupId |
Aucun groupe | Un groupe | Range chaque contact importé dans ce groupe |
| Correspondance des colonnes | Fenêtre d'import ; API map (champ=colonne) |
Déduite des en-têtes | phone, firstName, lastName, company, email, notes, tags, custom:<nom> |
Quelle colonne remplit quel champ |
| Séparateur | Détecté ; API delimiter |
Détecté sur la première ligne | Virgule, point-virgule, tabulation, barre verticale | Comment le fichier est découpé |
| Aperçu | Automatique dans la fenêtre ; API dryRun=true |
Aperçu d'abord | true ou false |
Déroule tout l'import sans rien écrire |
API
| Méthode et chemin | Usage |
|---|---|
GET /contacts |
Lister et rechercher dans le répertoire, filtrer par étiquette, groupe ou désinscription |
POST /contacts |
Créer un contact |
GET, PATCH, DELETE /contacts/{contactId} |
Lire, modifier, supprimer un contact |
POST /contacts/{contactId}/blacklist |
Désinscrire le numéro du contact |
DELETE /contacts/{contactId}/blacklist |
Le réinscrire |
POST /contacts/import |
Importer un fichier CSV |
GET /contacts/export |
Exporter le répertoire filtré, en CSV ou en JSON |
GET, POST /groups |
Lister, créer des groupes |
GET, PATCH, DELETE /groups/{groupId} |
Lire, renommer, supprimer un groupe |
GET, POST /groups/{groupId}/contacts |
Lister les membres, ajouter jusqu'à 500 contacts par appel |
DELETE /groups/{groupId}/contacts/{contactId} |
Retirer un contact d'un groupe |
Dépannage
| Symptôme | Ce qu'il faut vérifier |
|---|---|
| Beaucoup de lignes rejetées en Numéro invalide | Les numéros n'ont pas d'indicatif. Ajoutez-le dans le tableur (+261 devant 034..., en retirant le 0 initial) |
| La colonne du numéro n'est pas reconnue | Choisissez-la à la main dans Correspondance des colonnes |
| « Ce fichier dépasse 32 Mo. » | Découpez le fichier en plusieurs parties |
| « Ce contact existe déjà. » | Un autre contact a ce numéro : recherchez-le et modifiez-le plutôt |
| Un groupe ne peut pas être supprimé | Une campagne en cours ou programmée l'utilise |
| Un contact ne reçoit rien | Est-il Désinscrit ? Vérifiez la colonne État |
| Il faut écrire de nouveau à quelqu'un qui a dit STOP | Seulement s'il l'a demandé : Réinscrire sur son contact |