> ## Documentation Index
> Fetch the complete documentation index at: https://base39-release-notes-06-mar.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introdução

> O registro de vínculo empregatício preserva informações essenciais sobre a remuneração e margem consignável do cliente.

O objeto `employment` simboliza a relação empregatícia entre um cliente e uma empresa. É nesta entidade que os elementos vitais do vínculo empregatício são preservados, tais como:

* Salário bruto
* Salário líquido
* Data de início do contrato de trabalho
* Margem consignável
* Situação atual do empregado
* Valor de indenização por rescisão

O objeto `employment` é imutável. Isso implica que para atualizar qualquer dado, será necessário adicionar um novo `employment`. Este histórico é mantido para análise da progressão salarial de um cliente e para guardar o registro do vínculo empregatício vigente quando um empréstimo foi requisitado ou concedido.

É possível verificar todos os dados submetidos através do endpoint [Listar todos os vínculos empregatícios](/reference/get-v1-employments). É permitido filtrar por meio do documento ou ID externo. Ademais, é possível examinar apenas o último registro válido usando o parâmetro `?last=true`, para mais informações consulte [Visualizar histórico consolidado](#visualizar-historico-consolidado)

## Status do vínculo

| Status     | Descrição                                                                                                                                                                                                         |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| working    | O funcionário que está com o contrato de trabalho ativo e trabalhando. Esse status permite que o cliente faça solicitações de empréstimo.                                                                         |
| vacation   | O funcionário está de férias                                                                                                                                                                                      |
| terminated | O vínculo empregatício foi terminado. É importante informar o valor da rescisão no campo `severancePayment`. As parcelas não serão quitadas automaticamente, veja mais informações em [Cobrança](/docs/cobranca). |
| deceased   | O funcionário falaceu.                                                                                                                                                                                            |
| away       | O funcionário está afastado.                                                                                                                                                                                      |
| transfered | O funcionário foi transferido para outra filial.                                                                                                                                                                  |

> 📘 Demissão de funcionários
>
> Não é necessário fazer a exclusão do vínculo empregatício quando o contrato de trabalho do funcionário é encerrado. Insira um vínculo com o status `terminated` e consulte a documentação de [Cobrança](docs/branca) para entender o processo de quitação antecipada.

## Validade da informação

O registro de vínculo empregatício é fundamental para o gerenciamento de empréstimos consignados.

Para gerenciar a validade do vínculo, o campo `expiredAt` será preenchido baseando-se na configuração do período de validade através do campo `settings.employment.expireInDays`. Veja mais em [Atualizar as configurações](/reference/post-v1-settings).

**Exemplo:**
Se a validade estiver definida para 15 dias e o RH importar os dados em 01 de janeiro:

* Até 15 de janeiro, o campo `employment.expiredAt` permanecerá vazio (`null`);
* A partir de 15 de janeiro, o `employment.expiredAt` será preenchido com a data 15 de janeiro.

Mesmo após expirado, é possível alterar a configuração para outro número de dias para modificar todos os registros de forma retroativa.

> ⚠️ Importante!
>
> Se os dados expiram, eles precisam ser reenviados de forma recorrente antes da expiração. Caso a sua configuração seja ilimitada (`settings.employment.expireInDays = -1`), certifique-se de informar os outros status, principalmente o "demitido" para garantir que o cliente não faça uma solicitação de empréstimo com uma informação desatualizada.

## Visualizar histórico consolidado

Todo `employment` deve conter pelo menos o documento do funcionário, status do vínculo e a empresa. Com o passar do tempo, o status e os salários podem sofrer mudanças. Para assegurar uma visão atualizada do cliente, você pode agrupar todos esses vínculos por documento e empresa usando o filtro `?last=true`.

Se a configuração da sua conta demanda o envio do `employment` antes do período de expiração, você pode ter múltiplos objetos com os mesmos valores para cada mês ou semana. Este filtro também consolida essas informações e retorna apenas a mais recente, mesmo que já tenha expirado. Se um funcionário possui vínculo com mais de uma empresa, a resposta incluirá a última informação de cada empresa.

**Exemplo:**

Após várias inserções feitas nos últimos meses, o banco de dados ficaria com registros parecidos com esses:

| id                            | status   | company                        | customer.document | grossSalary | createdAt  |
| ----------------------------- | -------- | ------------------------------ | ----------------- | ----------- | ---------- |
| emp\_64ad43f2413ee1e9520ef9c3 | working  | comp\_64ad4400413ee1e9520ef9ca | 12312312300       | 5000        | 2023-01-01 |
| emp\_64ad4400413ee1e9520ef9c9 | working  | comp\_64ad4400413ee1e9520ef9ca | 12312312300       | 5120        | 2023-02-08 |
| emp\_64ad4400413ee1e9520ef9cb | vacation | comp\_64ad4400413ee1e9520ef9ca | 12312312300       | 5120        | 2023-03-05 |
| emp\_64ad4400413ee1e9520ef9cc | working  | comp\_64ad4400413ee1e9520ef9ca | 12312312300       | 5710        | 2023-04-02 |

Ao fazer a requisição com o filtro `?last=true`, a resposta retorna apenas do último item independentemente se a informacão expirou.

```shell
curl --request GET \
  --url https://api.base39.io/v1/employments?last=true \
  --user 'bs_sandbox_65592feb50584d6838855f12' \

{
  "id": "emp_64ad4400413ee1e9520ef9cc",
  "status": "working",
  "company": "comp_64ad4400413ee1e9520ef9ca",
  "grossSalary": 5710,
  "customer": {
    "dcument": "12312312300"
  },
  "createdAt": "2023-04-02",
  "expiredAt": null
}
```

> 📘 Importante!
>
> Não é possível atualizar os registros de funcionários. É necessário inserir um novo registro.
