Gestion des Comptes Utilisateurs

Vue d'ensemble

Cette section présente l'ensemble des endpoints dédiés à la gestion complète des comptes utilisateurs de notre API. Elle constitue le cœur du système d'authentification et de gestion des profils utilisateurs.

Fonctionnalités couvertes

Notre API de gestion des comptes offre une solution complète pour :

Gestion des comptes

  • Création et enregistrement de nouveaux comptes utilisateurs
  • Consultation et mise à jour des informations de profil
  • Gestion des mots de passe (changement et réinitialisation)

Vérification et sécurité

  • Vérification des adresses e-mail et numéros de téléphone
  • Activation des comptes via clés de vérification
  • Processus de récupération de mot de passe sécurisé

Gestion des fichiers

  • Téléversement et téléchargement de fichiers de profil
  • Gestion des images de profil et de couverture

Structure de l'API

Tous les endpoints suivent la convention REST et utilisent le préfixe /api/v1/account. L'authentification est requise pour la plupart des opérations, garantissant ainsi la sécurité des données utilisateur.

Cette documentation détaille chaque endpoint avec ses paramètres, exemples de requêtes et réponses, facilitant ainsi l'intégration pour les développeurs.

| Action | Endpoint | |---|---| | GET | /api/v1/account | | PUT | /api/v1/account | | POST | /api/v1/account/register | | POST | /api/v1/account/change-password | | POST | /api/v1/account/reset-password/init | | POST | /api/v1/account/reset-password/finish | | POST | /api/v1/account/verify/email/init | | GET | /api/v1/account/verify/email/finish | | POST | /api/v1/account/verify/phone-number/init | | GET | /api/v1/account/verify/phone-number/finish | | GET | /api/v1/account/email/verified | | GET | /api/v1/account/phone-number/verified | | GET | /api/v1/account/activate | | POST | /api/v1/account/profile/file | | GET | /api/v1/account/profile/file/{filename} |

Récupération des informations du compte

Endpoint: GET /api/v1/account

Récupère les informations du compte de l'utilisateur actuellement authentifié.

Paramètre de chemin

.Authentication Token

Réponse

{
  "message": "string",
  "body": {
    "login": "string",
    "email": "string",
    "phoneNumber": {
      "indicator": "string",
      "telephone": "string"
    },
    "activated": true,
    "langKey": "fr",
    "currency": "string",
    "createdBy": "string",
    "createdDate": "2025-05-31T18:47:12.384Z",
    "lastModifiedBy": "string",
    "identityVerified": true,
    "emailVerified": true,
    "phoneNumberVerified": true,
    "profileImageUploaded": true,
    "coverImageUploaded": true,
    "accountType": "PERSONAL",
    "accountSlug": "string",
    "account": {
      "bio": "string",
      "firstname": "string",
      "slug": "string",
      "gender": "M",
      "lastname": "string",
      "storeName": "string",
      "companyName": "string",
      "companyReference": "string",
      "productCount": 0,
      "companyDescription": "string",
      "rating": 0,
      "review": "string",
      "socials": "string",
      "zipCode": "string",
      "country": "string",
      "city": "string",
      "address": "string",
      "coverImage": "string",
      "additionalInfos": "string"
    },
    "image": "string",
    "authorities": [
      "string"
    ]
  }
}
 

Mise à jour des détails du compte

Endpoint: PUT /api/v1/account

Met à jour les détails du compte utilisateur.

Exemple de Requête

def function():
  return "hola"
{
  "login": "utilisateur@exemple.com",
  "langKey": "fr",
  "account": {
    "firstname": "Jean",
    "lastname": "Dupont",
    "country": "France",
    "city": "Paris",
    "address": "123 Rue Principale",
    "zipCode": "75001",
    "companyName": "Exemple SARL",
    "companyReference": "EX123",
    "companyDescription": "Une entreprise technologique",
    "storeName": "Magasin Exemple",
    "gender": "M"
  }
}

Enregistrement d'un nouveau compte utilisateur

Endpoint: POST /api/v1/account/register

Enregistre un nouveau compte utilisateur.

Corps de la Requête

{
  "login": "string",
  "currency": "string",
  "phoneNumber": {
    "id": 0,
    "indicator": "string",
    "telephone": "string",
    "createdDate": "2025-05-31T18:56:44.120Z"
  },
  "langKey": "fr",
  "accountType": "PERSONAL",
  "email": "string",
  "password": "string",
  "notifyBy": "SMS",
  "account": {
    "bio": "string",
    "firstname": "string",
    "slug": "string",
    "gender": "M",
    "lastname": "string",
    "storeName": "string",
    "companyName": "string",
    "companyReference": "string",
    "productCount": 0,
    "companyDescription": "string",
    "rating": 0,
    "review": "string",
    "socials": "string",
    "zipCode": "string",
    "country": "string",
    "city": "string",
    "address": "string",
    "coverImage": "string",
    "additionalInfos": "string"
  }
}

Réponse

{
  "message": "string",
  "body": {
    "login": "string",
    "email": "string",
    "phoneNumber": {
      "indicator": "string",
      "telephone": "string"
    },
    "activated": true,
    "langKey": "fr",
    "currency": "string",
    "createdBy": "string",
    "createdDate": "2025-05-31T18:56:44.127Z",
    "lastModifiedBy": "string",
    "identityVerified": true,
    "emailVerified": true,
    "phoneNumberVerified": true,
    "profileImageUploaded": true,
    "coverImageUploaded": true,
    "accountType": "PERSONAL",
    "accountSlug": "string",
    "account": {
      "bio": "string",
      "firstname": "string",
      "slug": "string",
      "gender": "M",
      "lastname": "string",
      "storeName": "string",
      "companyName": "string",
      "companyReference": "string",
      "productCount": 0,
      "companyDescription": "string",
      "rating": 0,
      "review": "string",
      "socials": "string",
      "zipCode": "string",
      "country": "string",
      "city": "string",
      "address": "string",
      "coverImage": "string",
      "additionalInfos": "string"
    },
    "image": "string",
    "authorities": [
      "string"
    ]
  }
}

Changement de mot de passe

Endpoint: POST /api/v1/account/change-password

Change le mot de passe de l'utilisateur.

Corps de la Requête

{
  "currentPassword": "exemplePassword",
  "newPassword": "nouveauMotDePasse"
}

Réponse

{
  "message": "message success",
  "body": {}
}

Commencement du processus de réinitialisation du mot de passe

Endpoint: POST /api/v1/account/reset-password/init

Commence le processus de réinitialisation du mot de passe.

Corps de la Requête

 {
  "mail": "string",
  "phoneNumber": {
    "id": 0,
    "indicator": "string",
    "telephone": "string",
    "createdDate": "2025-05-31T19:10:54.882Z"
  },
  "notifyBy": "SMS"
}
 

Réponse

{
  "message": "success message",
  "body": {}
}

Finalisation du processus de réinitialisation du mot de passe

Endpoint: POST /api/v1/account/reset-password/finish

Finalise la réinitialisation du mot de passe à l'aide d'une clé de récupération.

Corps de la Requête

 {
  "key": "cle de recuperation",
  "newPassword": "nouveauMotDePasse",
  "notifyBy": "SMS"
}

Réponse

{
  "message": "message success",
  "body": {}
}

Vérification de l'e-mail et du téléphone

Initialisation de la verification de l'email

Endpoint: POST /api/v1/account/verify/email/init

Initialise la verification de l'email

Corps de la Requête

{
  "email": "exemple@ingenovztech.com"
}

Réponse

{
  "message": "success message",
  "body": {}
}

Finalisation de la verification de l'email

Endpoint: GET /api/v1/account/verify/email/finish

Finalise la verification de l'email

Paramètres de requête :

  • key : clé d'activation

Réponse

{
  "message": "success message",
  "body": {}
}

Initialisation de la vérification du numéro de téléphone

Endpoint: POST /api/v1/account/verify/phone-number/init

Initialise de la verification du numero de telephone

Corps de la Requête

{
  "indicator": "+1",
  "telephone": "435566787733"
}

Réponse

{
  "message": "success message",
  "body": {}
}

Finalisation de la verification du numero de telephone

Endpoint: GET /api/v1/account/verify/phone-number/finish

Finalise de la verification du numero de telephone

Paramètres de requête :

  • key : clé d'activation

Réponse

{
  "message": "success message",
  "body": {}
}

Vérification de l'email et du numéro de téléphone

Endpoint: GET /api/v1/account/email/verified

verifie l'email

Réponse

{
  "message": "success message",
  "body": {}
}

Vérification du numéro de téléphone

Endpoint: GET /api/v1/account/phone-number/verified

verifie du numero de telephone

Réponse

{
  "message": "success message",
  "body": {}
}

Activation du compte

Endpoint: GET /api/v1/account/activate

Active un compte à l'aide d'une clé de vérification.

Paramètres de requête :

  • key : clé d'activation
  • notifyBy : SMS, EMAIL, ou EMAIL_AND_SMS

Réponse

{
  "message": "success message",
  "body": {}
}

Téléversement d'un fichier de profil

Endpoint: POST /api/v1/account/profile/file

Téléverse un fichier de profil.

Corps de la Requête

{
  "file": "string"
}

Réponse

{
  "message": "success message",
  "body": {}
}

Téléchargement d'un fichier de profil

Endpoint: GET /api/v1/account/profile/file/{filename}

Télécharge un fichier de profil précédemment téléversé.

  • key : Nom du fichier

Réponse

{
  "message": "success message",
  "body": {}
}