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
X-Webhook-Signature) é opcional, mas recomendado para que seu endpoint possa confirmar que a requisição veio do Gu1. O payload do monitor de webhooks é apenas para debug: a verificação deve usar o raw body HTTP no recebimento; veja Segurança de webhooks.
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
- “Webhook KYC de Produção”
- “Eventos de Entidade Sandbox”
- “Monitoramento de Conformidade”
Adicionar descrição (opcional)
Inserir URL do webhook
- Deve usar HTTPS (não HTTP)
- Deve ser publicamente acessível
- Deve retornar status 200 dentro de 30 segundos
https://api.seuapp.com/webhooks/gu1Passo 3: Selecionar Ambiente
Escolha a qual ambiente este webhook se aplica:- Sandbox
- Produção
- Desenvolvimento e testes
- Ambientes de staging
- Processos de QA
- Eventos de chamadas de API sandbox
- Validações e transações de teste
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
- Pessoa
- Empresa
- Dispositivo
- Método de Pagamento
Filtrar por Mudanças de Status
Filtrar por Mudanças de Status
under_reviewactiveblockedpending
activeblockedarchived
blockedFiltrar por Flag de Cliente
Filtrar por Flag de Cliente
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: Copiar o Secret Gerado
Você não precisa fornecer um secret ao criar o webhook. Após salvar, o Gu1 gera automaticamente um secret e o dashboard o exibe uma vez na etapa de sucesso ao criar. Copie-o aí—ele não será exibido novamente na lista de webhooks (você pode regenerar um novo depois nas configurações do webhook, se precisar).Copiar o secret
whsec_abc123def456...Armazenar com segurança
Usar para verificação (opcional)
X-Webhook-Signature). A verificação é opcional: seu webhook receberá eventos mesmo se você não verificar; verificar é recomendado por segurança.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:Enviar evento de teste
Verificar recebimento
- ✅ Solicitação recebida
- ✅ Assinatura verificada (se implementado)
- ✅ Status 200 retornado
Revisar logs
- Código de status HTTP
- Tempo de resposta
- Corpo da resposta
- Quaisquer erros
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
Ambientes Separados
Ambientes Separados
- URLs diferentes (staging vs produção)
- Teste em sandbox primeiro
- Nunca misture ambientes
Comece com Eventos Específicos
Comece com Eventos Específicos
kyc.validation_approved✅ Depois: Adicione kyc.validation_rejected, entity.status_changedUse Filtros Sabiamente
Use Filtros Sabiamente
- 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
- Revise taxas de sucesso
- Investigue falhas
- Verifique tempos de resposta
- Atualize filtros conforme necessário
Documente Seus Webhooks
Documente Seus Webhooks
- 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
- ✅ 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
- 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
- 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