Webhooks
Webhooks permitem que seu sistema receba notificações automáticas quando eventos ocorrem na Pontotel. Ao cadastrar um webhook, você informa uma URL que receberá um POST com os dados do evento assim que ele acontecer.
Como funciona
- Você cadastra uma URL e seleciona o evento de interesse
- Quando o evento ocorre, a Pontotel dispara um
POST para a URL cadastrada - Seu sistema processa o payload e responde com
2xx
flowchart LR
A[Evento ocorre na Pontotel] --> B[Pontotel dispara POST]
B --> C[Sua URL recebe o payload]
C --> D[Seu sistema processa]
Estrutura do Payload
Todos os eventos seguem o mesmo envelope:
| JSON |
|---|
| {
"hora_origem_evento_utc": "2025-04-25T19:00:00Z",
"empresa_id": "abc123",
"usuario_id": "xyz456",
"nome_evento": "EmpregadoCadastrado",
"conteudo_do_evento": { }
}
|
| Campo | Tipo | Descrição |
hora_origem_evento_utc | datetime | Momento em que o evento ocorreu (UTC) |
empresa_id | string | Identificador da empresa |
usuario_id | string | Identificador do usuário que originou o evento |
nome_evento | string | Nome do evento (ver tabela abaixo) |
conteudo_do_evento | object | Dados específicos do evento |
Eventos Disponíveis
EmpregadoCadastrado
Disparado quando um novo empregado é cadastrado.
| JSON |
|---|
| {
"nome_evento": "EmpregadoCadastrado",
"conteudo_do_evento": {
"id_empregado": "64b1f2e3c1a2b3d4e5f60001",
"codigo": "00123"
}
}
|
| Campo | Tipo | Descrição |
id_empregado | string | ID interno do empregado |
codigo | string | Código do empregado na empresa |
EmpregadoAtualizado
Disparado quando os dados de um empregado são alterados.
| JSON |
|---|
| {
"nome_evento": "EmpregadoAtualizado",
"conteudo_do_evento": {
"id_empregado": "64b1f2e3c1a2b3d4e5f60001",
"campos_alterados": {
"nome": {
"antes": "João Silva",
"depois": "João Souza Silva"
}
}
}
}
|
| Campo | Tipo | Descrição |
id_empregado | string | ID interno do empregado |
campos_alterados | object \| null | Mapa com os campos alterados e seus valores anterior/posterior |
EmpregadoDemitido
Disparado quando um empregado é desligado.
| JSON |
|---|
| {
"nome_evento": "EmpregadoDemitido",
"conteudo_do_evento": {
"data_de_demissao": "2025-04-30",
"origem": "MANUAL",
"trabalho_no_dia_da_demissao": false,
"motivo_da_demissao": "Desligado"
}
}
|
| Campo | Tipo | Descrição |
data_de_demissao | string (ISO 8601) | Data efetiva do desligamento |
origem | string | Origem do registro (ex: MANUAL, IMPORTACAO) |
trabalho_no_dia_da_demissao | boolean | Se houve trabalho no dia do desligamento |
motivo_da_demissao | string | Motivo do desligamento |
EmpregadoReadmitido
Disparado quando um empregado é readmitido após desligamento.
| JSON |
|---|
| {
"nome_evento": "EmpregadoReadmitido",
"conteudo_do_evento": {
"id_empregado": "64b1f2e3c1a2b3d4e5f60001",
"data_de_readmissao": "2025-05-01"
}
}
|
| Campo | Tipo | Descrição |
id_empregado | string | ID interno do empregado |
data_de_readmissao | string (ISO 8601) | Data efetiva da readmissão |
Boas Práticas
- Responda com
2xx o mais rápido possível — processe o payload de forma assíncrona se necessário - Valide o campo
nome_evento antes de processar o conteudo_do_evento - Armazene o
hora_origem_evento_utc para ordenar eventos que chegarem fora de ordem