Skip to content

API REST

9.1 Vue d'Ensemble

Voki propose une API REST complete pour l'integration avec des systemes externes. L'API permet de gerer les appels, les clients, les departements, les liens d'acces et bien plus encore de maniere programmatique.

URL de base : https://voki.avanter.com.br/api

Format : JSON (Content-Type: application/json)

9.2 Authentification

Toutes les requetes authentifiees doivent inclure le token JWT dans l'en-tete :

Authorization: Bearer {access_token}

Pour obtenir un token :

bash
curl -X POST https://voki.avanter.com.br/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "utilisateur@entreprise.com.br",
    "password": "votreMotDePasse",
    "tenant": "nom-de-lentreprise"
  }'

Reponse :

json
{
  "access_token": "eyJhbGciOi...",
  "refresh_token": "eyJhbGciOi...",
  "user": {
    "id": "uuid",
    "name": "Nom de l'Utilisateur",
    "email": "utilisateur@entreprise.com.br",
    "role": "manager"
  }
}

9.3 Endpoints Principaux

Authentification

MethodeEndpointDescription
POST/api/auth/loginConnexion
POST/api/auth/refreshRenouveler le token
POST/api/auth/mfa/verifyVerifier le code MFA
POST/api/auth/logoutDeconnexion
POST/api/auth/forgot-passwordDemander la reinitialisation du mot de passe
POST/api/auth/reset-passwordRedefinir le mot de passe

Utilisateurs

MethodeEndpointDescription
GET/api/v1/users/meDonnees de l'utilisateur authentifie
GET/api/v1/usersLister les utilisateurs
GET/api/v1/users/:idDetails d'un utilisateur
POST/api/v1/usersCreer un utilisateur
PUT/api/v1/users/:idMettre a jour un utilisateur

Departements

MethodeEndpointDescription
GET/api/v1/departmentsLister les departements
GET/api/v1/departments/:idDetails d'un departement
POST/api/v1/departmentsCreer un departement
PUT/api/v1/departments/:idMettre a jour un departement
DELETE/api/v1/departments/:idSupprimer un departement
POST/api/v1/departments/:id/usersAjouter un agent au departement
DELETE/api/v1/departments/:id/users/:user_idRetirer un agent du departement
GET/api/v1/departments/:id/usersLister les agents du departement

Appels

MethodeEndpointDescription
GET/api/v1/callsLister les appels
GET/api/v1/calls/:idDetails d'un appel
POST/api/v1/calls/:id/assignAttribuer un appel a un agent
POST/api/v1/calls/:id/startDemarrer un appel
POST/api/v1/calls/:id/completeTerminer un appel
POST/api/v1/calls/:call_id/uploadEnvoyer un fichier dans l'appel
GET/api/v1/calls/:call_id/recordingObtenir l'enregistrement
POST/api/v1/calls/:call_id/recording/uploadEnvoyer l'enregistrement

Clients

MethodeEndpointDescription
GET/api/v1/customersLister les clients
GET/api/v1/customers/:idDetails d'un client
POST/api/v1/customersCreer un client
PUT/api/v1/customers/:idMettre a jour un client
DELETE/api/v1/customers/:idSupprimer un client
POST/api/v1/customers/mergeFusionner des clients en double

Liens d'Acces

MethodeEndpointDescription
GET/api/v1/access-linksLister les liens
GET/api/v1/access-links/:idDetails d'un lien
POST/api/v1/access-linksCreer un lien
POST/api/v1/access-links/batchCreer des liens par lot
POST/api/v1/access-links/:id/cancelAnnuler un lien

Rendez-vous

MethodeEndpointDescription
GET/api/v1/appointmentsLister les rendez-vous
GET/api/v1/appointments/:idDetails d'un rendez-vous
POST/api/v1/appointmentsCreer un rendez-vous
PUT/api/v1/appointments/:idMettre a jour un rendez-vous
GET/api/v1/appointments/conflictsVerifier les conflits d'horaire
POST/api/v1/appointments/:id/confirmConfirmer un rendez-vous
POST/api/v1/appointments/:id/cancelAnnuler un rendez-vous
POST/api/v1/appointments/:id/completeMarquer comme termine
POST/api/v1/appointments/:id/no-showMarquer comme non presente

Tags

MethodeEndpointDescription
GET/api/v1/tagsLister les tags
GET/api/v1/tags/treeArborescence des tags
POST/api/v1/tagsCreer un tag
PUT/api/v1/tags/:idMettre a jour un tag
DELETE/api/v1/tags/:idSupprimer un tag
GET/api/v1/calls/:call_id/tagsTags d'un appel
POST/api/v1/calls/:call_id/tagsAppliquer un tag a un appel
DELETE/api/v1/calls/:call_id/tags/:tag_idRetirer un tag d'un appel

Analytics

MethodeEndpointDescription
GET/api/v1/analytics/overviewVue d'ensemble des metriques
GET/api/v1/analytics/hourlyMetriques par heure
GET/api/v1/analytics/agentsMetriques par agent
GET/api/v1/analytics/trendsTendances
POST/api/v1/analytics/refresh-viewsActualiser les materialized views

Webhooks

MethodeEndpointDescription
GET/api/v1/webhooksLister les webhooks
GET/api/v1/webhooks/:idDetails d'un webhook
POST/api/v1/webhooksCreer un webhook
PUT/api/v1/webhooks/:idMettre a jour un webhook
DELETE/api/v1/webhooks/:idSupprimer un webhook
GET/api/v1/webhooks/:id/deliveriesHistorique des livraisons
POST/api/v1/webhooks/:id/testTester un webhook

Exportation

MethodeEndpointDescription
GET/api/v1/export/calls.csvExporter les appels en CSV
GET/api/v1/export/customers.csvExporter les clients en CSV
GET/api/v1/export/links.csvExporter les liens en CSV

Acces Public (Clients)

MethodeEndpointDescription
GET/api/v1/call/:token/validateValider le token d'acces
POST/api/v1/call/:token/joinRejoindre la file de service
GET/api/v1/call/status/:call_idStatut de l'appel
POST/api/v1/call/evaluate/:call_idEnvoyer l'evaluation post-service

9.4 Limitation de Debit (Rate Limiting)

Type d'EndpointLimiteIntervalle
Authentification5 requetesPar minute
API publique30 requetesPar minute

En cas de depassement de la limite :

  • Code HTTP : 429 Too Many Requests
  • En-tete Retry-After : secondes avant de pouvoir reessayer

9.5 Codes de Reponse

CodeSignification
200Succes
201Ressource creee avec succes
400Requete invalide (parametres manquants ou incorrects)
401Non authentifie (token absent ou expire)
403Acces refuse (role insuffisant ou limite de plan)
404Ressource non trouvee
422Erreur de validation (donnees invalides)
429Limite de debit depassee
500Erreur interne du serveur

9.6 Documentation Interactive

La documentation complete de l'API avec des exemples de requete et de reponse est disponible a l'adresse :

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

Manual de Uso — Voki v4.0