Skip to content

Categorias ​

As categorias são as filas do atendimento: Financeiro, Técnico, Comercial. Elas definem para qual fila o chamado cai, têm defaultAgentId como fallback de atribuição e aceitam hierarquia via parentId (ex.: Técnico → Infraestrutura).

A categoria também participa da distribuição automática: no round-robin, apenas agentes vinculados à categoria do ticket entram na disputa. Os vínculos agente ↔ categoria são definidos no cadastro do agente (categoryIds) — veja Agentes.

Headers obrigatórios

Todas as requisições devem incluir o header X-Helpdesk-Id (UUID) e Authorization: Bearer {token} com o token do agente (guard helpdeskAgent).


Estrutura de Dados Principal ​

CampoTipoDescrição
idNumberIdentificador da categoria.
parentIdNumberCategoria pai (null = raiz).
nameStringNome da categoria (máx. 150 caracteres).
slugStringSlug gerado a partir do nome.
descriptionStringDescrição da fila (opcional).
colorStringCor em hexadecimal (máx. 7 caracteres, opcional).
defaultAgentIdNumberAgente padrão da fila — fallback de atribuição (opcional).
sortOrderNumberOrdem de exibição.
isActiveBooleanCategoria ativa.

Endpoints ​

Listar Categorias ​

Lista as categorias da instância, com paginação, busca e filtros.

http
GET /v1/helpdesk/agent/categories

Parâmetros de Query ​

NomeTipoObrigatórioDescrição
pagenumberNãoO número da página (mínimo: 1).
perPagenumberNãoItens por página (entre 1 e 100, padrão: 25).
searchstringNãoBusca por termo no nome (máx. 150 caracteres).
parentIdnumberNãoFiltra por categoria pai; envie null para listar apenas raízes.
isActivebooleanNãoFiltra por ativas/inativas.
orderBystringNãoCampo de ordenação: id, name, sortOrder ou createdAt.
orderDirectionstringNãoDireção: asc ou desc.

Respostas ​

200 OK

Retorna um objeto de paginação contendo a lista de categorias.

Listar Categorias para Dropdown ​

Retorna as categorias em formato simplificado (value/label), ideal para selects no frontend.

http
GET /v1/helpdesk/agent/categories/list

Parâmetros de Query ​

NomeTipoObrigatórioDescrição
searchstringNãoBusca por termo no nome (máx. 150 caracteres).
isActivebooleanNãoFiltra por ativas/inativas.
limitnumberNãoQuantidade máxima de itens (entre 1 e 100).

Respostas ​

200 OK

Retorna um array com as categorias em formato value/label.

json
[
  {
    "value": 1,
    "label": "Geral"
  }
]

Árvore de Categorias ​

Retorna a hierarquia completa (raízes com suas subcategorias aninhadas), ideal para renders em árvore no frontend.

http
GET /v1/helpdesk/agent/categories/tree

Parâmetros de Query ​

NomeTipoObrigatórioDescrição
searchstringNãoBusca por termo no nome (máx. 150 caracteres).
isActivebooleanNãoFiltra por ativas/inativas.
limitnumberNãoQuantidade máxima de itens (entre 1 e 100).

Respostas ​

200 OK

Retorna as categorias raiz com children aninhados.

json
[
  {
    "id": 2,
    "name": "Técnico",
    "children": [
      {
        "id": 5,
        "name": "Infraestrutura",
        "children": []
      }
    ]
  }
]

Obter Categoria por ID ​

http
GET /v1/helpdesk/agent/categories/:id

Respostas ​

200 OK

Retorna os dados da categoria.

404 Not Found

Ocorre quando a categoria não existe na instância.

Criar Categoria ​

http
POST /v1/helpdesk/agent/categories

Payload (Body) ​

AtributoTipoObrigatórioDescrição
namestringSimNome da categoria (máx. 150 caracteres).
parentIdnumberNãoCategoria pai (deve existir na instância).
descriptionstringNãoDescrição da fila.
colorstringNãoCor em hexadecimal (máx. 7 caracteres).
defaultAgentIdnumberNãoAgente padrão da fila (deve existir na instância).
sortOrdernumberNãoOrdem de exibição.
isActivebooleanNãoCategoria ativa (padrão: true).

Exemplo de Requisição ​

bash
curl -X POST "https://api.us.basis.tavares.in/v1/helpdesk/agent/categories" \
  -H "X-Helpdesk-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Infraestrutura",
    "parentId": 2,
    "color": "#1D4ED8",
    "defaultAgentId": 3,
    "sortOrder": 10
  }'

Respostas ​

201 Created

Retorna o ID da categoria criada.

json
{
  "id": 5
}

Atualizar Categoria ​

Todos os campos da criação são opcionais no update; envie parentId: null para tornar a categoria raiz.

http
PUT /v1/helpdesk/agent/categories/:id

Respostas ​

204 No Content

Atualização concluída com sucesso.

Remover Categoria ​

Remove uma categoria via soft delete.

http
DELETE /v1/helpdesk/agent/categories/:id

Respostas ​

204 No Content

Remoção concluída com sucesso.