WalletAPI (1.0.0)

License: Copyright

Une api permettant de gérer des cartes sur différents wallets.

Description

Cette API permet de gérer des cartes (fidélité, générique, ...) et que les personnes puissent ajouté leurs cartes sur leur téléphone.

Les wallets sont les portefeuilles numériques de Google, Apple et autres wallets personnels au client (par exemple MyWallet). Les cartes sont définis par leur template (CardTemplate).

Authentification

Pour utiliser cette API, il est nécessaire d'avoir un bearer token. La documentation peux être trouvé ici documentation AuthAPI

Liste des erreurs

Voici la liste des codes d'erreur internes, ces erreurs n'apparaissent que dans le cadre d'un statut HTTP 500.

Code Statut HTTP
WAL-1 500
WAL-4 500
WAL-10 500
WAL-11 500

Voici la liste des codes d'erreur

Code Description Statut HTTP
WAL-2 Chemin invalide 404
WAL-3 Un paramètre est manquant ou invalide dans le corps de la requête (ex: paramètre envoyé en string au lieu d'un integer) 422
WAL-5 Token manquant 401
WAL-6 Signature du token invalide 400
WAL-7 Token expiré 400
WAL-8 Token invalide 400
WAL-9 Accès non authorisé au service (token invalide) 403
WAL-12 Model with path parameters not found 404
WAL-13 Invalid serial_number 404
WAL-14 Elements dans template ou data invalide 404
WAL-15 Elements manquants pour la création d'un device 400
WAL-16 Action non authorisé 403

Wallets

Liste des wallets

Liste des wallets accessible au client

Authorizations:
BearerToken

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Configurations

Récupérer la configuration client d'un wallet

Retourner la configuration spécifique au client pour le wallet donné

Authorizations:
BearerToken
path Parameters
wallet_id
required
string <uuid>

L'id du wallet

Responses

Response samples

Content type
application/json
{
  • "int": 0,
  • "label": "string",
  • "walletId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Création d'une configuration client

Création d'une configuration client pour un wallet

Authorizations:
BearerToken
path Parameters
wallet_id
required
string <uuid>

L'id du wallet

Request Body schema: multipart/form-data
required

Les paramètres de la configuration client

Any of
required
object
google
required
file <binary> Extension : .json

Fichier de config Google Wallet

label
string

Paramètre optionnel pour distinguer les différentes configurations

Responses

Response samples

Content type
application/json
{
  • "int": 0,
  • "label": "string",
  • "walletId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Modification d'une configuration client

Modification d'une configuration client pour un wallet

Authorizations:
BearerToken
path Parameters
wallet_id
required
string <uuid>

L'id du wallet

configuration_id
required
int

L'id de la configuration à modifier

Request Body schema: multipart/form-data
required

Les paramètres de la configuration client

Any of
required
object
google
required
file <binary> Extension : .json

Fichier de config Google Wallet

label
string

Paramètre optionnel pour distinguer les différentes configurations

Responses

Response samples

Content type
application/json
{
  • "int": 0,
  • "label": "string",
  • "walletId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

CardTemplates

Liste des CardTemplates

Liste des templates de cartes

Authorizations:
BearerToken

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Créer un nouveau card-template

Création d'un cardTemplate

Authorizations:
BearerToken
Request Body schema: application/json
required

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}}

Responses

Request samples

Content type
application/json
{
  • "typeCard": "GENERIC",
  • "template": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "typeCard": "GENERIC",
  • "status": "ACTIVE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "template": {
    }
}

Récupération d'un CardTemplate

Récupérer un templates de cartes

Authorizations:
BearerToken
path Parameters
card_template_id
required
string

L'id du CardTemplate à récupérer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "typeCard": "GENERIC",
  • "status": "ACTIVE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "template": {
    }
}

Modifier le CardTemplate

Modifier le template du CardTemplate

Authorizations:
BearerToken
path Parameters
card_template_id
required
string

L'id du CardTemplate à modifier

Request Body schema: application/json
required

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}}

Responses

Request samples

Content type
application/json
{
  • "template": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "typeCard": "GENERIC",
  • "status": "ACTIVE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "template": {
    }
}

Cards

Récupération d'une carte

Récupération d'une carte

Authorizations:
BearerToken
path Parameters
card_template_id
required
string

L'id du card_template

serial_number
required
string

Le serial_number de la carte

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "serialNumber": "string",
  • "status": "ACTIVE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "data": {
    }
}

Ajouter une carte

Ajouter une carte pour un template donné

Authorizations:
BearerToken
path Parameters
card_template_id
required
string

L'id du CardTemplate

Request Body schema: application/json
required

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

Responses

Request samples

Content type
application/json
{
  • "serialNumber": "string",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "serialNumber": "string",
  • "status": "ACTIVE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "data": {
    }
}

Modifier une carte

Modifier les datas de la carte

Authorizations:
BearerToken
path Parameters
card_template_id
required
string

L'id du card template

serial_number
required
string

Le serial number de la carte

Request Body schema: application/json
required

Data de la carte

required
object (DataResponse)

Les datas de la carte

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "serialNumber": "string",
  • "status": "ACTIVE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "data": {
    }
}

Ajout de la carte à Google wallet

Récupérer l'url pour ajouter une carte à Google wallet

Authorizations:
BearerToken
path Parameters
serialNumber
required
string

Le serial number de la carte

Responses

Response samples

Content type
application/json
{
  • "url": "string"
}

Télécharger le pass générique

Télécharger le pass générique

Authorizations:
BearerToken
path Parameters
serialNumber
required
string

Le serial number de la carte

Responses

Response samples

Content type
application/json
{
  • "message": "Le bearer token est manquant",
  • "code": "WAL-5"
}

Télécharger le pass Apple

Télécharger le pass Apple

Authorizations:
BearerToken
path Parameters
serialNumber
required
string

Le serial number de la carte

Responses

Response samples

Content type
application/json
{
  • "message": "Le bearer token est manquant",
  • "code": "WAL-5"
}

Devices

Créer un device et/ou lier le device avec une carte

Ajouter un nouveau device sur un wallet et/ou associer un device à une carte existante.

Authorizations:
BearerToken
path Parameters
wallet_id
required
string

L'id du wallet

Request Body schema: application/json
required

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

Responses

Request samples

Content type
application/json
{
  • "deviceType": "Android",
  • "token": "string",
  • "serialNumber": "string",
  • "pushToken": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "wallet_id": 0,
  • "token": "string",
  • "device_type": "iOS",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}