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 Η παράμετρος δεν είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypesCPEs : GetCpes()Η τιμή της παραμέτρου μπορεί να είναι : integer
|
integer |
$ldap_id |
Κωδικός Ldap Ο Κωδικός του Ldap Η παράμετρος δεν είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypesLdaps : GetLdaps()Η τιμή της παραμέτρου μπορεί να είναι : integer
|
integer |
$circuit_id |
Κωδικός Κυκλώματος Ο Κωδικός του Κυκλώματος Η παράμετρος είναι υποχρεωτική Λίστα Τύπων Αναζήτησης : SearchEnumTypesΚυκλώματα : GetCircuits()Η τιμή της παραμέτρου μπορεί να είναι : integer
|
Array<JSON>
|
Επιστρέφει ένα πίνακα σε JSON μορφή με πεδία
: string : method : Η μέθοδος κλήσης της συνάρτησης integer : status : Ο Κωδικός ExceptionCodes του
αποτελέσματος της κλήσηςstring : message : Το Μήνυμα ExceptionMessages του
αποτελέσματος της κλήσηςinteger : connection_id : Ο Κωδικός της Διασύνδεσης |
Unauthorized
|
ExceptionMessages::UnauthorizedExceptionCodes::UnauthorizedΈλεγχος αν ο χρήστης υπάρχει και έχει δικαιώματα να χρησιμοποιείσει τη μέθοδο |
InvalidUnitMMIDArray
|
ExceptionMessages::InvalidUnitMMIDArrayExceptionCodes::InvalidUnitMMIDArrayΟ Κωδικός ΜΜ δεν μπορεί να έχει πολλαπλές τιμές |
MissingUnitMMIDValue
|
ExceptionMessages::MissingUnitMMIDValueExceptionCodes::MissingUnitMMIDValueΟ Κωδικός ΜΜ πρέπει να έχει τιμή |
InvalidUnitValue
|
ExceptionMessages::InvalidUnitValueExceptionCodes::InvalidUnitValueΗ Μονάδα δεν δεν βρέθηκε |
InvalidUnitMMIDType
|
ExceptionMessages::InvalidUnitMMIDTypeExceptionCodes::InvalidUnitMMIDTypeΟ Κωδικός ΜΜ πρέπει να είναι αριθμητικό |
MissingUnitMMIDParam
|
ExceptionMessages::MissingUnitMMIDParamExceptionCodes::MissingUnitMMIDParamΟ Κωδικός ΜΜ είναι υποχρεωτικό πεδίο |
InvalidCpeIDArray
|
ExceptionMessages::InvalidCpeIDArrayExceptionCodes::InvalidCpeIDArrayΟ Κωδικός του Cpe δεν μπορεί να έχει πολλαπλές τιμές |
InvalidCpeValue
|
ExceptionMessages::InvalidCpeValueExceptionCodes::InvalidCpeValueΤο Cpe δεν υπάρχει στο λεξικό |
InvalidCpeIDType
|
ExceptionMessages::InvalidCpeIDTypeExceptionCodes::InvalidCpeIDTypeΟ Κωδικός του Cpe πρέπει να είναι αριθμητικό |
InvalidLdapIDArray
|
ExceptionMessages::InvalidLdapIDArrayExceptionCodes::InvalidLdapIDArrayΟ Κωδικός του Ldap Λογαριασμού δεν μπορεί να έχει πολλαπλές τιμές |
InvalidLdapValue
|
ExceptionMessages::InvalidLdapValueExceptionCodes::InvalidLdapValueΟ Ldap Λογαριασμός δεν υπάρχει στο λεξικό |
InvalidLdapIDType
|
ExceptionMessages::InvalidLdapIDTypeExceptionCodes::InvalidLdapIDTypeΟ Κωδικός του Ldap Λογαριασμού πρέπει να είναι αριθμητικός |
InvalidCircuitIDArray
|
ExceptionMessages::InvalidCircuitIDArrayExceptionCodes::InvalidCircuitIDArrayΟ Κωδικός του Τηλεπικοινωνιακού Κυκλώματος δεν μπορεί να έχει πολλαπλές τιμές |
InvalidCircuitValue
|
ExceptionMessages::InvalidCircuitValueExceptionCodes::InvalidCircuitValueΤο Τηλεπικοινωνιακό Κύκλωμα δεν υπάρχει στο λεξικό |
InvalidCircuitIDType
|
ExceptionMessages::InvalidCircuitIDTypeExceptionCodes::InvalidCircuitIDTypeΟ Κωδικός του Τηλεπικοινωνιακού Κυκλώματος πρέπει να είναι αριθμητικός |