Autenticação
Aprenda a autenticar suas requisições 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 requisição.
Obtendo o Token
- Acesse o painel NooviChat em
Configurações > 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 às mesmas permissões do usuário. Ideal para integrações que operam em nome de um atendente.
Platform App Token
Token de plataforma com acesso administrativo. Utilizado para gerenciar contas, criar usuários e operações em nível de plataforma.
Widget Público de Atendimentos — inbox.identifier
O widget público de agendamento não usa api_access_token. Em vez disso, utiliza o inbox.identifier da sua inbox como identidade de acesso, combinado com Cloudflare Turnstile para prevenção de bots.
O inbox.identifier é um UUID público associado a uma inbox específica. Encontre-o em Configurações → Inboxes → Detalhes.
Configuração 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 autenticação:
X-Inbox-Identifier— o UUID da inboxX-Turnstile-Token— token gerado pelo Cloudflare Turnstile
inbox.identifier é seguro para uso público
O inbox.identifier não concede acesso a dados privados da conta — apenas permite agendar via widget público. Ele pode ser embutido com segurança no frontend do seu site.
NooviFlow — JWT (JSON Web Token)
A NooviFlow utiliza autenticação JWT. Obtenha um token via login e envie-o no header Authorization: Bearer TOKEN em cada requisição.
Obtendo o Token
Faça uma requisição 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 após 24 horas. Quando receber um erro 401 Unauthorized, faça uma nova requisição de login para obter um token atualizado.
Erros de Autenticação
| Status | Erro | Descrição |
|---|---|---|
401 | Unauthorized | Token ausente, inválido ou expirado |
403 | Forbidden | Token válido, mas sem permissão para o recurso |
Boas Práticas
- Armazene tokens em variáveis de ambiente ou gerenciadores de secrets
- Nunca exponha tokens no código frontend ou em repositórios públicos
- Implemente refresh automático para tokens JWT expirados
- Use tokens com menor permissão possível (princípio do menor privilégio)
- Rotacione tokens regularmente em ambientes de produção