Servidores e autenticação
URL base, admintoken, token da instância e proteção de credenciais.
O painel central gerencia vários servidores. As requisições REST são enviadas à URL do servidor selecionado, usando a credencial exigida pelo endpoint.
URLs de cadastro
| Campo | Valor |
|---|---|
| Console e documentação | https://wpp.atendro.cloud |
| API do servidor 1 | https://1.atendro.cloud |
| API local padrão | http://127.0.0.1:8091 |
| Token do servidor | ATENDROZAP_ADMIN_TOKEN desse servidor, cadastrado no backend privado |
No Atendro, selecione o provedor atendrozap quando a integração estiver implementada. A URL deve apontar para a API, sem acrescentar /v1 ou /instance. Para outro servidor, cadastre a URL e o token daquele servidor.
Token administrativo
Envie o header admintoken para criar e listar instâncias, consultar capacidades, administrar instâncias por ID e configurar o webhook global.
curl "$ATENDROZAP_URL/v1/capabilities" \
--header "admintoken: $ATENDROZAP_ADMIN_TOKEN"O token é definido no servidor AtendroZAP. Não use a senha do console, o segredo de assinatura do webhook ou uma credencial do provedor anterior.
Para copiar o token de um servidor já cadastrado, entre no console e abra Servidores. Abaixo da URL, clique no valor mascarado ou no ícone de Token administrativo. O painel busca a credencial somente nesse clique e a copia para a área de transferência, mantendo a tela mascarada. Essa ação exige uma sessão autenticada; não reemite o token nem altera instâncias. Use o valor no cadastro privado do backend da aplicação que consumirá a API.
Token da instância
Envie o header token nas operações da instância. Esse segredo é retornado em POST /instance/init e na reemissão administrativa de token.
curl "$ATENDROZAP_URL/instance/status" \
--header "token: $ATENDROZAP_INSTANCE_TOKEN"Guarde o token associado ao ID da instância, ao servidor e à empresa. GET /instance/all não recupera o segredo. O token administrativo não substitui o token da instância nessas rotas.
Headers aceitos
Envie exatamente um header da credencial exigida. Headers ausentes, inválidos ou duplicados devolvem 401 unauthorized. Authorization: Bearer, query string e instancekey não substituem admintoken e token.
A única exceção para query é GET /call/{id}/audio, que aceita ?token= na abertura do WebSocket. O console faz proxy usando o header no backend, sem entregar o token ao navegador.
O botão de testar cadastro deve consultar somente readiness e capacidades. Não conecte, reinicie, exclua ou reemita tokens como teste de autenticação.
Reemissão de token
Use POST /v1/instances/{id}/token com admintoken quando for necessário substituir o segredo. graceSeconds aceita de 0 a 3600 segundos de convivência com o anterior; zero o revoga imediatamente.
A aplicação deve salvar o novo token no backend antes de substituir a credencial usada pelas próximas requisições.
Segredos de webhook e mídia
O segredo de assinatura do webhook é separado dos tokens REST. Ele valida X-AtendroZAP-Signature no receptor, como descrito em receber eventos.
Links de mídia carregam um token temporário na própria URL. Consuma o fileURL completo e respeite expiresAt; não remonte o link nem inclua sua URL em logs.
Cadastro no Atendro
Adapte as restrições de domínio e o tipo de provedor no consumidor antes da ativação. Trocar a URL de um cadastro do provedor anterior não implementa o contrato AtendroZAP.
O navegador do atendente deve chamar o backend do Atendro. Tokens administrativos, tokens de instância e segredos de webhook ficam nesse backend. Esta documentação pública não recebe credenciais.