Aller au contenu principal

Profil utilisateur

Endpoints de gestion du profil : avatar, informations personnelles et code de parrainage.

Authentification requise

Tous les endpoints de cette section nécessitent Authorization: Bearer {token}.


POST /api/user/profile/avatar

Met à jour la photo de profil de l'utilisateur.

Format de la requête : multipart/form-data

Paramètres

ChampTypeObligatoireDescription
avatarfileOuiImage (jpeg, png, gif…) — max 2 Mo

Réponses

200 :

{
"user": { "id": 1, "avatar": "/storage/avatars/user/1/photo.jpg" },
"message": "Avatar mis à jour avec succès.",
"data": {
"avatar_url": "/storage/avatars/user/1/photo.jpg"
},
"errors": []
}

422 — Fichier invalide :

{
"user": null,
"message": "Données invalides.",
"errors": {
"avatar": ["The avatar field must be an image."]
}
}

POST /api/user/profile/update

Met à jour le nom et/ou le nom d'utilisateur. Les deux champs sont optionnels.

Paramètres (body JSON)

ChampTypeObligatoireDescription
namestringNonNom affiché (nullable)
usernamestringNonNom d'utilisateur (nullable)

Exemple

{
"name": "Ibrahima Diallo",
"username": "ibra225"
}

Réponse 200

{
"user": { "id": 1, "name": "Ibrahima Diallo", "username": "ibra225" },
"message": "Profil mis à jour avec succès.",
"data": [],
"errors": []
}

POST /api/user/profile/apply-affiliation

Applique un code de parrainage sur le compte. Action unique et irréversible. Crédite automatiquement le bonus de bienvenue.

Paramètres (body JSON)

ChampTypeObligatoireDescription
codestringOuiCode de parrainage

Exemple

{
"code": "XKQT472"
}

Réponses

200 — Code appliqué :

{
"user": { "id": 1, "credits_balance": 15 },
"message": "Code appliqué avec succès ! Vos crédits ont été crédités.",
"data": {
"credits_added": 10,
"credits_balance": 15
},
"errors": []
}

400 — Code déjà appliqué :

{
"user": {},
"message": "Un code a déjà été appliqué sur ce compte.",
"data": [],
"errors": []
}

400 — Propre code utilisé :

{
"user": {},
"message": "Vous ne pouvez pas utiliser votre propre code.",
"data": [],
"errors": []
}

404 — Code inexistant :

{
"user": {},
"message": "Code coupon invalide.",
"data": [],
"errors": []
}