Function GetSchoolCommittees
Λεξικό : Σχολικές Επιτροπές
Η συνάρτηση αυτή επιστρέφει όλες τις Σχολικές Επιτροπές σύμφωνα με τις παραμέτρους που έγινε η κλήση
Η κλήση μπορεί να γίνει μέσω της παρακάτω
διεύθυνσης με τη μέθοδο GET :
https://mm.sch.gr/api/school_committees
Τα αποτελέσματα είναι ταξινομημένα ως
προς το Όνομα της Σχολικές Επιτροπής
Μέσω των παραμέτρων Πεδίο Ταξινόμησης ($orderby) και Τύπος Ταξινόμησης ($ordertype) μπορεί να καθοριστεί το
πεδίο και η σειρά ταξινόμησης
Πίνακας Παραμέτρων
Στον Πίνακα Παραμέτρων Parameters
summary εμφανίζονται όλοι οι παράμετροι με
τους οποίους μπορεί να γίνει η κλήση της
συνάρτησης
Όλοι οι παράμετροι είναι προαιρετικοί
εκτός από αυτές που έχουν χαρακτηριστεί ως
υποχρεωτικοί
Οι παράμετροι μπορούν να χρησιμοποιηθούν
με οποιαδήποτε σειρά
Οι παράμετροι μπορούν να πάρουν τιμή "NULL"
για να αναζητήσουν τις κενές εγγραφές στα
αντίστοιχα πεδία
Πίνακας Αποτελεσμάτων
Στον Πίνακα Αποτελεσμάτων Return value
summary εμφανίζονται οι μεταβλητές που
επιστρέφει η συνάρτηση
Όλες οι μεταβλητές επιστρέφονται σε ένα
πίνακα σε JSON μορφή
Η μεταβλητή data είναι ο πίνακας με το
λεξικό
Η μεταβλητή status καθορίζει αν η εκτέλεση της
συνάρτησης ήταν επιτυχής (κωδικός 200) ή
προέκυψε κάποιο σφάλμα
Πίνακας Σφαλμάτων
Στον Πίνακα Σφαλμάτων Thrown exceptions
summary εμφανίζονται τα Μηνύματα Σφαλμάτων
που μπορεί να προκύψουν κατά την κλήση της
συνάρτησης
Οι περιγραφές των Σφαλμάτων καθώς και οι
Κωδικοί τους είναι διαθέσιμες μέσω του
πίνακα Μηνύματα Σφαλμάτων (ExceptionMessages
)
και Κωδικοί Σφαλμάτων (ExceptionCodes
)
αντίστοιχα
Παραδείγματα Κλήσης
Παρακάτω εμφανίζεται μια σειρά από
παραδείγματα κλήσης της συνάρτησης με
διάφορους τρόπους :
cURL | JavaScript | PHP | Ajax
Παράδειγμα κλήσης της συνάρτησης με cURL (console) :
curl -X GET https://mm.sch.gr/api/school_committees \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -u username:password \ -d '{"education_level" : "ΔΕΥΤΕΡΟΒΑΘΜΙΑ"}'
Παράδειγμα κλήσης της συνάρτησης με JavaScript :
<script> var params = JSON.stringify({ "education_level" : "ΔΕΥΤΕΡΟΒΑΘΜΙΑ" }); var http = new XMLHttpRequest(); http.open("GET", "https://mm.sch.gr/api/school_committees"); http.setRequestHeader("Accept", "application/json"); http.setRequestHeader("Content-type", "application/json; charset=utf-8"); http.setRequestHeader("Content-length", params.length); http.setRequestHeader("Authorization", "Basic " + btoa('username' + ':' + 'password') ); http.onreadystatechange = function() { if(http.readyState == 4 && http.status == 200) { var result = JSON.parse(http.responseText); document.write(result.status + " : " + result.message + " : " + result.data); } } http.send(params); </script>
Παράδειγμα κλήσης της συνάρτησης με PHP :
<?php header("Content-Type: text/html; charset=utf-8"); $params = array( "education_level" => "ΔΕΥΤΕΡΟΒΑΘΜΙΑ" ); $curl = curl_init("https://mm.sch.gr/api/school_committees"); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, "username:password"); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET"); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode( $params )); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $data = curl_exec($curl); $data = json_decode($data); echo "<pre>"; var_dump( $data ); echo "</pre>"; ?>
Παράδειγμα κλήσης της συνάρτησης με Ajax :
<script> $.ajax({ type: 'GET', url: 'https://mm.sch.gr/api/school_committees', dataType: "json", data: { "education_level" : "ΔΕΥΤΕΡΟΒΑΘΜΙΑ" }, beforeSend: function(req) { req.setRequestHeader('Authorization', btoa('username' + ":" + 'password')); }, success: function(data){ console.log(data); } }); </script>
Πίνακας Δεδομένων
Παρακάτω εμφανίζεται ένα δείγμα
του λεξικού σε μορφή JSON :
{"data":[ { "school_committee_id": 1, "education_level_id": 2, "name": "ΣΧΟΛΙΚΗ ΕΠΙΤΡΟΠΗ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΑΒΔΗΡΩΝ", "active": 1, "street_address": null, "postal_code": null, "fax_number": null, "phone_number": null, "email": null, "last_update": null, "tax_number": null, "comments": null, "region_edu_admin_id": null, "edu_admin_id": null, "prefecture_id": null, "municipality_id": null, "tax_office_id": null }, { "school_committee_id": 2, "education_level_id": 2, "name": "ΣΧΟΛΙΚΗ ΕΠΙΤΡΟΠΗ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΑΓΑΘΟΝΗΣΙΟΥ", "active": 1, "street_address": null, "postal_code": null, "fax_number": null, "phone_number": null, "email": null, "last_update": null, "tax_number": null, "comments": null, "region_edu_admin_id": null, "edu_admin_id": null, "prefecture_id": null, "municipality_id": null, "tax_office_id": null }, { "school_committee_id": 3, "education_level_id": 2, "name": "ΣΧΟΛΙΚΗ ΕΠΙΤΡΟΠΗ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΑΓΙΑΣ", "active": 1, "street_address": null, "postal_code": null, "fax_number": null, "phone_number": null, "email": null, "last_update": null, "tax_number": null, "comments": null, "region_edu_admin_id": null, "edu_admin_id": null, "prefecture_id": null, "municipality_id": null, "tax_office_id": null }, { "school_committee_id": 4, "education_level_id": 2, "name": "ΣΧΟΛΙΚΗ ΕΠΙΤΡΟΠΗ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΑΓΙΑΣ ΒΑΡΒΑΡΑΣ", "active": 1, "street_address": null, "postal_code": null, "fax_number": null, "phone_number": null, "email": null, "last_update": null, "tax_number": null, "comments": null, "region_edu_admin_id": null, "edu_admin_id": null, "prefecture_id": null, "municipality_id": null, "tax_office_id": null }, { "school_committee_id": 5, "education_level_id": 2, "name": "ΣΧΟΛΙΚΗ ΕΠΙΤΡΟΠΗ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΑΓΙΑΣ ΠΑΡΑΣΚΕΥΗΣ", "active": 1, "street_address": null, "postal_code": null, "fax_number": null, "phone_number": null, "email": null, "last_update": null, "tax_number": null, "comments": null, "region_edu_admin_id": null, "edu_admin_id": null, "prefecture_id": null, "municipality_id": null, "tax_office_id": null } ]}
mixed |
$school_committee |
Σχολική Επιτροπή Το Όνομα ή ο Κωδικός της Σχολικής Επιτροπής Η παράμετρος δεν είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypes Η τιμή της παραμέτρου μπορεί να είναι : mixed{integer|string|array[integer|string]}
|
mixed |
$education_level |
Επίπεδο Εκπαίδευσης Το Όνομα ή ο Κωδικός του Επιπέδου Εκπαίδευσης Η παράμετρος δεν είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypes (Λεξικό : GetEducationLevels() )Η τιμή της παραμέτρου μπορεί να είναι : mixed{integer|string|array[integer|string]}
|
integer |
$pagesize |
Αριθμός Εγγραφών/Σελίδα Ο αριθμός των εγγραφών που θα επιστρέψουν ανα σελίδα Η παράμετρος δεν είναι υποχρεωτική Αν η παράμετρος δεν έχει τιμή τότε θα επιστραφούν όλες οι εγγραφές ( Parameters::AllPageSize )Λίστα Παραμέτρων Σελιδοποίησης : Parameters Η τιμή της παραμέτρου μπορεί να είναι : integer
|
integer |
$page |
Αριθμός Σελίδας Ο αριθμός της σελίδας με τις $pagesize εγγραφές που βρέθηκαν σύμφωμα με τις παραμέτρους Η παράμετρος δεν είναι υποχρεωτική Αν η παράμετρος δεν έχει τιμή τότε θα επιστραφεί η πρώτη σελίδα Η τιμή της παραμέτρου μπορεί να είναι : integer
|
string |
$orderby |
Πεδίο Ταξινόμησης Το όνομα του πεδίου με το οποίο γίνεται η ταξινόμηση των εγγραφών Η παράμετρος δεν είναι υποχρεωτική Αν η παράμετρος δεν έχει τιμή τότε η ταξινόμηση γίνεται με το Όνομα της Σχολικής Επιτροπής Η τιμή της παραμέτρου μπορεί να είναι : string
|
string |
$ordertype |
Τύπος Ταξινόμησης Ο Τύπος Ταξινόμησης με τον οποίο γίνεται η ταξινόμηση των εγγραφών Η παράμετρος δεν είναι υποχρεωτική Αν η παράμετρος δεν έχει τιμή τότε η ταξινόμηση γίνεται με Αύξουσα Σειρά ( OrderEnumTypes::ASC )Λίστα Τύπων Ταξινόμησης : OrderEnumTypes Η τιμή της παραμέτρου μπορεί να είναι : string
|
string |
$searchtype |
Τύπος Αναζήτησης Ο Τύπος Αναζήτησης με τον οποίο γίνεται η αναζήτηση στο Όνομα ($school_committee) της Σχολικής Επιτροπής Η παράμετρος δεν είναι υποχρεωτική Αν η παράμετρος δεν έχει τιμή τότε η αναζήτηση στο Όνομα γίνεται με τον Τύπο SearchEnumTypes::ContainAll Αν το Όνομα έχει Αριθμητική Τιμή τότε η αναζήτηση γίνεται με τον Κωδικό της Σχολικής Επιτροπής με Τύπο SearchEnumTypes::Exact Λίστα Τύπων Αναζήτησης : SearchEnumTypes Η τιμή της παραμέτρου μπορεί να είναι : string
|
Array<JSON>
|
Επιστρέφει ένα πίνακα σε JSON μορφή με πεδία
: string : method : Η μέθοδος κλήσης της συνάρτησης integer : status : Ο Κωδικός ExceptionCodes του
αποτελέσματος της κλήσηςstring : message : Το Μήνυμα ExceptionMessages του
αποτελέσματος της κλήσηςinteger : count : Το πλήθος των εγγραφών της κλήσης σύμφωνα με τις παραμέτρους σελιδοποίησης integer : total : Το πλήθος των εγγραφών χωρίς τις παραμέτρους σελιδοποίησης array : data : Ο Πίνακας με το λεξικό
|
InvalidSearchType
|
ExceptionMessages::InvalidSearchType ExceptionCodes::InvalidSearchType Ο Τύπος Αναζήτησης είναι λάθος |
MissingPageValue
|
ExceptionMessages::MissingPageValue ExceptionCodes::MissingPageValue Ο Αριθμός Σελίδας πρέπει να έχει τιμή |
InvalidPageArray
|
ExceptionMessages::InvalidPageArray ExceptionCodes::InvalidPageArray Ο Αριθμός Σελίδας δεν μπορεί να έχει πολλαπλές τιμές |
InvalidPageNumber
|
ExceptionMessages::InvalidPageNumber ExceptionCodes::InvalidPageNumber Ο Αριθμός Σελίδας πρέπει να είναι μεγαλύτερος από 0 |
InvalidPageType
|
ExceptionMessages::InvalidPageType ExceptionCodes::InvalidPageType Ο Αριθμός Σελίδας πρέπει να είναι αριθμητικός |
MissingPageSizeValue
|
ExceptionMessages::MissingPageSizeValue ExceptionCodes::MissingPageSizeValue Ο Αριθμός Εγγραφών/Σελίδα πρέπει να έχει τιμή |
InvalidPageSizeArray
|
ExceptionMessages::InvalidPageSizeArray ExceptionCodes::InvalidPageSizeArray Ο Αριθμός Εγγραφών/Σελίδα δεν μπορεί να έχει πολλαπλές τιμές |
InvalidPageSizeNumber
|
ExceptionMessages::InvalidPageSizeNumber ExceptionCodes::InvalidPageSizeNumber Ο Αριθμός Εγγραφών/Σελίδα πρέπει να είναι από 0 έως 500 |
InvalidPageSizeType
|
ExceptionMessages::InvalidPageSizeType ExceptionCodes::InvalidPageSizeType Ο Αριθμός Εγγραφών/Σελίδα πρέπει να είναι αριθμητικός |
InvalidSchoolCommitteeType
|
ExceptionMessages::InvalidSchoolCommitteeType ExceptionCodes::InvalidSchoolCommitteeType Η Σχολική Επιτροπή πρέπει να είναι αριθμητική ή αλφαριθμητική |
InvalidEducationLevelType
|
ExceptionMessages::InvalidEducationLevelType ExceptionCodes::InvalidEducationLevelType Το Επίπεδο Εκπαίδευσης πρέπει να είναι αριθμητικό ή αλφαριθμητικό |
InvalidOrderType
|
ExceptionMessages::InvalidOrderType ExceptionCodes::InvalidOrderType Ο Τύπος Ταξινόμησης πρέπει να είναι ASC ή DESC |
InvalidOrderBy
|
ExceptionMessages::InvalidOrderBy ExceptionCodes::InvalidOrderBy Το Πεδίο Ταξινόμησης πρέπει να είναι κάποιο από τα πεδία που επιστρέφει η συνάρτηση |