Function PostConnections
Καταχώρηση Διασύνδεσης
Η συνάρτηση αυτή καταχωρεί τις Διασυνδέσεις σύμφωνα με τις παραμέτρους που έγινε η κλήση
Η κλήση μπορεί να γίνει μέσω της παρακάτω
διεύθυνσης με τη μέθοδο POST :
https://mm.sch.gr/api/connections
Κανόνες Δημιουργίας Διασύνδεσης
- H σχολική μονάδα που αντιστοιχεί στο ldap_id,cpe_id,circuit_id θα πρέπει να είναι ίδια με την σχολική μονάδα της Διασύνδεσης.
- Ένα CPE μπορεί να ανήκει σε περισσότερες από μία Διασυνδέσεις.
- Ο LDAP λογαριασμός και το Τηλεπικοινωνιακό Κύκλωμα ανήκουν σε μια και μοναδική Διασύνδεση.
- Ένα καταργημένο Τηλεπικοινωνιακό Κύκλωμα δεν μπορεί να ανήκει σε μια Διασύνδεση.
- Το CPE είναι μοναδικό ανά σχολική μονάδα , ένα CPE μπορεί να ανήκει σε μια και μόνο σχολική μονάδα.
- Ο LDAP λογαριασμός είναι μοναδικός ανά σχολική μονάδα, Ο LDAP λογαριασμός μπορεί να ανήκει σε μια και μόνο σχολική μονάδα.
- Το Τηλεπικοινωνιακό Κύκλωμα είναι μοναδικό ανά σχολική μονάδα, ένα Τηλεπικοινωνιακό Κύκλωμα μπορεί να ανήκει σε μια και μόνο σχολική μονάδα.
Πίνακας Παραμέτρων
Στον Πίνακα Παραμέτρων Parameters
summary εμφανίζονται όλοι οι παράμετροι με
τους οποίους μπορεί να γίνει η κλήση της
συνάρτησης
Όλοι οι παράμετροι είναι προαιρετικοί
εκτός από αυτές που έχουν χαρακτηριστεί ως
υποχρεωτικοί
Οι παράμετροι μπορούν να χρησιμοποιηθούν
με οποιαδήποτε σειρά
Πίνακας Αποτελεσμάτων
Στον Πίνακα Αποτελεσμάτων Return value
summary εμφανίζονται οι μεταβλητές που
επιστρέφει η συνάρτηση
Όλες οι μεταβλητές επιστρέφονται σε ένα
πίνακα σε JSON μορφή
Η μεταβλητή data είναι ο πίνακας με το
λεξικό
Η μεταβλητή status καθορίζει αν η εκτέλεση της
συνάρτησης ήταν επιτυχής (κωδικός 200) ή
προέκυψε κάποιο σφάλμα
Πίνακας Σφαλμάτων
Στον Πίνακα Σφαλμάτων Thrown exceptions
summary εμφανίζονται τα Μηνύματα Σφαλμάτων
που μπορεί να προκύψουν κατά την κλήση της
συνάρτησης
Οι περιγραφές των Σφαλμάτων καθώς και οι
Κωδικοί τους είναι διαθέσιμες μέσω του
πίνακα Μηνύματα Σφαλμάτων (ExceptionMessages
)
και Κωδικοί Σφαλμάτων (ExceptionCodes
)
αντίστοιχα
Παραδείγματα Κλήσης
Παρακάτω εμφανίζεται μια σειρά από
παραδείγματα κλήσης της συνάρτησης με
διάφορους τρόπους :
cURL | JavaScript | PHP | Ajax
Παράδειγμα κλήσης της συνάρτησης με cURL (console) :
curl -X POST https://mm.sch.gr/api/connections \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -u username:password \ -d '{"mm_id" : "1016657", "circuit_id" : "345"}'
Παράδειγμα κλήσης της συνάρτησης με JavaScript :
<script> var params = JSON.stringify({ "mm_id" : "1016657", "circuit_id" : "345" }); var http = new XMLHttpRequest(); http.open("POST", "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( "mm_id" => "1016657", "circuit_id" => "345" ); $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, "POST"); 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: 'POST', url: 'https://mm.sch.gr/api/connections', dataType: "json", data: { "mm_id" : "1016657", "circuit_id" : "345" }, beforeSend: function(req) { req.setRequestHeader('Authorization', btoa('username' + ":" + 'password')); }, success: function(data){ console.log(data); } }); </script>
Πίνακας Δεδομένων
Παρακάτω εμφανίζεται πίνακας σε
μορφή JSON :
{ "method": "PostConnections", "connection_id": 100, "status": 200, "message": "success" }
integer |
$mm_id |
Κωδικός ΜΜ Μονάδας Ο Κωδικός ΜΜ της Μονάδας Η παράμετρος είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypes Μονάδες : GetUnits() Η τιμή της παραμέτρου μπορεί να είναι : integer
|
integer |
$cpe_id |
Κωδικός CPE Ο Κωδικός του CPE Η παράμετρος δεν είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypes CPEs : GetCpes() Η τιμή της παραμέτρου μπορεί να είναι : integer
|
integer |
$ldap_id |
Κωδικός Ldap Ο Κωδικός του Ldap Η παράμετρος δεν είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypes Ldaps : GetLdaps() Η τιμή της παραμέτρου μπορεί να είναι : integer
|
integer |
$circuit_id |
Κωδικός Κυκλώματος Ο Κωδικός του Κυκλώματος Η παράμετρος είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypes Κυκλώματα : GetCircuits() Η τιμή της παραμέτρου μπορεί να είναι : integer
|
Array<JSON>
|
Επιστρέφει ένα πίνακα σε JSON μορφή με πεδία
: string : method : Η μέθοδος κλήσης της συνάρτησης integer : status : Ο Κωδικός ExceptionCodes του
αποτελέσματος της κλήσηςstring : message : Το Μήνυμα ExceptionMessages του
αποτελέσματος της κλήσηςinteger : connection_id : Ο Κωδικός της Διασύνδεσης |
Unauthorized
|
ExceptionMessages::Unauthorized ExceptionCodes::Unauthorized Έλεγχος αν ο χρήστης υπάρχει και έχει δικαιώματα να χρησιμοποιείσει τη μέθοδο |
InvalidUnitMMIDArray
|
ExceptionMessages::InvalidUnitMMIDArray ExceptionCodes::InvalidUnitMMIDArray Ο Κωδικός ΜΜ δεν μπορεί να έχει πολλαπλές τιμές |
MissingUnitMMIDValue
|
ExceptionMessages::MissingUnitMMIDValue ExceptionCodes::MissingUnitMMIDValue Ο Κωδικός ΜΜ πρέπει να έχει τιμή |
InvalidUnitValue
|
ExceptionMessages::InvalidUnitValue ExceptionCodes::InvalidUnitValue Η Μονάδα δεν δεν βρέθηκε |
InvalidUnitMMIDType
|
ExceptionMessages::InvalidUnitMMIDType ExceptionCodes::InvalidUnitMMIDType Ο Κωδικός ΜΜ πρέπει να είναι αριθμητικό |
MissingUnitMMIDParam
|
ExceptionMessages::MissingUnitMMIDParam ExceptionCodes::MissingUnitMMIDParam Ο Κωδικός ΜΜ είναι υποχρεωτικό πεδίο |
InvalidCpeIDArray
|
ExceptionMessages::InvalidCpeIDArray ExceptionCodes::InvalidCpeIDArray Ο Κωδικός του Cpe δεν μπορεί να έχει πολλαπλές τιμές |
InvalidCpeValue
|
ExceptionMessages::InvalidCpeValue ExceptionCodes::InvalidCpeValue Το Cpe δεν υπάρχει στο λεξικό |
InvalidCpeIDType
|
ExceptionMessages::InvalidCpeIDType ExceptionCodes::InvalidCpeIDType Ο Κωδικός του Cpe πρέπει να είναι αριθμητικό |
InvalidLdapIDArray
|
ExceptionMessages::InvalidLdapIDArray ExceptionCodes::InvalidLdapIDArray Ο Κωδικός του Ldap Λογαριασμού δεν μπορεί να έχει πολλαπλές τιμές |
InvalidLdapValue
|
ExceptionMessages::InvalidLdapValue ExceptionCodes::InvalidLdapValue Ο Ldap Λογαριασμός δεν υπάρχει στο λεξικό |
InvalidLdapIDType
|
ExceptionMessages::InvalidLdapIDType ExceptionCodes::InvalidLdapIDType Ο Κωδικός του Ldap Λογαριασμού πρέπει να είναι αριθμητικός |
InvalidCircuitIDArray
|
ExceptionMessages::InvalidCircuitIDArray ExceptionCodes::InvalidCircuitIDArray Ο Κωδικός του Τηλεπικοινωνιακού Κυκλώματος δεν μπορεί να έχει πολλαπλές τιμές |
InvalidCircuitValue
|
ExceptionMessages::InvalidCircuitValue ExceptionCodes::InvalidCircuitValue Το Τηλεπικοινωνιακό Κύκλωμα δεν υπάρχει στο λεξικό |
InvalidCircuitIDType
|
ExceptionMessages::InvalidCircuitIDType ExceptionCodes::InvalidCircuitIDType Ο Κωδικός του Τηλεπικοινωνιακού Κυκλώματος πρέπει να είναι αριθμητικός |