← Agro GPS

API, tinklo kabliukai ir MCP: sujunkite ERP su žurnalu

Jei ūkį tvarkote ERP sistemoje, išlaidų lentelėje ar konsultanto programoje, nėra prasmės darbus įvesti du kartus. Tai dokumentacija, kaip iš išorės gauti žurnalą, išlaidas ir atitikties būseną bei įvesti darbus iš sistemos, kurią jau naudojate.

Pagrindas yra https://agrogps-api.fly.dev/api/v1. Veikia nuo 2026 m. rugsėjo 17 d. Visada atsako JSON formatu, net ir klaidų atveju.

Du būdai prisistatyti

Kas kviečiaAntraštėKą gali daryti
Programėlė ar svetainėAuthorization: Bearer <sesión>Viską, įskaitant raktų kūrimą ir atšaukimą
Išorinė sistemaX-API-Key: agk_…Skaityti arba skaityti ir rašyti, priklausomai nuo rakto apimties

Raktas sukuriamas vieną kartą iš jūsų sesijos ir parodomas tik vieną kartą: vėliau saugome tik jo maišos reikšmę. Jei jį pamestumėte, jis atšaukiamas ir sukuriamas naujas. Tik skaitymo raktas, bandantis rašyti, gauna 403 AUT_004. Raktai negali kurti ar trinti kitų raktų ar tinklo kabliukų: tai visada daroma su žmogaus sesija.

curl -X POST https://agrogps-api.fly.dev/api/v1/api-keys \
  -H "Authorization: Bearer $SESION" \
  -H "Content-Type: application/json" \
  -d '{"name":"ERP Sage","scope":"read"}'

Ką galite skaityti

Galinis taškasGrąžina
GET /farmsRakto savininko ūkius su jo vaidmeniu
GET /sync/entries?farm_id=…&since=0Visus darbus su visais laukais, suskirstytus puslapiais per next
GET /groups/:id/overviewGrupės apžvalga: darbai, išlaidos, pajamos, marža, apdoroti hektarai ir kultūra pagal ūkį
GET /advisor/portfolioKonsultanto portfelis: kurie ūkiai tvarkingi, o kurie ne
GET /advisor/farms/:id/pendingNeužpildyti laukai, darbas po darbo
GET /notebook/entries/:id/historyKas, ką ir kada pakeitė darbe

Su rašymo raktu taip pat galite registruoti darbus per POST /sync/entries, su tuo pačiu užklausos turiniu, kurį naudoja programėlė. Sinchronizacija vyksta pagal since, todėl naktinis procesas parsisiunčia tik tai, kas pasikeitė.

Pradėti nemokamai

Pasirašyti tinklo kabliukai

Užuot klausę kas penkias minutes, pranešame mes. Užregistruojate viešą https URL, ir siunčiame pranešimą, kai kas nors įvyksta ūkyje, kuriame esate savininkas ar valdytojas.

ĮvykisKada suveikia
entry.pushedDarbai sinchronizuojami ir bent vienas priimamas
entry.reviewedKonsultantas ar savininkas patvirtina ar pažymi darbą
webhook.testPaspaudžiate „išbandyti“

Kiekviename pristatyme yra X-Agro-Event, X-Agro-Timestamp Unix sekundėmis ir X-Agro-Signature su HMAC-SHA256 iš "<timestamp>.<cuerpo>". Patikrinkite abu dalykus: parašą ir tai, kad laikrodis nenukrypo daugiau nei penkias minutes.

import hmac, hashlib, time

ts = request.headers["X-Agro-Timestamp"]
assert abs(time.time() - int(ts)) < 300
esperada = "sha256=" + hmac.new(
    secreto.encode(), ts.encode() + b"." + cuerpo, hashlib.sha256
).hexdigest()
ok = hmac.compare_digest(esperada, request.headers["X-Agro-Signature"])

Pristatymo taisyklės, pasakytos aiškiai, kad nebūtų staigmenų: vienas bandymas, šešios sekundės laukimo ir jokių pakartojimų. Nesekame peradresavimų ir atmetame privačius, vietinio ryšio ir debesijos metaduomenų adresus tiek registruojant URL, tiek nustatant DNS kiekvienam pristatymui. Jei jūsų sistemai reikia garantijų, naudokite tinklo kabliuką kaip pranešimą, o GET /sync/entries su since kaip apsaugos tinklą: pranešimas yra mandagumas, API yra tiesa.

MCP DI asistentams

Ta pati API pasiekiama kaip MCP serveris, protokolas, kuriuo asistentai jungiasi prie įrankių. Juo galite paklausti asistento, pavyzdžiui, kurie ūkiai vėluoja, kiek kainavo sezonas ar ką dar reikia užpildyti prieš patikrinimą.

{ "mcpServers": { "agro-gps": {
  "command": "npx", "args": ["-y", "agro-gps-mcp"],
  "env": { "AGROGPS_API_KEY": "agk_…" } } } }

Galimi įrankiai: list_farms, list_entries, entry_history, list_groups, group_overview, advisor_portfolio, advisor_pending ir record_entry. Paskutinis veikia tik su rašymo raktu, istorijoje pažymimas kaip įrašas per API ir niekada nieko nesiunčia institucijoms.

Kodėl API netinka sukčiauti

Teisinę reikšmę turinčio registro API turi atlaikyti atvirą žvilgsnį. Ispanijoje RD 1054/2022 leidžia žurnalą vesti bet kokia informacine sistema, atitinkančia II priedo reikalavimus ir suderinama su SIEX, ir aiškiai nurodo, kad už duomenų teisingumą atsako savininkas, o ne programa. Mūsų dalis yra vientisumas, ir jis įdiegtas kode, visose šalyse.

Ką kas nors galėtų bandytiKą daro API
Šiandien įrašyti su prieš kelis mėnesius buvusia dataKiekvienas darbas saugo deklaruotą datą ir tikrąjį pasiekimo serveryje laiką, o istorija pažymi vėlavimo dienas
Įrašyti su būsima dataAtmetama, jei ji viršija 24 valandas nuo dabar
Rašyti be žmogaus už toKiekvienas darbas turi autorių, o per raktą įvesti pažymimi to rakto priešdėliu
Ištrinti tai, kas trukdoNiekas netrinama: ištrynimai yra antkapiai su data
Automatiškai siųsti institucijomsOficialus siuntimas yra tik Ispanijoje (regioninis patvirtinimas dar vyksta) ir reikalauja žmogaus sesijos su leidimu: raktas gauna 403 SIE_403. Lietuvoje Agro GPS niekur nesiunčia

Klaidos

Visada {"code":"INT_NNN","message":"…"}, niekada klaidų sekos. Dažniausiai matysite: AUT_003 netinkamas raktas, AUT_004 tik skaitymo raktas, AUT_429 per daug bandymų, AUT_503 autentifikacija nepasiekiama (tai ne tas pats, kas blogas raktas: bandykite dar kartą), INT_003 URL, kuris nėra https, INT_403 veiksmas, kuriam reikia sesijos, INT_404 raktas ar tinklo kabliukas, kuris ne jūsų.

Kaip gauti raktą

API priklauso įmonių ir konsultavimo planams. Jei jau turite paskyrą, raktą susikursite pačioje programėlėje. Jei svarstote integraciją prieš sudarydami sutartį, parašykite support@agrogps.eu, kokią sistemą norite prijungti, ir suteiksime bandomąją prieigą. Dokumentacija vieša ir nemokama: norime, kad ją peržiūrėtumėte prieš mokėdami.

Pradėti nemokamai

Dažniausiai užduodami klausimai

Ar galiu vesti visą žurnalą iš savo ERP neatidarydamas programėlės? Taip, registravimui ir skaitymui. Oficialus siuntimas yra tik Ispanijoje ir reikalauja žmogaus sesijos su siuntimo leidimu. Tai sąmoningas sprendimas: šis veiksmas turi teisinių pasekmių ir jo neturi paleisti automatinis procesas.

Ar duomenys mano? Taip. Visas eksportas visada nemokamas, net ir atsisakius paslaugos, o per API gaunate lygiai tą patį, ką matote ekrane, įskaitant istoriją ir pakeitimų pėdsakus.

Ar yra užklausų limitas? Įprastam ERP naudojimui paskelbtos kvotos nėra. Tinklo kabliuko bandymas ribojamas iki dvidešimties kartų vienam naudotojui ir IP kas dešimt minučių, kad niekas funkcijos nenaudotų srauto generavimui.

Kas bus, jei pakeisite API? Versija yra URL. Kol v1 paskelbta, nepašaliname laukų ir nekeičiame esamų reikšmės; nauji dalykai pridedami. Jei kada nors atsirastų v2, jos veiktų greta.

Ar MCP serveris yra npm? Dar ne. Kol kas jis paleidžiamas iš saugyklos; dėl paskelbimo dar nenuspręsta. Aukščiau pateikta konfigūracija veiks tą dieną, kai jis bus paskelbtas.

Ar tai tinka konsultantui su daug klientų? Tam skirtas advisor/portfolio: viena užklausa pasako, kurie ūkiai tvarkingi, o kurie turi neužbaigtų darbų, nereikia jungtis prie kiekvieno atskirai.