Pular para o conteúdo principal
Um piloto conecta o seu aplicativo no MyPilotIndex. Você nunca vê a senha dele, e ele pode encerrar a conexão a qualquer momento.

Envie o piloto para a tela de consentimento

Redirecione o navegador dele para:
O piloto entra no MyPilotIndex se ainda não estiver logado, lê quais dados dele você está pedindo e permite ou nega.

O retorno

  • Permitido: o navegador dele vai para o seu redirect_uri com code e state acrescentados.
  • Negado: o navegador dele vai para o seu redirect_uri com error=access_denied e state.
  • Uma solicitação que o MyPilotIndex recusa (um parceiro desconhecido, uma URI de redirecionamento não registrada, um scope não permitido) mostra um erro no MyPilotIndex e não redireciona.

O código

O código vale por 10 minutos e funciona uma única vez. Um código expirado, já usado, emitido para outro parceiro ou combinado com um verifier ou uma URI de redirecionamento errados é recusado da mesma forma: reinicie o consentimento.

A troca

Chame POST /v1/partner/grants/exchange com o seu bearer token e um corpo JSON com exatamente code, code_verifier (de 43 a 128 caracteres) e redirect_uri. A resposta traz:
  • grant_id, que toda chamada seguinte indica;
  • pilot.id, o id por parceiro (pairwise id) do piloto;
  • scopes, o que o piloto concedeu, em ordem;
  • com o scope profile, também name, username e avatar_url dele, cada um null quando ele não tiver.
Um código que não abre um grant para você (desconhecido, expirado ou usado, de outro parceiro, com verifier ou URI de redirecionamento errados, ou de um grant que o piloto revogou desde então) é recusado como 400 invalid_request com o motivo invalid_grant, seja qual for o problema. Um corpo malformado (um membro desconhecido ou repetido, ou um valor que não é string) também recebe 400 invalid_request, sem motivo.

Entrar com MyPilotIndex

O id por parceiro (pairwise id) é estável entre reconexões do mesmo piloto ao seu aplicativo, diferente em cada parceiro e nunca é o id da conta no MyPilotIndex. Você pode usá-lo para fazer o login do piloto no seu próprio produto (“Entrar com MyPilotIndex”) e para identificá-lo nas chamadas seguintes.

Revogação

O piloto pode desconectar você em Configurações, Privacidade, Apps conectados. O MyPilotIndex também pode revogar um grant. A partir daí, toda chamada que indica o grant responde 404 not_found e, quando houver uma URL de webhook registrada para você, você recebe um webhook grant.revoked. Se o piloto apagar a conta, o grant é removido junto. Apague o que você guarda sobre esse piloto.

O que nunca é compartilhado

A API de Parceiros nunca transporta o e-mail, o telefone, o endereço, a data de nascimento, os números de certificado, os documentos, as respostas de histórico, o salário, as mensagens ou os sinais de recrutador de um piloto, e quem identifica o piloto para você é o id por parceiro (pairwise id), não o id da conta dele. Um bloco de dados que o grant não inclui fica ausente da resposta.