Autenticacao
Aprenda a autenticar suas requisicoes nas APIs NooviChat e NooviFlow.
NooviChat — API Access Token
A NooviChat utiliza tokens de acesso da API. O token deve ser enviado no header api_access_token de cada requisicao.
Obtendo o Token
- Acesse o painel NooviChat em
Configuracoes > Conta > Token de API - Copie o token gerado automaticamente ou gere um novo
- Armazene o token de forma segura (nunca exponha no frontend)
Exemplo de Uso
curl -X GET \
"https://chat.seudominio.com/api/v1/accounts/{account_id}/conversations" \
-H "api_access_token: YOUR_TOKEN" \
-H "Content-Type: application/json"Tipos de Token
User Access Token
Token vinculado a um agente. Tem acesso as mesmas permissoes do usuario. Ideal para integracoes que operam em nome de um atendente.
Platform App Token
Token de plataforma com acesso administrativo. Utilizado para gerenciar contas, criar usuarios e operacoes em nivel de plataforma.
Widget Publico de Atendimentos — inbox.identifier
O widget publico de agendamento nao usa api_access_token. Em vez disso, utiliza o inbox.identifier da sua inbox como identidade de acesso, combinado com Cloudflare Turnstile para prevencao de bot.
O inbox.identifier e um UUID publico associado a uma inbox especifica. Encontre-o em Configuracoes → Inboxes → Detalhes.
Configuracao do widget:
window.NooviChatBooking = {
inboxIdentifier: "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
baseUrl: "https://chat.seudominio.com",
turnstileSiteKey: "SEU_TURNSTILE_SITE_KEY",
// ...
};Internamente, cada request do widget inclui dois headers de autenticacao:
X-Inbox-Identifier— o UUID da inboxX-Turnstile-Token— token gerado pelo Cloudflare Turnstile
inbox.identifier e seguro para uso publico
O inbox.identifier nao concede acesso a dados privados da conta — apenas permite agendar via widget publico. Ele pode ser embutido com seguranca no frontend do seu site.
NooviFlow — JWT (JSON Web Token)
A NooviFlow utiliza autenticacao JWT. Obtenha um token via login e envie-o no header Authorization: Bearer TOKEN em cada requisicao.
Obtendo o Token
Faca uma requisicao POST para o endpoint de login:
curl -X POST \
"https://flow.seudominio.com/api/v1/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "your_password"
}'Usando o Token
# Inclua o token em todas as requisicoes
curl -X GET "https://flow.seudominio.com/api/v1/clients" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."Importante
Tokens JWT expiram apos 24 horas. Quando receber um erro 401 Unauthorized, faca uma nova requisicao de login para obter um token atualizado.
Erros de Autenticacao
| Status | Erro | Descricao |
|---|---|---|
401 | Unauthorized | Token ausente, invalido ou expirado |
403 | Forbidden | Token valido mas sem permissao para o recurso |
Boas Praticas
- Armazene tokens em variaveis de ambiente ou gerenciadores de secrets
- Nunca exponha tokens no codigo frontend ou em repositorios publicos
- Implemente refresh automatico para tokens JWT expirados
- Use tokens com menor permissao possivel (principio do menor privilegio)
- Rotacione tokens regularmente em ambientes de producao