Skip to content

Utilisateurs

Gestion des utilisateurs de la plateforme. La plupart des endpoints nécessitent le rôle manager ou supérieur.

Endpoints

MéthodeEndpointDescriptionRôle Minimum
GET/api/v1/users/meDonnées de l'utilisateur connectéattendant
GET/api/v1/usersLister les utilisateursmanager
POST/api/v1/usersCréer un utilisateurmanager
GET/api/v1/users/:idRechercher un utilisateur par IDmanager
PUT/api/v1/users/:idMettre à jour un utilisateurmanager

Note

L'endpoint DELETE n'est pas disponible. Les utilisateurs sont désactivés via la mise à jour du champ active.


Utilisateur Actuel

Retourne les données de l'utilisateur authentifié.

GET /api/v1/users/me

Exemple de Requête

bash
curl -X GET https://voki.avanter.com.br/api/v1/users/me \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter"

Réponse de Succès (200)

json
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "João Silva",
    "email": "joao@empresa.com",
    "role": "attendant",
    "active": true,
    "avatar_url": null,
    "mfa_enabled": false,
    "locale": "pt-BR",
    "inserted_at": "2026-01-15T10:30:00Z",
    "updated_at": "2026-02-01T14:20:00Z"
  }
}

Lister les Utilisateurs

Retourne la liste paginée des utilisateurs du tenant.

GET /api/v1/users

Query Parameters

ParamètreTypeDéfautDescription
pageinteger1Numéro de page
page_sizeinteger20Éléments par page (max. 100)
sort_bystringnameChamp de tri (name, email, role, inserted_at)
sort_orderstringascDirection (asc, desc)
searchstring-Filtre par nom ou email
rolestring-Filtre par rôle (attendant, supervisor, manager)
activeboolean-Filtre par statut actif/inactif

Exemple de Requête

bash
curl -X GET "https://voki.avanter.com.br/api/v1/users?page=1&page_size=10&role=attendant" \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter"

Réponse de Succès (200)

json
{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "João Silva",
      "email": "joao@empresa.com",
      "role": "attendant",
      "active": true,
      "avatar_url": null,
      "mfa_enabled": false,
      "locale": "pt-BR",
      "inserted_at": "2026-01-15T10:30:00Z",
      "updated_at": "2026-02-01T14:20:00Z"
    },
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "name": "Maria Santos",
      "email": "maria@empresa.com",
      "role": "attendant",
      "active": true,
      "avatar_url": "https://example.com/avatar.jpg",
      "mfa_enabled": true,
      "locale": "pt-BR",
      "inserted_at": "2026-01-20T08:00:00Z",
      "updated_at": "2026-01-20T08:00:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "page_size": 10,
    "total_pages": 3,
    "total_count": 25
  }
}

Créer un Utilisateur

Crée un nouvel utilisateur dans le tenant.

POST /api/v1/users

Request Body

ChampTypeObligatoireDescription
namestringOuiNom complet (min. 2 caractères)
emailstringOuiEmail unique dans le tenant
passwordstringOuiMot de passe (min. 8 caractères)
rolestringOuiRôle : attendant, supervisor ou manager
localestringNonLangue : pt-BR, en-US, es-ES, fr (défaut : pt-BR)

Exemple de Requête

bash
curl -X POST https://voki.avanter.com.br/api/v1/users \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter" \
  -H "Content-Type: application/json" \
  -d '{
    "user": {
      "name": "Pedro Oliveira",
      "email": "pedro@empresa.com",
      "password": "motDePasseSecure123",
      "role": "attendant",
      "locale": "pt-BR"
    }
  }'

Réponse de Succès (201)

json
{
  "data": {
    "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "name": "Pedro Oliveira",
    "email": "pedro@empresa.com",
    "role": "attendant",
    "active": true,
    "avatar_url": null,
    "mfa_enabled": false,
    "locale": "pt-BR",
    "inserted_at": "2026-02-18T10:00:00Z",
    "updated_at": "2026-02-18T10:00:00Z"
  }
}

Erreurs

CodeDescription
422Données invalides (email en double, mot de passe faible, etc.)
403Permission insuffisante (rôle insuffisant)
json
{
  "errors": {
    "email": ["déjà utilisé"]
  }
}

Rechercher un Utilisateur

Retourne les données d'un utilisateur spécifique.

GET /api/v1/users/:id

Path Parameters

ParamètreTypeDescription
iduuidID de l'utilisateur

Exemple de Requête

bash
curl -X GET https://voki.avanter.com.br/api/v1/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter"

Réponse de Succès (200)

json
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "João Silva",
    "email": "joao@empresa.com",
    "role": "attendant",
    "active": true,
    "avatar_url": null,
    "mfa_enabled": false,
    "locale": "pt-BR",
    "inserted_at": "2026-01-15T10:30:00Z",
    "updated_at": "2026-02-01T14:20:00Z"
  }
}

Erreurs

CodeDescription
404Utilisateur non trouvé

Mettre à Jour un Utilisateur

Met à jour les données d'un utilisateur existant.

PUT /api/v1/users/:id

Request Body

ChampTypeObligatoireDescription
namestringNonNom complet
emailstringNonEmail
passwordstringNonNouveau mot de passe
rolestringNonNouveau rôle
activebooleanNonActiver/désactiver
localestringNonLangue

Exemple de Requête

bash
curl -X PUT https://voki.avanter.com.br/api/v1/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter" \
  -H "Content-Type: application/json" \
  -d '{
    "user": {
      "role": "supervisor",
      "active": true
    }
  }'

Réponse de Succès (200)

json
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "João Silva",
    "email": "joao@empresa.com",
    "role": "supervisor",
    "active": true,
    "avatar_url": null,
    "mfa_enabled": false,
    "locale": "pt-BR",
    "inserted_at": "2026-01-15T10:30:00Z",
    "updated_at": "2026-02-18T11:00:00Z"
  }
}

Documentação da API Voki v4.0