Greitas startas - pirmoji NDVI serija per 15 minučių
Palydoviniai agronominiai duomenys draudikams, bankams ir agroverslui: vegetacijos indeksai, radaro įvykiai, žalos vertinimai, rizikos balai, BŽŪP atitiktis ir parametriniai indeksų produktai - per vieną HTTP API.
Šis puslapis yra greičiausias kelias nuo nulio iki tikro atsakymo. Be
pardavimų skambučio, be kreditinės kortelės. Jei tai užtrunka ilgiau nei 15
minučių - tai mūsų klaida: praneškite ir nurodykite X-Request-Id ten, kur
užstrigote.
| Ko reikia | Kur tai yra |
|---|---|
| Interaktyvus žinynas su „Try it” | /reference; tą patį Scalar puslapį API pateikia ir pats kaip GET /v1/reference (tas pats host’as kaip užklausų, tad jokio CORS), šalia GET /v1/docs (Redoc, tik skaitymui) ir GET /v1/swagger |
| OpenAPI 3.1 dokumentas (SDK generavimui) | GET /v1/openapi.json |
Klaidų katalogas, kiekvienas error.type su sprendimu |
Klaidų katalogas |
| Endpoint sąrašas su nukopijuojamu curl | Endpoint sąrašas |
| Postman kolekcija | Postman |
Bazinis adresas https://api.agrovisio.ai/v1 yra tas pats testinės aplinkos
(sandbox) ir gyviems raktams. Kiekvienas pavyzdys žemiau naudoja $BASE:
export BASE=https://api.staging.agrovisio.ai/v10-2 minutė - gaukite testinės aplinkos raktą
Section titled “0-2 minutė - gaukite testinės aplinkos raktą”Testinė aplinka nemokama, be kvotos, niekada neapmokestinama ir turi 20 realių Lietuvos sklypų su penkerių metų istorija, todėl pilną atsakymą gaunate jau pirmu kvietimu, o ne laukdami istorijos užpildymo.
-
Produkcijoje: užsiregistruokite portale ir nukopijuokite
Registruotis portalesk_test_...raktą. Mokėjimo duomenų nereikia, kol nepaprašysite gyvos prieigos, o gyvas naudojimas apmokamas pagal sąskaitą (žr. Perėjimas į gyvą aplinką žemiau). -
Kūrimo aplinkoje: testinę aplinką užpildo
scripts/publicapi_sandbox_seed.py, kuris išspausdina šio diegimo demonstracinį raktą. Žemiau esantis raktas yra tas, su kuriuo ši dokumentacija patikrinta, ir jis veikia su lokalia testine aplinka toks, koks parašytas:
export KEY=sk_test_16e7fa3b7095c7f52f094bec33b48413Raktai yra sk_test_ (testinė aplinka) arba sk_live_ (produkcija). Jie rodomi
vieną kartą; saugome tik SHA-256 maišą ir prarasto rakto atkurti negalime -
pakeiskite jį nauju.
Patikrinkite, kad raktas veikia:
curl -s "$BASE/account" -H "Authorization: Bearer $KEY"{ "client_id": "a022d70d-bfba-54f3-b796-ae7aaced69df", "name": "Agrovisio Sandbox", "country": "LT", "plan": "sandbox", "status": "active", "environment": "test", "products": ["parcels", "indices", "weather", "sar", "thermal", "yield", "risk", "cap", "damage", "index"], "scopes": ["parcels:read", "parcels:write", "indices:read", "sar:read", "thermal:read", "yield:read", "risk:read", "damage:write", "damage:read", "index:write", "cap:read", "webhooks:manage"], "parcel_quota": 10, "parcels_active": 0, "parcels_in_environment": 20, "parcels_peak": 0, "overage_parcels": 0, "period_start": "2026-10-01", "period_end": "2026-10-31", "rate_limits": {"standard_per_min": 60, "write_per_min": 10, "expensive_per_min": 2, "burst": 10}, "payment_overdue_since": null}parcels_active ir parcels_peak yra apmokestinimo pagrindas - apmokestinami
gyvos aplinkos sklypai - ir su testinės aplinkos raktu visada lygūs 0.
parcels_in_environment skaičiuoja sklypus, kuriuos jūsų paskyra turi šioje
aplinkoje: 20 su demonstraciniu raktu aukščiau, nes demonstracinė paskyra ir
yra bendro rinkinio savininkė, ir 0 su pačių užsiregistruotu testinės aplinkos
raktu, kol nesusikūrėte savų sklypų. parcel_quota - 10 savų sklypų, kuriuos
testinės aplinkos raktas gali pridėti; overage_parcels - kiek pikas tą kvotą
viršija, o payment_overdue_since lieka null, kol nėra pradelstos sąskaitos.
Kiekviena API laiko žyma yra UTC RFC 3339 formatu su Z priesaga ir
milisekundžių tikslumu (2026-10-03T11:27:31.425Z; iki sekundės saugoma
reikšmė vis tiek grąžinama kaip ...:31.000Z); datos be laiko, tokios kaip
period_start ar event_date, yra paprastos YYYY-MM-DD.
2-5 minutė - raskite sklypą
Section titled “2-5 minutė - raskite sklypą”Sklypas yra visko vienetas: stebite sklypus, mokate pagal mėnesio aktyvių sklypų piką, ir kiekvienas duomenų endpoint’as kabo ant sklypo id.
curl -s "$BASE/parcels?limit=25" -H "Authorization: Bearer $KEY"Matote 20 bendrų sklypų ir tai, ką susikūrė jūsų pačių raktas - kitų testinės
aplinkos klientų sklypai jums niekada nematomi. Su demonstraciniu raktu sąrašas
yra lygiai šios 20 eilučių (has_more: false). Filtruokite pagal
external_ref, o ne pagal eilės tvarką: sąrašas rikiuojamas nuo naujausio.
Kiekviena eilutė turi požymį shared. Jis true, kai sklypas priklauso ne
jūsų rakto paskyrai - pačių užsiregistruotam testinės aplinkos raktui tai
kiekvienas SBX-* sklypas, o DELETE į tokį atsako 404. Demonstracinis
raktas yra ta paskyra, kuriai bendras rinkinys priklauso, todėl jam jie
rodomi su shared: false ir jis galėtų juos ištrinti; nedarykite to -
rinkinį atkuria naktinis užpildymas.
Testinės aplinkos rinkinys sudarytas taip, kad išbandytų įdomius kelius, ne tik laimingąjį:
external_ref |
Ką demonstruoja |
|---|---|
SBX-LODGING-1 … -3 |
ariami laukai su išgulimo požymiu SAR serijoje |
SBX-MOWING-1, -2 |
pievos su dviem šienavimais per sezoną |
SBX-DROUGHT-1, -2 |
2023 m. sausra: NDVI deficitas, aukšta LST, žemas vandens streso indeksas |
SBX-SMALL-1 |
1,7 ha - Sentinel-3 atmeta su insufficient_resolution |
SBX-NEW-1 |
jokios istorijos - kiekviena anomalija atsako baseline_not_ready |
SBX-FIELD-01 … -11 |
įprasti laukai, penkios kultūros |
Pasirinkite vieną ir išsaugokite jo id:
export PARCEL=$(curl -s "$BASE/parcels?limit=25" -H "Authorization: Bearer $KEY" \ | python -c "import sys,json;d=json.load(sys.stdin)['data'];print([p['parcel_id'] for p in d if p['external_ref']=='SBX-FIELD-01'][0])")5-8 minutė - pirmoji NDVI laiko serija
Section titled “5-8 minutė - pirmoji NDVI laiko serija”curl -s "$BASE/parcels/$PARCEL/indices?index=NDVI&from=2025-04-01&to=2025-09-30" \ -H "Authorization: Bearer $KEY"{ "parcel_id": "prc_2TWVCTXEDC6Q3EMYKP2N", "index": "NDVI", "unit": "ratio", "from": "2025-04-01", "to": "2025-09-30", "observations": 46, "series": [ { "date": "2025-04-02", "value": 0.2066, "reason": null, "quality": "good", "valid_pct": 86.1, "cloud_pct": 13.9, "satellite": "sentinel-2-l2a", "scene_id": "SBX_S2_2025-04-02", "min_value": 0.1466, "max_value": 0.2666, "anomaly": { "baseline_season": 2025, "baseline_mean": 0.1776, "baseline_std": 0.0162, "baseline_n_obs": 7, "z": null, "z_reason": "std_below_threshold", "anomaly_pct": 16.35, "pct_of_baseline": 116.35, "reason": null } } ], "baseline": { "season": 2025, "years": 3, "years_used": [2022, 2023, 2024], "quality": "medium", "source": "parcel", "mean": 0.3696, "p10": 0.3118, "p90": 0.4303, "windows": 41, "method_version": "baseline-1.0", "config_hash": "79e8c933fad8dddd", "reason": null, "district_parcels": null }, "processing": {"inner_buffer_m": 10.0, "applied": true, "reason": null}, "data_status": {"s2_history_months": 60, "s1_history_months": 60, "baseline_ready": true, "baseline_source": "parcel", "baseline_quality": "high", "baseline_years": 4}, "method_version": "indices-1.0", "config_hash": "7dd2ff70f042c405"}(Sutrumpinta iki pirmo iš 46 stebėjimų; config_hash reikšmės yra tos, kurias
API grąžino 2026-10-03, ir keičiasi kaskart, kai derinama metodo
konfigūracija - tam jos ir skirtos.)
Keturi dalykai, kuriuos verta žinoti apie šį atsakymą:
value: nullyra atsakymas, ne klaida. Kai pikseliai buvo debesuoti, eilutė vietoj skaičiaus turireason. Klaidingas skaičius draudimo ar kredito sprendime kainuoja daugiau nei trūkstamas.anomalyyra kiekvienam stebėjimui ir lygina reikšmę su tuo pačiu metų dienos langu per ankstesnius pilnus sezonus, tad reiškia „palyginti su tuo, kaip šis laukas paprastai atrodo dabar”, o ne „palyginti su praėjusia savaite”.zyranullsuz_reason, kai istorinė sklaida per maža dalybai - pirma eilutė aukščiau yra būtent toks atvejis (std_below_threshold):anomaly_pctvis tiek sako, kad laukas 16 % virš normos, bet z-balas iš 0,016 standartinio nuokrypio neišgalvojamas.baseline(viršutiniame lygyje) sako, kiek ta norma tvirta: kiek sezonų ir DOY langų į ją pateko ir ar ji iš paties sklypo, ar iš rajono atsarginio varianto. Joqualityvertina sezonus, kurie maitino šią seriją (čia trys - 2022-2024, pilni sezonai, kuriuos penkerių metų testinės aplinkos istorija turi prieš 2025 m. - todėlmedium), odata_status.baseline_qualityvertina visą sklypo istoriją - jie skiriasi sąmoningai.?quality=goodpalieka tik vienos klasės stebėjimus (good,partialarbacloud_masked), oobservationstada skaičiuoja tai, kas grąžinta.method_versionirconfig_hashfiksuoja algoritmą ir jo slenksčius. Jie niekada nekeičiami atgaline data: perskaičiavimas su naujais slenksčiais gauna naują versijos eilutę.
Testinėje aplinkoje scene_id prasideda SBX_, o satellite yra kolekcijos
pavadinimas: istorija ten modeliuota, ne atsisiųsta, kad nemokama testinė aplinka
neeikvotų tikrų palydovinio apdorojimo vienetų. Formos, slenksčiai ir kodo
keliai identiški gyvai aplinkai.
Nauji sklypai baseline dar neturi. Tada endpoint’as atsako 422 baseline_not_ready - išbandykite SBX-NEW-1 - ir galite arba laukti
parcel.data_ready webhook pranešimo, arba prašyti neapdorotos serijos su
&baseline=false. Kiekvienas tokio tipo 422 (baseline_not_ready,
insufficient_data, insufficient_resolution, vegetation_masked) turi
antraštę X-Agrovisio-Not-Billable: kvietimas niekada neapmokestinamas.
8-12 minutė - likę produktai, po vieną kvietimą
Section titled “8-12 minutė - likę produktai, po vieną kvietimą”AUTH="Authorization: Bearer $KEY"
# Radaro įvykiai: išgulimas, šienavimas, derliaus nuėmimas, arimas, ataugimascurl -s "$BASE/parcels/$PARCEL/sar/events?from=2025-05-01&to=2025-09-01" -H "$AUTH"
# Orai: prognozė, istorija, agroklimato rodikliaicurl -s "$BASE/parcels/$PARCEL/weather/forecast?days=7" -H "$AUTH"
# Paviršiaus temperatūra ir vandens stresas (reikia >= 5 ha)curl -s "$BASE/parcels/$PARCEL/thermal?from=2025-06-01&to=2025-08-31" -H "$AUTH"
# Derliaus prognozė su pasikliautinuoju intervalucurl -s "$BASE/parcels/$PARCEL/yield-forecast" -H "$AUTH"
# Rizikos balas: šeši komponentai, procentilio rangas, veiksniaicurl -s "$BASE/parcels/$PARCEL/risk-score" -H "$AUTH"
# BŽŪP: monokultūros taisyklės patikra - keturi tos pačios kultūros sezonai yra# pažeidimas (trys iš eilės dar leidžiami: limit_years yra 3)curl -s "$BASE/cap/rotation/check?country=LT&history=2022:winter_wheat,2023:winter_wheat,2024:winter_wheat,2025:winter_wheat" -H "$AUTH"Rotacijos patikra į istoriją aukščiau atsako compliant: false su vienu
rotation_violation (consecutive_years: 4, limit_years: 3); išmeskite
2022 m. sezoną, ir tas pats kvietimas atsako compliant: true - ta pati
kultūra gali būti auginama daugiausia tris sezonus iš eilės.
Batch yra pirmos klasės kelias, ne priedas - 500 sklypų viena užklausa. Tai
skaitymas, kuris šiaip yra POST, todėl jam, kaip ir kiekvienam POST, reikia
Idempotency-Key, o atsako 200 ir pirmą kartą, ir kartojant:
curl -s -X POST "$BASE/indices/batch" -H "$AUTH" \ -H 'Content-Type: application/json' \ -H "Idempotency-Key: $(uuidgen)" \ -d '{"parcel_ids":["'"$PARCEL"'"],"index":"NDVI","from":"2025-06-01","to":"2025-08-31"}'12-15 minutė - žalos vertinimas, asinchroninis modelis
Section titled “12-15 minutė - žalos vertinimas, asinchroninis modelis”Viskas, kas trunka ilgiau nei turėtų trukti užklausa, grąžina 202 su darbu.
Išsaugokite job_id - jo reikės kitame bloke:
JOB=$(curl -s -X POST "$BASE/damage/assess" -H "$AUTH" \ -H 'Content-Type: application/json' \ -H "Idempotency-Key: $(uuidgen)" \ -d '{"parcel_id":"'"$PARCEL"'","event_date":"2025-07-04","peril":"storm","claim_ref":"CLM-1"}')echo "$JOB"export JOB_ID=$(echo "$JOB" | python -c "import sys,json;print(json.load(sys.stdin)['job_id'])"){"job_id": "job_7A1MNPQRSTVWXYZ01234", "status": "queued", "poll_url": "/v1/jobs/job_7A1MNPQRSTVWXYZ01234", "estimated_seconds": 90}Sklypas aukščiau yra įprastas laukas, tad atsakymas į klausimą „ar 2025 m.
liepos 4 d. audra jį sugadino” yra ne: damage_pct: 0.0, pasikliovimas
0.58 ir tai patvirtinantis sertifikatas - įrodymas, kad „nieko neįvyko”,
kurio žalų ekspertui reikia lygiai taip pat, kaip ir žalos skaičiaus. Tą pačią
užklausą nukreipkite į SBX-LODGING-1 su 2025-07-04, kad pamatytumėte audrą,
kuri lauką tikrai išguldė (damage_pct: 85.0), ir į SBX-FIELD-05 su
2024-07-19 - antrą atvejį be žalos; tikslūs kiekvieno jų skaičiai - kitame
skyriuje.
Tada arba tikrinkite GET /v1/jobs/{job_id}, arba - geriau - užsiprenumeruokite
vieną kartą:
curl -s -X POST "$BASE/webhooks" -H "$AUTH" \ -H 'Content-Type: application/json' -H "Idempotency-Key: $(uuidgen)" \ -d '{"url":"https://hooks.example.com/agrovisio", "events":["damage.completed","parcel.data_ready","job.failed"]}'Atsakymas pasirašymo paslaptį turi vieną kartą - mūsų pusėje ji saugoma
užšifruota ir vėliau perskaityti jos negalima. Praradę 201, pakartokite tą
pačią užklausą su tuo pačiu Idempotency-Key per 24 val. ir gausite tą patį
atsakymą (Idempotent-Replay: true); vėliau - ištrinkite endpoint’ą ir
užregistruokite naują. URL privalo būti https:// ir rodyti į viešą host’ą:
loopback, privatūs, link-local ir debesų metaduomenų adresai atmetami su
400 validation_error (detail.fields[0].field: "url"). Kiekvienas
pristatymas turi keturias antraštes:
X-Agrovisio-Event: damage.completedX-Agrovisio-Delivery: dlv_9c2e...X-Agrovisio-Timestamp: 1758200400X-Agrovisio-Signature: v1=<hex hmac_sha256(secret, "<timestamp>.<body>")>Parašą tikrinkite pastovaus laiko palyginimu ir atmeskite viską, kieno laiko žyma nuo jūsų laikrodžio skiriasi daugiau nei 300 s - tas langas yra apsauga nuo pakartojimo. Kodas abiem kalbomis - webhook gide.
Baigtas darbas assessment_id turi savo result bloke - ten gaunate id, o su
juo išsaugotą vertinimą ir jo sertifikatą:
ASSESSMENT_ID=$(curl -s "$BASE/jobs/$JOB_ID" -H "$AUTH" \ | python -c "import sys,json;print(json.load(sys.stdin)['result']['assessment_id'])")
curl -s "$BASE/damage/$ASSESSMENT_ID" -H "$AUTH"curl -s -o certificate.pdf "$BASE/damage/$ASSESSMENT_ID/certificate.pdf" -H "$AUTH"Sertifikatas išduodamas ne kiekvienam vertinimui. Jam reikia
confidence >= 0.50; žemiau PDF maršrutas atsako 422 insufficient_data su
detail.reason: confidence_below_certificate_threshold, faktiniu pasikliovimu
ir slenksčiu, o pats vertinimas grąžinamas įprastai su certificate: null.
Apmokestinama nuo 0,40, tad yra juosta, kurioje vertinimas apmokestintas, bet
nesertifikuotas - tikrinkite, ar certificate yra, niekada nelaikykite PDF
savaime suprantamu.
Vertinimas pasako, kas pajudino skaičių: confidence_components išvardija
kadrų skaičiaus, bazinės linijos, optikos ir intervalo dedamąsias bei
direction_factor. Skaudžiausiai tai kerta SAR kelyje. Kai optinė serija
nepatvirtina radaro signalo krypties, vertinimas gauna įspėjimą
direction_not_confirmed ir 0,8 daugiklį - ir būtent toks yra SBX-LODGING-1
demo. Šviežiai paleisti 2026-10-03 (metodas damage-1.0,
config_hash e3f43ecf61375aa8) keturi testinės aplinkos atvejai atsako:
| Sklypas, įvykis | damage_pct |
damage_pct_ci |
confidence |
Sertifikatas |
|---|---|---|---|---|
SBX-LODGING-1, 2025-07-04, storm |
85.0 | [50.0, 85.0] | 0.405 | ne - PDF atsako 422, confidence_below_certificate_threshold; su gyvu raktu apmokestinama (virš 0,40), bet nesertifikuojama |
SBX-LODGING-3, 2024-07-03, storm |
50.0 | [50.0, 51.75] | 0.5113 | taip - viena šimtąja |
SBX-FIELD-05, 2024-07-19, storm |
0.0 | [0.0, 0.0] | 0.46 | ne - „nieko neįvyko” rezultatas, kuris apmokestinamas, bet nesertifikuojamas (įspėjimai no_sar_baseline, direction_not_confirmed) |
SBX-DROUGHT-1, 2023-07-20, drought |
null |
null |
null |
ne - darbas baigiasi su status: insufficient_data, reason: no_ndvi_observations, billable: false |
Trys iš keturių sąmoningai guli per kelias šimtąsias nuo 0,40 ir 0,50 ribų: būtent ten lūžta kodas, kuris PDF laiko savaime suprantamu. Sausros atvejis yra sąžiningos nesėkmės kelias - baigtas darbas, kurio rezultatas sako, kad duomenys skaičiaus nepagrindė, nieko nekainuoja ir sertifikato neturi. Paleiskite jį, kad pamatytumėte formą:
# praėjus minutei po ankstesnio vertinimo (testinėje aplinkoje 2 per minutę):DROUGHT=$(curl -s "$BASE/parcels?limit=25" -H "$AUTH" \ | python -c "import sys,json;d=json.load(sys.stdin)['data'];print([p['parcel_id'] for p in d if p['external_ref']=='SBX-DROUGHT-1'][0])")curl -s -X POST "$BASE/damage/assess" -H "$AUTH" \ -H 'Content-Type: application/json' -H "Idempotency-Key: $(uuidgen)" \ -d '{"parcel_id":"'"$DROUGHT"'","event_date":"2023-07-20","peril":"drought","claim_ref":"CLM-2"}'# tada tikrinkite darbą lygiai kaip aukščiau; GET /damage/{id} grąžina status: insufficient_dataSkaičiai aukščiau yra iš šviežių vertinimų. Penki iš anksto paruošti įrašai
(SBX-CLAIM-...) yra paskutinio atkūrimo išsaugoti rezultatai ir gali turėti
senesnį config_hash bei kitokį pasikliovimą - rašymo metu išsaugoti
SBX-CLAIM-2024-003 (LODGING-3) ir SBX-CLAIM-2023-005 (DROUGHT-1) skiriasi
nuo šviežio paleidimo. Dar viena priežastis šakotis pagal certificate, o ne
pagal įsimintą skaičių.
Penkios taisyklės, sutaupančios palaikymo užklausą
Section titled “Penkios taisyklės, sutaupančios palaikymo užklausą”Idempotency-Keyprivalomas kiekvienam POST - įskaitant BŽŪP skaičiavimus irPOST /indices/batch, kurie yra skaitymai. Siųskite po UUID kiekvienai loginei operacijai ir naudokite tą patį kartojant. Pakartojimas grąžina pradinį rezultatą suIdempotent-Replay: trueir niekada neapmokestinamas antrą kartą. Lygiagrečios užklausos su tuo pačiu raktu vykdomos nuosekliai: vykdoma tik viena, kitos gauna409 idempotency_conflictsudetail.state: "in_progress"irRetry-Afterantrašte (daugiausia 120 s) - palaukite ir pakartokite, gausite išsaugotą rezultatą.- Šakokite pagal
error.type, niekada pagalerror.message. Tipai yra sutartis, žinutės - proza. Pilnas katalogas - klaidų kataloge, o/v1/openapi.jsonkiekvienai operacijai deklaruoja kiekvieną klaidos statusą su ta pačiaErrorEnvelopeschema (error.typeten yra katalogo enum), tad generuotas klientas klaidas išskaito teisingai. POST, kuris atsako201/202, deklaruoja ir200- 1 taisyklės idempotentišką pakartojimą. - Saugokite
X-Request-Id. Jis yra kiekviename atsakyme, sėkmingame ar ne. Be jo nieko negalime atsekti. - Stebėkite limitų antraštes.
X-RateLimit-Limit,-Remaining,-Reset,-Pool. Trys pool’ai:standard(kiekvienasGET),write(visi kiti metodai - sklypai,POST /indices/batch, BŽŪP skaičiavimai, webhook’ų valdymas),expensive(žalos vertinimas, indekso produkto backtest, portfelio rizikos atnaujinimas).429pasako, kuris pool’as išseko. Kiekvienas pool’as turi ir sekundės „burst” limitą (burstjūsų plane): toks429pridedaX-RateLimit-Burst-Limit,X-RateLimit-Burst-ResetirRetry-After: 1, oX-RateLimit-Remainingtoliau rodo likusį minutės biudžetą. - Puslapiavimas cursor principu.
next_cursorperduokite atgal kaip?cursor=, kolhas_moretaps false. Offset’ai nepalaikomi -?offset=, kaip ir bet kuris nežinomas užklausos parametras ar filtro reikšmė, yra400 validation_error, niekada tyliai nefiltruotas sąrašas.
Testinė aplinka ir gyva aplinka
Section titled “Testinė aplinka ir gyva aplinka”Testinė aplinka (sk_test_) |
Gyva (sk_live_) |
|
|---|---|---|
| Duomenys | 20 bendrų LT sklypų, 5 metų istorija | jūsų sklypai |
| Jūsų pačių sklypai | iki 10 papildomų, 24 mėn. istorija | plano kvota |
| Copernicus kvietimai | jokių - istorija iš anksto užpildyta | tikri, eilėje ir užpildomi |
| Apmokestinimas | usage_event rašomas, billable: false visada |
apmokestinama |
| Limitai | 60 standard / 10 write / 2 expensive per minutę | pagal planą |
| Webhook | pristatomi iš tikrųjų, kad išbandytumėte savo endpoint’ą | pristatomi |
| Kas naktį | sklypai atkuriami; jūsų testinės aplinkos sklypai ištrinami | nepaliesta |
Testinė ir gyva aplinkos yra atskiri pasauliai: gyvas raktas nemato testinės
aplinkos sklypų, testinis - gyvų. Testinis raktas mato 20 bendrų sklypų ir
savus: bendri grąžinami su shared: true (nebent jūsų raktas yra juos
valdanti demonstracinė paskyra), visiems kitiems yra tik skaitomi (DELETE
atsako 404) ir atkuriami kas naktį; savi turi shared: false ir
skaičiuojami į 10 sklypų testinės aplinkos kvotą. Kiekvienas sklypas turi
environment: "test" arba "live", tad visada žinote, į ką žiūrite.
Ko tikėtis pridėjus savo sklypą testinėje aplinkoje: istoriją jis turi tik jei
jo geometrija mums jau žinoma (sklypai talpykloje pagal geometrijos maišą, tad
perbraižyta bendro sklypo versija paveldi jo duomenis). Visiškai naujas laukas
atsako baseline_not_ready ir tuščias serijas, nes testinė aplinka sąmoningai
niekada nepaleidžia palydovinio apdorojimo. Gyvi raktai jį paleidžia, ir
sklypas tampa naudojamas užpildymui baigiantis - stebėkite data_status arba
prenumeruokite parcel.data_ready.
Perėjimas į gyvą aplinką
Section titled “Perėjimas į gyvą aplinką”- Patvirtinkite el. paštą, tada portale atverkite Billing ir paspauskite Activate live: pasirinkite planą bei atsiskaitymo ciklą ir užpildykite įmonės bei sąskaitų duomenis. Taip pateikiama aktyvavimo užklausa, o ją siunčiant mokestis neimamas. Gyvas naudojimas apmokamas pagal sąskaitą; kortelės formos portale nėra.
- Agrovisio operacijų komanda užklausą peržiūri per vieną darbo dieną,
perjungia planą ir pirmą
sk_live_raktą perduoda saugiu kanalu (raktai niekada nesiunčiami el. paštu). Toliau gyvus raktus kuriate patys skiltyje Keys. Testinės aplinkos raktas veikia toliau - dauguma komandų savo CI su juo vykdo visą laiką. - Tą patį kodą nukreipkite į tą patį bazinį adresą su nauju raktu. Daugiau
niekas nesikeičia: tie patys endpoint’ai, tos pačios atsakymų formos, tos
pačios
method_versionreikšmės.
| Planas | Sklypai | Produktai | Standard / write / expensive per min. |
|---|---|---|---|
| Sandbox | 10 savų | visi | 60 / 10 / 2 |
| Starter | 1 000 | parcels, indices, weather | 600 / 60 / 5 |
| Growth | 10 000 | + sar, thermal, yield, damage, index | 2 000 / 200 / 20 |
| Scale | 50 000 | + risk, cap | 6 000 / 600 / 60 |
| Enterprise | neribota | visi | 20 000 / 2 000 / 200 |
Apmokestinama pagal mėnesio aktyvių sklypų piką, ne pagal užklausų
skaičių - to paties sklypo užklausa tūkstantį kartų nekainuoja nieko papildomai.
Žalos vertinimai ir indeksų produktų publikavimas yra vieninteliai vienetiniai
mokesčiai, o žalos vertinimas, pasibaigęs insufficient_data, neapmokestinamas
visai. Daugiau - apmokestinimo gide.
Atribucija ir ribos
Section titled “Atribucija ir ribos”Atsakymai, sudaryti iš palydovinių duomenų, turi
X-Data-Attribution: Contains modified Copernicus Sentinel data. Šią
atribuciją privalote išlaikyti platindami išvestines reikšmes. Nacionaliniai
kadastro duomenys (LT Registrų centras, LV Kadastrs, PL GUGiK) naudojami pagal
atitinkamas atvirų duomenų licencijas.
Mūsų skaičiai yra išvestiniai palydoviniai įverčiai, ne matavimai vietoje.
Žalos sertifikatas yra techninė ataskaita pagal dokumentuotą metodologiją, ne
eksperto teisinė išvada. Jūs liekate atsakingi už teisinį pagrindą stebėti
sklypus, kuriuos mums siunčiate (paskolos sutartis, draudimo polisas); sklypo
geometrija su kadastro numeriu gali identifikuoti fizinį asmenį, todėl niekada
nerašykite žmogaus vardo į external_ref. Daugiau - duomenų
atribucijoje.
Kaip šie dokumentai išlieka teisingi
Section titled “Kaip šie dokumentai išlieka teisingi”Klaidų katalogas, endpoint sąrašas ir Postman kolekcija generuojami iš veikiančio API, ne rašomi ranka, ir ši svetainė juos importuoja iš naujo kiekvieno build metu. Du patikrinimai saugo šio puslapio pažadus ir abu vykdomi prieš kiekvieną leidimą:
scripts/qa/int_15min.py- pereina tiksliai aukščiau aprašytą kelią vien su šiuo puslapiu ir testinės aplinkos raktu ir nepavyksta, jei kuris žingsnis lūžta;scripts/qa/int_postman_check.py- paleidžia kiekvieną Postman kolekcijos užklausą į testinę aplinką ir nepavyksta ties pirmu ne-2xx.
Kiekvienas šio puslapio curl blokas paskutinį kartą paleistas pažodžiui su
testine aplinka 2026-10-03; čia cituojami skaičiai yra tai, ką ji tą dieną atsakė.
Užpildymo skriptas išspausdina sklypų id ir penkis paruoštus žalos vertinimus
(SBX-CLAIM-2025-001 … SBX-CLAIM-2023-005); tai išsaugoti rezultatai,
kurie, kaip pažymėta aukščiau, gali atsilikti nuo šviežio tos pačios užklausos
paleidimo.
Palaikymas
Section titled “Palaikymas”support@agrovisio.ai - visada nurodykite X-Request-Id, endpoint’ą ir UTC
laiką. Būsenos puslapis: /status ir status.agrovisio.ai. SLA:
99,5 % mėnesio pasiekiamumas, p95 iki 400 ms standartiniams skaitymams.
