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.
Documentação Swagger
OpenAPI 3.0 interativo. Teste cada endpoint direto do navegador.
Webhooks
Receba eventos quando uma reunião for criada, encerrada, gravada ou analisada por IA.
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
| Evento | Quando dispara |
|---|---|
| reuniao.criada | Sempre que uma sala é criada |
| reuniao.encerrada | Quando o host clica "Encerrar pra todos" |
| gravacao.pronta | Após upload do blob da gravação |
| relatorio.pronto | Quando o pipeline IA finaliza (ata + scorecard) |
| agendamento.criado | Reunião agendada (incluindo recorrentes) |
| agendamento.cancelado | Agendamento cancelado pelo host |
| lembrete.enviado | Cron disparou lembrete 30min/24h antes |