Winx - API Integração
  1. Employees
Winx - API Integração
  • Raiz
    • Documentação de Integração
    • Companies
      • 📋 Listar Empresas
    • Filters
      • 📋 Listar Filtros
      • ➕ Criar Filtro
      • 🔍 Visualizar Filtro
      • ✏️ Atualizar Filtro
      • 🗑️ Excluir Filtro
    • Employees
      • 📋 Listar Funcionários
        GET
      • ➕ Criar Funcionário
        POST
      • 🔍 Visualizar Funcionário
        GET
      • ✏️ Atualizar Funcionário
        PUT
      • 🗑️ Excluir Funcionário
        DELETE
    • Users
      • Permissions
        • 📋 Listar Permissões
        • ➕ Criar Permissão
        • 🔍 Visualizar Permissão
        • 🗑️ Excluir Permissão
      • Profile
        • 📋 Listar Perfis
        • ➕ Criar Perfil
        • 🔍 Visualizar Perfil
        • ✏️ Atualizar Perfil
        • 🗑️ Excluir Perfil
      • 📋 Listar Usuários
      • ➕ Criar Usuário
      • 🔍 Visualizar Usuário
      • ✏️ Atualizar Usuário
      • 🗑️ Excluir Usuário
  • Esquemas
    • Schemas
      • UserCreate
      • User
      • CampaignAccess
      • UserCollection
      • PermissionCreate
      • PermissionUpdate
      • ProfileCreate
      • Profile
      • ProfileCollection
      • Company
      • Filter
      • FilterCreate
      • FilterUpdate
      • EmployeeField
      • PaginationLinks
      • PaginationMeta
      • ErrorResponse
      • ValidationErrorResponse
    • Response
      • Unauthorized
      • Forbidden
      • NotFound
      • ValidationError
  1. Employees

🗑️ Excluir Funcionário

DELETE
/v1/employees/{employeeId}

📖 Descrição#

Remove um funcionário (soft delete lógico).

🔄 Processo Detalhado de DELETE#

O que o EmployeeRepository::delete() faz:
1.
Remove de campanhas ativas: Vínculos em campanhas são apagados
2.
Apaga fields: Todos os relacionamentos com filtros removidos
3.
Soft delete: Campo deleted_at preenchido com timestamp atual
4.
Histórico preservado: Funcionário permanece no banco para auditoria
5.
Libera unicidade: CPF/email/phone ficam disponíveis para reuso

⚠️ Comportamento Importante#

NÃO é exclusão física - dados permanecem no banco
Funcionário some das listagens normais (queries ignoram soft-deleted)
Constraints liberadas: Validações de unicidade ignoram registros excluídos
Recuperação: Apenas via comandos Artisan (não há endpoint REST)

🔄 Reutilização de Dados Após DELETE#

Sim, é possível criar funcionário com os mesmos dados:
// 1. DELETE remove João Silva
DELETE /v1/employees/9c73a4aa-8094-4241-ad05-658436f471fe
// Status: 204 No Content

// 2. POST com os mesmos dados funcionará
POST /v1/employees
{
  "name": "João Silva",
  "document": "12345678901",  // ✅ Mesmo CPF pode ser reutilizado
  "email": "joao@empresa.com",  // ✅ Mesmo email pode ser reutilizado
  "internal_id": "EMP001",     // ✅ Mesmo internal_id pode ser reutilizado
  "fields": [
    {"id": "uuid-dept", "value": "TI"}
  ],
  "include_campaign": true,
  "is_on_leave": false
}
// Status: 201 Created (novo UUID será gerado)

🏁 DELETE vs firing_date#

🗑️ DELETE (Soft Delete)#

Quando usar: Remoção definitiva do sistema
Resultado: Some das consultas, libera dados para reuso
Campanhas: Remove automaticamente
Histórico: Preservado apenas no banco

📅 firing_date (Desligamento)#

Quando usar: Registro de desligamento com histórico
Resultado: Dispara soft delete via Observer, mas mantém contexto
Campanhas: NÃO remove automaticamente
Histórico: Organizado para relatórios de turnover

🔄 Alternativa Recomendada#

Em vez de DELETE direto, use processo estruturado:
// 1. Primeiro: registrar desligamento
PUT /v1/employees/{id}
{
  "firing_date": "31/12/2024",
  "is_voluntary_firing": true,
  "reason_firing": "Pedido de demissão",
  "remove_campaign": true
}
// Dispara soft delete automático via Observer

// 2. Se necessário: DELETE para limpeza definitiva
DELETE /v1/employees/{id}
Isso mantém histórico organizado e permite relatórios precisos.

🔗 Links Relacionados#

Atualizar Funcionário - Para usar firing_date
Criar Funcionário - Para reutilizar dados após DELETE
Listar Funcionários - Funcionários excluídos não aparecem

Requisição

Authorization
Forneça seu token bearer no cabeçalho
Authorization
ao fazer requisições para recursos protegidos.
Exemplo:
Authorization: Bearer ********************
Parâmetros de Caminho

Exemplos de Requisição

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request DELETE 'https://scenic-tokyo-3bje4ahyb4rd.on-vapor.com/api/v1/employees/' \
--header 'Authorization: Bearer <token>'

Respostas

🟢204Sem Conteúdo
✅ Funcionário excluído com sucesso
Esta resposta não possui corpo.
🟠404Registro Não Encontrado
Modificado em 2025-12-08 22:09:26
Página anterior
✏️ Atualizar Funcionário
Próxima página
📋 Listar Permissões
Built with