Visão Geral
Os eventos de webhook de entidades permitem que você receba notificações em tempo real quando entidades (pessoas, empresas, dispositivos, etc.) são criadas, atualizadas ou seu status muda na plataforma Gu1. Esses eventos permitem que você mantenha seus sistemas sincronizados com Gu1 e automatize fluxos de trabalho baseados em mudanças no ciclo de vida das entidades.Por Que Usar Eventos de Entidades?
Sincronização em Tempo Real
Mantenha seu banco de dados sincronizado com dados de entidades Gu1
Fluxos de Trabalho Automatizados
Acione ações quando o status da entidade mudar
Trilha de Auditoria
Rastreie todas as mudanças de entidades para conformidade
Eficiente
Não é necessário consultar a API para atualizações
Eventos Disponíveis
entity.created
Acionado quando uma nova entidade é criada no Gu1. Quando dispara:- Uma nova pessoa, empresa, dispositivo ou outra entidade é criada via
POST /entities
entityTypes: Receber apenas eventos para tipos de entidades específicos (por exemplo,["person", "company"])
entity.updated
Acionado quando os dados de uma entidade são atualizados (excluindo mudanças de status). Quando dispara:- Informações da entidade são atualizadas via
PATCH /entities/:id - Mudanças em nome, atributos, dados da entidade, ID fiscal, etc.
entity.status_changed em vez disso.
Filtros disponíveis:
entityTypes: Receber apenas eventos para tipos de entidades específicos
entity.status_changed
Acionado quando o status de uma entidade muda. Quando dispara:- Transições de status de entidade (por exemplo,
under_review→active,active→blocked) - Atualizações de status via
PATCH /entities/:idou ações de conformidade automatizadas
entityTypes: Filtrar por tipo de entidadestatusChanges.from: Acionar apenas quando mudar DE um status específicostatusChanges.to: Acionar apenas quando mudar PARA um status específico
Exemplos de Payload de Eventos
entity.created
entity: Objeto de entidade completo com todos os dadosentity.externalId: Seu identificador único para a entidadeentity.type: Tipo de entidade (person, company, device, etc.)entity.status: Status atual (under_review, active, blocked, etc.)createdBy: ID do usuário que criou a entidademetadata: Contexto adicional sobre a criação
entity.updated
entity: Objeto de entidade completo com dados atualizadoschanges: Objeto mostrando o que mudou (valores antigos vs novos)updatedBy: ID do usuário que atualizou a entidadereason: Motivo opcional para a atualização
entity.status_changed
status: Novo statuspreviousStatus: Status anteriorreason: Por que o status mudouentity: Objeto de entidade completo
Configuração de Filtros
Filtrar por Tipo de Entidade
Receber apenas eventos para tipos de entidades específicos:Filtrar por Mudança de Status
Receber apenas eventos quando o status da entidade mudar para valores específicos:blocked.
Filtrar quando mudar DE um status específico:
active para suspended.
Exemplos de Código
Node.js - Lidando com Eventos de Entidades
Melhores Práticas
Use externalId para Buscas
Use externalId para Buscas
O
entity.externalId é seu identificador único. Use-o para buscar entidades no seu banco de dados:Armazene o ID da Entidade Gu1
Armazene o ID da Entidade Gu1
Sempre armazene o ID da entidade Gu1 no seu banco de dados para referência:
Lide com Todos os Tipos de Eventos
Lide com Todos os Tipos de Eventos
Mesmo se você se inscrever apenas em eventos específicos, lide com todos os tipos de eventos graciosamente:
Registre Mudanças para Auditoria
Registre Mudanças para Auditoria
Mantenha uma trilha de auditoria de todas as mudanças de entidades:
Implemente Idempotência
Implemente Idempotência
Use o ID da entidade e timestamp para prevenir processamento duplicado:
Use Filtros para Reduzir Ruído
Use Filtros para Reduzir Ruído
Configure filtros para receber apenas eventos relevantes:
Solução de Problemas
Não Recebo Eventos entity.created
Não Recebo Eventos entity.created
Verificar:
- Webhook está inscrito no evento
entity.created - Tipo de entidade corresponde aos seus filtros (se configurados)
- Webhook está habilitado no dashboard
- Endpoint é publicamente acessível
Faltam Mudanças em entity.updated
Faltam Mudanças em entity.updated
O objeto Apenas
changes inclui apenas campos que realmente mudaram. Se você não vê um campo, significa que ele não foi atualizado.Exemplo:name mudou, outros campos permanecem os mesmos.entity.status_changed Não Dispara
entity.status_changed Não Dispara
Verificar:Isso disparará APENAS quando o status mudar PARA
- Status realmente mudou (não apenas entidade atualizada)
- Filtros correspondem à mudança de status (from/to)
- Mudança de status não está sendo filtrada
blocked.