Function GetConnections
Διασυνδέσεις Τηλεπικοινωνιακών Κυκλωμάτων
Η συνάρτηση αυτή επιστρέφει όλες τις Διασυνδέσεις των Τηλεπικοινωνιακών Κυκλωμάτων σύμφωνα με τις παραμέτρους που έγινε η κλήση
Η κλήση μπορεί να γίνει μέσω της παρακάτω
διεύθυνσης με τη μέθοδο GET :
https://mm.sch.gr/api/connections
Τα αποτελέσματα είναι ταξινομημένα ως
προς το Όνομα της Μονάδας
Μέσω των παραμέτρων Πεδίο Ταξινόμησης ($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/connections \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -u username:password \ -d '{"unit" : "1002553"}'
Παράδειγμα κλήσης της συνάρτησης με JavaScript :
<script> var params = JSON.stringify({ "unit" : "1002553" }); var http = new XMLHttpRequest(); http.open("GET", "https://mm.sch.gr/api/connections"); 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( "unit" => "1002553" ); $curl = curl_init("https://mm.sch.gr/api/connections"); 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/connections', dataType: "json", data: { "unit" : "1002553" }, beforeSend: function(req) { req.setRequestHeader('Authorization', btoa('username' + ":" + 'password')); }, success: function(data){ console.log(data); } }); </script>
Πίνακας Δεδομένων
Παρακάτω εμφανίζεται ένα δείγμα
του λεξικού σε μορφή JSON :
{"data":[ { "connection_id": 184, "unit": { "mm_id": 1002553, "registry_no": "9050097", "unit_name": "100ο ΟΛΟΗΜΕΡΟ ΔΗΜΟΤΙΚΟ ΣΧΟΛΕΙΟ ΑΘΗΝΩΝ", "special_unit_name": null }, "cpe": { "cpe_id": null, "cpe": null }, "ldap": { "ldap_id": null, "ldap_uid": null }, "circuit": { "circuit_id": null, "phone_number": null, "status": null, "paid_by_psd": null, "activated_date": null, "updated_date": null, "deactivated_date": null, "bandwidth": null, "readspeed": null, "circuit_type_id": null, "circuit_type": null }, "unit_network_subnets": [ { "connection_unit_network_subnet_id": 550, "connection_id": 184, "unit_network_subnet_id": 184, "subnet_name": null, "subnet_ip": "10.79.107.0", "subnet_default_router": null, "mask": "/24", "unit_network_subnet_type_id": 1, "unit_network_subnet_type": "LAN" }, { "connection_unit_network_subnet_id": 551, "connection_id": 184, "unit_network_subnet_id": 5799, "subnet_name": null, "subnet_ip": "81.186.16.244", "subnet_default_router": null, "mask": "/30", "unit_network_subnet_type_id": 2, "unit_network_subnet_type": "NAT" }, { "connection_unit_network_subnet_id": 552, "connection_id": 184, "unit_network_subnet_id": 11411, "subnet_name": null, "subnet_ip": "81.186.194.195", "subnet_default_router": null, "mask": "/32", "unit_network_subnet_type_id": 3, "unit_network_subnet_type": "ROUTER_IP" } ] }, { "connection_id": 1353, "unit": { "mm_id": 1005932, "registry_no": "9190637", "unit_name": "100ο ΟΛΟΗΜΕΡΟ ΔΗΜΟΤΙΚΟ ΣΧΟΛΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ", "special_unit_name": null }, "cpe": { "cpe_id": null, "cpe": null }, "ldap": { "ldap_id": null, "ldap_uid": null }, "circuit": { "circuit_id": 3207, "phone_number": "2310914550", "status": true, "paid_by_psd": true, "activated_date": null, "updated_date": "2013-12-13 19:09:00", "deactivated_date": null, "bandwidth": "2048\/512Kbps", "readspeed": null, "circuit_type_id": "2", "circuit_type": "aDSLoISDN" }, "unit_network_subnets": [ { "connection_unit_network_subnet_id": 4052, "connection_id": 1353, "unit_network_subnet_id": 1352, "subnet_name": null, "subnet_ip": "10.128.155.0", "subnet_default_router": null, "mask": "/24", "unit_network_subnet_type_id": 1, "unit_network_subnet_type": "LAN" }, { "connection_unit_network_subnet_id": 4053, "connection_id": 1353, "unit_network_subnet_id": 6964, "subnet_name": null, "subnet_ip": "81.186.171.188", "subnet_default_router": null, "mask": "/30", "unit_network_subnet_type_id": 2, "unit_network_subnet_type": "NAT" }, { "connection_unit_network_subnet_id": 4054, "connection_id": 1353, "unit_network_subnet_id": 12580, "subnet_name": null, "subnet_ip": "81.186.171.251", "subnet_default_router": null, "mask": "/32", "unit_network_subnet_type_id": 3, "unit_network_subnet_type": "ROUTER_IP" } ] } ]}
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 |
Τύπος Αναζήτησης Ο Τύπος Αναζήτησης με τον οποίο γίνεται η αναζήτηση στο Όνομα της Μονάδας ($unit) Η παράμετρος δεν είναι υποχρεωτική Αν η παράμετρος δεν έχει τιμή τότε η αναζήτηση γίνεται με τον Τύπο SearchEnumTypes::ContainAll Αν η παράμετρος Μονάδα ($unit) έχει Αριθμητική Τιμή τότε η αναζήτηση γίνεται με τον Κωδικό ΜΜ της Μονάδας με Τύπο 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 Ο Αριθμός Εγγραφών/Σελίδα πρέπει να είναι αριθμητικός |
InvalidUnitType
|
ExceptionMessages::InvalidUnitType ExceptionCodes::InvalidUnitType Η Μονάδα πρέπει να είναι αριθμητική ή αλφαριθμητική |
InvalidOrderType
|
ExceptionMessages::InvalidOrderType ExceptionCodes::InvalidOrderType Ο Τύπος Ταξινόμησης πρέπει να είναι ASC ή DESC |
InvalidOrderBy
|
ExceptionMessages::InvalidOrderBy ExceptionCodes::InvalidOrderBy Το Πεδίο Ταξινόμησης πρέπει να είναι κάποιο από τα πεδία που επιστρέφει η συνάρτηση |