Function GetCircuits
Τηλεπικοινωνιακά Κυκλώματα
Η συνάρτηση αυτή επιστρέφει όλα τα Τηλεπικοινωνιακά Κυκλώματα σύμφωνα με τις παραμέτρους που έγινε η κλήση
Η κλήση μπορεί να γίνει μέσω της παρακάτω
διεύθυνσης με τη μέθοδο GET :
https://mm.sch.gr/api/circuits
Τα αποτελέσματα είναι ταξινομημένα ως
προς τον Κωδικό ΜΜ της Μονάδας
Μέσω των παραμέτρων Πεδίο Ταξινόμησης ($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/circuits \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -u username:password \ -d '{"circuit_type": "ISDN ADSL"}'
Παράδειγμα κλήσης της συνάρτησης με JavaScript :
<script> var params = JSON.stringify({ "circuit_type": "ISDN ADSL" }); var http = new XMLHttpRequest(); http.open("GET", "https://mm.sch.gr/api/circuits"); http.setRequestHeader("Accept", "application/json"); http.setRequestHeader("Content-type", "application/json; charset=utf-8"); 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("circuit_type" => "ISDN ADSL"); $curl = curl_init("https://mm.sch.gr/api/circuits"); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, "username:password"); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET"); 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/circuits', dataType: "json", data:{'circuit_type': 'ISDN ADSL'}, beforeSend: function(req) { req.setRequestHeader('Authorization', btoa('username' + ":" + 'password')); }, success: function(data){ console.log(data); } }); </script>
Πίνακας Δεδομένων
Παρακάτω εμφανίζεται ένα δείγμα
του λεξικού σε μορφή JSON :
{"data":[
{
"circuit_id": 10382,
"phone_number": "2109373724",
"status": 1,
"paid_by_psd": 1,
"activated_date": "2000-03-09 16:07:00",
"updated_date": "2013-12-18 16:07:00",
"deactivated_date": null,
"bandwidth": "24576/1024Kbps",
"readspeed": null,
"mm_id": 1000023,
"registry_no": "0501004",
"unit_name": "ΠΡΟΤΥΠΟ ΠΕΙΡΑΜΑΤΙΚΟ ΓΥΜΝΑΣΙΟ ΝΕΑ ΣΜΥΡΝΗ",
"special_unit_name": "ΕΥΑΓΓΕΛΙΚΗ ΣΧΟΛΗ ΣΜΥΡΝΗΣ",
"circuit_type_id": 2,
"circuit_type": "aDSLoISDN"
},
{
"circuit_id": 8008,
"phone_number": "2102693119",
"status": 1,
"paid_by_psd": 1,
"activated_date": null,
"updated_date": "2013-12-13 20:06:00",
"deactivated_date": null,
"bandwidth": "24576/1024Kbps",
"readspeed": null,
"mm_id": 1000025,
"registry_no": "0501005",
"unit_name": "ΠΡΟΤΥΠΟ ΠΕΙΡΑΜΑΤΙΚΟ ΓΥΜΝΑΣΙΟ ΑΓ. ΑΝΑΡΓΥΡΩΝ",
"special_unit_name": null,
"circuit_type_id": 2,
"circuit_type": "aDSLoISDN"
},
{
"circuit_id": 6609,
"phone_number": "2103257309",
"status": 1,
"paid_by_psd": 1,
"activated_date": null,
"updated_date": "2013-12-13 19:49:00",
"deactivated_date": null,
"bandwidth": "24576/1024Kbps",
"readspeed": null,
"mm_id": 1000027,
"registry_no": "0501040",
"unit_name": "1ο ΠΡΟΤΥΠΟ ΠΕΙΡΑΜΑΤΙΚΟ ΓΥΜΝΑΣΙΟ ΑΘΗΝΑΣ",
"special_unit_name": null,
"circuit_type_id": 2,
"circuit_type": "aDSLoISDN"
},
{
"circuit_id": 7671,
"phone_number": "2105202994",
"status": 1,
"paid_by_psd": 1,
"activated_date": null,
"updated_date": "2013-12-13 20:02:00",
"deactivated_date": null,
"bandwidth": "24576/1024Kbps",
"readspeed": null,
"mm_id": 1000028,
"registry_no": "0501050",
"unit_name": "2ο ΔΙΑΠΟΛΙΤΙΣΜΙΚΟ ΓΥΜΝΑΣΙΟ ΑΘΗΝΩΝ",
"special_unit_name": "ΓΥΜΝΑΣΙΟ ΔΙΑΠΟΛΙΤΙΣΜΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Α ΑΘΗΝΑΣ",
"circuit_type_id": 2,
"circuit_type": "aDSLoISDN"
},
{
"circuit_id": 8002,
"phone_number": "2105786127",
"status": 1,
"paid_by_psd": 1,
"activated_date": null,
"updated_date": "2013-12-13 20:06:00",
"deactivated_date": null,
"bandwidth": "24576/1024Kbps",
"readspeed": null,
"mm_id": 1000032,
"registry_no": "0501067",
"unit_name": "8ο ΗΜΕΡΗΣΙΟ ΓΥΜΝΑΣΙΟ ΙΛΙΟΥ",
"special_unit_name": null,
"circuit_type_id": 2,
"circuit_type": "aDSLoISDN"
}
]}
mixed |
$circuit |
Τηλεπικοινωνιακό Κύκλωμα Ο Κωδικός και το Όνομα του Τηλεπικοινωνιακού Κυκλώματος Η παράμετρος δεν είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypesΗ τιμή της παραμέτρου μπορεί να είναι : mixed{integer|array[integer]}
|
mixed |
$circuit_type |
Τύπος Τηλεπικοινωνιακού Κυκλώματος Ο Κωδικός και το Όνομα του Τύπου Τηλεπικοινωνιακού Κυκλώματος Η παράμετρος δεν είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypesΗ τιμή της παραμέτρου μπορεί να είναι : mixed{integer|string|array[integer|string]}
|
mixed |
$phone_number |
Αριθμός Τηλεπικοινωνιακού Κυκλώματος Ο Αριθμός του Τηλεπικοινωνιακού Κυκλώματος Η παράμετρος δεν είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypesΗ τιμή της παραμέτρου μπορεί να είναι : mixed{string|array[string]}
|
mixed |
$unit |
Μονάδα Ο Κωδικός MM και το Όνομα της Μονάδας Η παράμετρος δεν είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypesΜονάδες : GetUnits()Η τιμή της παραμέτρου μπορεί να είναι : 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 |
Τύπος Αναζήτησης Ο Τύπος Αναζήτησης με τον οποίο γίνεται η αναζήτηση στον Αριθμό ($phone_number) του Τηλεπικοινωνιακού Κυκλώματος Η παράμετρος δεν είναι υποχρεωτική Αν η παράμετρος δεν έχει τιμή τότε η αναζήτηση στα πεδία αυτά γίνεται με τον Τύπο SearchEnumTypes::ContainAllΛίστα Τύπων Αναζήτησης : SearchEnumTypesΗ τιμή της παραμέτρου μπορεί να είναι : string
|
Array<JSON>
|
Επιστρέφει ένα πίνακα σε JSON μορφή με πεδία
: string : method : Η μέθοδος κλήσης της συνάρτησης integer : status : Ο Κωδικός ExceptionCodes του
αποτελέσματος της κλήσηςstring : message : Το Μήνυμα ExceptionMessages του
αποτελέσματος της κλήσηςinteger : count : Το πλήθος των εγγραφών της κλήσης σύμφωνα με τις παραμέτρους σελιδοποίησης integer : total : Το πλήθος των εγγραφών χωρίς τις παραμέτρους σελιδοποίησης array : data : Ο Πίνακας με το λεξικό
|
InvalidSearchType
|
ExceptionMessages::InvalidSearchTypeExceptionCodes::InvalidSearchTypeΟ Τύπος Αναζήτησης είναι λάθος |
MissingPageValue
|
ExceptionMessages::MissingPageValueExceptionCodes::MissingPageValueΟ Αριθμός Σελίδας πρέπει να έχει τιμή |
InvalidPageArray
|
ExceptionMessages::InvalidPageArrayExceptionCodes::InvalidPageArrayΟ Αριθμός Σελίδας δεν μπορεί να έχει πολλαπλές τιμές |
InvalidPageNumber
|
ExceptionMessages::InvalidPageNumberExceptionCodes::InvalidPageNumberΟ Αριθμός Σελίδας πρέπει να είναι μεγαλύτερος από 0 |
InvalidPageType
|
ExceptionMessages::InvalidPageTypeExceptionCodes::InvalidPageTypeΟ Αριθμός Σελίδας πρέπει να είναι αριθμητικός |
MissingPageSizeValue
|
ExceptionMessages::MissingPageSizeValueExceptionCodes::MissingPageSizeValueΟ Αριθμός Εγγραφών/Σελίδα πρέπει να έχει τιμή |
InvalidPageSizeArray
|
ExceptionMessages::InvalidPageSizeArrayExceptionCodes::InvalidPageSizeArrayΟ Αριθμός Εγγραφών/Σελίδα δεν μπορεί να έχει πολλαπλές τιμές |
InvalidPageSizeNumber
|
ExceptionMessages::InvalidPageSizeNumberExceptionCodes::InvalidPageSizeNumberΟ Αριθμός Εγγραφών/Σελίδα πρέπει να είναι από 0 έως 500 |
InvalidPageSizeType
|
ExceptionMessages::InvalidPageSizeTypeExceptionCodes::InvalidPageSizeTypeΟ Αριθμός Εγγραφών/Σελίδα πρέπει να είναι αριθμητικός |
InvalidCircuitIDType
|
ExceptionMessages::InvalidCircuitIDTypeExceptionCodes::InvalidCircuitIDTypeΟ Κωδικός του Τηλεπικοινωνιακού Κυκλώματος πρέπει να είναι αριθμητικός |
InvalidCircuitTypeType
|
ExceptionMessages::InvalidCircuitTypeTypeExceptionCodes::InvalidCircuitTypeTypeΟ Τύπος Τηλεπικοινωνιακού Κυκλώματος πρέπει να είναι αριθμητικός ή αλφαριθμητικός |
InvalidCircuitPhoneNumberType
|
ExceptionMessages::InvalidCircuitPhoneNumberTypeExceptionCodes::InvalidCircuitPhoneNumberTypeΟ Αριθμός του Κυκλώματος πρέπει να είναι αριθμητικός ή αλφαριθμητικός |
InvalidUnitType
|
ExceptionMessages::InvalidUnitTypeExceptionCodes::InvalidUnitTypeΗ Μονάδα πρέπει να είναι αριθμητική ή αλφαριθμητική |
InvalidOrderType
|
ExceptionMessages::InvalidOrderTypeExceptionCodes::InvalidOrderTypeΟ Τύπος Ταξινόμησης πρέπει να είναι ASC ή DESC |
InvalidOrderBy
|
ExceptionMessages::InvalidOrderByExceptionCodes::InvalidOrderByΤο Πεδίο Ταξινόμησης πρέπει να είναι κάποιο από τα πεδία που επιστρέφει η συνάρτηση |