Preços
Novidades
Criar conta
Iniciar sessão
PreçosSobre nósContacta-nosTestemunhos
Iniciar sessãoCriar contaEsqueceste-te da palavra-passe?
Termos de serviçoPolítica de privacidadeTermos para programadoresSegurançaDefinições de privacidadeRGPD
NovidadesFuncionalidadesCentro de ajudaEstado do sistema
Aplicação para iOSAplicação para AndroidAplicação web

Autenticação

A API usa OAuth 2.0 com PKCE para a autenticação.

Aviso

A autenticação básica está obsoleta e será removida numa atualização futura. Migra para o OAuth 2.0.

Como funciona

  1. Crias uma aplicação OAuth uma única vez para obteres um client_id
  2. Redirecionas o utilizador para o endpoint de autorização, onde inicia sessão
  3. Recebes um código de autorização, que trocas por um token de acesso e um token de atualização
  4. Usas o token de acesso para fazer pedidos à API

A maioria das bibliotecas cliente de OAuth 2.0 trata deste fluxo automaticamente quando as configuras com o endpoint de metadados do servidor /.well-known/oauth-authorization-server.

Todos os endpoints abaixo são relativos a https://api.attendium.com.

Criar a tua aplicação OAuth

Cria uma aplicação OAuth no Attendium para obteres o teu client_id e, se for uma aplicação confidencial, o teu client_secret. Só precisas de o fazer uma vez por aplicação. Consulta Aplicações OAuth.

Os URIs de redirecionamento têm de usar https, ou http com um endereço de loopback (localhost, 127.0.0.1 ou ::1) para desenvolvimento local. Uma aplicação pública também pode usar um esquema de URI de uso privado em notação de domínio invertido, como com.example.app:/oauth/callback.

Ao criares uma aplicação OAuth — no Attendium ou através do registo dinâmico de clientes — aceitas os Termos para programadores na versão publicada nesse momento.

Autorizar

Gera um verificador de código e um desafio de código PKCE:

  1. Cria uma cadeia de caracteres aleatória (43–128 caracteres, com A-Z, a-z, 0-9, -, ., _, ~) — este é o teu code_verifier
  2. Calcula o hash SHA-256 do verificador e codifica-o em base64url — este é o teu code_challenge

Depois, redireciona o utilizador para:

GET /oauth2/authorize?response_type=code
  &client_id=your-client-id
  &redirect_uri=https://yourapp.example.com/callback
  &code_challenge=your-code-challenge
  &code_challenge_method=S256
  &state=random-state-value

O utilizador inicia sessão no Attendium e é redirecionado de volta para o teu redirect_uri com um code de autorização e o teu valor de state.

Trocar o código por tokens

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&client_id=your-client-id
&redirect_uri=https://yourapp.example.com/callback
&code=the-authorization-code
&code_verifier=your-code-verifier

Uma aplicação confidencial também tem de se autenticar, quer com autenticação básica (client_secret_basic), quer com o envio do client_secret no corpo do pedido (client_secret_post):

POST /oauth2/token
Authorization: Basic base64(your-client-id:your-client-secret)
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&redirect_uri=https://yourapp.example.com/callback
&code=the-authorization-code
&code_verifier=your-code-verifier

A resposta inclui um access_token e um refresh_token.

Fazer pedidos à API

Inclui o token de acesso no cabeçalho Authorization:

curl -H "Authorization: Bearer your-access-token" \
     -H "Content-Type: application/json" \
     -d '{"query": "{ me { id } }"}' \
     https://api.attendium.com/graphql

Renovar o token de acesso

A resposta do token inclui um campo expires_in, que indica durante quanto tempo o token de acesso é válido. Usa o token de atualização para obteres um novo token de acesso antes de este expirar:

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&client_id=your-client-id
&refresh_token=your-refresh-token

Uma aplicação confidencial autentica este pedido da mesma forma que na troca do código de autorização.

Registo dinâmico de clientes

As aplicações que se configuram a partir dos metadados do servidor — incluindo assistentes de IA que se ligam através de MCP (consulta Configurar MCP) — registam-se com um pedido POST para /oauth2/register. Não precisas disto se criares a tua aplicação OAuth no Attendium.

POST /oauth2/register
Content-Type: application/json

{
  "redirect_uris": ["https://yourapp.example.com/callback"],
  "client_name": "A minha aplicação"
}

Uma aplicação registada desta forma não aparece em «Aplicações OAuth», por isso o nome, os URIs de redirecionamento e o segredo do cliente não podem ser alterados aí.

Leitura adicional

  • OAuth 2.0 — oauth.net
  • PKCE — RFC 7636
  • Registo dinâmico de clientes — RFC 7591
Aplicações OAuth