Vue d’ensemble

Walkap est aussi responsable de la sécurité du coté back-end. Un utilisateur peut avoir un ou plusieurs rôles, chaque rôle lui donne accès à une ou plusieurs routes API. Un profil utilisateur est donc constitué d’un ou plusieurs rôles.

Les profils utilisateurs

Il existe au sein de Walkap 3 type de profils utilisateurs.

  • Le profil administrateur : c’est le super utilisateu qui a le droit de tout faire. Lors du premier déploiement de l’API, un utilisateur de ce type est crée pour pouvoir réaliser des opérations d’administration avec tous les pouvoirs.

  • Le profil staff : il s’agit du profil qui permet de réaliser des opérations uniquement autorisées pour les membres de l’équipe (validations des cartes et pièces d’identitité, etc.). La différence entre le staff est l’administrateur est que l’administration peut promouvoir un compte au range de staff, mais le staff n’agit pas sur les profils des utilisateurs.

  • Le profile utilisateur normal : il s’agit du profil le plus courant qui permet de réaliser les transactions et de profiter de l’ensemble des fonctionnalités de l’application.

Opérations sur les comptes utilisateurs

Les ressources Accounts sont utilisés pour créer et/ou lister des comptes d’utilisateur.

Liste des comptes

Curl request

$ curl 'http://localhost:8080/accounts/' -i -X GET

HTTP response

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

Enregistrer un nouveau compte

Curl request

$ curl 'http://localhost:8080/accounts/' -i -u 'lucascharpentier:lucascharpentier' -X GET \
    -H 'Accept: application/json'

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 5395

{
  "content" : [ {
    "id" : 393,
    "username" : "benjaminle roux",
    "email" : "raphael.rey@yahoo.fr",
    "firstName" : "Raphaël",
    "lastName" : "Blanc",
    "birthDate" : "3808-05-20T02:28:16.928+0000",
    "createDate" : "2023-03-21T23:02:06.955+0000",
    "updateDate" : null,
    "lastLoginDate" : null,
    "preferredLang" : "fr",
    "roles" : [ "ROLE_STAFF" ],
    "address" : [ ],
    "tokenRegister" : [ ],
    "bankAccounts" : [ ],
    "idCards" : [ ],
    "kycElementClients" : [ {
      "id" : 387,
      "statusElement" : {
        "id" : 195,
        "statusValue" : "ACTIVE",
        "createdDate" : "2023-03-21T23:02:07.167+0000",
        "updatedDate" : null,
        "kycElementClients" : [ ]
      },
      "statusChanger" : null,
      "reason" : null,
      "createdDate" : "2023-03-21T23:02:07.168+0000",
      "updateDate" : null
    } ],
    "accountType" : "INTERNAL"
  }, {
    "id" : 395,
    "username" : "hugoroyer",
    "email" : "chloe.lemoine@gmail.com",
    "firstName" : "Nathan",
    "lastName" : "Fontaine",
    "birthDate" : "3885-09-27T13:35:07.534+0000",
    "createDate" : "2023-03-21T23:02:07.161+0000",
    "updateDate" : null,
    "lastLoginDate" : null,
    "preferredLang" : "fr",
    "roles" : [ ],
    "address" : [ ],
    "tokenRegister" : [ ],
    "bankAccounts" : [ ],
    "idCards" : [ ],
    "kycElementClients" : [ {
      "id" : 386,
      "statusElement" : {
        "id" : 196,
        "statusValue" : "WAITING_FOR_MORE_INFO",
        "createdDate" : "2023-03-21T23:02:07.167+0000",
        "updatedDate" : null,
        "kycElementClients" : [ ]
      },
      "statusChanger" : null,
      "reason" : null,
      "createdDate" : "2023-03-21T23:02:07.168+0000",
      "updateDate" : null
    } ],
    "accountType" : "INTERNAL"
  }, {
    "id" : 394,
    "username" : "lolapoirier",
    "email" : "charlotte.laurent@gmail.com",
    "firstName" : "Nicolas",
    "lastName" : "Bourgeois",
    "birthDate" : "3842-11-14T06:03:09.409+0000",
    "createDate" : "2023-03-21T23:02:07.054+0000",
    "updateDate" : null,
    "lastLoginDate" : null,
    "preferredLang" : "fr",
    "roles" : [ "ROLE_USER" ],
    "address" : [ ],
    "tokenRegister" : [ ],
    "bankAccounts" : [ ],
    "idCards" : [ ],
    "kycElementClients" : [ {
      "id" : 388,
      "statusElement" : {
        "id" : 195,
        "statusValue" : "ACTIVE",
        "createdDate" : "2023-03-21T23:02:07.167+0000",
        "updatedDate" : null,
        "kycElementClients" : [ ]
      },
      "statusChanger" : null,
      "reason" : null,
      "createdDate" : "2023-03-21T23:02:07.168+0000",
      "updateDate" : null
    } ],
    "accountType" : "INTERNAL"
  }, {
    "id" : 392,
    "username" : "lucascharpentier",
    "email" : "nathan.meunier@gmail.com",
    "firstName" : "Jeanne",
    "lastName" : "Lambert",
    "birthDate" : "3863-04-13T10:15:40.656+0000",
    "createDate" : "2023-03-21T23:02:06.857+0000",
    "updateDate" : null,
    "lastLoginDate" : null,
    "preferredLang" : "fr",
    "roles" : [ "ROLE_STAFF", "ROLE_ADMIN" ],
    "address" : [ ],
    "tokenRegister" : [ ],
    "bankAccounts" : [ ],
    "idCards" : [ ],
    "kycElementClients" : [ {
      "id" : 385,
      "statusElement" : {
        "id" : 195,
        "statusValue" : "ACTIVE",
        "createdDate" : "2023-03-21T23:02:07.167+0000",
        "updatedDate" : null,
        "kycElementClients" : [ ]
      },
      "statusChanger" : null,
      "reason" : null,
      "createdDate" : "2023-03-21T23:02:07.168+0000",
      "updateDate" : null
    } ],
    "accountType" : "INTERNAL"
  }, {
    "id" : 396,
    "username" : "nicolasle gall",
    "email" : "louna.roche@yahoo.fr",
    "firstName" : null,
    "lastName" : null,
    "birthDate" : null,
    "createDate" : "2023-03-21T23:02:07.185+0000",
    "updateDate" : null,
    "lastLoginDate" : null,
    "preferredLang" : "fr",
    "roles" : [ ],
    "address" : [ ],
    "tokenRegister" : [ {
      "id" : 4,
      "token" : "03295532-d9cc-409d-b679-2dc5991fd35e",
      "used" : true
    } ],
    "bankAccounts" : [ ],
    "idCards" : [ ],
    "kycElementClients" : [ {
      "id" : 389,
      "statusElement" : {
        "id" : 197,
        "statusValue" : "PENDING",
        "createdDate" : "2023-03-21T23:02:07.385+0000",
        "updatedDate" : null,
        "kycElementClients" : [ ]
      },
      "statusChanger" : null,
      "reason" : null,
      "createdDate" : "2023-03-21T23:02:07.386+0000",
      "updateDate" : null
    }, {
      "id" : 390,
      "statusElement" : {
        "id" : 198,
        "statusValue" : "WAITING_FOR_MORE_INFO",
        "createdDate" : "2023-03-21T23:02:07.547+0000",
        "updatedDate" : null,
        "kycElementClients" : [ ]
      },
      "statusChanger" : null,
      "reason" : null,
      "createdDate" : "2023-03-21T23:02:07.548+0000",
      "updateDate" : null
    } ],
    "accountType" : "INTERNAL"
  } ],
  "pageable" : {
    "sort" : {
      "sorted" : true,
      "unsorted" : false,
      "empty" : false
    },
    "offset" : 0,
    "pageNumber" : 0,
    "pageSize" : 10,
    "paged" : true,
    "unpaged" : false
  },
  "totalPages" : 1,
  "totalElements" : 5,
  "last" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "sorted" : true,
    "unsorted" : false,
    "empty" : false
  },
  "numberOfElements" : 5,
  "first" : true,
  "empty" : false
}

Activer un nouveau compte

Curl request

$ curl 'http://localhost:8080/accounts/activate_token/03295532-d9cc-409d-b679-2dc5991fd35e' -i -X GET

HTTP response

HTTP/1.1 303 See Other
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: http://test.walkap.net/walkap-merchant/index.php
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

Consulter un compte

Curl request

Snippet curl-request not found for operation::get-account

HTTP response

Snippet http-response not found for operation::get-account

Modifier un email

Curl request

$ curl 'http://localhost:8080/accounts/maximephilippe' -i -u 'maximephilippe:maximephilippe' -X PUT \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{"email":"new-email@example.com"}'

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 755

{"id":384,"username":"maximephilippe","email":"new-email@example.com","firstName":"Alexandre","lastName":"Jacquet","birthDate":"3899-05-15T13:57:05.710+0000","createDate":"2023-03-21T23:02:04.890+0000","updateDate":"2023-03-21T23:02:05.434+0000","lastLoginDate":null,"preferredLang":"fr","roles":["ROLE_STAFF","ROLE_ADMIN"],"address":[],"tokenRegister":[],"bankAccounts":[],"idCards":[],"kycElementClients":[{"id":377,"statusElement":{"id":191,"statusValue":"ACTIVE","createdDate":"2023-03-21T23:02:05.194+0000","updatedDate":null,"kycElementClients":[]},"statusChanger":null,"reason":null,"createdDate":"2023-03-21T23:02:05.195+0000","updateDate":null}],"accountType":"INTERNAL","_links":{"self":{"href":"http://localhost:8080/accounts/maximephilippe"}}}

Modifier son mot de passe

Curl request

$ curl 'http://localhost:8080/accounts/clemenceschmitt' -i -u 'clemenceschmitt:MonNouveauMotDePasse' -X GET \
    -H 'Accept: application/json'

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 871

{
  "id" : 434,
  "username" : "clemenceschmitt",
  "email" : "matteo.rolland@yahoo.fr",
  "firstName" : "Maëlys",
  "lastName" : "Julien",
  "birthDate" : "3817-05-12T00:20:05.126+0000",
  "createDate" : "2023-03-21T23:02:15.450+0000",
  "updateDate" : "2023-03-21T23:02:16.137+0000",
  "lastLoginDate" : null,
  "preferredLang" : "fr",
  "roles" : [ "ROLE_STAFF", "ROLE_ADMIN" ],
  "address" : [ ],
  "tokenRegister" : [ ],
  "bankAccounts" : [ ],
  "idCards" : [ ],
  "kycElementClients" : [ {
    "id" : 429,
    "statusElement" : {
      "id" : 219,
      "statusValue" : "ACTIVE",
      "createdDate" : "2023-03-21T23:02:15.748+0000",
      "updatedDate" : null,
      "kycElementClients" : [ ]
    },
    "statusChanger" : null,
    "reason" : null,
    "createdDate" : "2023-03-21T23:02:15.748+0000",
    "updateDate" : null
  } ],
  "accountType" : "INTERNAL"
}

Modifier son compte

Curl request

$ curl 'http://localhost:8080/accounts/noemierobert' -i -u 'noemierobert:noemierobert' -X PUT \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{"firstName":"Alexandre","lastName":"Le grand","lastLoginDate":"2023-03-21T23:02:13.849+0000","birthDate":"1983-11-23"}'

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 779

{"id":426,"username":"noemierobert","email":"jade.marchand@yahoo.fr","firstName":"Alexandre","lastName":"Le grand","birthDate":"1983-11-23T00:00:00.000+0000","createDate":"2023-03-21T23:02:13.534+0000","updateDate":"2023-03-21T23:02:13.957+0000","lastLoginDate":"2023-03-21T23:02:13.849+0000","preferredLang":"fr","roles":["ROLE_STAFF","ROLE_ADMIN"],"address":[],"tokenRegister":[],"bankAccounts":[],"idCards":[],"kycElementClients":[{"id":421,"statusElement":{"id":215,"statusValue":"ACTIVE","createdDate":"2023-03-21T23:02:13.838+0000","updatedDate":null,"kycElementClients":[]},"statusChanger":null,"reason":null,"createdDate":"2023-03-21T23:02:13.838+0000","updateDate":null}],"accountType":"INTERNAL","_links":{"self":{"href":"http://localhost:8080/accounts/noemierobert"}}}

Consulter toutes les transactions liées à un utilisateur

Curl request

$ curl 'http://localhost:8080/accounts/evamaillard/transactions' -i -u 'enzobernard:enzobernard' -X GET \
    -H 'Accept: application/json'

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 4520

{"_embedded":{"transactionDetailList":[{"senderAccountType":"INTERNAL","sendBankAccount":{"cardNumber":"9539-0475-8091-0527","owner":"Maillard Kylian","expiryDate":"12-3920","id":111,"valid":true,"bankMethod":"VISA","bankDetails":[{"id":107,"createdAt":"2023-03-21T23:00:50.332+0000","dailyVolume":8029.0,"monthlyVolume":6830.0,"weeklyVolume":5199.0,"dailyNumberOfTrans":85.0,"monthlyNumberOfTrans":334.0,"weeklyNumberOfTrans":3769.0,"approved":true,"approvedByAdmin":null,"merchant":"evamaillard"}],"createAt":"2023-03-21T23:00:50.331+0000","lastDateUsed":"2023-03-21T23:00:50.618+0000","lastDateUsedForSendingMoney":"2023-03-21T23:00:50.618+0000","lastDateUsedForReceivingMoney":null},"receiverAccountType":"INTERNAL","receiveBankAccount":{"mobileMoneyId":"+46948562079","owner":"Lisa Pons","id":114,"valid":true,"bankMethod":"MOMO","bankDetails":[{"id":110,"createdAt":"2023-03-21T23:00:50.335+0000","dailyVolume":5897.0,"monthlyVolume":8619.0,"weeklyVolume":9466.0,"dailyNumberOfTrans":63.0,"monthlyNumberOfTrans":71.0,"weeklyNumberOfTrans":5537.0,"approved":true,"approvedByAdmin":null,"merchant":"raphaelolivier"}],"createAt":"2023-03-21T23:00:50.335+0000","lastDateUsed":"2023-03-21T23:00:50.618+0000","lastDateUsedForSendingMoney":null,"lastDateUsedForReceivingMoney":"2023-03-21T23:00:50.618+0000"},"amount":20.0,"createDate":"2023-03-21T23:00:50.618+0000","externalId":null,"transactionStatus":{"id":34,"status":"INITIALIZED","message":""},"senderAccount":{"id":94,"username":"evamaillard","email":"jules.bonnet@hotmail.fr","firstName":"Léa","lastName":"Blanc","birthDate":"3843-06-29T23:46:56.781+0000","createDate":"2023-03-21T23:00:50.124+0000","updateDate":null,"lastLoginDate":null,"preferredLang":"fr","roles":["ROLE_STAFF"],"address":[],"tokenRegister":[],"bankAccounts":[{"cardNumber":"9539-0475-8091-0527","owner":"Maillard Kylian","expiryDate":"12-3920","id":111,"valid":true,"bankMethod":"VISA","bankDetails":[{"id":107,"createdAt":"2023-03-21T23:00:50.332+0000","dailyVolume":8029.0,"monthlyVolume":6830.0,"weeklyVolume":5199.0,"dailyNumberOfTrans":85.0,"monthlyNumberOfTrans":334.0,"weeklyNumberOfTrans":3769.0,"approved":true,"approvedByAdmin":null,"merchant":"evamaillard"}],"createAt":"2023-03-21T23:00:50.331+0000","lastDateUsed":"2023-03-21T23:00:50.618+0000","lastDateUsedForSendingMoney":"2023-03-21T23:00:50.618+0000","lastDateUsedForReceivingMoney":null}],"idCards":[],"kycElementClients":[{"id":87,"statusElement":{"id":43,"statusValue":"ACTIVE","createdDate":"2023-03-21T23:00:50.396+0000","updatedDate":null,"kycElementClients":[]},"statusChanger":null,"reason":null,"createdDate":"2023-03-21T23:00:50.403+0000","updateDate":null}],"accountType":"INTERNAL"},"receiverAccount":{"id":95,"username":"raphaelolivier","email":"mathis.legrand@yahoo.fr","firstName":"Laura","lastName":"Richard","birthDate":"3898-02-13T14:52:00.172+0000","createDate":"2023-03-21T23:00:50.222+0000","updateDate":null,"lastLoginDate":null,"preferredLang":"fr","roles":["ROLE_USER"],"address":[],"tokenRegister":[],"bankAccounts":[{"mobileMoneyId":"+46948562079","owner":"Lisa Pons","id":114,"valid":true,"bankMethod":"MOMO","bankDetails":[{"id":110,"createdAt":"2023-03-21T23:00:50.335+0000","dailyVolume":5897.0,"monthlyVolume":8619.0,"weeklyVolume":9466.0,"dailyNumberOfTrans":63.0,"monthlyNumberOfTrans":71.0,"weeklyNumberOfTrans":5537.0,"approved":true,"approvedByAdmin":null,"merchant":"raphaelolivier"}],"createAt":"2023-03-21T23:00:50.335+0000","lastDateUsed":"2023-03-21T23:00:50.618+0000","lastDateUsedForSendingMoney":null,"lastDateUsedForReceivingMoney":"2023-03-21T23:00:50.618+0000"}],"idCards":[],"kycElementClients":[{"id":88,"statusElement":{"id":43,"statusValue":"ACTIVE","createdDate":"2023-03-21T23:00:50.396+0000","updatedDate":null,"kycElementClients":[]},"statusChanger":null,"reason":null,"createdDate":"2023-03-21T23:00:50.403+0000","updateDate":null}],"accountType":"INTERNAL"},"id":33}]},"_links":{"self":{"href":"http://localhost:8080/accounts/evamaillard/transactions?page=0&size=5&sort=ASC&sortField=createDate{&status,dateBefore,dateAfter}","templated":true},"next":{"href":"http://localhost:8080/accounts/evamaillard/transactions?page=1&size=5&sort=ASC&sortField=createDate{&status,dateBefore,dateAfter}","templated":true},"receive":{"href":"http://localhost:8080/accounts/evamaillard/transactions/receive?page=0&size=5"},"send":{"href":"http://localhost:8080/accounts/evamaillard/transactions/send?page=0&size=5"}},"page":{"size":5,"totalElements":1,"totalPages":1,"number":0}}

Response fields

Path Type Description

_links

Object

Liens utiles

page

Object

Pagination

_embedded.transactionDetailList[]

Array

Liste des transactions

_embedded.transactionDetailList[].sendBankAccount

Object

Coordonées bancaires de l’expéditeur

_embedded.transactionDetailList[].receiveBankAccount

Object

Coordonées bancaires du destinataire

_embedded.transactionDetailList[].senderAccount

Object

Informations sur l’expéditeur

_embedded.transactionDetailList[].receiverAccount

Object

Informations sur le destinataire

_embedded.transactionDetailList[].amount

Number

Montant de la transaction

_embedded.transactionDetailList[].transactionStatus

Object

Statut de la transaction

_embedded.transactionDetailList[].externalId

Null

Identifiant externe de la transaction (celui que l’on retrouve chez les providers)

_embedded.transactionDetailList[].createDate

String

Date de la transaction

Consulter les transactions envoyées par un utilisateur

Curl request

$ curl 'http://localhost:8080/accounts/maellerousseau/transactions/send' -i -u 'maellerousseau:maellerousseau' -X GET \
    -H 'Accept: application/json'

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 170

{"_links":{"self":{"href":"http://localhost:8080/accounts/maellerousseau/transactions/send?page=0&size=5"}},"page":{"size":5,"totalElements":0,"totalPages":0,"number":0}}

Consulter les transactions reçues par un utilisateur

Curl request

$ curl 'http://localhost:8080/accounts/gabrielhuet/transactions/receive' -i -u 'gabrielhuet:gabrielhuet' -X GET \
    -H 'Accept: application/json'

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 170

{"_links":{"self":{"href":"http://localhost:8080/accounts/gabrielhuet/transactions/receive?page=0&size=5"}},"page":{"size":5,"totalElements":0,"totalPages":0,"number":0}}

Opérations interdites sur les comptes utilisateurs

Modifier un email avec une chaine qui ne respecte pas le format email

Curl request

$ curl 'http://localhost:8080/accounts/leagauthier' -i -u 'leagauthier:leagauthier' -X PUT \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{
  "email" : "new-email-example.com"
}'

HTTP response

HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

Modifier un nom d’utilisateur avec une chaine trop petite

Curl request

$ curl 'http://localhost:8080/accounts/pierreduval' -i -u 'pierreduval:pierreduval' -X GET \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{
  "username" : "pi"
}'

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 843

{
  "id" : 430,
  "username" : "pierreduval",
  "email" : "lucie.schneider@gmail.com",
  "firstName" : "Alice",
  "lastName" : "Maillard",
  "birthDate" : "3815-06-14T21:30:04.167+0000",
  "createDate" : "2023-03-21T23:02:14.318+0000",
  "updateDate" : null,
  "lastLoginDate" : null,
  "preferredLang" : "fr",
  "roles" : [ "ROLE_STAFF", "ROLE_ADMIN" ],
  "address" : [ ],
  "tokenRegister" : [ ],
  "bankAccounts" : [ ],
  "idCards" : [ ],
  "kycElementClients" : [ {
    "id" : 425,
    "statusElement" : {
      "id" : 217,
      "statusValue" : "ACTIVE",
      "createdDate" : "2023-03-21T23:02:14.619+0000",
      "updatedDate" : null,
      "kycElementClients" : [ ]
    },
    "statusChanger" : null,
    "reason" : null,
    "createdDate" : "2023-03-21T23:02:14.620+0000",
    "updateDate" : null
  } ],
  "accountType" : "INTERNAL"
}

Modifier un nom d’utilisateur avec une chaine vide

Curl request

$ curl 'http://localhost:8080/accounts/' -i -u 'antoinedupuy:antoinedupuy' -X GET \
    -H 'Accept: application/json'

HTTP response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 4047

{
  "content" : [ {
    "id" : 372,
    "username" : "antoinedupuy",
    "email" : "noah.rodriguez@yahoo.fr",
    "firstName" : "Jade",
    "lastName" : "Richard",
    "birthDate" : "3829-05-18T00:42:25.294+0000",
    "createDate" : "2023-03-21T23:02:02.509+0000",
    "updateDate" : null,
    "lastLoginDate" : null,
    "preferredLang" : "fr",
    "roles" : [ "ROLE_STAFF", "ROLE_ADMIN" ],
    "address" : [ ],
    "tokenRegister" : [ ],
    "bankAccounts" : [ ],
    "idCards" : [ ],
    "kycElementClients" : [ {
      "id" : 365,
      "statusElement" : {
        "id" : 185,
        "statusValue" : "ACTIVE",
        "createdDate" : "2023-03-21T23:02:02.811+0000",
        "updatedDate" : null,
        "kycElementClients" : [ ]
      },
      "statusChanger" : null,
      "reason" : null,
      "createdDate" : "2023-03-21T23:02:02.812+0000",
      "updateDate" : null
    } ],
    "accountType" : "INTERNAL"
  }, {
    "id" : 375,
    "username" : "hugobonnet",
    "email" : "ethan.noel@gmail.com",
    "firstName" : "Alicia",
    "lastName" : "Sanchez",
    "birthDate" : "3815-04-14T07:08:43.084+0000",
    "createDate" : "2023-03-21T23:02:02.806+0000",
    "updateDate" : null,
    "lastLoginDate" : null,
    "preferredLang" : "fr",
    "roles" : [ ],
    "address" : [ ],
    "tokenRegister" : [ ],
    "bankAccounts" : [ ],
    "idCards" : [ ],
    "kycElementClients" : [ {
      "id" : 366,
      "statusElement" : {
        "id" : 186,
        "statusValue" : "WAITING_FOR_MORE_INFO",
        "createdDate" : "2023-03-21T23:02:02.811+0000",
        "updatedDate" : null,
        "kycElementClients" : [ ]
      },
      "statusChanger" : null,
      "reason" : null,
      "createdDate" : "2023-03-21T23:02:02.812+0000",
      "updateDate" : null
    } ],
    "accountType" : "INTERNAL"
  }, {
    "id" : 373,
    "username" : "julienlacroix",
    "email" : "clement.roux@hotmail.fr",
    "firstName" : "Alice",
    "lastName" : "Carre",
    "birthDate" : "3829-09-29T19:32:24.869+0000",
    "createDate" : "2023-03-21T23:02:02.608+0000",
    "updateDate" : null,
    "lastLoginDate" : null,
    "preferredLang" : "fr",
    "roles" : [ "ROLE_STAFF" ],
    "address" : [ ],
    "tokenRegister" : [ ],
    "bankAccounts" : [ ],
    "idCards" : [ ],
    "kycElementClients" : [ {
      "id" : 367,
      "statusElement" : {
        "id" : 185,
        "statusValue" : "ACTIVE",
        "createdDate" : "2023-03-21T23:02:02.811+0000",
        "updatedDate" : null,
        "kycElementClients" : [ ]
      },
      "statusChanger" : null,
      "reason" : null,
      "createdDate" : "2023-03-21T23:02:02.812+0000",
      "updateDate" : null
    } ],
    "accountType" : "INTERNAL"
  }, {
    "id" : 374,
    "username" : "matteomartin",
    "email" : "antoine.dubois@gmail.com",
    "firstName" : "Eva",
    "lastName" : "Renault",
    "birthDate" : "3874-11-16T01:59:35.771+0000",
    "createDate" : "2023-03-21T23:02:02.709+0000",
    "updateDate" : null,
    "lastLoginDate" : null,
    "preferredLang" : "fr",
    "roles" : [ "ROLE_USER" ],
    "address" : [ ],
    "tokenRegister" : [ ],
    "bankAccounts" : [ ],
    "idCards" : [ ],
    "kycElementClients" : [ {
      "id" : 368,
      "statusElement" : {
        "id" : 185,
        "statusValue" : "ACTIVE",
        "createdDate" : "2023-03-21T23:02:02.811+0000",
        "updatedDate" : null,
        "kycElementClients" : [ ]
      },
      "statusChanger" : null,
      "reason" : null,
      "createdDate" : "2023-03-21T23:02:02.812+0000",
      "updateDate" : null
    } ],
    "accountType" : "INTERNAL"
  } ],
  "pageable" : {
    "sort" : {
      "sorted" : true,
      "unsorted" : false,
      "empty" : false
    },
    "offset" : 0,
    "pageNumber" : 0,
    "pageSize" : 10,
    "paged" : true,
    "unpaged" : false
  },
  "totalPages" : 1,
  "totalElements" : 4,
  "last" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "sorted" : true,
    "unsorted" : false,
    "empty" : false
  },
  "numberOfElements" : 4,
  "first" : true,
  "empty" : false
}