Skip to content

Referência da API do NovoSGA

URL Base: https://novosga.mangati.com

Todos os endpoints estão sob /api. A autenticação usa tokens OAuth2 obtidos em POST /api/token.

Token

Obter Token

http
POST /api/token
Content-Type: application/x-www-form-urlencoded
bash
curl -X POST https://novosga.mangati.com/api/token \
  -d "grant_type=client_credentials&client_id=ID&client_secret=SEGREDO"

Status

Status da API

http
GET /api

Resposta:

json
{
  "status": "ok",
  "time": 1718460000,
  "mercureUrl": "https://mercure.mangati.com/.well-known/mercure"
}

Senhas e Atendimentos

Listar Atendimentos

http
GET /api/atendimentos
Authorization: Bearer <token>

Suporta filtros por query string: status, resolucao, id.

Resposta:

json
[
  {
    "id": 456,
    "senha": { "numero": "A001", "sigla": "A" },
    "status": "waiting",
    "dataChegada": "2024-06-15T09:00:00+00:00",
    "dataChamada": null,
    "dataInicio": null,
    "dataFim": null,
    "unidade": { "id": 1, "nome": "Unidade Central" },
    "servico": { "id": 3, "nome": "Documentação" },
    "prioridade": { "id": 1, "nome": "Normal" },
    "cliente": null
  }
]

Obter Atendimento

http
GET /api/atendimentos/{id}
Authorization: Bearer <token>

Chamar Senha

http
POST /api/atendimentos/{id}/chamar
Authorization: Bearer <token>
Content-Type: application/json

Corpo da requisição:

CampoTipoObrigatórioDescrição
localinteiroSimID do local de atendimento
numeroLocalinteiroNãoNúmero da posição no local

Exemplo:

bash
curl -X POST https://novosga.mangati.com/api/atendimentos/456/chamar \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"local": 2, "numeroLocal": 1}'

Resposta (200): Objeto atendimento atualizado.

Erro (422):

json
{ "error": "Falha ao chamar o atendimento" }

Iniciar Atendimento

http
POST /api/atendimentos/{id}/iniciar
Authorization: Bearer <token>

Nenhum corpo de requisição necessário. Inicia o atendimento para o atendente autenticado.

Resposta (200): Objeto atendimento atualizado.


Encerrar Atendimento

http
POST /api/atendimentos/{id}/encerrar
Authorization: Bearer <token>
Content-Type: application/json

Corpo da requisição:

CampoTipoObrigatórioDescrição
servicosRealizadosinteiro[]SimIDs dos serviços efetivamente realizados
servicoRedirecionadointeiro|nullNãoRedirecionar para outro serviço
novoUsuariointeiro|nullNãoTransferir para atendente específico

Exemplo:

bash
curl -X POST https://novosga.mangati.com/api/atendimentos/456/encerrar \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "servicosRealizados": [3],
    "servicoRedirecionado": null,
    "novoUsuario": null
  }'

Resposta (200): Objeto atendimento atualizado.


Histórico de Atendimentos

http
GET /api/atendimentoshistorico
Authorization: Bearer <token>

Retorna registros históricos de atendimentos encerrados.


Distribuição de Senhas

Emitir Nova Senha

http
POST /api/distribui
Authorization: Bearer <token>
Content-Type: application/json

Corpo da requisição:

CampoTipoObrigatórioDescrição
unidadeinteiroSimID da unidade
servicointeiroSimID do serviço
prioridadeinteiroSimID da prioridade
clienteobjeto|nullNãoDados do cliente

Exemplo:

bash
curl -X POST https://novosga.mangati.com/api/distribui \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "unidade": 1,
    "servico": 3,
    "prioridade": 1,
    "cliente": {
      "nome": "João Silva",
      "documento": "123.456.789-00"
    }
  }'

Resposta (201): Novo objeto atendimento com o número de senha gerado (senha).


Impressão de Senha

http
GET /api/print/{id}
Authorization: Bearer <token>

Retorna dados para impressão da senha (validado por hash). Usado por impressoras de totem de triagem.


Estado da Fila

Obter Fila da Unidade

http
GET /api/filas/{unidadeId}
Authorization: Bearer <token>

Retorna o estado atual da fila de todos os serviços de uma unidade.

Resposta:

json
[
  {
    "servico": { "id": 3, "nome": "Documentação" },
    "fila": {
      "total": 5,
      "atendimento": {
        "id": 456,
        "senha": { "numero": "A001" },
        "status": "waiting"
      }
    }
  }
]

Atualizar Status da Fila

http
PUT /api/filas
Authorization: Bearer <token>
Content-Type: application/json

Atualiza o status da fila de um atendente (ex.: pausar, retomar).


Serviços

http
GET  /api/servicos        # Listar todos os serviços
GET  /api/servicos/{id}   # Obter serviço
POST /api/servicos        # Criar serviço
PUT  /api/servicos/{id}   # Atualizar serviço

Unidades

http
GET  /api/unidades        # Listar todas as unidades
GET  /api/unidades/{id}   # Obter unidade
POST /api/unidades        # Criar unidade
PUT  /api/unidades/{id}   # Atualizar unidade

Clientes

http
GET  /api/clientes         # Listar clientes
GET  /api/clientes/{id}    # Obter cliente
POST /api/clientes         # Criar cliente
PUT  /api/clientes/{id}    # Atualizar cliente

Objeto cliente:

json
{
  "id": 10,
  "nome": "João Silva",
  "email": "joao@mangati.com",
  "telefone": "(11) 9 9999-9999",
  "documento": "123.456.789-00"
}

Departamentos

http
GET  /api/departamentos        # Listar departamentos
GET  /api/departamentos/{id}   # Obter departamento
POST /api/departamentos        # Criar departamento
PUT  /api/departamentos/{id}   # Atualizar departamento

Prioridades

http
GET  /api/prioridades        # Listar prioridades
GET  /api/prioridades/{id}   # Obter prioridade
POST /api/prioridades        # Criar prioridade
PUT  /api/prioridades/{id}   # Atualizar prioridade

Usuários

http
GET  /api/usuarios        # Listar usuários
GET  /api/usuarios/{id}   # Obter usuário
POST /api/usuarios        # Criar usuário
PUT  /api/usuarios/{id}   # Atualizar usuário

Agendamentos

http
GET  /api/agendamentos        # Listar agendamentos
GET  /api/agendamentos/{id}   # Obter agendamento
POST /api/agendamentos        # Criar agendamento
PUT  /api/agendamentos/{id}   # Atualizar agendamento

Locais de Atendimento

http
GET  /api/locais        # Listar locais (guichês, posições)
GET  /api/locais/{id}   # Obter local
POST /api/locais        # Criar local
PUT  /api/locais/{id}   # Atualizar local

Painéis

http
GET  /api/paineis        # Listar configurações de painéis
GET  /api/paineis/{id}   # Obter painel

Usado pelo serviço de extensão Painel para buscar a configuração de exibição.

Documentação do Mangati Cloud Suite