Μετάβαση στο περιεχόμενο

Εφαρμογή ΚΣΗΔΕ. Παράδειγμα κλήσης API σε php

Η νέα εφαρμογή του τμήματος για τη διασύνδεση με το κεντρικό σύστημα διαχείρισης εγγράφων

Παράδειγμα 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"];
				} ...

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *