Importer des contacts depuis Excel ou CSV (avec consentement)
Introduisez une liste de clients à partir d’un fichier CSV ou Excel : associez les colonnes (en-têtes dans n’importe quelle langue de l’application), choisissez le pays pour les numéros locaux et ce qu’il faut faire avec les personnes déjà dans Contacts, déclarez le consentement marketing qu’ils ont donné, vérifiez le fichier, importez et téléchargez errors.csv. Aussi : ajoutez un contact pour une personne.
Contacts → Importer (/app/contacts/import) importe une liste complète de clients depuis un fichier. Ajouter un contact sur la page Contacts ajoute une personne manuellement. Rien n'est enregistré tant que vous n'avez pas vérifié le fichier et cliqué sur le bouton d'import.
Avant de commencer
- L'import nécessite la tâche Importer des contacts (Propriétaires et Administrateurs par défaut ; un Propriétaire ou un Administrateur peut l'attribuer à n'importe qui avec Modifier l'accès dans Paramètres → Membres, voir Rôles et tâches). Sans elle, le bouton Importer est masqué et la page indique L'import de contacts nécessite la tâche Importer des contacts. Demandez à un Propriétaire ou un Administrateur.
- Ajouter un contact nécessite la tâche Gérer les contacts (Propriétaires, Administrateurs et Éditeurs par défaut).
- Le fichier : CSV (UTF-8, UTF-16 ou Windows Arabic ; virgules, virgules ou tabulations) ou Excel .xlsx (la première feuille). Jusqu’à 20 Mo, 100 000 lignes et 200 colonnes. Un ancien .xls Excel est refusé : dans Excel, choisissez Fichier > Enregistrer comme > Classeur Excel (.xlsx) ou CSV UTF-8.
- La première ligne doit nommer les colonnes, par exemple
Name, Phone, Emailouالاسم، الجوال، البريد الإلكتروني. Chaque personne a besoin d'un numéro de téléphone ou d'un email. - Pour importer des informations personnalisées (niveau d'adhésion, date d'anniversaire...), créez d'abord les champs dans Champs de contact personnalisés.
Étape par étape : importer un fichier
- Sur Contacts, cliquez sur Importer.
- Fichier : cliquez sur Choisir un fichier, sélectionnez-le, cliquez sur Importer. Vous voyez Lecture du fichier…, puis les colonnes.
- Colonnes : sous Associer les colonnes chaque colonne de votre fichier possède une case Importer comme . Nous devinons à partir des en-têtes des dix langues de l’application, avec ou sans accents (« الجوال », « Téléphone », « Handy » ou « Cep telefonu » → Téléphone (WhatsApp)), « الاسم », « Nom complet » ou « Nama » → Nom, un en-tête correspondant à un champ personnalisé → ce champ). À côté d’une colonne de prénom, un simple « Nom » ou « Nom » est pris comme nom de famille ; à côté d’une colonne de nom de famille, « Nome » ou « Nome » comme prénom. Définir les colonnes dont vous n’avez pas besoin Ne pas importer. Exemple montre une valeur du fichier. Lorsqu’une colonne définie sur Ne pas importer ressemble à des numéros de téléphone ou des adresses e-mail (et qu’aucune autre colonne n’est assignée à ceux-ci), une ligne jaune en dessous l’indique, par exemple Cette colonne ressemble à des numéros de téléphone, mais elle est réglée sur « Ne pas importer », donc ils ne seront pas importés. Choisissez « Téléphone (WhatsApp) » pour les importer.
- Sous Options :
- Pays des numéros locaux : les numéros écrits sans indicatif pays (
07400 123456, ou7400 123456lorsqu’Excel a supprimé le zéro) sont lus comme des numéros de ce pays. Les chiffres arabes (٠٥٠...) sont acceptés. Une colonne Pays dans le fichier l’emporte pour sa ligne. Le champ commence par le pays de votre entreprise (s’il n’est pas défini, il affiche Choisir un pays, et seuls les numéros écrits avec leur indicatif sont lus) ; la liste contient tous les pays, nommés dans votre langue, par ordre alphabétique sous Tous les pays (le pays indiqué par votre navigateur, s’il l’indique, vient en premier sous Suggéré). - Personnes déjà dans Contacts (même téléphone ou email) : Les mettre à jour avec les valeurs du fichier (les cellules remplies remplacent ce que le contact avait, les cellules vides n'effacent jamais rien, les tags sont ajoutés, un téléphone ou un email n'est ajouté que si le contact n'en a pas) ou Les ignorer.
- Tags supplémentaires pour toutes les personnes importées (séparés par des virgules) : jusqu’à 10 tags, de 50 caractères chacun au maximum (un # initial est ignoré). Au-delà, Add at most 10 extra tags. Remove some, or add them later with Add tags. s’affiche sous la zone, et pour un tag plus long A tag can be at most 50 characters. Shorten it, or split it with a comma. ; Continuer attend que la zone soit correcte.
- Cliquez sur Continuer.
- Consentement : choisissez Non : elles n'ont pas donné leur accord, ou je ne sais pas ou Oui : elles ont donné leur accord, et je peux dire comment. Pour oui, cochez les Canaux pour lesquels elles ont donné leur accord (WhatsApp, SMS, E-mail), choisissez Où ont-elles donné leur accord ?, rédigez Comment ces personnes ont-elles donné leur accord ? (au moins 10 caractères, par exemple « Elles ont coché Envoyez-moi des offres sur WhatsApp en rejoignant notre programme de fidélité »), remplissez Date de l'accord (facultatif) si vous la connaissez, et cochez Je confirme que ces personnes ont donné ce consentement et que je peux en fournir la preuve sur demande.
- Cliquez sur Vérifier le fichier. La vérification lit chaque ligne et n'enregistre rien (Vérification de n lignes sur N…).
- Résultat de la vérification affiche Prêts à importer, Avec des problèmes, Nouveaux contacts, Déjà dans Contacts et En double dans le fichier, ainsi que les Premières lignes avec des problèmes avec la raison. Modifier les paramètres vous ramène en arrière ; Télécharger errors.csv fournit toutes les lignes en erreur. Un contact peut avoir au maximum 20 tags : quand certaines personnes dépasseraient cette limite, la vérification l’indique, par exemple 3 contacts would pass the limit of 20 tags. They keep their tags and get this import's own tag; the other new tags are added only while there is room. Un fichier créé avec Exporter en CSV s’importe tel quel : l’apostrophe placée devant un numéro comme '+447400123456 est retirée.
- Cliquez sur Importer n contacts. Import de n sur N… affiche la progression. Vous pouvez quitter la page : l'import continue, et Contacts → Importer → Imports récents le rouvre (Ouvrir). Un fichier envoyé que vous avez laissé avant l’import (à Colonnes, Consentement ou après Vérifier le fichier) apparaît dans Imports récents comme Non terminé, avec Continuer (reprendre là où vous en étiez) et Abandonner. Abandonner demande « Abandonner le fichier envoyé « (fichier) » ? Rien n’en a été importé. Ses lignes et le fichier conservé sont supprimés. » puis le retire de la liste. Un fichier envoyé qui reste non terminé pendant 7 jours est abandonné automatiquement ; dans les deux cas, rien ne change dans Contacts.
- Lorsque vous voyez Import terminé. appuyez sur Voir les contacts importés pour voir la liste, ou Télécharger errors.csv (affiché, avec Les lignes non importées, avec la raison, dans les colonnes d'origine du fichier., uniquement lorsque certaines lignes n’ont pas été importées). Sous les totaux, Toutes les personnes créées ou mises à jour par cette importation figurent dans la liste « Importation – customers.csv – 2026-09-24 » (n personnes). Nommer la liste que l’importation a réalisée ; Ouvrir la liste l’ouvre dans Contacts → Audiences (voir section suivante).
La liste de l'import
Lorsqu'un import se termine, toutes les personnes qu'il a créées ou mises à jour sont placées dans une nouvelle liste (une audience statique) nommée Import – <file name> – <date>, par exemple Import – customers.csv – 2026-09-24. Utilisez-la comme n'importe quelle liste : choisissez-la comme audience d'une diffusion WhatsApp, ouvrez-la dans Contacts → Audiences, ajoutez ou retirez des personnes (Audiences).
- Les personnes ignorées (déjà dans Contacts, avec Les ignorer), les lignes avec des problèmes et les lignes qui n'ont pas pu être enregistrées n'y figurent pas.
- La date est le jour où l'import s'est terminé. Importez à nouveau le même fichier le même jour et ses personnes rejoignent la même liste ; un autre jour, vous obtenez une nouvelle liste.
- Un import annulé n'obtient pas de liste. Les personnes déjà importées conservent le tag de l'import, vous pouvez donc toujours les retrouver.
- Un espace de travail conserve jusqu'à 500 audiences. S'il en a déjà 500, l'import se termine sans liste et indique Aucune liste n'a été créée pour cet import : l'espace de travail conserve déjà 500 audiences. Archivez les listes dont vous n'avez plus besoin dans Contacts → Audiences ; le tag marque toujours toutes les personnes du fichier.
Comment les personnes sont reconnues (pas de doublons)
- Une ligne correspond à la même personne qu'un contact lorsque son numéro de téléphone (une fois écrit sous la forme +indicatif pays et numéro) ou son email figure déjà dans cet espace de travail, sur n'importe quel canal. Un contact fusionné est mis à jour comme une seule personne.
- Deux lignes avec le même numéro ou le même email dans un fichier deviennent un seul contact : la première le crée, les suivantes le mettent à jour (ou sont ignorées si vous avez choisi Les ignorer).
- Un nouveau contact avec un numéro de téléphone est créé comme contact WhatsApp de cette personne : lorsqu'elle vous écrit, ses messages arrivent donc sur la même carte. Sa Source est Importer.
- Chaque contact importé reçoit le tag propre à l'import,
import:suivi de la date et du nom du fichier (par exempleimport:2026-09-24-customers-3f9a), pour que vous puissiez les retrouver sur la page Contacts (filtre par tag), en plus de la liste de l'import ci-dessus.
Consentement : ce qui est enregistré
- Avec Oui, chaque personne reçoit un enregistrement de consentement par canal coché, avec la source Importer et, comme preuve, votre déclaration, le lieu, la date et le nom du fichier, ainsi que la personne qui a lancé l'import. Il apparaît sous Historique de consentement sur le contact (Consentement et désinscription).
- Uniquement les canaux pour lesquels la ligne a une adresse : WhatsApp et SMS nécessitent un numéro de téléphone, l'email nécessite un email.
- Une colonne Consentement marketing (oui / non) dans le fichier : seules les lignes qui indiquent oui (yes, y, 1, نعم, موافق) reçoivent un consentement ; les lignes qui indiquent non ou sont vides n'en reçoivent pas. Une telle colonne nécessite la déclaration (Oui) ou doit être réglée sur Ne pas importer.
- Les personnes qui se sont désinscrites ou ont répondu STOP conservent leur choix (comptées dans Refus antérieur conservé). Un import ne le remplace jamais ; seule la personne, ou un membre de l'équipe enregistrant son nouvel accord avec Enregistrer un consentement, le peut.
- Avec Non, personne ne reçoit de consentement marketing. Ces personnes peuvent toujours recevoir des réponses dans la fenêtre de 24 heures et des messages utilitaires.
En cas de problème
- Il s'agit d'un ancien fichier Excel (.xls)... → enregistrez-le en .xlsx ou en CSV UTF-8 et importez-le à nouveau.
- La première ligne doit nommer les colonnes → ajouter une ligne d’en-tête. Le fichier a des noms de colonnes mais pas de rangées de personnes. → le fichier a une ligne d’en-tête et rien en dessous (ou seulement des lignes vides) ; ajouter une ligne par personne sous les noms des colonnes et le téléverser à nouveau. Le fichier est vide. cela signifie qu’aucune ligne n’a été trouvée dans le fichier.
- Le fichier compte plus de 100 000 lignes ou Le fichier est plus grand que 20 Mo → le diviser. Le second message apparaît aussi pour un fichier petit mais contenant des millions de cellules remplies une fois ouvert.
- Le fichier contient plus de 200 colonnes. → supprimez les colonnes dont vous n’avez pas besoin. Une valeur tapée bien à droite, même dans une colonne autrement vide, compte ; les cellules vides ne comptent pas.
- Associez une colonne de téléphone ou d'email. → réglez une colonne sur Téléphone (WhatsApp) ou E-mail.
- Deux colonnes sont réglées sur « … » → réglez l'une d'elles sur Ne pas importer.
- Lignes dans errors.csv, avec la raison suivante : Numéro de téléphone non valide (vérifiez l'indicatif du pays) (vérifier Pays des numéros locaux), Aucun numéro de téléphone ni email, Adresse email non valide, Pays inconnu, Langue inconnue, Fuseau horaire inconnu, Une valeur de champ personnalisé ne correspond pas au champ (le champ est nommé en détail : un choix doit être l’une de ses options, une date YYYY-MM-DD ou jour/mois/année, chiffres seulement), La colonne de consentement doit indiquer oui ou non, Déjà un contact : ignoré, Impossible d'enregistrer (essaie de réimporter cette ligne). errors.csv a les propres colonnes du fichier, donc vous pouvez corriger les lignes et les importer comme un nouveau fichier. Il est disponible dans le langage dans lequel vous utilisez l’application : ses quatre premières colonnes (ligne, statut, raison, détail), le statut de chaque ligne et la raison sont dans cette langue.
- Annuler l'import s'arrête avant les 1 000 lignes suivantes ; les contacts déjà importés restent.
- Les lignes et la copie stockée du fichier sont supprimées 30 jours après l'envoi ; errors.csv n'est alors plus disponible (Les lignes de ce fichier ont été supprimées 30 jours après l'envoi.). Les totaux de l'import et la déclaration de consentement sont conservés.
Ajouter un seul contact
- Sur Contacts, cliquez sur Ajouter un contact.
- Remplissez Nom (jusqu’à 120 caractères) et au moins un de Téléphone (WhatsApp) (avec l’indicatif pays, ou un numéro local du Pays choisi), E-mail, ou Identifiant sur une autre plateforme avec sa Plateforme. Le Pays commence comme le pays de votre entreprise (Paramètres → Entreprise) et liste tous les pays nommés dans votre langue ; sans aucun élément défini, il s’écrit Choisir un pays. Les chiffres tapés sur un clavier arabe (٠٥٥...) deviennent de 0 à 9 dans Téléphone (WhatsApp) au fur et à mesure que vous tapez, de sorte que le numéro se lit de gauche à droite dans son ordre habituel.
- Facultatif : Tags (séparés par des virgules), Remarques, et sous Consentement marketing (facultatif) les canaux pour lesquels la personne a donné son accord ainsi que Comment a-t-elle donné son accord ?
- Appuyez sur Ajouter le contact. Vous voyez [nom] a été ajouté. et le contact s’ouvre.
- Cette personne figure déjà dans Contacts. → le numéro ou l’e-mail appartient à quelqu’un ; appuyez sur Ouvrir le contact. Lorsqu’une case est le problème, la raison apparaît en rouge sous cette case, la case devient rouge et le curseur s’y déplace. Par exemple Ce n’est pas un numéro de téléphone valide pour le pays choisi. Saisissez un numéro local de ce pays, ou le numéro complet commençant par + et l’indicatif pays. sous Téléphone (WhatsApp) (sans Pays choisi : Ce n’est pas un numéro de téléphone valide. Vérifiez les chiffres après le + et l’indicatif pays, ou choisissez le Pays ci-dessous et saisissez un numéro local.), Choisissez la plateforme de l'identifiant. dans Plateforme (chaque fois qu’un pseudo est tapé, même avec un téléphone ou un e-mail), Le consentement WhatsApp ou SMS nécessite un numéro de téléphone. Saisissez le numéro, ou décochez WhatsApp et SMS. sous Téléphone (WhatsApp) Le consentement par e-mail nécessite une adresse e-mail. Saisissez l’adresse ou décochez E-mail. ou Saisissez une adresse e-mail comme name@example.com. sous E-mail, ou Indiquez comment la personne a donné son accord (au moins 3 caractères). Comment a-t-elle donné son accord ? Chaque raison est dans votre langue. Corrigez-la et appuyez à nouveau sur Ajouter un contact . Un message concernant le formulaire dans son ensemble (Indiquez un numéro de téléphone, un email ou un identifiant. apparaît en bas.
Un contact ajouté uniquement par un identifiant obtient sa propre carte ; lorsque la personne vous écrit depuis cette plateforme, fusionnez les deux avec Fusionner avec… (Contacts).
Développeurs (API)
« POST /workspaces/{workspaceId}/contacts » ajoute un contact (« nom », « téléphone », « email », « handle » + « plateforme », « pays », « tags », « notes », « attributs », « consent : {channels, evidence} ») ; 409 renvoie le « contactId » existant. Importations : « POST .../contacts/imports » (fichier multipartit), « GET .../contacts/imports/{id}», « PATCH » « {mapping, options} », « POST .../validate », « POST .../run », « POST .../cancel », « GET .../errors.csv ?lang = ar » (« lang » : en, ar, fr, es, pt, de, tr, id, hi ou your). Le « GET » d’une importation terminée renvoie « audience » (« id », « name », « memberCount ») — la liste ci-dessus.