Todas as coleções
Conhecendo a plataforma
API
Primeiros passos API Agrosmart
Primeiros passos API Agrosmart

Primeiros passos para utilização da nossa API

Fabio Mangia avatar
Escrito por Fabio Mangia
Atualizado há mais de uma semana

A documentação completa com as rotas públicas para utilização da API Agrosmart pode ser encontrado aqui: https://www.cultivointeligente.com.br/api-docs/v4/index.html

Apresentamos um passo-a-passo para auxiliar um novo utilizador a se familiarizar com a nossa API. 

Após a execução deste guia o utilizador será capaz de se autenticar a API da Agrosmart, descobrir sua organização e equipamentos e extrair os dados de um equipamento

O exemplo é dado utilizando curl, mas é valido para outros formatos.

  1. O primeiro passo é solicitar o token de acesso. Para isso é necessário enviar o comando abaixo para nossa plataforma (você deve inserir a senha e o e-mail que você usa para acessar nosso sistema):

curl -X POST "https://www.cultivointeligente.com.br/api/v4/auth" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"email\": \"<SEU E-MAIL>\", \"password\": \"<SUBSTITUIR POR SUA SENHA>\"}"

Por exemplo: <SEU E-MAIL> deve ser substituido por nome@dominio.com

2. Se login e senha estiverem corretos, nosso sistema vai retornar um token válido, semelhante ao exemplo abaixo. Seu sistema precisa armazenar esse token:

eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1Njk2MTc0MzYsIklzcyI6IkFncm9zbWFydCIsImF1ZCI6InNwYSIsInVzZXJfaWQiOjF9.iOSXwsd5jZFZlBZ4zB366TSVnqcp-PszbMgq-iwD-XM


3. Pronto, a partir de agora você consegue se autenticar. Um passo importante é descobrir a sua chave de organização. Um número que identifica a organização que este utilizador pertence. Basta executar este comando. substituindo <SEU TOKEN> pelo token obtido no iten anterior.

curl -X GET "https://www.cultivointeligente.com.br/api/v4/organizations" -H "accept: application/json" -H "Authorization: Bearer <SEU TOKEN>"


4. O sistema retornará uma lista de organizações como no exemplo abaixo

[
  {
    "id": 123,
    "kind": "rural",
    "name": "Minha Organização",
    "email": "meuemail@meudominio.com",
    "phone": "+55 35 99999-8888",
    "kind_text": "Produtor Rural",
    "tenant_id": 10
  },
  {
    "id": 321,
    "kind": "rural",
    "name": "Organização do meu amigo",
    "email": "emaildoamigo@dominiodoamigo.com",
    "phone": "+55 35 99999-8887",
    "kind_text": "Produtor Rural",
    "tenant_id": 10
  }
]


5. Pronto, agora você tem o ID da sua organização e conseguirá identificar todos os equipamentos que a mesma possui. No exemplo acima o id é 123. Para isso execute o seguinte comando substituindo os campos entre < > :

curl -X GET "https://www.cultivointeligente.com.br/api/v4/equipments/automatic?organization_id=<ID>" -H "accept: application/json"   -H "Authorization: Bearer <SEU TOKEN>


6. A mesma lógica se aplica, você receberá de volta, assim como no item 4. uma lista com todos os equipamentos que pertencem a sua organização.

7. Com posse do id do equipamento, agora é possível extrair os dados dos sensores. O exemplo abaixo ilustra como é possível extrair os dados do equipamento com id 123,  da organização 321, do período entre o dia 01/10/2019 e 15/10/2019 agrupados por hora.  

curl -X GET "https://www.cultivointeligente.com.br/api/v4/equipments/123/measures?organization_id=321&start=01%2F10%2F2019&finish=15%2F10%2F2019&timezone=Etc%2FUTC&group_by=hour" -H "accept: application/json" -H "Authorization: Bearer <INSIRA SEU TOKEN AQUI>"


8. O sistema retornará os dados para o período solicitado, um extrato da resposta é apresentado como exemplo a seguir:

{"date":"2019-10-14T23:00:00.000Z","bv1_avg":"5.4","bv1_max":"5.4","bv1_min":"5.4","bo1_avg":"0.0","bo1_max":"0.0","bo1_min":"0.0","pl1_sum":"0.0","wg1_avg":"1.0","wg1_max":"1.0","wg1_min":"1.0","ws1_avg":"0.3","ws1_max":"0.5","ws1_min":"0.1","wd1_avg":"25.0","wd1_max":"25.0","wd1_min":"25.0","at1_avg":"24.125","at1_max":"24.9","at1_min":"23.5","ah1_avg":"42.0","ah1_max":"44.0","ah1_min":"40.0","asr1_avg":"0.0","asr1_max":"0.0","asr1_min":"0.0"}],"descriptions":[{"name":"bv1","description":"Tensão da Bateria","unit":"V"},{"name":"bo1","description":"Abertura do Módulo","unit":""},{"name":"pl1","description":"Precipitação","unit":"mm"},{"name":"wg1","description":"Rajada de Vento","unit":"m/s"},{"name":"ws1","description":"Velocidade do Vento","unit":"m/s"},{"name":"wd1","description":"Direção do Vento","unit":"°"},{"name":"at1","description":"Temperatura do Ar","unit":""},{"name":"ah1","description":"Umidade do Ar","unit":"%"},{"name":"asr1","description":"Radiação solar média","unit":"W/m²"}]}

As descrições das variáveis são apresentadas no final. Quando os dados são solicitados agrupados a plataforma sempre retornará o valor médio, máximo e mínimo, exceto para valores que são acumulados como precipitação. 

Mais detalhes sobre a utilização da API, você pode se referir a documentação informada no início deste artigo.

Qualquer dúvida entre em contato diretamente com o suporte usando o chat disponibilizado no canto inferior esquerdo ou por email em suporte@agrosmart.com.br

Respondeu à sua pergunta?