-
Notifications
You must be signed in to change notification settings - Fork 1
How to use dabba api
Voici comment utiliser l'API Dabba pour réaliser des opérations.
- Pour commencer il vous faut des identifiants, un CLIENT_ID et CLIENT_SECRET, qui sont générée dans l'admin php.
- Sans se connecter avec un user (Oauth), seul la liste des restaurants est accessible.
- Actuellement Dabba n'utilise qu'un seul type de contenant, mais cette API permet d'en prendre en charge plusieurs.
faire un POST sur /api/users
avec
{
"email": "string",
"password": "string",
...
}
Ensuite l'utilisateur doit valider son nouveau compte en cliquant sur un lien reçu par e-mail.
faire un POST sur /api/accessToken Avec le Header Content-Type : application/x-www-form-urlencoded et le formulaire :
grant-type : password
scope : *
client_id : CLIENT_ID
client_secret : CLIENT_SECRET
username : user%40email.fr
password : *********
ce qui retourne un access_token valable 1h (3600 secondes) ainsi qu'un refresh_token valable 1 mois.
faire un GET (authentifié) sur /api/users/current
- wallet correspond au montant de sa cagnotte.
- containers la liste des ses contenants actuels
- paymentTokens la liste des cartes bancaires enregistrées pour payer la cagnottes
faire un POST (authentifié) sur /api/trades avec
{
"items": [
{
"type": "DEPOSIT",
"container_id": 1,
"quantity": 3
}
],
"code_from_qr": "string"
}- Type peut être : "DEPOSIT" ou "WITHDRAW". un échange correspond au dépot/retrait d'une même quantité.
- code_from_qr correspond à un code restaurant unique et secret qu'il faudra connaitre (probablement appel API spécifique avec un user dédié) Cette appel retournera une erreur si l'opération est impossible (manque de stock, manque de cagnotte, etc...)
faire un POST (authentifié) sur /api/orders avec le montant à créditer
{
"amount": 16
}ceci renvoi une commande (order). a. sans avoir de carte de crédit enregistrée dans le compte -> un lien pour payer se trouve dans l'attribut pay_url Une fois le paiement fait, la cagnotte sera créditée automatiquement b. avec un carte pre-enregistrée faire un POST (authentifié) sur /api/orders/{id}/pay avec le token à utiliser
{
"token_id": "TO_BE_DEFINED_123456789abcdefghi"
}