Aller au contenu principal

Opérations en masse

Pour importer toute une base clients, émettre des centaines de billets ou mettre à jour des milliers de cartes, utilisez les endpoints /bulk plutôt qu'une boucle d'appels unitaires.

RessourceCréerModifierSupprimer
ClientsPOST/clients/bulkPATCH/clients/bulkDELETE/clients/bulk
Passes de transportPOST/transits/{transitId}/passes/bulkPATCH/transits/{transitId}/passes/bulkDELETE/transits/{transitId}/passes/bulk
Passes d'événementPOST/events/{id}/passes/bulkPATCH/events/{id}/passes/bulkDELETE/events/{id}/passes/bulk
Passes d'hôtelPOST/hotels/{id}/passes/bulkPATCH/hotels/{id}/passes/bulkDELETE/hotels/{id}/passes/bulk
Coupons envoyésPATCH/coupons/{id}/passes/bulkDELETE/coupons/{id}/passes/bulk

Le corps de la requête​

ChampTypeDescription
itemsarrayDe 1 à 5 000 éléments, chacun au format de l'endpoint unitaire. Les suppressions prennent ids (tableau d'identifiants).
webhookUrlstringFacultatif. URL appelée une fois l'opération terminée.
forceSyncbooleanFacultatif, false par défaut. true traite la requête immédiatement et renvoie les résultats. Réservé aux lots de moins de 1 000 éléments (sinon 400:SYNC_EXECUTION_NOT_ALLOWED).
Créer deux clients et leur envoyer leur carte de fidélité
POST/clients/bulkEssayer
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://votre-serveur.example.com/hooks/eldo-bulk",
"items": [
{
"firstName": "Camille",
"lastName": "Martin",
"email": "camille@example.com",
"source": "CRM",
"gain": 1250,
"sendCard": true
},
{
"firstName": "Yanis",
"lastName": "Benali",
"email": "yanis@example.com",
"source": "CRM",
"gain": 300,
"sendCard": true
}
]
}'

Mode asynchrone (par défaut)​

La réponse arrive immédiatement, avant le traitement :

{
"operationId": "6651a7e0c4b2f19d8e3a0c55",
"totalItems": 2,
"successCount": 0,
"failureCount": 0,
"status": "pending",
"createdAt": "2026-11-20T10:00:00.000Z"
}

Suivez l'avancement avec GET/bulk-operations/{operationId} : status passe de pending à processing, puis completed ou failed. À la fin, chaque élément en échec est listé dans operationErrors.

Le webhook de fin n'est pas garanti

L'URL webhookUrl est appelée une seule fois, sans nouvelle tentative, et seulement si l'opération se termine en completed. Gardez le suivi par GET/bulk-operations/{operationId} comme filet de sécurité.

Bonnes pratiques​

  • Découpez au-delà de 5 000 éléments, et envoyez les lots les uns après les autres.
  • Fournissez votre propre barcode par élément si vous devez relier le pass à votre système (billetterie, CRM).
  • Une erreur sur un élément n'annule pas les autres : relancez uniquement les éléments de operationErrors.

Les nouveautés de l'API, une fois par mois

Nouveaux endpoints, changements à prévoir, guides et cas d'usage. Pas de spam, désinscription en un clic.

Signaler un problème technique

Une erreur de l’API, un pass qui ne se met pas à jour, un e-mail qui n’arrive pas ? Décrivez le problème : notre équipe technique vous répond.

Pour une réponse rapide, indiquez :

  • La méthode et l’endpoint (ex. POST /clients)
  • Le code d’erreur renvoyé (errorCode) et le corps envoyé
  • La date et l’heure de l’appel
  • Les identifiants concernés (client, modèle, pass)

N’y mettez jamais de jeton d’API ni de mot de passe.

Assistant IA

Beta

Chargement…

Réponses générées par IA (Claude) : vérifiez les points importants.

Connectez-vous pour utiliser l'assistant