Astorya Developers
Começando

Autenticação

Toda chamada à API de parceiros usa HTTP Basic com o client_id e o client_secret da sua credencial. Simples de implementar, e por isso mesmo exclusivo do seu servidor.

Nesta página
  1. HTTP Basic
  2. Nunca coloque o segredo no app
  3. Rotação do segredo
  4. Limites de requisição

HTTP Basic

Envie o cabeçalho Authorization com Basic seguido de base64(client_id:client_secret). Quase todo cliente HTTP faz isso sozinho (curl -u, requests auth=, CURLOPT_USERPWD).

Requisição
GET /partner/v1/catalog?limit=1 HTTP/1.1
Host: api.astorya.com.br
Authorization: Basic YXN0X2xpdmVfWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYOnNldS1zZWdyZWRv
Accept: application/json
curl
curl "https://api.astorya.com.br/partner/v1/catalog?limit=1" \
  -u "$ASTORYA_CLIENT_ID:$ASTORYA_CLIENT_SECRET"

Credencial ausente, malformada, revogada ou com segredo errado gera 401 com code: "INVALID_CLIENT". Não há como distinguir os casos pela resposta, de propósito.

401 Unauthorized
{
  "statusCode": 401,
  "code": "INVALID_CLIENT",
  "message": "Credencial inválida."
}

Nunca coloque o segredo no app

O client_secret dá acesso a todos os membros do seu tenant: permite criar sessões em nome de qualquer um, revogar acessos e baixar relatórios. Um app publicado na loja pode ser descompilado em minutos.

Regra de ouro: o app fala com o seu backend (com a autenticação que você já usa); só o seu backend fala com a Astorya.

  • Guarde o segredo em um cofre (AWS Secrets Manager, GCP Secret Manager, Vault) ou em variáveis de ambiente do servidor.
  • Não registre o cabeçalho Authorization em logs.
  • Use credenciais diferentes para sandbox e produção.

Rotação do segredo

Troque o segredo periodicamente, quando alguém com acesso a ele sair da equipe ou a qualquer suspeita de vazamento. No painel, em Integrações:

  1. Crie uma segunda credencial

    Um tenant pode ter mais de uma credencial ativa ao mesmo tempo. Gere a nova e anote o segredo (ele aparece uma vez só).

  2. Publique a nova credencial no seu backend

    Atualize o cofre/variáveis de ambiente e faça o deploy. Confira na coluna “Último uso” do painel que a nova credencial está recebendo chamadas.

  3. Revogue a credencial antiga

    A partir desse momento, chamadas com ela recebem 401 INVALID_CLIENT.

Se preferir manter o mesmo client_id, use Rotacionar segredo na credencial: um novo segredo é gerado e o anterior para de funcionar na hora — faça isso numa janela em que o deploy do backend seja imediato.

Limites de requisição

Cada credencial pode fazer até 120 requisições por minuto, somando todos os endpoints. Acima disso a API responde 429 com code: "RATE_LIMITED".

  • Espere e tente de novo com backoff exponencial (1 s, 2 s, 4 s…). Se a resposta trouxer o cabeçalho Retry-After, respeite-o.
  • Não sincronize a base inteira de membros chamando PUT /users em sequência a cada noite. Chame só quando algo mudar (contratação, cancelamento, troca de e-mail).
  • Sessões já são criadas sob demanda — uma por abertura de tela — e cabem folgadamente no limite.
  • Precisa de mais? Fale com contatodanielmrocha@gmail.com explicando o volume esperado.