API e webhooks do Dailybot: visão geral, autenticação e limites
O Dailybot expõe uma API programática e suporta webhooks de saída para você:
- Puxar respostas de check-in, kudos e dados de membros para seus sistemas.
- Reagir em tempo real quando algo acontece (check-in enviado, blocker marcado, kudo dado).
- Construir integrações internas ou dashboards em cima dos dados do Dailybot.
Esta página é o ponto de entrada. A referência detalhada (endpoints, schemas, exemplos) vive no portal de developer docs. Peça o link atual ao suporte se não estiver no seu dashboard.
Autenticação
| O que | De onde sai |
|---|---|
| API key | Gerada em Settings -> Developer (ou Account -> API, label varia por plano). |
| Key por org | Cada organização Dailybot tem suas próprias keys. Você não pode usar a key da org A para ler a B. |
| Header | Authorization: Bearer <sua_api_key> |
| Webhook signing secret | Gerado ao criar uma assinatura de webhook. Veja Webhook keys. |
Mantenha as API keys secretas. Trate como senhas. Se uma key vazar, rode rotação imediatamente na mesma tela. Hoje não há detecção automática de keys vazadas.
O que você pode fazer via API
Casos de uso comuns dos clientes:
- Ler respostas de check-in e relatórios compilados por intervalo de data.
- Ler kudos dados e recebidos por usuário / time.
- Listar membros, times e papéis de uma org.
- Criar kudos ou disparar automations a partir de eventos externos (sujeito ao plano).
- Assinar webhooks para eventos selecionados.
Para o que a API não serve:
- Substituir a experiência de chat (membros continuam respondendo no Slack/Teams/Discord/Google Chat).
- Burlar controles de papel. A API aplica os mesmos permissões que um usuário tem na web.
- Export massivo para compliance. Use o fluxo de DSAR / export de dados, que é auditável.
Webhooks
Webhooks são HTTP POST que o Dailybot manda para uma URL sua quando um evento acontece. Eventos típicos:
- Check-in enviado / compilado.
- Kudo dado.
- Blocker marcado.
- Membro adicionado / removido.
- Automation disparada.
Configurando um webhook
- Vá em Webhooks na sua conta Dailybot (em Developer / Integrations).
- Adicione uma nova assinatura com:
- URL que recebe o POST (HTTPS e publicamente acessível).
- Eventos que você quer escutar.
- Signing secret que o Dailybot retorna. Guarde no server.
- Verifique a entrega de teste pela UI.
- Em toda chamada real, verifique a assinatura no seu servidor com o secret (recomendado; senão, qualquer um que adivinhar sua URL pode forjar eventos).
Se um webhook falhar (resposta não-2xx), o Dailybot tenta de novo com backoff por um número limitado de tentativas, depois desativa e notifica o admin. Para debug veja Webhooks não disparam.
Rate limits
A API impõe rate limits por org e por IP para manter a plataforma estável. Ao bater num limite, você recebe 429 Too Many Requests com header Retry-After.
| Padrão típico | Recomendação |
|---|---|
| Pulls massivos para analytics | Agende fora de pico; paginação por intervalo de data, não loops sem fim. |
| Integrações long-running | Cache identificadores (member, team, check-in); raramente mudam. |
| Consumidor de webhook caído | Responda 5xx rápido para a gente dar backoff; vamos tentar de novo. Não segure conexões abertas. |
Os números exatos variam por plano e podem mudar. Para um limite custom no enterprise, fale com vendas.
Troubleshooting
| Sintoma | Onde olhar |
|---|---|
401 / 403 |
API auth errors |
| Webhooks não chegam | Webhooks não disparam |
| Campos inesperados / breaking change | Respostas inesperadas |
| Revogar key vazada | Webhook keys (mesmo fluxo para API keys) |