Skip to content

Departamentos

Gestión de departamentos de atención. Los departamentos organizan a los agentes y definen colas de llamadas. Requiere rol de supervisor o superior.

Importante

Los departamentos que poseen grabaciones asociadas no pueden eliminarse. Utilice la desactivación en ese caso.

Endpoints

MétodoEndpointDescripciónRol Mínimo
GET/api/v1/departmentsListar departamentossupervisor
POST/api/v1/departmentsCrear departamentosupervisor
GET/api/v1/departments/:idBuscar departamentosupervisor
PUT/api/v1/departments/:idActualizar departamentosupervisor
DELETE/api/v1/departments/:idEliminar departamentosupervisor
GET/api/v1/departments/:id/usersListar usuarios del departamentosupervisor
POST/api/v1/departments/:id/usersAgregar usuario al departamentosupervisor
DELETE/api/v1/departments/:id/users/:user_idEliminar usuario del departamentosupervisor

Listar Departamentos

GET /api/v1/departments

Query Parameters

ParámetroTipoPredeterminadoDescripción
pageinteger1Número de página
page_sizeinteger20Elementos por página
sort_bystringnameCampo para ordenamiento
sort_orderstringascDirección del ordenamiento

Ejemplo de Request

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

Respuesta Exitosa (200)

json
{
  "data": [
    {
      "id": "e5f6a7b8-c9d0-1234-efgh-567890123456",
      "name": "Suporte Técnico",
      "identifier": "suporte-tecnico",
      "description": "Departamento de suporte técnico ao cliente",
      "active": true,
      "sector_id": "f6a7b8c9-d0e1-2345-fghi-678901234567",
      "max_queue_size": 20,
      "max_wait_time": 300,
      "user_count": 5,
      "inserted_at": "2026-01-10T09:00:00Z",
      "updated_at": "2026-02-01T10:00:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "page_size": 10,
    "total_pages": 1,
    "total_count": 3
  }
}

Crear Departamento

POST /api/v1/departments

Request Body

CampoTipoObligatorioDescripción
namestringNombre del departamento
identifierstringNoIdentificador único (slug, generado automáticamente si se omite)
descriptionstringNoDescripción
sector_iduuidNoID del sector asociado
max_queue_sizeintegerNoTamaño máximo de la cola (predeterminado: 20)
max_wait_timeintegerNoTiempo máximo de espera en segundos (predeterminado: 300)

Ejemplo de Request

bash
curl -X POST https://voki.avanter.com.br/api/v1/departments \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter" \
  -H "Content-Type: application/json" \
  -d '{
    "department": {
      "name": "Vendas",
      "description": "Departamento de vendas e consultoria",
      "sector_id": "f6a7b8c9-d0e1-2345-fghi-678901234567",
      "max_queue_size": 15,
      "max_wait_time": 180
    }
  }'

Respuesta Exitosa (201)

json
{
  "data": {
    "id": "a7b8c9d0-e1f2-3456-ghij-789012345678",
    "name": "Vendas",
    "identifier": "vendas",
    "description": "Departamento de vendas e consultoria",
    "active": true,
    "sector_id": "f6a7b8c9-d0e1-2345-fghi-678901234567",
    "max_queue_size": 15,
    "max_wait_time": 180,
    "user_count": 0,
    "inserted_at": "2026-02-18T12:00:00Z",
    "updated_at": "2026-02-18T12:00:00Z"
  }
}

Buscar Departamento

GET /api/v1/departments/:id

Ejemplo de Request

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

Actualizar Departamento

PUT /api/v1/departments/:id

Ejemplo de Request

bash
curl -X PUT https://voki.avanter.com.br/api/v1/departments/e5f6a7b8-c9d0-1234-efgh-567890123456 \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter" \
  -H "Content-Type: application/json" \
  -d '{
    "department": {
      "name": "Suporte Premium",
      "max_queue_size": 30
    }
  }'

Eliminar Departamento

DELETE /api/v1/departments/:id

Atención

Los departamentos con grabaciones asociadas devolverán error 422. Desactive el departamento en lugar de eliminarlo.

Ejemplo de Request

bash
curl -X DELETE https://voki.avanter.com.br/api/v1/departments/e5f6a7b8-c9d0-1234-efgh-567890123456 \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter"

Respuesta Exitosa (204)

Sin cuerpo en la respuesta.

Errores

CódigoDescripción
422El departamento posee grabaciones y no puede eliminarse
404Departamento no encontrado

Listar Usuarios del Departamento

GET /api/v1/departments/:department_id/users

Ejemplo de Request

bash
curl -X GET https://voki.avanter.com.br/api/v1/departments/e5f6a7b8-c9d0-1234-efgh-567890123456/users \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter"

Respuesta Exitosa (200)

json
{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "João Silva",
      "email": "joao@empresa.com",
      "role": "attendant",
      "active": true
    }
  ]
}

Agregar Usuario al Departamento

POST /api/v1/departments/:department_id/users

Request Body

CampoTipoObligatorioDescripción
user_iduuidID del usuario a agregar

Ejemplo de Request

bash
curl -X POST https://voki.avanter.com.br/api/v1/departments/e5f6a7b8-c9d0-1234-efgh-567890123456/users \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }'

Respuesta Exitosa (201)

json
{
  "data": {
    "message": "Usuário adicionado ao departamento"
  }
}

Eliminar Usuario del Departamento

DELETE /api/v1/departments/:department_id/users/:user_id

Ejemplo de Request

bash
curl -X DELETE https://voki.avanter.com.br/api/v1/departments/e5f6a7b8-c9d0-1234-efgh-567890123456/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "X-Tenant: avanter"

Respuesta Exitosa (204)

Sin cuerpo en la respuesta.

Documentação da API Voki v4.0