Automação

Webhooks de entrada (inbound)

Webhooks de entrada

Apps recebem eventos de serviços externos: Stripe webhooks, GitHub events, Typeform, Calendly, Zapier, Make, etc.

Como funciona

  1. Você registra um path único no app
  2. BeaDev gera URL pública: https://v2.beadev.ai/api/hooks/<slug-do-app>/<seu-path>
  3. Cola essa URL no painel do serviço externo (ex: Stripe webhooks)
  4. Quando o serviço externo dispara, BeaDev grava o evento
  5. Seu app lê os eventos via Bea.inbound.list(...)

Registrar webhook

App → Configurações → Inbound webhooksNovo:

  • Path (slug-style, sem barras): stripe, github, notification
  • Secret (opcional, recomendado): pra validar HMAC-SHA256 do body
  • Descrição

URL gerada: https://v2.beadev.ai/api/hooks/<seu-app>/<path>

Ler eventos no app

// Últimos 50 eventos
const events = await Bea.inbound.list({ path: "stripe" });

// Filtros
const recent = await Bea.inbound.list({
  path: "stripe",
  since: new Date(Date.now() - 24 * 60 * 60 * 1000),  // últimas 24h
  limit: 100
});

events.forEach(e => {
  console.log(e.receivedAt, e.body);  // body é o JSON enviado pelo serviço
});

Validar assinatura (recomendado)

Se você setou Secret no registro:

  1. BeaDev valida automaticamente o header X-BeaDev-Signature (HMAC-SHA256 hex do body)
  2. Eventos sem assinatura válida são rejeitados (401)

Pra Stripe específico, use o secret deles e BeaDev valida pelo padrão Stripe.

Retenção

Eventos são guardados por 30 dias. Depois disso, são deletados automaticamente.

Casos de uso

  • Stripe → registrar pagamento aprovado/falhado
  • GitHub → notificar deploy pronto
  • Typeform → pegar resposta de formulário externo
  • Zapier/Make → integração com qualquer serviço