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.
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