Obtendo um token
Envie um POST para o endpoint de token do domínio do provedor de identidade,https://{cognito-domain}/oauth2/token, com autenticação HTTP Basic do cliente (o seu client id como nome de usuário e o seu client secret como senha):
auth.mypilotindex.com. O sandbox usa o domínio do ambiente de dev, que entregamos junto com a sua credencial de sandbox.
Envie o access token no cabeçalho Authorization: Bearer de toda chamada à API de Parceiros. Na criação do cliente, os tokens são emitidos com validade de 60 minutos. Leia expires_in na resposta do token em vez de depender desse número, e peça um novo token quando ele expirar.
Scopes
Um token carrega só os scopes para os quais o seu parceiro foi aprovado. Um scope é escritopartner/<name> na requisição do token e no próprio token. Um grant guarda o nome puro, por exemplo hours.write.
A troca de código, a lista de grants, a conferência de certificado e o teste de webhook não exigem scope, só um token válido. O resumo do piloto exige que o grant e o token tenham pelo menos um entre
profile, score, hours.read e licenses, e mostra só os blocos que o grant permite. O envio de totais de voo exige hours.write tanto no token quanto no grant. Se faltar um scope exigido, a resposta é 403 forbidden com o motivo scope_missing.
Duas coisas que decidem uma chamada
- O token diz quem você é e o que você pode pedir a um piloto.
- O grant diz qual piloto permitiu o quê a você. As rotas que indicam um grant respondem
404 not_foundpara um grant revogado, desconhecido ou de outro parceiro, sempre da mesma forma.
401.
