This API allows managing cards (loyalty, generic, ...) and lets people add their cards to their phone.
Wallets are the digital wallets of Google, Apple and other customer-specific wallets (for example MyWallet). Cards are defined by their template (CardTemplate).
To use this API, a bearer token is required. The documentation can be found here AuthAPI documentation
Here is the list of internal error codes, these errors only appear with an HTTP 500 status.
| Code | HTTP Status |
|---|---|
| WAL-1 | 500 |
| WAL-4 | 500 |
| WAL-10 | 500 |
| WAL-100 | 500 |
Here is the list of error codes
| Code | Description | HTTP Status |
|---|---|---|
| WAL-2 | Invalid route | 404 |
| WAL-3 | A parameter is missing or invalid in the request body (e.g., parameter sent as string instead of an integer) | 400 / 422 |
| WAL-5 | Missing token | 401 |
| WAL-6 | Invalid token signature | 400 |
| WAL-7 | Expired token | 400 |
| WAL-8 | Invalid token | 400 |
| WAL-9 | Unauthorized access to service (invalid token) | 403 |
| WAL-11 | Rate limit exceeded | 429 |
| WAL-12 | HTTP method not allowed for this route (e.g., POST instead of GET), see the Allow header |
405 |
| WAL-13 | Requested resource not found (e.g., unknown identifier) | 404 |
| WAL-101 | Invalid serial_number | 400 |
| WAL-102 | Invalid elements in template or data | 400 |
| WAL-103 | Missing elements to create a device | 400 |
| WAL-104 | Unauthorized action | 403 |
The API supports response localization based on the Accept-Language HTTP header.
Supported locales: en, fr. Defaults to en if the header is absent or contains an unsupported locale.
Every response (success or error) includes an x-request-id header containing a unique identifier for the request.
Please provide it when contacting support about a specific call.
All routes are subject to a rate limit (requests per minute). When the limit is exceeded, the API returns an HTTP 429 with error code WAL-11.
The response includes the following headers:
X-RateLimit-Limit: maximum number of requests allowed per minuteX-RateLimit-Remaining: number of requests remaining in the current windowRetry-After: seconds to wait before retryingRetourner la configuration spécifique au client pour le wallet donné
| wallet_id required | string <uuid> L'id du wallet |
{- "int": 0,
- "label": "string",
- "walletId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Création d'une configuration client pour un wallet
| wallet_id required | string <uuid> L'id du wallet |
Les paramètres de la configuration client
required | object |
| google required | file <binary> Extension : .json Fichier de config Google Wallet |
| label | string Paramètre optionnel pour distinguer les différentes configurations |
{- "int": 0,
- "label": "string",
- "walletId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Modification d'une configuration client pour un wallet
| wallet_id required | string <uuid> L'id du wallet |
| configuration_id required | integer L'id de la configuration à modifier |
Les paramètres de la configuration client
required | object |
| google required | file <binary> Extension : .json Fichier de config Google Wallet |
| label | string Paramètre optionnel pour distinguer les différentes configurations |
{- "int": 0,
- "label": "string",
- "walletId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}[- {
- "id": 0,
- "typeCard": "GENERIC",
- "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "template": {
- "expiredAt": "{{expiredAt}}",
- "description": "La super carte de fidélité de chez Moulinot",
- "organizationName": "Moulinot",
- "images": [
- {
- "key": "string",
- "uri": "string"
}
], - "frontCard": {
- "title": "string",
- "logo": "string",
- "backgroundColor": "string",
- "foregroundColor": "string",
- "labelColor": "#000000",
- "barcode": {
- "barcodeType": "QR_CODE",
- "barcodeValue": "{{barcodeValue}}",
- "alternateText": "string"
}, - "nfc": [
- {
- "issuerIds": [
- "string"
], - "value": "string"
}
], - "footer": {
- "image": "self.images.footer"
}, - "rows": [
- {
- "images": "self.images.strip",
- "columns": [
- {
- "id": "string",
- "label": "string",
- "value": "string",
- "changeMessage": "string"
}
]
}
]
}, - "backCard": {
- "rows": [
- {
- "search": "CISS",
- "coordinatesGps": "45.76890833790006,4.851716213480798"
}
]
}, - "transactions": [
- {
- "amount": 0,
- "currency": "string",
- "pointOfSale": "string",
- "date": "string",
- "state": "string"
}
], - "maxNumberTransactions": 0
}
}
]Création d'un cardTemplate
Le type de cardTemplate et le template des cartes
| typeCard required | string Enum: "GENERIC" "LOYALTY" Le serial number de la carte |
required | object (TemplateResponse) Les données du template des cartes. Les valeurs qui doivent être modifiées par la carte seront mise en parenthèses. Ex : {{key}} |
{- "typeCard": "GENERIC",
- "template": {
- "expiredAt": "{{expiredAt}}",
- "description": "La super carte de fidélité de chez Moulinot",
- "organizationName": "Moulinot",
- "images": [
- {
- "key": "string",
- "uri": "string"
}
], - "frontCard": {
- "title": "string",
- "logo": "string",
- "backgroundColor": "string",
- "foregroundColor": "string",
- "labelColor": "#000000",
- "barcode": {
- "barcodeType": "QR_CODE",
- "barcodeValue": "{{barcodeValue}}",
- "alternateText": "string"
}, - "nfc": [
- {
- "issuerIds": [
- "string"
], - "value": "string"
}
], - "footer": {
- "image": "self.images.footer"
}, - "rows": [
- {
- "images": "self.images.strip",
- "columns": [
- {
- "id": "string",
- "label": "string",
- "value": "string",
- "changeMessage": "string"
}
]
}
]
}, - "backCard": {
- "rows": [
- {
- "search": "CISS",
- "coordinatesGps": "45.76890833790006,4.851716213480798"
}
]
}, - "transactions": [
- {
- "amount": 0,
- "currency": "string",
- "pointOfSale": "string",
- "date": "string",
- "state": "string"
}
], - "maxNumberTransactions": 0
}
}{- "id": 0,
- "typeCard": "GENERIC",
- "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "template": {
- "expiredAt": "{{expiredAt}}",
- "description": "La super carte de fidélité de chez Moulinot",
- "organizationName": "Moulinot",
- "images": [
- {
- "key": "string",
- "uri": "string"
}
], - "frontCard": {
- "title": "string",
- "logo": "string",
- "backgroundColor": "string",
- "foregroundColor": "string",
- "labelColor": "#000000",
- "barcode": {
- "barcodeType": "QR_CODE",
- "barcodeValue": "{{barcodeValue}}",
- "alternateText": "string"
}, - "nfc": [
- {
- "issuerIds": [
- "string"
], - "value": "string"
}
], - "footer": {
- "image": "self.images.footer"
}, - "rows": [
- {
- "images": "self.images.strip",
- "columns": [
- {
- "id": "string",
- "label": "string",
- "value": "string",
- "changeMessage": "string"
}
]
}
]
}, - "backCard": {
- "rows": [
- {
- "search": "CISS",
- "coordinatesGps": "45.76890833790006,4.851716213480798"
}
]
}, - "transactions": [
- {
- "amount": 0,
- "currency": "string",
- "pointOfSale": "string",
- "date": "string",
- "state": "string"
}
], - "maxNumberTransactions": 0
}
}Récupérer un templates de cartes
| card_template_id required | string L'id du CardTemplate à récupérer |
{- "id": 0,
- "typeCard": "GENERIC",
- "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "template": {
- "expiredAt": "{{expiredAt}}",
- "description": "La super carte de fidélité de chez Moulinot",
- "organizationName": "Moulinot",
- "images": [
- {
- "key": "string",
- "uri": "string"
}
], - "frontCard": {
- "title": "string",
- "logo": "string",
- "backgroundColor": "string",
- "foregroundColor": "string",
- "labelColor": "#000000",
- "barcode": {
- "barcodeType": "QR_CODE",
- "barcodeValue": "{{barcodeValue}}",
- "alternateText": "string"
}, - "nfc": [
- {
- "issuerIds": [
- "string"
], - "value": "string"
}
], - "footer": {
- "image": "self.images.footer"
}, - "rows": [
- {
- "images": "self.images.strip",
- "columns": [
- {
- "id": "string",
- "label": "string",
- "value": "string",
- "changeMessage": "string"
}
]
}
]
}, - "backCard": {
- "rows": [
- {
- "search": "CISS",
- "coordinatesGps": "45.76890833790006,4.851716213480798"
}
]
}, - "transactions": [
- {
- "amount": 0,
- "currency": "string",
- "pointOfSale": "string",
- "date": "string",
- "state": "string"
}
], - "maxNumberTransactions": 0
}
}Modifier le template du CardTemplate
| card_template_id required | string L'id du CardTemplate à modifier |
Le template du CardTemplate
required | object (TemplateResponse) Les données du template des cartes. Les valeurs qui doivent être modifiées par la carte seront mise en parenthèses. Ex : {{key}} |
{- "template": {
- "expiredAt": "{{expiredAt}}",
- "description": "La super carte de fidélité de chez Moulinot",
- "organizationName": "Moulinot",
- "images": [
- {
- "key": "string",
- "uri": "string"
}
], - "frontCard": {
- "title": "string",
- "logo": "string",
- "backgroundColor": "string",
- "foregroundColor": "string",
- "labelColor": "#000000",
- "barcode": {
- "barcodeType": "QR_CODE",
- "barcodeValue": "{{barcodeValue}}",
- "alternateText": "string"
}, - "nfc": [
- {
- "issuerIds": [
- "string"
], - "value": "string"
}
], - "footer": {
- "image": "self.images.footer"
}, - "rows": [
- {
- "images": "self.images.strip",
- "columns": [
- {
- "id": "string",
- "label": "string",
- "value": "string",
- "changeMessage": "string"
}
]
}
]
}, - "backCard": {
- "rows": [
- {
- "search": "CISS",
- "coordinatesGps": "45.76890833790006,4.851716213480798"
}
]
}, - "transactions": [
- {
- "amount": 0,
- "currency": "string",
- "pointOfSale": "string",
- "date": "string",
- "state": "string"
}
], - "maxNumberTransactions": 0
}
}{- "id": 0,
- "typeCard": "GENERIC",
- "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "template": {
- "expiredAt": "{{expiredAt}}",
- "description": "La super carte de fidélité de chez Moulinot",
- "organizationName": "Moulinot",
- "images": [
- {
- "key": "string",
- "uri": "string"
}
], - "frontCard": {
- "title": "string",
- "logo": "string",
- "backgroundColor": "string",
- "foregroundColor": "string",
- "labelColor": "#000000",
- "barcode": {
- "barcodeType": "QR_CODE",
- "barcodeValue": "{{barcodeValue}}",
- "alternateText": "string"
}, - "nfc": [
- {
- "issuerIds": [
- "string"
], - "value": "string"
}
], - "footer": {
- "image": "self.images.footer"
}, - "rows": [
- {
- "images": "self.images.strip",
- "columns": [
- {
- "id": "string",
- "label": "string",
- "value": "string",
- "changeMessage": "string"
}
]
}
]
}, - "backCard": {
- "rows": [
- {
- "search": "CISS",
- "coordinatesGps": "45.76890833790006,4.851716213480798"
}
]
}, - "transactions": [
- {
- "amount": 0,
- "currency": "string",
- "pointOfSale": "string",
- "date": "string",
- "state": "string"
}
], - "maxNumberTransactions": 0
}
}Récupération d'une carte
| card_template_id required | string L'id du card_template |
| serial_number required | string Le serial_number de la carte |
{- "id": 0,
- "serialNumber": "string",
- "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "keyValues": [
- {
- "key": "string",
- "value": "string"
}
], - "transactions": [
- { }
]
}
}Ajouter une carte pour un template donné
| card_template_id required | string L'id du CardTemplate |
La serial number et les datas de la carte
| serialNumber required | string Le serial number de la carte |
required | object (DataResponse) Les datas de la carte |
{- "serialNumber": "string",
- "data": {
- "keyValues": [
- {
- "key": "string",
- "value": "string"
}
], - "transactions": [
- { }
]
}
}{- "id": 0,
- "serialNumber": "string",
- "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "keyValues": [
- {
- "key": "string",
- "value": "string"
}
], - "transactions": [
- { }
]
}
}Modifier les datas de la carte
| card_template_id required | string L'id du card template |
| serial_number required | string Le serial number de la carte |
Data de la carte
required | object (DataResponse) Les datas de la carte |
{- "data": {
- "keyValues": [
- {
- "key": "string",
- "value": "string"
}
], - "transactions": [
- { }
]
}
}{- "id": 0,
- "serialNumber": "string",
- "status": "ACTIVE",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "keyValues": [
- {
- "key": "string",
- "value": "string"
}
], - "transactions": [
- { }
]
}
}Ajouter un nouveau device sur un wallet et/ou associer un device à une carte existante.
| wallet_id required | string L'id du wallet |
Les éléments à mettre pour créer un device et/ou lier une carte à un device
| deviceType | string Enum: "Android" "iOS" Le type de device |
| token | string Le token du device |
| serialNumber | string Le serialNumber de la carte |
| pushToken | string Le pushToken du device pour cette carte |
{- "deviceType": "Android",
- "token": "string",
- "serialNumber": "string",
- "pushToken": "string"
}{- "id": 0,
- "wallet_id": 0,
- "token": "string",
- "device_type": "iOS",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Get API usages for a given period
| start_date required | string <date> Example: start_date=2024-01-01 |
| end_date required | string <date> Example: end_date=2024-01-31 |
| Accept-Language | string Example: fr Locale for response messages. Supported: |
{- "message": "The bearer token is missing",
- "code": "WAL-5"
}