Soğuk Saat (Chill Hours)
Hava Durumu Tarım Kredi / istek: 1Weinberger soğuk saat: 0°C ile baseTemp arası (varsayılan 7.2°C) saatlik sıcaklık sayısı. Donma altı saatler sayılmaz. Yayınlanmış çeşit soğuklama ihtiyaçlarıyla kıyaslanabilir. Reçete değildir.
Dokümantasyon
Genel bakış
Weinberger soğuk saat modeli: 0°C ≤ saatlik sıcaklık ≤ baseTemp (varsayılan 7.2°C) olan saat sayısı. Donma altı saatler sayılmaz. Yayınlanmış çeşit soğuklama ihtiyaçlarıyla kıyaslanabilir. Saatlik DB gerekir. Reçete değildir. Weather data © Copernicus ERA5 / ERA5-Land (contains modified Copernicus Climate Change Service information) / Open-Meteo / OpenWeather / MET Norway.
Kimlik doğrulama
Her istekte x-api-key başlığı zorunludur. Kullanılan kredi ve kalan kota yanıt başlıklarında (x-api-credits-used, x-api-remaining-credits, x-rate-limit-*) döner.
İstek
Parametreler
| Ad | Tip | Zorunlu | Varsayılan | Seçenekler | Açıklama |
|---|---|---|---|---|---|
latitude |
number | * Zorunlu | — | — | Enlem -90..90. 0.1° hücre. |
longitude |
number | * Zorunlu | — | — | Boylam. |
fromDate |
string | * Zorunlu | — | — | YYYY-MM-DD |
toDate |
string | * Zorunlu | — | — | En fazla 366 gün. |
baseTemp |
number | Opsiyonel | 7.2 |
— | Üst eşik °C, 0..20. Varsayılan 7.2. |
crop |
string | Opsiyonel | — | wheat barley maize sunflower cotton potato tomato rapeseed oats rye sugarbeet grape apple chickpea lentil |
Bilgi amaçlı ürün kodu. |
includeDaily |
boolean | Opsiyonel | true |
true false |
Günlük döküm. Varsayılan true. |
Yanıt
| Ad | Tip | Açıklama |
|---|---|---|
chillHours |
integer | 0°C ≤ sıcaklık ≤ baseTemp olan saat sayısı (Weinberger). |
hoursEvaluated |
integer | Sıcaklığı olan saat sayısı. |
hoursMissing |
integer | Penceredeki beklenen saat − evaluated. |
baseTemp |
number | Kullanılan eşik °C. |
crop |
string | Normalize ürün. Yoksa null. |
fromDate |
string | YYYY-MM-DD. |
toDate |
string | YYYY-MM-DD. |
gridLatitude |
number | 0.1° hücre enlem. |
gridLongitude |
number | 0.1° hücre boylam. |
daily |
array | includeDaily=true ise günlük satırlar. |
daily[].date |
string | YYYY-MM-DD. |
daily[].hoursBelow |
integer | O gün 0°C ≤ sıcaklık ≤ baseTemp olan saat. |
daily[].tmin |
number | Gün min °C. |
daily[].tmax |
number | Gün max °C. |
method |
string | weinberger. |
source |
string | database. |
disclaimer |
string | Karar destek uyarısı. |
Hatalar
| HTTP | code | Açıklama |
|---|---|---|
400 |
-255 |
lat/lon yok veya aralık dışı. |
400 |
-254 |
fromDate/toDate geçersiz veya aralık > 366. |
400 |
-249 |
baseTemp 0..20 dışında. |
400 |
-250 |
crop bilinmiyor. |
429 |
-316 |
Firmanın günlük yeni konum (hücre) limiti (50) doldu. Daha önce sorgulanan konumlar çalışmaya devam eder; yeni konum ertesi gün (UTC). Retry-After başlığı gün sonuna kalan saniye. |
503 |
-256 |
Saatlik veri henüz yok; Worker dolduruyor. |
400 |
-251 |
Hücre/saatlik yok. |
401 |
-100 |
x-api-key yok, boş, prefix/uzunluk hatalı, pasif, yasaklı, süresi dolmuş, IP kısıtına takıldı veya bu API anahtara izinli değil. |
429 |
-221 |
Dakikalık istek limiti aşıldı. Yanıt başlıkları: x-rate-limit-limit, x-rate-limit-remaining, x-rate-limit-reset. |
429 |
— | Paket kredi kotası bu isteğin kredisini karşılamıyor. Gövde { error, limit, currentUsage, requestCost } olabilir (code alanı yok). |
500 |
-1 |
Beklenmeyen sunucu hatası. message genel bir hata metnidir; teknik ayrıntı içermez. |
Notlar
- Başarılı gövde { data: { ... } } şeklindedir. Hata gövdesi { code, message } şeklindedir. code alanı ApiResponseCode enum değeridir (negatif tam sayı).
Örnek yanıt
{
"data": {
"chillHours": 842,
"hoursEvaluated": 2880,
"hoursMissing": 0,
"baseTemp": 7.2,
"crop": "apple",
"fromDate": "2025-11-01",
"toDate": "2026-02-28",
"gridLatitude": 39.90,
"gridLongitude": 32.90,
"daily": [
{
"date": "2025-11-01",
"hoursBelow": 8,
"tmin": 2.1,
"tmax": 12.4
}
],
"method": "weinberger",
"source": "database",
"disclaimer": "Decision support only. Not agronomic advice. Weather data: Copernicus ERA5 / ERA5-Land, Open-Meteo, OpenWeather, MET Norway. Contains modified Copernicus Climate Change Service information."
}
}
Kod örnekleri
const response = await fetch('https://api.apikodu.com/api/v1/agriculture/chillhours', {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY'
}
});
const data = await response.json();
console.log(data);
import requests
headers = {
'x-api-key': 'YOUR_API_KEY'
}
response = requests.get('https://api.apikodu.com/api/v1/agriculture/chillhours', headers=headers)
print(response.json())
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");
var response = await client.GetStringAsync("https://api.apikodu.com/api/v1/agriculture/chillhours");
Console.WriteLine(response);
$response = file_get_contents('https://api.apikodu.com/api/v1/agriculture/chillhours', false, stream_context_create([
'http' => [
'header' => "x-api-key: YOUR_API_KEY"
]
]));
print_r(json_decode($response, true));
curl -X GET 'https://api.apikodu.com/api/v1/agriculture/chillhours' \
-H 'x-api-key: YOUR_API_KEY'
Hemen denemeye başlayın
Ücretsiz hesap açın, API anahtarınızı alın ve ilk isteğinizi dakikalar içinde gönderin.