Importer une base clients
Vous lancez votre programme avec une base existante : un export Salesforce, HubSpot, ou un simple fichier CSV. Vous ne créez pas les clients un par un : vous les importez en masse.
Deux chemins
| Import CSV | Création en masse (JSON) | |
|---|---|---|
| Endpoint | POST/csv-operations/import-csv | POST/clients/bulk |
| Format | Fichier CSV en multipart/form-data | Tableau items en application/json |
| Pour… | Une migration ponctuelle depuis un export | Une synchronisation récurrente depuis votre CRM |
| Suivi | GET/csv-operations | GET/bulk-operations/{operationId} ou webhookUrl |
Avant de commencer
- La carte de fidélité configurée (PATCH
/store-cards). Voir Templates et passes. - Les types de clients créés si vous segmentez votre base.
- Un jeton d’API valide. Voir Authentification.
Étape 1 · Préparez le fichier
Une ligne par client. Colonnes utiles : prénom, nom, email (obligatoires), téléphone, et si vous en avez : code-barres (votre numéro client), type de client, gain de départ, date de naissance, date de renouvellement, date d’adhésion, société.
| Règle | Pourquoi |
|---|---|
| Un email unique par client | Un email déjà présent dans le wallet est refusé (EMAIL_ALREADY_EXISTS). |
| Un code-barres unique | Deux clients ne partagent jamais le même code-barres (BARCODE_ALREADY_EXISTS). |
Téléphone au format international (+33…) | Nécessaire pour l’envoi par SMS. |
| Encodage UTF-8 | Les accents des noms restent lisibles sur la carte. |
Pour le modèle de fichier exact (noms de colonnes, séparateur), contactez le support eldo wallet.
Étape 2 · Envoyez le fichier
- curl
- SDK Node.js
- nodejs
- php
- python
- java
- csharp
- go
- ruby
- CURL
curl -L 'https://api-v2.test.eldowallet.fr/csv-operations/import-csv' \
-H 'Accept: application/json' \
-H 'x-lang: fr' \
-H 'Authorization: Bearer <token>' \
-F 'file=@"clients.csv"' \
-F 'sendNotificationsToCustomers="false"'
Avec -F, curl envoie multipart/form-data avec son boundary. N’ajoutez pas de header Content-Type à la main.
L’import tourne en arrière-plan. Suivez-le avec GET/csv-operations.
Étape 3 · Décidez qui envoie les cartes
sendNotificationsToCustomers décide de ce qui se passe après l’import :
| Valeur | Ce qui se passe | Pour… |
|---|---|---|
"true" | eldo wallet envoie à chaque client son lien d’ajout au Wallet. | Un lancement avec activation immédiate. |
"false" | Les fiches sont créées, personne n’est prévenu. | Une migration silencieuse, puis votre propre campagne au moment choisi. |
Côté JSON (POST/clients/bulk), le même choix se fait client par client avec sendCard.
Variante · Création en masse en JSON
- curl
- SDK Node.js
- nodejs
- php
- python
- java
- csharp
- go
- ruby
- CURL
curl -L 'https://api-v2.test.eldowallet.fr/clients/bulk' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-lang: fr' \
-H 'Authorization: Bearer <token>' \
--data-raw '{
"webhookUrl": "https://crm.example.com/hooks/eldo",
"items": [
{
"firstName": "Marie",
"lastName": "Durand",
"email": "marie@example.com",
"source": "CRM",
"sendCard": true
},
{
"firstName": "Loïc",
"lastName": "Martin",
"email": "loic@example.com",
"barcode": "CRM-000124",
"source": "CRM",
"sendCard": true
}
]
}'
- Jusqu’à 5 000 éléments par appel, traités en asynchrone.
- La réponse contient l’identifiant de l’opération : suivez-la avec GET
/bulk-operations/{operationId}, ou attendez l’appel surwebhookUrl. forceSync: trueforce un traitement synchrone, refusé à partir de 1 000 éléments (SYNC_EXECUTION_NOT_ALLOWED).
Étape 4 · Traitez les rejets
Consultez le résultat de l’opération : clients créés, doublons, lignes invalides. Corrigez les lignes rejetées et relancez uniquement celles-là. Relancer tout le fichier crée des erreurs de doublon.
Étape 5 · Suivez l’activation
- GET
/clients/stats: nombre de clients et de cartes installées. - GET
/clients: liste paginée et filtrable (status,createdAtStart,search…). - POST
/clients/reminder-inactive: relancez ceux qui n’ont pas installé leur carte. - Webhooks : recevez
pass.installedquand un client ajoute sa carte.
Un wallet ne dépasse pas 100 000 clients (SYSTEM_DOES_NOT_SUPPORT_MORE_THAN_100000_CUSTOMERS).