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

CampoValor
Console e documentaçãohttps://wpp.atendro.cloud
API do servidor 1https://1.atendro.cloud
API local padrãohttp://127.0.0.1:8091
Token do servidorATENDROZAP_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.

sh
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.

sh
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.