Skip to content

Pour Commencer

Ce guide explique comment s'intégrer à l'API Voki pour construire des applications utilisant la plateforme de visioconférence.

Prérequis

  • Un compte tenant actif sur la plateforme Voki
  • Les identifiants d'un utilisateur avec le rôle approprié (voir Authentification)
  • Un client HTTP (curl, Postman, ou une bibliothèque dans votre langage)

Base URL

Tous les endpoints de l'API utilisent la base URL suivante :

https://voki.avanter.com.br/api/

Étape 1 : Authentification

La première étape consiste à obtenir un token JWT via la connexion.

bash
curl -X POST https://voki.avanter.com.br/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "votre-email@entreprise.com",
    "password": "votre-mot-de-passe",
    "tenant": "slug-du-tenant"
  }'

La réponse contiendra les tokens d'accès :

json
{
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIs...",
    "refresh_token": "eyJhbGciOiJIUzI1NiIs...",
    "user": {
      "id": "uuid",
      "name": "Votre Nom",
      "email": "votre-email@entreprise.com",
      "role": "manager"
    }
  }
}

Étape 2 : Effectuer des Requêtes Authentifiées

Incluez le token et le tenant dans toutes les requêtes :

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

Étape 3 : Explorer les Ressources

Avec le token en main, vous pouvez accéder à tous les endpoints de l'API selon le rôle de votre utilisateur :

RôleAccès
attendantAppels, clients, tags, rendez-vous
supervisorTout ce qu'un attendant peut faire + départements, secteurs, liens, exportation
managerAccès total : utilisateurs, entreprise, facturation, analytics

Exemple : Lister les Départements

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

Exemple : Lister les Appels Récents

bash
curl -X GET "https://voki.avanter.com.br/api/v1/calls?page=1&page_size=5&sort_order=desc" \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter"

Étape 4 : Temps Réel avec WebSocket

Pour les fonctionnalités en temps réel (file d'attente, présence, notifications), connectez-vous via WebSocket :

javascript
import { Socket } from "phoenix"

const socket = new Socket("wss://voki.avanter.com.br/socket/websocket", {
  params: { token: accessToken }
})
socket.connect()

// Surveiller la file d'attente d'un département
const queueChannel = socket.channel("queue:department_uuid")
queueChannel.join()

queueChannel.on("customer_joined", (payload) => {
  console.log("Nouveau client dans la file :", payload)
})

// Suivre la présence des agents
const presenceChannel = socket.channel("presence:department_uuid")
presenceChannel.join()

Consultez les détails dans WebSockets.

Format des Réponses

Succès (objet unique)

json
{
  "data": {
    "id": "uuid",
    "champ": "valeur"
  }
}

Succès (liste paginée)

json
{
  "data": [...],
  "meta": {
    "current_page": 1,
    "page_size": 20,
    "total_pages": 5,
    "total_count": 100
  }
}

Erreur de Validation (422)

json
{
  "errors": {
    "email": ["ne peut pas être vide"],
    "password": ["doit contenir au moins 8 caractères"]
  }
}

Erreur Générique (401/403/404)

json
{
  "errors": {
    "detail": "Non autorisé"
  }
}

Pagination

Les endpoints de listage supportent la pagination via des paramètres de requête :

ParamètreTypeDéfautDescription
pageinteger1Numéro de page (base 1)
page_sizeinteger20Éléments par page (max. 100)
sort_bystringvariableChamp de tri
sort_orderstringascasc ou desc

Rate Limiting

TypeLimite
Endpoints d'authentification (/api/auth/*)5 req/min
Endpoints publics (widget, signup)30 req/min
Endpoints authentifiésPas de limite explicite

Lorsque le rate limit est dépassé, l'API renvoie 429 Too Many Requests.

SDKs et Bibliothèques

Il n'existe actuellement pas de SDKs officiels. L'API REST peut être consommée directement avec n'importe quel client HTTP. Pour les WebSockets, nous recommandons la bibliothèque officielle phoenix (JavaScript/TypeScript).

bash
npm install phoenix

Prochaines Étapes

Documentação da API Voki v4.0