Skip to main content

Démarrage rapide

Il y a deux systèmes d'authentification :

Authentification de votre organisation#

Couple de valeur organization-identifier et organization-secret que vous devez mettre dans le Header de toutes vos requêtes

curl "https://api.dunia.app/categories" \
-X GET \
-H 'organization-identifier: ORGANIZATION_IDENTIFIER' \
-H 'organization-secret: ORGANIZATION_SECRET'

Authentification d'un user#

Bearer token à mettre dans le Authorization Header pour les requêtes qui concerne l'accès à la ressource User et à celles qui en dependent.

curl "https://api.dunia.app/users/{userId}" \
-X GET \
-H 'organization-identifier: ORGANIZATION_IDENTIFIER' \
-H 'organization-secret: ORGANIZATION_SECRET' \
-H 'Authorization: Bearer USER_ACCESS_TOKEN'

Ressources exposées#

users#

Les Users sont les utilisateurs finaux de votre application, ils sont définis par leur uuid et doivent être lié dans votre backend à votre entité User/Client.

transactions#

Les transactions appartiennent à un User. Elle représente une dépense de votre User.

categories#

Les catégories sont la méthode de classification des transactions de Dunia. Elles sont organisées en "arbre", chaque catégorie peut avoir un parent et/ou des enfants.

carbon-statistics#

Ce sont les statistique d'un User. Elles se basent sur les transactions de celui-ci.

Utiliser l'API#

Création d'un User#

Créer un utilisateur ne requiert pas de champs particulier (l'email est optionnel).

Le mot de passe de l'utilisateur est généré aléatoirement et vous sera communiqué en réponse de la requête.

Prenez soin de conserver l'id et le mot de passe, une fois perdu vous ne pourrez plus générer de token d'authentification et n'aurez donc plus accès à la ressource.

Un user est connecté automatiquement à sa création, vous pouvez donc utilisez le token directement pour faire appel aux autres ressources.

curl "https://api.dunia.app/users" \
-X POST \
-H 'organization-identifier: ORGANIZATION_IDENTIFIER' \
-H 'organization-secret: ORGANIZATION_SECRET' \
-d $'{
"email": "[email protected]"
}'

Authentification d'un user#

Pour s'authentifier en tant qu'utilisateur, vous devez fournir l'id et le mot de passe. S'il n'y a pas d'erreur, la réponse contiendra le token

Pour effectuer des requêtes en étant authentifié, vous devez ajouter le Bearer d'authentification dans le Authorization Header de la requête.

Un token d'utilisateur est valable 2 heures. Si le token est expiré, l'API vous retournera une erreur 401.

curl "https://api.dunia.app/users" \
-X POST \
-H 'organization-identifier: ORGANIZATION_IDENTIFIER' \
-H 'organization-secret: ORGANIZATION_SECRET' \
-d $'{
"id": "USER_ID"
"password": "USER_PASSWORD"
}'

Ajout d'une transaction#

Une transaction requiert au minimum un montant et une description (le label bancaire de la transaction), qui va être utilisé pour catégoriser la transaction

Vous pouvez forcer la catégorie d'une transaction en précisant le champs 'categoryId' (C'est également possible de mettre à jour la catégorie d'une transaction par la suite)

Par défaut la transaction est en Euro.

curl "https://api.dunia.app/users/{userId}/transactions" \
-X POST \
-H 'organization-identifier: ORGANIZATION_IDENTIFIER' \
-H 'organization-secret: ORGANIZATION_SECRET' \
-H 'Authorization: Bearer USER_ACCESS_TOKEN' \
-d $'{
"amount": 0,
"description": "string",
"date": "string",
"categoryId": "string",
"currency": "string"
}'