AGROBOX
Επικοινωνήστε μαζί μας

Αυτό το άρθρο γίνεται ανάλυση της δομής του API που προσφέρει την δυνατότητα αλληλεπήδρασης με την πλατφόρμα απο γεωπόνους / συμβούλους για την διαχείριση των αγροτών μέσα απ το δικό τους σύστημα πχ ERP/ CRM
Το κλείδι api ειναι διαθέσιμο ΜΟΝΟ στο πακέτο BUSSNESS ΓΕΩΠΟΝΩΝ/ ΣΥΜΒΟΥΛΩΝ
URL API: https://app.agrobox.gr/api.php
Μέθοδος αιτήματος: POST
Παράμετροι: HTTP QUERY
Απάντηση: JSON
Παράμετροι κλήσης API
Παράμετρος | Περιγραφή | Απαιτείται | Τύπος δεδομένων |
Αρχική τιμή |
key | User API Key | ναι | αλφαριθμητικό | |
user-request | Agronomist Auth request | ναι | ακέραιος | Πάντα 1 |
task | API action | ναι | αλφαριθμητικό | |
data | Update or add new data | ναι (σε ενημέρωση ή προσθήκη) | array | |
filters | Φίλτρα ανάκτησης | οχι (σε ανάκτηση μόνο) | array | |
limit | Μέγιστα αποτελέσματα ανα σελίδα | οχι (σε ανάκτηση μόνο) | ακέραιος | 1 έως 200, προκαθορισμένη τιμή100 |
p | Αριθμός σελίδας - Σελιδοποιήση | οχι (σε ανάκτηση μόνο) | ακέραιος | 1 |
Tasks
Τιμές task |
Περιγραφή |
agronomist.getprofile | Ανάκτηση προφίλ γεωπόνου |
agronomist.updateprofile | Ενημέρωση προφιλ γεωπόνου |
agronomist.getfarmers | Ανάκτηση προφιλ αγροτών |
agronomist.addfarmer | Ενημέρωση ή προσθήκη αγρότη |
agronomist.deletefarmer | Διαγραφή αγροτών |
agronomist.getfields | Ανάκτηση αγροτεμαχιών αγροτών μαζί με το ιστορικό των καλλιεργειών |
agronomist.addfield | Ενημέρωση ή προσθήκη αγροτεμαχίου |
agronomist.getcrops | Ανάκτηση καλλιεργιών που υποστηρίζει το AgroBox |
agronomist.getvarieties | Ανάκτηση ποικιλιών των καλλιεργιών |
agronomist.getseasons | Ανάκτηση καλλιεργητικών ετών |
agronomist.getcares | Ανάκτηση καλλιεργητικών εργασιών / φροντίδες |
agronomist.getfieldcares | Ανακτήση καλλιεργητικών εργασιών ανα αγροτεμάχιο |
agronomist.getfertilizers | Ανάκτηση λιπασμάτων |
agronomist.getfytofarmaka | Ανάκτηση φυτοπροασταευτικών σκευασμάτων |
agronomist.addfieldcare | Προσθήκη ή ενημέρωση φροντίδων |
agronomist.deletefieldcare | Διαγραφή φροντίδων |
reseller.addaccount | Σε πελάτες που μεταπωλούν τις υπηρεσίες μας υπάρχει δυνατόητα να ανοιγουν λογαριασμούς μέσω API. |
reseller.getaccounts | Ανακτηση πελατών και συνολικών εγγραφών |
Δομή σώματος κλήσης / Body Request
key=USER_API_KEY&user-request=1&task=TASK_NAME
Παράδειγμα 1
Ανάκτηση δεδομένων προφιλ
key=abd123xxxxxxx&user-request=1&task=agronomist.getprofile
{json}
{ "result": 1, "data": { "name": "ΣΥΜΒΟΥΛΟΣ", "email": "Αυτή η διεύθυνση Email προστατεύεται από τους αυτοματισμούς αποστολέων ανεπιθύμητων μηνυμάτων. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να μπορέσετε να τη δείτε. ", "mobile": "699999999999", "username": "geoponos", "published": "1", "companyname": "Γεωπονος Εταιρεία ΚΥΔ", "city": "ΒΟΛΟΣ", "address": "ΓΑΖΗ 92Β", "zip": "38333", "state": "ΜΑΓΝΗΣΙΑ", "country": "GR", "verified_mobile": "0", "verified_email": "0", "vatid": "048313748", "dailyemail": "0", "serialkey": "" } } {/json}
Ενημέρωση δεδομένων προφιλ
key=abd123xxxxxxx&user-request=1&task=agronomist.updateprofile&data[companyname]=My new company name&data[address]=My new address
REST API CLIENT (Firefox)
Στην ενημέρωση / προσθήκη εγγραφών υπάρχουν κάποιοι περιορισμοί στα πεδία που επιτρέπεται να αλλάξουν καθώς και στα πεδία κειμένου γίνεται αυτόματη περικοπή χαρακτήρων οταν υπερβαίνει το μέγιστο μέγεθος.
Στην ενημέρωση εγγραφών δεν είναι υποχρεωτικό να στέλνονται όλα τα πεδία, αλλα μόνο αυτά που αλλάζουν τιμή.
agronomist.getfarmers
key=abd123xxxxxxx&user-request=1&task=agronomist.getfarmers
Παράμετρος filters - Κριτήριο αναζήτσης και περιοσρισμός αποτελσμάτων
key=abd123xxxxxxx&user-request=1&task=agronomist.getfarmers&filters[osde_year]=2023
agronomist.addfarmer
key=abd123xxxxxxx&user-request=1&task=agronomist.addfarmer&data[...]=..
Το "data" περιελαμβάνει όλα τα πεδία του αγρότη
Υποχρεωτικά πεδια για την νέα εισαγωγή αγρότη
username εαν ειναι κενό το σύστημα θα παράξει μόνο του ένα username βάση το email και θα υπάρχει στην απάντηση του api
password εαν ειναι κενό το σύστημα θα παράξει έναν τυχαίο κωδικό και θα υπάρχει στην απάντηση του api
Για την ενημέρωση του προφιλ του αγρότη θα πρέπει να συμπεριλάβετε στο ερώτημα τις παραμέτρους updatekey και updatevalue.
To updatekey ειναι το κριτήριο εύρεσης της υπάρχουσας εγγραφής και μπορει να πάρει τις εξης τιμές:
Προτείνεται να γίνεται πάντα με id, καθώς το email ή το vatid μπορεί να αλλάξει απο τον χρήστη.
key=abd123xxxxxxx&user-request=1&task=agronomist.addfarmer&updatekey=email&updatevalue=
agronomist.deletefarmer
Το "data" περιελαμβάνει όλα τα πεδία για την διαγραφή λογαριασμών αγροτών με id ή με vatid. Η διαγραφή θα διαγράψει ολα τα συσχετιζόμενα δεδομένα αγροτεμάχια, φροντίδες κτλ.
key=abd123xxxxxxx&user-request=1&task=agronomist.deletefieldcare&data[id][0]=998&data[id][1]=999
ή
key=abd123xxxxxxx&user-request=1&task=agronomist.deletefieldcare&data[vatid][0]=048313749
agronomist.getfields
key=abd123xxxxxxx&user-request=1&task=agronomist.getfields
Παράμετρος filters - Κριτήριο αναζήτησης και περιοσρισμός αποτελσμάτων
key=abd123xxxxxxx&user-request=1&task=agronomist.getfields&filters[id]=198&croplatestonly=1
* Το metra περιελαμβάνει αναζήτηση με όλα ή μερικά πεδια απ τα παρακάτω (προτείνεται κατ ελάχιστο να περιελαμβάνει το αίτημα τα πεδία type και measure ή code)
Χρήση φίλτρων με μέτρα
key=abd123xxxxxxx&user-request=1&task=agronomist.getfields&croplatestonly=1&filters[metra_cond]=OR&filters[metra][0][type]=ecoschemes&filters[metra][0][measure]=35&filters[metra][0][type]=metro&filters[metra][0][code]=11.1.1
agronomist.addfield
key=abd123xxxxxxx&user-request=1&task=agronomist.addfarmer&data[...]=..
Το "data" περιελαμβάνει όλα τα πεδία του αγρότη
Υποχρεωτικά πεδια για την νέα εισαγωγή αγρότη
esga_vertices περιλεμβάνει πολλαπλά set συντεγμένων σε ESGA 87 array(10000,20000). Μπορεί να ειναι σε array ή json
vertices περιλεμβάνει πολλαπλά set συντεγμένων στο διεθνές σύστημα array('lat'=>100000,'lng'=>200000). Μπορεί να ειναι σε array ή json
agro_view: (0 ή 1) εαν θα εμφανίζεται στο διαχειριστικό του γεωπόνου
agro_group: Ομαδοποιήση χωραφιών για την καλυτερη διαχείριση από γεωπόνο / σύμβουλο
crop_data ειναι ένας πίνακας οπου περιέχει ένα ζέυγος καλλιεργητικής χρονιάς και τύπο καλλιέργειας
Το έτος 2022 σημαίνει 2022-2023 καλλιεργητική χρονιά.
Το έτος 2023 σημαίνει 2023-2024 καλλιεργητική χρονιά
Κάθε καλλιέργεια δεν έχει την ίδια καλλιεργητική χρονιά την ίδια χρονική στιγμή, η χρονιά αλλάζει με την πρώτη συγκομιδή
Tip:
{php}
$data=array(
'farmerid'=>12, 'name'=>'ΚΑΡΑΓΚΑΝΙ', 'location'=>'Επαρ.Οδ. Περίβλεπτου-Κοκκίνας, Περίβλεπτο 375 00, Ελλάδα' 'vertices'=>'[{"lat":39.2842856777794,"lng":22.706592929751846},{"lat":39.28448497993258,"lng":22.70571316519496},{"lat":39.28350507221904,"lng":22.70571316519496},{"lat":39.28358811577729,"lng":22.70648564139125}]', 'ektasi'=>6685, 'crop_data'=>array( array('year'=>2022,'cropid'=>23), array('seasonid'=>9,'cropid'=>22), ), ); $data_string=http_build_query($data); {/php}
Για ενημέρωση συμπληρώστε το &fieldid=XXX. Η ενημέρωση γίνεται μόνο σε ενεργά αγροτεμάχια (status=1)
key=abd123xxxxxxx&user-request=1&task=agronomist.addfield&farmerid=12&fieldid=122&data[...]
agronomist.getcrops
key=abd123xxxxxxx&user-request=1&task=agronomist.getcrops
Επιστρέφει μια λίστα με id, ονομα καλλιέργειας και άλλες πληροφορίες. Αποθηκεύστε αυτά τα δεδομένα και ενημερώστε τα μια φορά καθε τόσο καθώς δεν αλλάζουν συχνά.
Filters:
agronomist.getvarieties
key=abd123xxxxxxx&user-request=1&task=agronomist.getvarieties
Επιστρέφει μια λίστα με id, ονομα καλλιέργειας και άλλες πληροφορίες. Αποθηκεύστε αυτά τα δεδομένα και ενημερώστε τα μια φορά καθε τόσο καθώς δεν αλλάζουν συχνά.
Filters:
agronomist.getseasons
key=abd123xxxxxxx&user-request=1&task=agronomist.getaseasons
Επιστρέφει μια λίστα με id, και έτος. Αποθηκεύστε αυτά τα δεδομένα και ενημερώστε τα μια φορά καθε τόσο καθώς δεν αλλάζουν συχνά.
agronomist.getcares
key=abd123xxxxxxx&user-request=1&task=agronomist.getcares
Επιστρέφει μια λίστα με τις καλλιεργητικές εργασίες / φροντίδων . Αποθηκεύστε αυτά τα δεδομένα και ενημερώστε τα μια φορά καθε τόσο καθώς δεν αλλάζουν συχνά.
Filters:
Παράδειγμα
key=abd123xxxxxxx&user-request=1&task=agronomist.getcares&filters[cropid]=1
agronomist.getfertilizers
key=abd123xxxxxxx&user-request=1&task=agronomist.getfertilizers
Επιστρέφει μια λίστα με τα λιπάσματα . Αποθηκεύστε αυτά τα δεδομένα και ενημερώστε τα μια φορά καθε τόσο καθώς δεν αλλάζουν συχνά. Η μεταβλήτη filters μπορει να χρησιμοποιηθεί για φιλτράρισμα
Filters:
agronomist.getfytofarmaka
key=abd123xxxxxxx&user-request=1&task=agronomist.getfytofarmaka
Επιστρέφει μια λίστα με τα φυτοπροστατευτικά σκευάσματα. Αποθηκεύστε αυτά τα δεδομένα και ενημερώστε τα μια φορά καθε τόσο καθώς δεν αλλάζουν συχνά. Η μεταβλήτη filters μπορει να χρησιμοποιηθεί για φιλτράρισμα
Filters:
agronomist.getfieldcares
Επιστρέφει μια λίστα με τις καλλιεργητικές εργασιών για τα αγροτεμάχια που ζητήθηκαν
*1 ενα εκτων fields / farmers /vatids
Επεξήγηση πεδιών:
Παράδειγμα:
key=abd123xxxxxxx&user-request=1&task=agronomist.getfieldcares&filters[fieldid][0]=111&filters[fieldid][1]=112
agronomist.addfieldcare
key=abd123xxxxxxx&user-request=1&task=agronomist.addfieldcare&data[...]=..
Το "data" περιελαμβάνει όλα τα πεδία της φροντίδας
Υποχρεωτικά πεδια για την νέα εισαγωγή φροντίδας είναι δυναμικά ανάλογα την φροντίδα που θα εισαγέται. Τα υποχρεωτικά πεδια ανεξαρτήτως φροντίδας ειναι
Υποχρεωτικά πεδια ανα τύπο φροντίδας
ΛΙΠΑΝΣΗ (groupid=1, δειτε το getcares)
ΓΕΝΙΚΕΣ ΚΑΛ. ΕΡΓΑΣΙΕΣ (groupid=2, δειτε το getcares)
ΑΡΔΕΥΣΗ (groupid=3, δειτε το getcares)
ΦΥΤΟΠΡΟΣΤΑΣΙΑ (groupid=4, δειτε το getcares)
Τιμές πεδιου unit:
Τιμές πεδιου stage:
Τιμές πεδιου fertmeth:
Τιμές πεδιου watering:
Τιμές πεδιου weather:
agronomist.deletefieldcare
Το "data" περιελαμβάνει όλα τα πεδία για την διαγραφή φροντίδων
Τρόπος 1
key=abd123xxxxxxx&user-request=1&task=agronomist.deletefieldcare&data[id][0]=5156&data[id][1]=5157
Τρόπος 2
key=abd123xxxxxxx&user-request=1&task=agronomist.deletefieldcare&data[fields][0]=12&data[fields][1]=13&data[careid]=12&data[osde_year]=2023
Παράδειγμα σε PHP
{php}
<?php $api_url='https://app.agrobox.gr/api.php'; $api_key='xxxxxx'; //Προσθήκη χωραφιού στον αγρότη με ID:12 $query=array( 'key'=>$api_key, 'user-request'=>1, 'task'=>'agronomist.addfield', 'data'=>array( 'farmerid'=>12, 'name'=>'ΚΑΡΑΓΚΑΝΙ', 'location'=>'Επαρ.Οδ. Περίβλεπτου-Κοκκίνας, Περίβλεπτο 375 00, Ελλάδα', 'vertices'=>'[{"lat":39.2842856777794,"lng":22.706592929751846},{"lat":39.28448497993258,"lng":22.70571316519496},{"lat":39.28350507221904,"lng":22.70571316519496},{"lat":39.28358811577729,"lng":22.70648564139125}]', 'ektasi'=>6685, 'crop_data'=>array( array('year'=>2022,'cropid'=>23), array('seasonid'=>9,'cropid'=>22), ), ) ); $response=senddata($api_url,$query); echo $response; //Τα χωράφια του αγρότη με ID:12 $query=array( 'key'=>$api_key, 'user-request'=>1, 'task'=>'agronomist.getfields', 'filters'=>array( 'farmerid'=>12 ) ); $response=senddata($api_url,$query) echo $response; function senddata($api_url,$query) { $data_string=http_build_query($query); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$api_url); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_POSTFIELDS,$data_string); curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,15); curl_setopt($ch,CURLOPT_TIMEOUT, 25); $response = curl_exec($ch); curl_close ($ch); return $response; }
{/php}