Visão Geral
Este guia orienta você na configuração de webhooks no seu dashboard Gu1. Os webhooks são configurados no nível da organização e se aplicam a todos os eventos que correspondem aos seus filtros.Pré-requisitos
Antes de configurar webhooks, você precisa:- ✅ Uma conta Gu1 ativa com permissões de administrador
- ✅ Um endpoint HTTPS publicamente acessível para receber webhooks
- ✅ (Opcional) Um secret de webhook para verificação de assinatura
Para desenvolvimento local, use ferramentas como ngrok para criar uma URL pública que faz túnel para seu servidor local.
Configuração Passo a Passo
Passo 1: Navegar para Configurações de Webhooks
- Faça login no seu dashboard Gu1 em app.gu1.ai
- Vá para Configurações → Webhooks
- Clique em Adicionar Webhook ou Criar Webhook
Passo 2: Informações Básicas
Nomear seu webhook
Digite um nome descritivo para identificar este webhookExemplos:
- “Webhook KYC de Produção”
- “Eventos de Entidade Sandbox”
- “Monitoramento de Conformidade”
Adicionar descrição (opcional)
Adicione notas sobre para que este webhook é usadoExemplo: “Envia eventos de aprovação de KYC para nosso sistema CRM”
Passo 3: Selecionar Ambiente
Escolha a qual ambiente este webhook se aplica:- Sandbox
- Produção
Use para:
- Desenvolvimento e testes
- Ambientes de staging
- Processos de QA
- Eventos de chamadas de API sandbox
- Validações e transações de teste
Você pode criar webhooks separados para sandbox e produção com URLs diferentes. Isso permite testes seguros sem afetar sistemas de produção.
Passo 4: Inscrever-se em Eventos
Selecione quais tipos de eventos acionam este webhook:Opção A: Inscrever-se em Todos os Eventos de uma Categoria
entity.*- Todos os eventos de entidadekyc.*- Todos os eventos de validação KYCrule.*- Todos os eventos de regrastransaction.*- Todos os eventos de transação (em breve)alert.*- Todos os eventos de alerta (em breve)
Opção B: Inscrever-se em Eventos Específicos
Selecione eventos individuais: Eventos de Entidades:- ☐
entity.created - ☐
entity.updated - ☐
entity.status_changed - ☐
entity.deleted(em breve)
- ☐
kyc.validation_created - ☐
kyc.validation_in_progress - ☐
kyc.validation_approved - ☐
kyc.validation_rejected - ☐
kyc.validation_abandoned - ☐
kyc.validation_expired
- ☐
rule.triggered
Passo 5: Configurar Filtros (Opcional)
Adicione filtros para receber apenas eventos relevantes:Filtrar por Tipo de Entidade
Filtrar por Tipo de Entidade
Acione webhook apenas para tipos de entidades específicos:Opções:
- Pessoa
- Empresa
- Dispositivo
- Método de Pagamento
Filtrar por Mudanças de Status
Filtrar por Mudanças de Status
Acione apenas quando mudanças de status corresponderem a critérios específicos:Status De: Acione apenas quando mudar DESTE status
under_reviewactiveblockedpending
activeblockedarchived
blockedFiltrar por Flag de Cliente
Filtrar por Flag de Cliente
Filtre eventos baseados na flag
isClient da entidade:Opções:- Apenas clientes (
isClient: true) - Apenas não-clientes (
isClient: false) - Todas as entidades (sem filtro)
Passo 6: Configurar Política de Tentativas (Opcional)
Personalize como Gu1 lida com entregas de webhook falhadas:maxRetries- Máximo de tentativas de repetição (padrão: 3)retryDelayMs- Atraso inicial antes da primeira tentativa (padrão: 1000ms)backoffMultiplier- Multiplicador para backoff exponencial (padrão: 2)
- Tentativa inicial em T+0s
- Primeira tentativa em T+1s (1000ms)
- Segunda tentativa em T+3s (1000ms × 2)
- Terceira tentativa em T+7s (1000ms × 2 × 2)
Passo 7: Adicionar Headers Personalizados (Opcional)
Adicione headers HTTP personalizados às solicitações de webhook: Casos de uso comuns:- Tokens de autorização:
Authorization: Bearer token123 - Chaves de API:
X-API-Key: your-api-key - Identificadores personalizados:
X-Webhook-Source: gu1
Passo 8: Salvar Secret do Webhook
Após criar o webhook, Gu1 gera automaticamente um secret:Copiar o secret
IMPORTANTE: Copie e salve este secret imediatamente. Você não poderá vê-lo novamente.O secret se parece com:
whsec_abc123def456...Usar para verificação
Use este secret para verificar assinaturas de webhook no seu endpoint.Saiba sobre verificação de assinatura →
Passo 9: Habilitar Webhook
Alterne o webhook para status Habilitado:- ✅ Habilitado - Webhook recebe eventos ativamente
- ⏸️ Desabilitado - Webhook pausado, nenhum evento enviado
Passo 10: Testar Seu Webhook
Antes de entrar em produção, teste seu webhook:Verificar recebimento
Verifique os logs do seu endpoint para confirmar:
- ✅ Solicitação recebida
- ✅ Assinatura verificada (se implementado)
- ✅ Status 200 retornado
Gerenciando Webhooks
Visualizar Lista de Webhooks
Vá para Configurações → Webhooks para ver todos os webhooks configurados: Informações exibidas:- Nome e descrição
- Endpoint URL
- Ambiente (sandbox/produção)
- Status (habilitado/desabilitado)
- Inscrições de eventos
- Estatísticas (contagens de sucesso/falha)
- Último timestamp acionado
Editar Webhook
Clique em um webhook para editar:- ✏️ Atualizar nome, descrição ou URL
- 🔔 Mudar inscrições de eventos
- 🎯 Modificar filtros
- ⚙️ Ajustar política de tentativas
- 🔄 Adicionar/remover headers personalizados
Visualizar Logs de Webhook
Clique em Ver Logs ou Histórico para ver tentativas de entrega: Detalhes do log:- Timestamp da entrega
- Tipo de evento
- Código de status HTTP
- Tempo de resposta
- Corpo da resposta
- Número da tentativa de repetição
- Mensagens de erro (se falhou)
- Depurar falhas de entrega
- Monitorar desempenho
- Investigar eventos duplicados
- Verificar dados do evento
Regenerar Secret
Se seu secret de webhook for comprometido:- Clique em Regenerar Secret
- Copie o novo secret imediatamente
- Atualize sua aplicação com o novo secret
- O secret antigo para de funcionar imediatamente
Desabilitar/Habilitar Webhook
Pause temporariamente um webhook sem excluí-lo:- Clique no botão para Desabilitar
- Nenhum evento será enviado enquanto desabilitado
- Toda a configuração é preservada
- Reabilite a qualquer momento para retomar
- Manutenção no seu endpoint
- Depuração de problemas
- Parar temporariamente o fluxo de eventos
Excluir Webhook
Remover permanentemente um webhook:- Clique em Excluir no webhook
- Confirme a exclusão
- Webhook é removido permanentemente
- Logs são retidos por 90 dias
Monitoramento e Estatísticas
Cada webhook exibe métricas principais:Taxa de Sucesso
- Total de Acionamentos: Total de tentativas de entrega
- Contagem de Sucessos: Entregas bem-sucedidas (respostas 2xx)
- Contagem de Falhas: Entregas falhadas
- Taxa de Sucesso: Porcentagem de entregas bem-sucedidas
Timestamps
- Último Acionamento: Tentativa de entrega mais recente
- Último Sucesso: Entrega bem-sucedida mais recente
- Última Falha: Entrega falhada mais recente
Desempenho
- Tempo Médio de Resposta: Tempo médio para seu endpoint responder
- Tempo de Resposta P95: Tempo de resposta do percentil 95
- Identificar webhooks problemáticos
- Monitorar saúde do endpoint
- Otimizar processamento de webhook
- Detectar problemas de entrega
Melhores Práticas
Use Nomes Descritivos
Use Nomes Descritivos
Nomeie webhooks claramente para identificar seu propósito:✅ Bom: “KYC de Produção → Integração CRM”❌ Ruim: “Webhook 1”
Ambientes Separados
Ambientes Separados
Crie webhooks diferentes para sandbox e produção:
- URLs diferentes (staging vs produção)
- Teste em sandbox primeiro
- Nunca misture ambientes
Comece com Eventos Específicos
Comece com Eventos Específicos
Comece com eventos que você precisa, expanda depois:✅ Início: Inscreva-se em
kyc.validation_approved✅ Depois: Adicione kyc.validation_rejected, entity.status_changedUse Filtros Sabiamente
Use Filtros Sabiamente
Adicione filtros para reduzir ruído:
- Filtre por tipo de entidade se você só se importa com pessoas
- Filtre por mudanças de status para transições específicas
- Use filtros personalizados para cenários complexos
Monitore Regularmente
Monitore Regularmente
Verifique a saúde do webhook semanalmente:
- Revise taxas de sucesso
- Investigue falhas
- Verifique tempos de resposta
- Atualize filtros conforme necessário
Documente Seus Webhooks
Documente Seus Webhooks
Mantenha documentação interna:
- Qual webhook lida com o quê
- Quais ações ele aciona
- Quem possui a integração
- Passos de solução de problemas
Solução de Problemas
Webhook Não Recebe Eventos
Webhook Não Recebe Eventos
Lista de verificação:
- ✅ Webhook está habilitado
- ✅ Ambiente correto selecionado
- ✅ Inscrito nos tipos de eventos corretos
- ✅ Filtros não muito restritivos
- ✅ URL está correta e acessível
- ✅ Endpoint retorna status 200
Todas as Entregas Falhando
Todas as Entregas Falhando
Causas comuns:
- Endpoint está fora do ar ou inacessível
- Firewall bloqueando solicitações Gu1
- Endpoint com timeout (>30s)
- Endpoint retornando status não-2xx
- Problemas de certificado SSL
Recebendo Muitos Eventos
Recebendo Muitos Eventos
Soluções:
- Adicione filtros para estreitar o escopo
- Cancele inscrição de tipos de eventos não usados
- Use filtros de tipo de entidade
- Adicione filtros de mudança de status
Eventos Duplicados
Eventos Duplicados
Este é um comportamento normal devido a tentativas. Sempre implemente idempotência usando IDs de eventos.Saiba sobre lidar com duplicatas →