Skip to content

API REST

9.1 Visao Geral

O Voki oferece uma API REST completa para integracao com sistemas externos. A API permite gerenciar chamadas, clientes, departamentos, links de acesso e muito mais de forma programatica.

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

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

9.2 Autenticacao

Todas as requisicoes autenticadas devem incluir o token JWT no header:

Authorization: Bearer {access_token}

Para obter um token:

bash
curl -X POST https://voki.avanter.com.br/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "usuario@empresa.com.br",
    "password": "suaSenha",
    "tenant": "nome-da-empresa"
  }'

Resposta:

json
{
  "access_token": "eyJhbGciOi...",
  "refresh_token": "eyJhbGciOi...",
  "user": {
    "id": "uuid",
    "name": "Nome do Usuario",
    "email": "usuario@empresa.com.br",
    "role": "manager"
  }
}

9.3 Endpoints Principais

Autenticacao

MetodoEndpointDescricao
POST/api/auth/loginLogin
POST/api/auth/refreshRenovar token
POST/api/auth/mfa/verifyVerificar codigo MFA
POST/api/auth/logoutLogout
POST/api/auth/forgot-passwordSolicitar reset de senha
POST/api/auth/reset-passwordRedefinir senha

Usuarios

MetodoEndpointDescricao
GET/api/v1/users/meDados do usuario autenticado
GET/api/v1/usersListar usuarios
GET/api/v1/users/:idDetalhes de um usuario
POST/api/v1/usersCriar usuario
PUT/api/v1/users/:idAtualizar usuario

Departamentos

MetodoEndpointDescricao
GET/api/v1/departmentsListar departamentos
GET/api/v1/departments/:idDetalhes de um departamento
POST/api/v1/departmentsCriar departamento
PUT/api/v1/departments/:idAtualizar departamento
DELETE/api/v1/departments/:idExcluir departamento
POST/api/v1/departments/:id/usersAdicionar atendente ao departamento
DELETE/api/v1/departments/:id/users/:user_idRemover atendente do departamento
GET/api/v1/departments/:id/usersListar atendentes do departamento

Chamadas

MetodoEndpointDescricao
GET/api/v1/callsListar chamadas
GET/api/v1/calls/:idDetalhes de uma chamada
POST/api/v1/calls/:id/assignAtribuir chamada a um atendente
POST/api/v1/calls/:id/startIniciar chamada
POST/api/v1/calls/:id/completeCompletar chamada
POST/api/v1/calls/:call_id/uploadUpload de arquivo na chamada
GET/api/v1/calls/:call_id/recordingObter gravacao
POST/api/v1/calls/:call_id/recording/uploadUpload de gravacao

Clientes

MetodoEndpointDescricao
GET/api/v1/customersListar clientes
GET/api/v1/customers/:idDetalhes de um cliente
POST/api/v1/customersCriar cliente
PUT/api/v1/customers/:idAtualizar cliente
DELETE/api/v1/customers/:idExcluir cliente
POST/api/v1/customers/mergeMesclar clientes duplicados
MetodoEndpointDescricao
GET/api/v1/access-linksListar links
GET/api/v1/access-links/:idDetalhes de um link
POST/api/v1/access-linksCriar link
POST/api/v1/access-links/batchCriar links em lote
POST/api/v1/access-links/:id/cancelCancelar link

Agendamentos

MetodoEndpointDescricao
GET/api/v1/appointmentsListar agendamentos
GET/api/v1/appointments/:idDetalhes de um agendamento
POST/api/v1/appointmentsCriar agendamento
PUT/api/v1/appointments/:idAtualizar agendamento
GET/api/v1/appointments/conflictsVerificar conflitos de horario
POST/api/v1/appointments/:id/confirmConfirmar agendamento
POST/api/v1/appointments/:id/cancelCancelar agendamento
POST/api/v1/appointments/:id/completeMarcar como completado
POST/api/v1/appointments/:id/no-showMarcar como no-show

Tags

MetodoEndpointDescricao
GET/api/v1/tagsListar tags
GET/api/v1/tags/treeArvore de tags
POST/api/v1/tagsCriar tag
PUT/api/v1/tags/:idAtualizar tag
DELETE/api/v1/tags/:idExcluir tag
GET/api/v1/calls/:call_id/tagsTags de uma chamada
POST/api/v1/calls/:call_id/tagsAplicar tag a chamada
DELETE/api/v1/calls/:call_id/tags/:tag_idRemover tag da chamada

Analytics

MetodoEndpointDescricao
GET/api/v1/analytics/overviewVisao geral de metricas
GET/api/v1/analytics/hourlyMetricas por hora
GET/api/v1/analytics/agentsMetricas por atendente
GET/api/v1/analytics/trendsTendencias
POST/api/v1/analytics/refresh-viewsAtualizar materialized views

Webhooks

MetodoEndpointDescricao
GET/api/v1/webhooksListar webhooks
GET/api/v1/webhooks/:idDetalhes de um webhook
POST/api/v1/webhooksCriar webhook
PUT/api/v1/webhooks/:idAtualizar webhook
DELETE/api/v1/webhooks/:idExcluir webhook
GET/api/v1/webhooks/:id/deliveriesHistorico de entregas
POST/api/v1/webhooks/:id/testTestar webhook

Exportacao

MetodoEndpointDescricao
GET/api/v1/export/calls.csvExportar chamadas em CSV
GET/api/v1/export/customers.csvExportar clientes em CSV
GET/api/v1/export/links.csvExportar links em CSV

Acesso Publico (Clientes)

MetodoEndpointDescricao
GET/api/v1/call/:token/validateValidar token de acesso
POST/api/v1/call/:token/joinEntrar na fila de atendimento
GET/api/v1/call/status/:call_idStatus da chamada
POST/api/v1/call/evaluate/:call_idEnviar avaliacao pos-atendimento

9.4 Rate Limiting

Tipo de EndpointLimiteIntervalo
Autenticacao5 requisicoesPor minuto
API publica30 requisicoesPor minuto

Ao exceder o limite:

  • Status HTTP: 429 Too Many Requests
  • Header Retry-After: segundos ate poder tentar novamente

9.5 Codigos de Resposta

CodigoSignificado
200Sucesso
201Recurso criado com sucesso
400Requisicao invalida (parametros faltando ou incorretos)
401Nao autenticado (token ausente ou expirado)
403Sem permissao (role insuficiente ou limite de plano)
404Recurso nao encontrado
422Erro de validacao (dados invalidos)
429Rate limit excedido
500Erro interno do servidor

9.6 Documentacao Interativa

A documentacao completa da API com exemplos de requisicao e resposta esta disponivel em:

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

Manual de Uso — Voki v4.0