API REST - Do Solo à Nuvem

API para coleta e consulta de dados climáticos

Versão 1.0 | Base URL: https://apigirassol.roboticasuassuna.com.br/apiClima

Introdução

A API Clima permite coletar, armazenar e consultar dados de temperatura e umidade através de endpoints RESTful.

Características
  • Suporte a requisições GET e POST
  • Respostas em JSON com codificação UTF-8
  • CORS habilitado para acesso cross-domain
  • Tratamento de erros padronizado
Status da API

Endpoints

Status da API
GET

Verifica se a API está online e funcionando.

URL: /status

Exemplo de Resposta:
{
  "status": "online",
  "mensagem": "API REST - Do Solo à Nuvem",
  "timestamp": "2023-10-15 14:30:00",
  "versao": "1.0"
}
Listar Todos os Dados
GET

Retorna todos os registros climáticos armazenados.

URL: /getListarDados

Exemplo de Resposta:
{
  {
  "status": "sucesso",
  "dados": [
    {
      "data": "2025-10-14 13:30:57",
      "temperatura": 33.89,
      "umidade": 97
    },
    {
      "data": "2025-10-14 13:31:41",
      "temperatura": 33.89,
      "umidade": 97.1
    }
  ]
}
}
Listar Dados por Data
GET

Retorna registros climáticos de uma data específica.

URL: /getListarDadosData/{data}

Parâmetros:
Parâmetro Tipo Obrigatório Descrição
data String Sim Data no formato YYYY-MM-DD
Exemplo de Resposta:
{
  {
  "status": "sucesso",
  "dados": [
    {
      "data": "2025-10-14 13:30:57",
      "temperatura": 33.89,
      "umidade": 97,
      "operacao": 0
    }
  ]
}
}
Pesquisar por Intervalo de Datas
GET

Retorna registros climáticos dentro de um intervalo de datas.

URL: /getPesquisarData/{data_inicio}D{data_fim}

Parâmetros:
Parâmetro Tipo Obrigatório Descrição
data_inicio String Sim Data inicial no formato YYYY-MM-DD
data_fim String Sim Data final no formato YYYY-MM-DD
Exemplo de Resposta:
{
  {
  "status": "sucesso",
  "dados": [
    {
      "data": "2025-10-12 11:30:57",
      "temperatura": 26.78,
      "umidade": 89.30,
      "operacao": 0
    }
  ]
}
}
Salvar Dados Climáticos
POST/GET

Insere novos registros de temperatura e umidade no banco de dados.

URL: /salvarDados

Parâmetros:
Parâmetro Tipo Obrigatório Descrição
data timestamp Não Valor automático pelo servidor
temperatura Float Sim Valor da temperatura em graus Celsius
umidade Float Sim Valor da umidade em porcentagem
operacao Integer Sim Código de operação (ex: 0 - Fase de testes, 1 para dados reais, 2 para eliminação de dados pelo admin)
Exemplo de Requisição (POST):
// Form Data
temperatura=25.5&umidade=60&operacao=1
Exemplo de Requisição (GET):
GET /salvarDados?temperatura=25.5&umidade=60&operacao=1
Exemplo de Resposta (Sucesso):
{
  "status": "sucesso",
  "mensagem": "Dados salvos com sucesso",
  "dados_salvos": {
    "temperatura": 25.5,
    "umidade": 60.0,
    "operacao": 1
  }
}
Exemplo de Resposta (Erro):
{
  "status": "erro",
  "mensagem": "Parâmetros incompletos. São necessários: temperatura, umidade e operacao."
}

Exemplos de Uso

JavaScript (Fetch API)
// Listar todos os dados
fetch('https://apigirassol.roboticasuassuna.com.br/apiClima/getListarDados')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Erro:', error));

// Salvar dados via POST
const formData = new URLSearchParams();
formData.append('temperatura', '25.5');
formData.append('umidade', '60');
formData.append('operacao', '1');

fetch('https://apigirassol.roboticasuassuna.com.br/apiClima/salvarDados', {
  method: 'POST',
  body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));
Python (requests)
import requests
import json

# Listar todos os dados
url = "https://apigirassol.roboticasuassuna.com.br/apiClima/getListarDados"
response = requests.get(url)
data = response.json()
print(json.dumps(data, indent=2))

# Salvar dados via POST
url = "https://apigirassol.roboticasuassuna.com.br/apiClima/salvarDados"
dados = {
    'temperatura': 25.5,
    'umidade': 60,
    'operacao': 1
}

response = requests.post(url, data=dados)
resultado = response.json()
print(json.dumps(resultado, indent=2))

# Salvar dados via GET (alternativa)
params = {
    'temperatura': 25.5,
    'umidade': 60,
    'operacao': 1
}
response = requests.get(url, params=params)
resultado = response.json()
print(json.dumps(resultado, indent=2))

# Pesquisar por intervalo de datas
url = "https://apigirassol.roboticasuassuna.com.br/apiClima/getPesquisarData/2023-10-01D2023-10-15"
response = requests.get(url)
data = response.json()
print(json.dumps(data, indent=2))
Códigos de Status HTTP
Código Significado Descrição
200 OK Requisição bem-sucedida
201 Created Recurso criado com sucesso
400 Bad Request Parâmetros inválidos ou faltantes
500 Internal Server Error Erro interno do servidor