HTrack API

API REST para gerenciamento de operações, equipamentos, colaboradores e rastreamento de atividades empresariais.

Versão: 1.0
Autor: Sandro Jordão
Base URL: http://localhost/htrack-api

Autenticação

Todos os endpoints (exceto Login e Send Password) requerem os seguintes headers:

Authorization: Bearer {token}
Company-ID: {company_id}
User-ID: {user_id}
Content-Type: application/json

Autenticação

Endpoints para gerenciamento de autenticação e sessões de usuários.

Login

POST http://localhost/htrack-api/credentials
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "login": "usuario@example.com",
  "password": "senha123"
}
Responses200400401
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Login realizado com sucesso! Bem-vindo(a).",
  "token": "abc123def456ghi789jkl012mno345",
  "token_expired": "2026-02-27 12:00:00",
  "user": {
    "id": 1,
    "name": "João Silva",
    "email": "joao@example.com",
    "signed": true,
    "signed_at": "2026-01-15 10:30:00",
    "is_admin": true,
    "profile": "Administrador",
    "score": 98.5
  },
  "company": {
    "id": 1,
    "name": "Empresa Exemplo LTDA",
    "image": "https://example.com/logo.png",
    "phone": "(11) 3000-0000",
    "email": "contato@empresa.com",
    "address": "Rua Exemplo, 123 - São Paulo/SP",
    "cnpj": "00.000.000/0001-00",
    "notes": "Observações da empresa"
  },
  "segment": {
    "id": 1,
    "name": "Industrial",
    "icon": "factory",
    "color": "#3498db",
    "singular": "Máquina",
    "plural": "Máquinas"
  },
  "branch": {
    "id": 1,
    "name": "Filial Centro"
  },
  "icons": {
    "operation_index": "cog",
    "employee_list": "users",
    "equipment_list": "box"
  }
}
Headers
Content-Type: application/json
Body
{
  "status": 400,
  "message": "Por favor, informe seu login e senha para continuar."
}
Headers
Content-Type: application/json
Body
{
  "status": 401,
  "message": "Senha incorreta. Por favor, tente novamente."
}

Login
POST/credentials

Realiza autenticação do usuário e retorna token de acesso com informações do usuário e empresa.


Logout

DELETE http://localhost/htrack-api/logout
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Responses200400
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Você saiu com sucesso. Até logo!"
}
Headers
Content-Type: application/json
Body
{
  "status": 400,
  "message": "Não foi possível finalizar sua sessão. Tente novamente."
}

Logout
DELETE/logout

Encerra a sessão do usuário autenticado e invalida o token.


Reset de Senha

POST http://localhost/htrack-api/reset_password
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer abc123def456ghi789jkl012mno345
User-ID: 1
Body
{
  "password": "nova_senha_segura123"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Sua senha foi atualizada com sucesso."
}

Reset de Senha
POST/reset_password

Atualiza a senha do usuário autenticado.


Enviar Nova Senha

POST http://localhost/htrack-api/send_password
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "email": "usuario@example.com"
}
Responses200400401
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "E-mail de redefinição enviado! Verifique sua caixa de entrada."
}
Headers
Content-Type: application/json
Body
{
  "status": 400,
  "message": "O e-mail informado não é válido. Verifique e tente novamente."
}
Headers
Content-Type: application/json
Body
{
  "status": 401,
  "message": "Não foi possível redefinir sua senha. Verifique se o e-mail está correto."
}

Enviar Nova Senha
POST/send_password

Gera uma nova senha aleatória e envia para o e-mail do usuário.


Colaboradores

Gerenciamento de colaboradores da empresa.

Listar Colaboradores

GET http://localhost/htrack-api/employee/list
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200404
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "João Silva",
    "email": "joao.silva@example.com",
    "phone": "(11) 98765-4321",
    "type_name": "Operador",
    "notes": "Especialista em manutenção preventiva"
  },
  {
    "id": 2,
    "name": "Maria Santos",
    "email": "maria.santos@example.com",
    "phone": "(11) 98765-1234",
    "type_name": "Supervisor",
    "notes": "Responsável pelo turno da manhã"
  }
]
Headers
Content-Type: application/json
Body
{
  "status": 404,
  "message": "No employees found."
}

Listar Colaboradores
GET/employee/list

Retorna lista de todos os colaboradores ativos da empresa.


Visualizar Colaborador

GET http://localhost/htrack-api/employee/view/1
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200404
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "João Silva",
  "email": "joao.silva@example.com",
  "phone": "(11) 98765-4321",
  "type_name": "Operador",
  "notes": "Especialista em manutenção preventiva"
}
Headers
Content-Type: application/json
Body
{
  "status": 404,
  "message": "Employee not found."
}

Visualizar Colaborador
GET/employee/view/{id}

Retorna detalhes de um colaborador específico.

URI Parameters
HideShow
id
number (required) Example: 1

ID do colaborador


Equipamentos

Gerenciamento de equipamentos e máquinas.

Listar Equipamentos

GET http://localhost/htrack-api/equipment/list
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200404
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "Torno CNC 1200",
    "code": "EQP-001",
    "status": "Ativo",
    "location": "Setor A - Linha 3",
    "notes": "Equipamento principal de usinagem"
  },
  {
    "id": 2,
    "name": "Fresadora Universal",
    "code": "EQP-002",
    "status": "Em Manutenção",
    "location": "Setor B - Linha 1",
    "notes": "Manutenção programada até 28/02"
  }
]
Headers
Content-Type: application/json
Body
{
  "status": 404,
  "message": "No equipment found."
}

Listar Equipamentos
GET/equipment/list

Retorna lista de todos os equipamentos da empresa.


Monitorar Equipamentos

GET http://localhost/htrack-api/equipment/monitor
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "equipment_id": 1,
    "equipment_name": "Torno CNC 1200",
    "status": "Operando",
    "current_operation": "Usinagem Pesada",
    "progress": 65,
    "operator": "João Silva",
    "started_at": "2026-02-26 08:00:00",
    "estimated_finish": "2026-02-26 16:00:00",
    "alerts": 0
  }
]

Monitorar Equipamentos
GET/equipment/monitor

Retorna status e métricas em tempo real dos equipamentos.


Visualizar Equipamento

GET http://localhost/htrack-api/equipment/view/1
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200404
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Torno CNC 1200",
  "code": "EQP-001",
  "status": "Ativo",
  "location": "Setor A - Linha 3",
  "manufacturer": "Romi",
  "model": "Galaxy 20",
  "serial_number": "12345678",
  "acquisition_date": "2025-05-15",
  "notes": "Equipamento principal de usinagem"
}
Headers
Content-Type: application/json
Body
{
  "status": 404,
  "message": "Equipment not found."
}

Visualizar Equipamento
GET/equipment/view/{id}

Retorna detalhes completos de um equipamento específico.

URI Parameters
HideShow
id
number (required) Example: 1

ID do equipamento


Operações

Gerenciamento de operações e processos.

Visualizar Operações

GET http://localhost/htrack-api/operation?equipment_id=1
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200404
Headers
Content-Type: application/json
Body
{
  "operations": [
    {
      "operation_id": 1,
      "name": "Manutenção Preventiva",
      "color": "#FF5733",
      "icon": "wrench",
      "min_times": 1,
      "max_times": 5,
      "events_amount": 3,
      "operation_type": "Manutenção",
      "notes": "Realizada mensalmente",
      "events": [
        {
          "event_id": 1,
          "name": "Verificação Inicial",
          "color": "#2ECC71",
          "icon": "check-circle",
          "min_time": 15,
          "max_time": 30,
          "is_machine": false,
          "is_supplies": true,
          "is_employee": true,
          "is_instrument": true,
          "is_photo": true,
          "max_number_photo": 5,
          "is_productive": true,
          "is_sequential": true,
          "order_number": 1,
          "notes": "Verificar nível de óleo e pressão"
        }
      ],
      "fields": [
        {
          "field_id": 1,
          "title": "Nível de Óleo",
          "code": "oil_level",
          "type_name": "Seleção",
          "placeholder": "Selecione o nível",
          "required": true,
          "value_options": [
            "Baixo",
            "Normal",
            "Alto"
          ],
          "order_number": 1
        }
      ]
    }
  ]
}
Headers
Content-Type: application/json
Body
{
  "status": 404,
  "message": "Equipment without configured operation."
}

Visualizar Operações
GET/operation{?equipment_id}

Retorna todas as operações configuradas para um equipamento, incluindo eventos e campos.

URI Parameters
HideShow
equipment_id
number (required) Example: 1

ID do equipamento


Listar Campos

GET http://localhost/htrack-api/field?operation_id=1
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "field_id": 1,
    "title": "Nível de Óleo",
    "code": "oil_level",
    "type_name": "Seleção",
    "description": "Verificar visualmente o nível",
    "placeholder": "Selecione o nível",
    "required": true,
    "order_number": 1
  }
]

Listar Campos
GET/field{?operation_id}

Retorna campos configurados para uma operação.

URI Parameters
HideShow
operation_id
number (required) Example: 1

ID da operação


Criar Campo

POST http://localhost/htrack-api/field
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Body
{
  "operation_id": 1,
  "title": "Temperatura",
  "code": "temperature",
  "type": "number",
  "required": true,
  "placeholder": "Informe a temperatura em °C",
  "order_number": 2
}
Responses201
Headers
Content-Type: application/json
Body
{
  "status": 201,
  "message": "Campo criado com sucesso.",
  "field_id": 2
}

Criar Campo
POST/field

Cria um novo campo para uma operação.


Atualizar Campo

PUT http://localhost/htrack-api/field/update/1
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Body
{
  "title": "Nível de Óleo (atualizado)",
  "required": false
}
Responses200
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Campo atualizado com sucesso."
}

Atualizar Campo
PUT/field/update/{id}

Atualiza um campo existente.

URI Parameters
HideShow
id
number (required) Example: 1

ID do campo


Deletar Campo

DELETE http://localhost/htrack-api/field/delete/1
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Campo deletado com sucesso."
}

Deletar Campo
DELETE/field/delete/{id}

Remove um campo de uma operação.

URI Parameters
HideShow
id
number (required) Example: 1

ID do campo


Listar Eventos

GET http://localhost/htrack-api/event?operation_id=1
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "event_id": 1,
    "name": "Verificação Inicial",
    "color": "#2ECC71",
    "icon": "check-circle",
    "min_time": 15,
    "max_time": 30,
    "is_productive": true,
    "is_sequential": true,
    "order_number": 1
  }
]

Listar Eventos
GET/event{?operation_id}

Retorna eventos configurados para uma operação.

URI Parameters
HideShow
operation_id
number (required) Example: 1

ID da operação


Registrar Interferência

POST http://localhost/htrack-api/interference
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
User-ID: 1
Body
{
  "operation_id": 1,
  "equipment_id": 1,
  "description": "Falha no sistema hidráulico",
  "severity": "Alta",
  "stopped_operation": true
}
Responses201
Headers
Content-Type: application/json
Body
{
  "status": 201,
  "message": "Interferência registrada com sucesso.",
  "interference_id": 45
}

Registrar Interferência
POST/interference

Registra uma interferência ou problema durante uma operação.


Instrumentos

Gerenciamento de instrumentos e ferramentas.

Listar Instrumentos

GET http://localhost/htrack-api/instrument/list
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "Paquímetro Digital",
    "code": "INST-001",
    "status": "Disponível",
    "calibration_date": "2026-01-15",
    "next_calibration": "2027-01-15",
    "notes": "Calibrado e certificado"
  }
]

Listar Instrumentos
GET/instrument/list

Retorna lista de todos os instrumentos disponíveis.


Visualizar Instrumento

GET http://localhost/htrack-api/instrument/view/1
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Paquímetro Digital",
  "code": "INST-001",
  "status": "Disponível",
  "calibration_date": "2026-01-15",
  "next_calibration": "2027-01-15",
  "manufacturer": "Mitutoyo",
  "model": "CD-6 CSX",
  "notes": "Calibrado e certificado"
}

Visualizar Instrumento
GET/instrument/view/{id}

Retorna detalhes de um instrumento específico.

URI Parameters
HideShow
id
number (required) Example: 1

ID do instrumento


Máquinas

Gerenciamento de máquinas auxiliares.

Listar Máquinas

GET http://localhost/htrack-api/machine/list
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "Compressor de Ar",
    "code": "MAC-001",
    "status": "Operando",
    "location": "Sala de Máquinas",
    "notes": "Pressão: 8 bar"
  }
]

Listar Máquinas
GET/machine/list

Retorna lista de todas as máquinas disponíveis.


Visualizar Máquina

GET http://localhost/htrack-api/machine/view/1
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Compressor de Ar",
  "code": "MAC-001",
  "status": "Operando",
  "location": "Sala de Máquinas",
  "notes": "Pressão: 8 bar"
}

Visualizar Máquina
GET/machine/view/{id}

Retorna detalhes de uma máquina específica.

URI Parameters
HideShow
id
number (required) Example: 1

ID da máquina


Suprimentos

Gerenciamento de suprimentos e materiais.

Listar Suprimentos

GET http://localhost/htrack-api/supplies/list
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "Óleo Lubrificante SAE 40",
    "code": "SUP-001",
    "quantity": 150,
    "unit": "Litros",
    "min_stock": 50,
    "notes": "Uso geral para máquinas"
  }
]

Listar Suprimentos
GET/supplies/list

Retorna lista de todos os suprimentos disponíveis.


Visualizar Suprimento

GET http://localhost/htrack-api/supplies/view/1
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Óleo Lubrificante SAE 40",
  "code": "SUP-001",
  "quantity": 150,
  "unit": "Litros",
  "min_stock": 50,
  "supplier": "Lubrificantes ABC",
  "notes": "Uso geral para máquinas"
}

Visualizar Suprimento
GET/supplies/view/{id}

Retorna detalhes de um suprimento específico.

URI Parameters
HideShow
id
number (required) Example: 1

ID do suprimento


Alertas

Gerenciamento de alertas e notificações.

Listar Alertas

GET http://localhost/htrack-api/alerts/list
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "title": "Manutenção Vencida",
    "description": "Equipamento EQP-001 com manutenção atrasada",
    "severity": "Alta",
    "equipment_id": 1,
    "equipment_name": "Torno CNC 1200",
    "status": "Pendente",
    "created_at": "2026-02-25 14:30:00"
  }
]

Listar Alertas
GET/alerts/list

Retorna lista de todos os alertas ativos.


Atualizar Alerta

PUT http://localhost/htrack-api/alerts/update/1
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Body
{
  "status": "Resolvido",
  "notes": "Manutenção realizada em 26/02/2026"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Alerta atualizado com sucesso."
}

Atualizar Alerta
PUT/alerts/update/{id}

Atualiza o status de um alerta.

URI Parameters
HideShow
id
number (required) Example: 1

ID do alerta


Deletar Alerta

DELETE http://localhost/htrack-api/alerts/delete/1
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
Company-ID: 1
Responses200
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "Alerta deletado com sucesso."
}

Deletar Alerta
DELETE/alerts/delete/{id}

Remove um alerta do sistema.

URI Parameters
HideShow
id
number (required) Example: 1

ID do alerta


Utilitários

Funcionalidades auxiliares e utilitárias.

Enviar E-mail

POST http://localhost/htrack-api/email/send
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer abc123def456ghi789jkl012mno345
Body
{
  "to": "destinatario@example.com",
  "subject": "Relatório Semanal de Operações",
  "message": "<h1>Relatório</h1><p>Conteúdo do e-mail em HTML ou texto.</p>"
}
Responses202400500
Headers
Content-Type: application/json
Body
{
  "status": 202,
  "message": "Email sent successfully."
}
Headers
Content-Type: application/json
Body
{
  "status": 400,
  "message": "Missing required fields."
}
Headers
Content-Type: application/json
Body
{
  "status": 500,
  "message": "Error sending email."
}

Enviar E-mail
POST/email/send

Envia e-mail customizado através do sistema.


Aceitar Termos

PATCH http://localhost/htrack-api/signed
Requestsexample 1
Headers
Authorization: Bearer abc123def456ghi789jkl012mno345
User-ID: 1
Responses200500
Headers
Content-Type: application/json
Body
{
  "status": 200,
  "message": "User successfully updated."
}
Headers
Content-Type: application/json
Body
{
  "status": 500,
  "message": "Error updating user."
}

Aceitar Termos
PATCH/signed

Registra o aceite de termos de uso pelo usuário.


Enviar Foto

POST http://localhost/htrack-api/photo/send
Requestsexample 1
Headers
Content-Type: multipart/form-data
Authorization: Bearer abc123def456ghi789jkl012mno345
Body
------WebKitFormBoundary
Content-Disposition: form-data; name="photo"; filename="imagem.jpg"
Content-Type: image/jpeg

(binary data)
------WebKitFormBoundary--
Responses201400
Headers
Content-Type: application/json
Body
{
  "status": 201,
  "message": "Foto enviada com sucesso.",
  "filename": "20260226_143052_imagem.jpg",
  "url": "http://localhost/htrack-api/uploads/20260226_143052_imagem.jpg"
}
Headers
Content-Type: application/json
Body
{
  "status": 400,
  "message": "Nenhuma foto foi enviada."
}

Enviar Foto
POST/photo/send

Faz upload de foto para o servidor.


Generated by aglio on 26 Feb 2026