Pular para o conteúdo principal

API - Chamados

Documentação da API de gerenciamento de chamados de suporte.

Autenticação

Todos os endpoints requerem autenticação JWT. Veja Autenticação.

Endpoints

GET /chamados

Lista chamados (filtrado por perfil).

Query Parameters:

  • status: Filtrar por status (aguardando, respondido)
  • clienteId: Filtrar por cliente (apenas RT)
  • page, limit: Paginação

Response (200 OK):

{
"data": [
{
"id": "uuid",
"protocolo": "CHM-2024-001",
"titulo": "Dúvida sobre formulário",
"descricao": "Como preencher...",
"status": "aguardando",
"cliente": {
"id": "uuid",
"nomeFantasia": "Empresa Exemplo"
},
"dataCriacao": "2024-01-15T10:00:00Z"
}
],
"meta": { ... }
}

GET /chamados/:id

Busca um chamado específico.

Response (200 OK):

{
"id": "uuid",
"protocolo": "CHM-2024-001",
"titulo": "Dúvida sobre formulário",
"descricao": "Como preencher o formulário de verificação?",
"resposta": null,
"status": "aguardando",
"cliente": {
"id": "uuid",
"nomeFantasia": "Empresa Exemplo"
},
"responsavelTecnico": {
"id": "uuid",
"nome": "Dr. João Silva"
},
"dataCriacao": "2024-01-15T10:00:00Z",
"dataResposta": null
}

POST /chamados

Cria um novo chamado (apenas CLIENT).

Request Body:

{
"titulo": "Dúvida sobre formulário",
"descricao": "Como preencher o formulário de verificação diária?"
}

Response (201 Created):

{
"id": "uuid",
"protocolo": "CHM-2024-001",
"titulo": "Dúvida sobre formulário",
"status": "aguardando",
"dataCriacao": "2024-01-15T10:00:00Z"
}

Nota: O protocolo é gerado automaticamente pelo sistema.

PATCH /chamados/:id/responder

Responde um chamado (apenas RESPONSAVEL_TECNICO).

Request Body:

{
"resposta": "Para preencher o formulário, acesse o menu Formulários > Pendentes..."
}

Response (200 OK):

{
"id": "uuid",
"protocolo": "CHM-2024-001",
"resposta": "Para preencher o formulário...",
"status": "respondido",
"dataResposta": "2024-01-15T14:30:00Z"
}

Permissões

  • CLIENT: Pode criar chamados e ver seus próprios chamados
  • RESPONSAVEL_TECNICO: Pode ver e responder chamados dos seus clientes
  • ADMIN: Acesso total

Notificações

Quando um chamado é criado ou respondido, emails são enviados automaticamente:

  • Novo chamado: RT recebe email
  • Chamado respondido: Cliente recebe email

Veja Sistema de Emails para mais detalhes.

Exemplo de Uso

Criar Chamado (Cliente)

const response = await fetch('https://api.pac.com.br/chamados', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
titulo: 'Dúvida sobre formulário',
descricao: 'Como preencher o formulário?'
})
});

const chamado = await response.json();
console.log('Protocolo:', chamado.protocolo);

Responder Chamado (RT)

const response = await fetch(`https://api.pac.com.br/chamados/${chamadoId}/responder`, {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
resposta: 'Para preencher o formulário...'
})
});

Status

  • aguardando: Chamado aguardando resposta do RT
  • respondido: Chamado já foi respondido

Próximos Passos