Aller au contenu principal

Tokens & Wallet

Nomu dispose d'une économie de tokens. Chaque utilisateur possède un wallet dont chaque mouvement est tracé dans token_transactions.

Types de transactions

TypeDescription
SIGNUP_BONUSBonus d'inscription
MESSAGE_SENTEnvoi de message
ADMIN_ADJUSTMENTAjustement manuel admin
PURCHASEAchat
REFUNDRemboursement
ACTIVITY_PAYMENTPaiement d'une activité
ACTIVITY_RECEIPTRéception du paiement d'une activité
PENALTYPénalité
BONUSBonus
WITHDRAWALRetrait
DEPOSITDépôt

GET /tokens/balance

Auth requis

Retourne le solde de tokens de l'utilisateur.

Response

{
"balance": 150
}

GET /tokens/wallet

Auth requis

Retourne les détails complets du wallet.

Response

{
"id": 8,
"user_id": 42,
"balance": 150,
"createdAt": "2025-01-15T10:00:00.000Z",
"updatedAt": "2025-03-20T14:00:00.000Z"
}

GET /tokens/history

Auth requis

Retourne l'historique paginé des transactions.

Request

GET /tokens/history?limit=20&offset=0&type=ACTIVITY_PAYMENT
Authorization: Bearer <token>
ParamètreDéfautDescription
limit20Nombre de transactions
offset0Décalage
typeFiltrer par type

Response

[
{
"id": 55,
"user_id": 42,
"amount": -45,
"type": "ACTIVITY_PAYMENT",
"reason": "Randonnée Fontainebleau",
"balance_before": 195,
"balance_after": 150,
"createdAt": "2025-03-20T14:00:00.000Z"
}
]

POST /tokens/credit

Auth requis (Admin/System)

Crédite des tokens sur le wallet d'un utilisateur.

Request

{
"user_id": 42,
"amount": 50,
"type": "BONUS",
"reason": "Bonus parrainage"
}

POST /tokens/admin/adjustment

Admin

Ajustement manuel de tokens avec raison obligatoire.

{
"user_id": 42,
"amount": -10,
"reason": "Remboursement partiel activité annulée"
}