Bulk operations
To import a whole customer base, issue hundreds of tickets or update thousands of cards, use the /bulk endpoints instead of looping over single calls.
Request body
| Field | Type | Description |
|---|---|---|
items | array | 1 to 5,000 items, each in the format of the single-item endpoint. Deletions take ids (an array of identifiers). |
webhookUrl | string | Optional. URL called once the operation is complete. |
forceSync | boolean | Optional, false by default. true processes the request immediately and returns the results. Only for batches of fewer than 1,000 items (otherwise 400:SYNC_EXECUTION_NOT_ALLOWED). |
- 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: en' \
-H 'Authorization: Bearer <token>' \
--data-raw '{
"webhookUrl": "https://your-server.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
}
]
}'
Asynchronous mode (default)
The response comes back immediately, before processing:
{
"operationId": "6651a7e0c4b2f19d8e3a0c55",
"totalItems": 2,
"successCount": 0,
"failureCount": 0,
"status": "pending",
"createdAt": "2026-11-20T10:00:00.000Z"
}
Track progress with GET/bulk-operations/{operationId}: status moves from pending to processing, then completed or failed. At the end, every failed item is listed in operationErrors.
The completion webhook isn't guaranteed
webhookUrl is called only once, with no retry, and only if the operation ends as completed. Keep polling GET/bulk-operations/{operationId} as a safety net.
Best practices
- Split anything above 5,000 items, and send the batches one after another.
- Provide your own
barcodeper item if you need to link the pass to your system (ticketing, CRM). - An error on one item doesn't cancel the others: retry only the items in
operationErrors.