Pular para o conteúdo
Para desenvolvedores

BNX ONE Join — API pública

Crie reuniões, agendamentos e receba eventos em tempo real via webhooks. Compatível com Zapier, n8n, Make e qualquer integração HTTP.

Como autenticar

Hoje a API usa a sessão SSO do BNX ONE Hub via cookie bnx_session. Pra integrações server-to-server (Zapier/n8n), entre em contato com seu admin BNX ONE pra emitir uma chave dedicada.

Em desenvolvimento: chaves Bearer via Hub serão liberadas em breve. Por ora, use webhooks de saída — você não precisa autenticar pra RECEBER eventos, só pra ENVIAR.

Exemplo: criar uma sala

curl -X POST https://oval-struck-spoke-transcript.trycloudflare.com/api/rooms \
  -H "Content-Type: application/json" \
  -H "Cookie: bnx_session=SEU_TOKEN_JWT" \
  -d '{
    "name": "1:1 com Maria",
    "mode": "pulse",
    "scheduledFor": "2026-05-10T14:00:00Z"
  }'

Exemplo: receber webhook (com verificação HMAC)

// Recebendo webhook (Node.js / Next.js / Express)
import { createHmac, timingSafeEqual } from "node:crypto";

app.post("/webhook/bnx", express.raw({ type: "application/json" }), (req, res) => {
  const sig = req.headers["x-bnx-signature"];
  const expected = createHmac("sha256", process.env.BNX_WEBHOOK_SECRET)
    .update(req.body)
    .digest("hex");
  if (!sig || !timingSafeEqual(Buffer.from(sig), Buffer.from(expected))) {
    return res.status(401).end("invalid signature");
  }
  const evento = JSON.parse(req.body.toString("utf8"));
  console.log(evento.evento, evento.data);
  res.status(200).end("ok");
});

Cada POST inclui o header X-BNX-Signature com o HMAC SHA-256 do body usando o secret gerado na criação do webhook.

Eventos disponíveis

EventoQuando dispara
reuniao.criadaSempre que uma sala é criada
reuniao.encerradaQuando o host clica "Encerrar pra todos"
gravacao.prontaApós upload do blob da gravação
relatorio.prontoQuando o pipeline IA finaliza (ata + scorecard)
agendamento.criadoReunião agendada (incluindo recorrentes)
agendamento.canceladoAgendamento cancelado pelo host
lembrete.enviadoCron disparou lembrete 30min/24h antes