Autenticação da CNHi com a Leaf

11 Aug, 2021

Autenticação da CNHi com a Leaf

Autenticação da CNHi com a Leaf

Neste post, mostraremos como é fácil realizar o fluxo de autorização da CNHi com a Leaf, ou seja, obter autorização para acessar os dados disponíveis na CNHi dos seus usuários através da API da Leaf. Todos os endpoints podem ser encontrados na nossa documentação e na coleção Postman. Vamos começar!

(Click here for the translation in English.)

Sumário

  • Passo 0: Crie uma conta de desenvolvedor com a CNHi
  • Passo 1: Obtenha suas credenciais de desenvolvedor da CNHi
  • Passo 2: Obtenha os tokens de seus usuários da CNHi com a Leaf
  • Passo 3: Adicione as suas credenciais CNHi à Leaf

Tenha em mente que este tutorial é um passo a passo completo. A maioria dos passos apresentados serão feitos apenas uma vez, tornando as chamadas subsequentes mais fáceis e rápidas.

Passo 0: Crie uma conta de desenvolvedor com a CNHi

(Se você já tem uma conta de desenvolvedor da CNHi, você pode pular este passo)

Criar uma conta de desenvolvedor da CNHi é um processo bastante simples e automático, basta se cadastrar neste link..

Depois disso, você terá criado sua conta de desenvolvedor e poderá seguir ao próximo passo deste tutorial.

Passo 1: Obtenha suas credenciais de desenvolvedor da CNHi

Primeiramente, você deve fazer o login com a sua conta de desenvolvedor da CNHi. Para isso, acesse www.developer.cnhindustrial.com e clique em LOG IN (canto superior direito).

Leaf, data infrastructure for agriculture

Clique no ícone de usuário no canto superior direito e depois em Account Dashboard.

Leaf, data infrastructure for agriculture

Então, clique em “Add Application” e crie uma nova aplicação.

Leaf, data infrastructure for agriculture

Uma vez criada, clique em “App Registrations” e então no nome da aplicação:

Leaf, data infrastructure for agriculture

Por último, clique em “API Information” onde você encontrará o Client ID, Client Secret e SubscriptionKey:

Leaf, data infrastructure for agriculture

Incrível! Agora você tem o seu Client ID, Client Secret e SubscriptionKey da CHNi. Você os usará no próximo passo.

Passo 2: Obtenha os tokens de seus usuários da CNHi com a Leaf

Para obter os tokens para acessar os dados da CNHi de seus usuários, sua aplicação deve passar pelo fluxo de autorização CNHi OAuth. Primeiro, você deve redirecionar o usuário para uma URL customizada que é a página da CNHi que apresentará ao usuário a opção de autorizar o seu aplicativo a acessar os dados dele.

Ao final deste passo, queremos recuperar o refresh token da CNHi do seu usuário.

Para gerar um refresh token, o seu webapp deve direcionar os usuários para a página de “login com a CNHi”. Uma vez autenticados no site, os usuários serão redirecionados de volta ao seu app com um código que você utilizará para recuperar o refresh token necessário.

Aqui está o fluxo do login interativo:

O usuário chega até o seu site e clica no botão “Faça login com a CNHi”. Clicar neste botão leva o navegador do usuário até a página de login da CHNi. A Leaf pode te ajudar a construir a URL de autorização. Apenas faça uma requisição POST para:

Com o seguinte corpo JSON:

A client_redirect_url é a URL para qual a CNHi irá enviar o usuário após a autenticação. Lembre-se que esta URL deve ser feita na criação da aplicação (ou editando a configuração da aplicação). O parâmetro “produção” tem como padrão false já que novas aplicações na CNHi estão em fase de testes por padrão, mude para true se você já promoveu sua aplicação para o ambiente de produção.

A Leaf retornará uma URL a qual deverá ser enviada para o usuário, para que ele consiga autorizar o acesso aos seus dados e ser redirecionado à sua aplicação.

Agora, a última coisa necessária é obter o refresh token do usuário. Uma vez que os usuários logaram no link da CNHi que você criou, eles irão autorizar sua aplicação a acessar seus dados e serão redirecionados de volta para a “client_redirect_url” que você criou. Então, sua aplicação usará a URL de resposta para obter os tokens de seus usuários. Apenas faça uma requisição POST para:

Com o seguinte corpo JSON:

A response_url é a url em que seu usuário se encontra agora. É a url que a CNHi chamou para retornar ao seu website. A CNHi adiciona informações à aquela URL, as quais são necessárias para criar o token.

Um JSON contendo o refresh_token retornará, e você poderá adicioná-lo à Leaf como credenciais da CNHi.

Nota: A Leaf gerenciará os tokens, garantindo que estejam sempre atualizados e válidos.

Passo 3: Adicione as credenciais CNHi à Leaf

A API da Leaf usa uma abstração chamada Leaf User para armazenar credenciais e organizar os dados para cada proprietário de dados individualmente. Na maioria dos casos, o Leaf User será o fazendeiro ou o consultor que tem acesso à fonte de dados por dentro do FMIS da empresa do maquinário (ex.: John Deere Operations Center ou a plataforma Climate Field View).

A API da Leaf deve ser iniciada com as credenciais da CNHi para poder acessar e padronizar os dados. Para enviar as suas credenciais para a Leaf, você precisará do seu token de acesso da Leaf, e já ter criado um Leaf User. Se você não sabe como fazê-lo, aqui mostramos como ter acesso ao seu token e aqui como você pode criar um Leaf User.

Agora, anexe suas credenciais ao Leaf User que você criou. Faça uma requisição POST para

Com o seguinte Header:

E o seguinte corpo JSON:

Altere o “clientEnvironment” para “PRODUCTION” se sua aplicação já está em produção na CNHi.

E é isso! A Leaf começará a coletar seus dados agrícolas da CNHi. Você pode agora consultar a Leaf para receber seus dados padronizados.

A API da Leaf é o caminho mais fácil para lidar com dados agrícolas.

Desenvolvedores de software usam a API da Leaf para construir e escalar uma ampla gama de produtos, incluindo ferramentas de otimização de fazendas, financiamento baseado em resultados, mercados de terras e insumos, recomendações agronômicas, aplicações de rastreamento, manutenção preditiva de equipamentos e mais.

Get a demo

Ready to begin?

Get API Keys and Start Building Today!

Sign up for free account

Questions? Get in touch