Η νέα εφαρμογή του τμήματος για τη διασύνδεση με το κεντρικό σύστημα διαχείρισης εγγράφων
Παράδειγμα 1. Λήψη authorization token, χρησιμοποιώντας php.
$url = "https://sddd.mindigital-shde.gr/api/v1/authenticate";
try{
// τμήμα 1ο -----------Μπορεί να παραληφθεί αφορά τον κωδικό υπηρεσίας ---
$myfile = fopen($ksideSecrFile , "r"); // αρχείο με τον κωδικό της υπηρεσίας κρυπτογραφημένο
$sec = fgets($myfile);
fclose($myfile);
$sec_dec = openssl_decrypt($sec, '***********', "****************", 0, "****************");
//αποκρυπτογράφηση του κωδικού
//!-- τμήμα 1ο
$postdata = array(
'SectorCode' => $_SESSION['sectorCode'],
'ClientId' => $_SESSION['clientId'],
'ClientSecret' => $sec_dec
);
$fields_string = http_build_query($postdata);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string );
$data = curl_exec($ch);
if($data === false){
$error = curl_error($ch);
echo $error;
die('Αδυναμία σύνδεσης στο ΚΣΗΔΕ');
}else{
// τμήμα 2ο ------------Μπορεί να παραληφθεί αποθήκευση του token ---
$myfile = fopen($ksideTokenFile, "w") or die("Unable to open file!");
$data_enc = openssl_encrypt($data, '*********', "****************", 0, "
****************");
fwrite($myfile,$data_enc);
fclose($myfile);
//!-- τμήμα 2ο
}
curl_close($ch);
}catch(Exception $e){
echo 'Σφάλμα: '.$e->getMessage();
die("Σφάλμα Σύνδεσης");
}
Παράδειγμα 2. Αποστολή βασικού εγγράφου με τα ελάχιστα δυνατά μεταδεδομένα
try{
//Ανέβασμα Βασικού Αρχείου
$basicFile = $_FILES["selectedFile".$tobeSigned];
$target_file = $target_dir."/".basename($_FILES["selectedFile".$tobeSigned]["name"]);
move_uploaded_file($_FILES["selectedFile".$tobeSigned]["tmp_name"],$target_file);
$metadata = array(
'Subject' => $_POST['Subject'],
'RecipientSectorCodes'=>explode(",",(int)$_POST['RecipientSectorCodes']),
'OrgChartVersion'=>(int)$_POST['OrgChartVersion'],
'LocalSectorProtocolNo'=>(int)$_POST['LocalSectorProtocolNo'],
'LocalSectorProtocolDate'=>$_POST['LocalSectorProtocolDate']."T01:00:00.000Z",
'LocalSectorProtocolNo'=>(int)$_POST['LocalSectorProtocolNo'],
//'LocalSectorProtocolDate'=>'2021-01-21T13:43:19.334Z',
'IsFinal'=>(int)$isFinal
);
$metadata = json_encode($metadata);
$authorization ="Authorization: Bearer ".$accessToken;
$pathToFile = $_SESSION['websiteFolder'].'/nocc-1.9.8/kside/api_calls/'.$target_file;
$postFields= array('DocumentMetadata'=>$metadata,'DocumentContent' => new CURLFile($pathToFile));
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$postFields);
curl_setopt($ch, CURLOPT_ENCODING , "");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data ',$authorization));
$data = curl_exec($ch);
//convert the XML result into array
if($data === false){
$error = curl_error($ch);
echo $error;
die(' error occured');
}else{
//var_dump(curl_getinfo($ch));
$result = json_decode($data,true);
//echo $data;
if (isset($result['SideTrackingId'])){
$isError = $data;
}
else{
$protocol = $result["DocumentProtocolNo"];
} ...