Skip to main content
Com o login único, o passageiro e o condutor que tocam no link da central dentro do app chegam ao site dela já identificados, sem digitar e-mail ou senha. O app abre o link com um token na URL, e o servidor do site troca esse token pelos dados da pessoa na API de Integração. Vale para o botão personalizado do app do passageiro e, no app do condutor, para os itens do menu personalizado e o botão personalizado.

Como funciona

  1. A pessoa toca no link da central no app.
  2. O app abre o link com o parâmetro Mch-Token: https://seusite.com.br/promocoes?Mch-Token=9f2c4be1.... Se o link já tem query, o parâmetro entra no fim dela, antes do #.
  3. O servidor do site lê o Mch-Token e chama POST /login-unico/validar com ele.
  4. A API devolve quem é a pessoa: tipo, id, bandeira_id e, quando o cadastro tem, telefone e email.
  5. O site cria a sessão da pessoa e redireciona para a mesma URL sem o Mch-Token.
Valide sempre no servidor do site. A chamada leva a api-key e a senha do usuário da API. Elas não podem ir para o navegador, nem em JavaScript da página.

Ligar o login único

  1. Peça ao suporte da Machine para ligar o login único na central.
  2. No painel, abra Configurações > Gerais, aba Recursos Premium.
  3. Marque Ativar envio de token para login automático em cada destino que deve levar o token ao site:
    • Item 1 e Item 2 do menu personalizado do app do condutor;
    • o botão personalizado do app do condutor;
    • o botão personalizado do app do passageiro.
  4. Salve.
  • Só link https:// recebe o Mch-Token. O painel não salva a opção marcada em link que não começa com https://.
  • Destino desmarcado abre sem o Mch-Token, como sempre abriu. Enquanto o login único estiver desligado para a central, todos os destinos abrem assim.
  • Pessoa que não está ativa entra sem login. Passageiro ou condutor suspenso, inativo ou aguardando ativação abre o link sem o Mch-Token.
  • As associadas seguem a central. A opção marcada na central vale para os mesmos destinos das associadas.

Antes de começar

A central prepara três coisas, uma vez só.
  1. Licença de integração via API. Vem com o plano da central. Sem ela, a validação responde 403 com o código 19. Em dúvida, fale com o suporte da Machine.
  2. Chave de API. Um administrador da central abre Configurações > Integrações, na aba Machine API, e clica em Gerar chave API. A tela pode pedir o código de 6 dígitos do aplicativo autenticador. A chave começa com mch_api_ e fica na mesma aba: o ícone de olho mostra a chave, e o de copiar copia.
  3. Usuário da API. Em Cadastro > Minha equipe, no card Integrador, clique em Criar usuário e preencha nome, e-mail e telefone. A senha chega no e-mail cadastrado. O e-mail e a senha desse usuário vão na autenticação Basic.
O cargo Integrador já tem todas as permissões de API, inclusive a do login único. Para usar um usuário de outro cargo, marque a permissão Login único, na seção API das permissões do cargo. O usuário precisa ser da mesma central da chave e não pode estar vinculado a uma empresa.

Regras do token

  • Vale por 60 segundos e uma vez só. A primeira validação apaga o token. Uma segunda chamada com o mesmo token recebe o erro 245, igual a um token que não existe.
  • O nome do parâmetro diferencia maiúsculas de minúsculas. Leia Mch-Token, não mch-token.
  • Token inválido é visita sem login, não erro. Se a validação responder 400 com o código 245, ou se a API não responder, mostre o site como para qualquer visitante. Não mostre mensagem de erro: pode ser só um link antigo aberto de novo.
  • Tire o token da URL depois de validar. Redirecione para a mesma URL sem o Mch-Token. Assim o token não fica no histórico do navegador, e recarregar a página não tenta validar de novo. Valide e redirecione antes de mostrar qualquer conteúdo: uma página que carrega recurso de terceiro (analytics, fonte, anúncio) com o token na URL pode mandá-lo no cabeçalho Referer.
  • Identifique a pessoa por tipo e id juntos. Um passageiro e um condutor podem ter o mesmo id.
  • A api-key da central e a de qualquer associada validam o token. O campo bandeira_id diz a central ou a associada da pessoa.

Exemplos

Os exemplos validam o token, guardam a pessoa na sessão e redirecionam para a URL sem o Mch-Token. Fora o 400 com o código 245, que é token inválido, uma resposta diferente de 200 ou uma falha na chamada indica erro de configuração (credencial, permissão, licença, limite) ou API indisponível, e os exemplos a registram no log do servidor. As credenciais vêm de variáveis de ambiente do servidor. Para testar na homologação, use https://api-vendas.taximachine.com.br/api/v2/integracao em MACHINE_API_URL.
A resposta completa, os erros e os códigos estão na referência de POST /login-unico/validar.