Sitze und Rechtsformen aus Zefix API
This commit is contained in:
+48
-44
@@ -1,66 +1,70 @@
|
||||
|
||||
<?php
|
||||
//include 'env_vars.php';
|
||||
$username = getenv("username");
|
||||
$password = getenv("password");
|
||||
include 'zefixAPI.php';
|
||||
|
||||
|
||||
// API endpoint
|
||||
$apiUrl = 'https://www.zefix.admin.ch/ZefixPublicREST/apicompany/search';
|
||||
|
||||
/*
|
||||
* Request Types:
|
||||
* Count
|
||||
* List
|
||||
* Export
|
||||
*/
|
||||
// Request data
|
||||
$data = array(
|
||||
"name" => "Silias KLG",
|
||||
"legalFormId" => 4,
|
||||
"legalFormUid" => "0107",
|
||||
"registryOfCommerceId" => 36,
|
||||
"legalSeatId" => 623,
|
||||
"canton" => "BE",
|
||||
"activeOnly" => true
|
||||
);
|
||||
$data = array();
|
||||
|
||||
// Headers
|
||||
$headers = array(
|
||||
"username:".$username,
|
||||
"password:".$password
|
||||
);
|
||||
phpinfo();
|
||||
// Initialize cURL session
|
||||
$ch = curl_init();
|
||||
$results = array();
|
||||
|
||||
// Set cURL options
|
||||
curl_setopt($ch, CURLOPT_URL, $apiUrl);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_POST, true);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||
|
||||
// Execute cURL session and get the response
|
||||
$response = curl_exec($ch);
|
||||
|
||||
// Check for cURL errors
|
||||
if (curl_errno($ch)) {
|
||||
echo 'Curl error: ' . curl_error($ch);
|
||||
// Wenn Firmenname vorhanden
|
||||
if(isset($_POST['firma']) && !empty($_POST['firma'])) {
|
||||
$data["name"] = $_POST['firma'];
|
||||
}
|
||||
|
||||
// Close cURL session
|
||||
curl_close($ch);
|
||||
// Wenn gelöschte auch gesucht werden sollen
|
||||
if(isset($_POST['geloeschteRechtseinheiten'])) {
|
||||
$data["activeOnly"] = false;
|
||||
} else {
|
||||
$data["activeOnly"] = true;
|
||||
}
|
||||
|
||||
// Output the API response
|
||||
echo $response;
|
||||
$rechtsformen = array();
|
||||
if (isset($_POST['rechtsform']) && is_array($_POST['rechtsform']) && count($_POST['rechtsform']) > 0) {
|
||||
$rechtsformen = $_POST['rechtsform'];
|
||||
} else {
|
||||
$rechtsformen = array(); //TODO alle Rechtsformen hinzufügen
|
||||
$rechtsformen[] = 2;
|
||||
}
|
||||
|
||||
$sitze = array();
|
||||
if (isset($_POST['sitze']) && is_array($_POST['sitze']) && count($_POST['sitze']) > 0) {
|
||||
$sitze = $_POST['sitze'];
|
||||
} else {
|
||||
$sitze = array(); //TODO alle Sitze hinzufügen
|
||||
$sitze[] = 27;
|
||||
}
|
||||
// Loop through the selected values
|
||||
foreach ($rechtsformen as $rechtsform) {
|
||||
$data["legalFormId"] = $rechtsform;
|
||||
|
||||
// Loop through the selected values
|
||||
foreach ($sitze as $sitz) {
|
||||
$data["legalSeatId"] = $sitz;
|
||||
$response = sendAPICompanySearchRequest($username, $password, $data);
|
||||
|
||||
echo $response;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Close cURL
|
||||
curl_close($ch);
|
||||
}
|
||||
|
||||
// Process the Zefix response and construct your own response
|
||||
// ...
|
||||
$constructed_response = $response;
|
||||
|
||||
// Send the response back to the client
|
||||
header('Content-Type: application/json');
|
||||
echo $constructed_response;
|
||||
//header('Content-Type: application/json');
|
||||
//echo $constructed_response;
|
||||
|
||||
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,147 @@
|
||||
<?php
|
||||
include 'env_vars.php';
|
||||
$username = getenv("username");
|
||||
$password = getenv("password");
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param string $
|
||||
* @param string $
|
||||
* @param array $data
|
||||
* @return bool|string
|
||||
*/
|
||||
function sendAPICompanySearchRequest(string $username, string $password, array $data): string|bool
|
||||
{
|
||||
// API endpoint
|
||||
$apiUrl = 'https://www.zefix.admin.ch/ZefixPublicREST/api/v1/company/search';
|
||||
|
||||
// Headers
|
||||
$headers = array(
|
||||
"accept: application/json",
|
||||
"Content-Type: application/json"
|
||||
);
|
||||
|
||||
// Initialize cURL session
|
||||
$ch = curl_init();
|
||||
|
||||
// Set cURL options
|
||||
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
|
||||
curl_setopt($ch, CURLOPT_URL, $apiUrl);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_POST, true);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Disable SSL verification
|
||||
|
||||
// Execute cURL session and get the response
|
||||
$response = curl_exec($ch);
|
||||
// Check for cURL errors
|
||||
if (curl_errno($ch)) {
|
||||
echo 'Curl error: ' . curl_error($ch);
|
||||
}
|
||||
// Close cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Close cURL
|
||||
curl_close($ch);
|
||||
return $response;
|
||||
}
|
||||
|
||||
function sendAPICommunityRequest(string $username, string $password): string|bool
|
||||
{
|
||||
// API endpoint
|
||||
$apiUrl = 'https://www.zefix.admin.ch/ZefixPublicREST/api/v1/community';
|
||||
|
||||
// Headers
|
||||
$headers = array(
|
||||
"accept: application/json",
|
||||
"Content-Type: application/json"
|
||||
);
|
||||
|
||||
// Initialize cURL session
|
||||
$ch = curl_init();
|
||||
|
||||
// Set cURL options
|
||||
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
|
||||
curl_setopt($ch, CURLOPT_URL, $apiUrl);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_POST, false);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Disable SSL verification
|
||||
|
||||
// Execute cURL session and get the response
|
||||
$response = curl_exec($ch);
|
||||
// Check for cURL errors
|
||||
if (curl_errno($ch)) {
|
||||
echo 'Curl error: ' . curl_error($ch);
|
||||
}
|
||||
// Close cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Close cURL
|
||||
curl_close($ch);
|
||||
return $response;
|
||||
}
|
||||
|
||||
function communityCSV(string $username, string $password): string {
|
||||
$response = sendAPICommunityRequest($username, $password);
|
||||
$communityArray = json_decode($response, true);
|
||||
$csvOutput = 'bfsId,Kanton,Gemeindename,registryOfCommerceId\n';
|
||||
// Create CSV rows
|
||||
|
||||
foreach ($communityArray as $item) {
|
||||
$csvOutput .= implode(',', $item) . "\n";
|
||||
}
|
||||
return $csvOutput;
|
||||
}
|
||||
|
||||
function sendAPILegalFormRequest(string $username, string $password): string|bool
|
||||
{
|
||||
// API endpoint
|
||||
$apiUrl = 'https://www.zefix.admin.ch/ZefixPublicREST/api/v1/legalForm';
|
||||
|
||||
// Headers
|
||||
$headers = array(
|
||||
"accept: application/json",
|
||||
"Content-Type: application/json"
|
||||
);
|
||||
|
||||
// Initialize cURL session
|
||||
$ch = curl_init();
|
||||
|
||||
// Set cURL options
|
||||
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
|
||||
curl_setopt($ch, CURLOPT_URL, $apiUrl);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_POST, false);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Disable SSL verification
|
||||
|
||||
// Execute cURL session and get the response
|
||||
$response = curl_exec($ch);
|
||||
// Check for cURL errors
|
||||
if (curl_errno($ch)) {
|
||||
echo 'Curl error: ' . curl_error($ch);
|
||||
}
|
||||
// Close cURL session
|
||||
curl_close($ch);
|
||||
|
||||
// Close cURL
|
||||
curl_close($ch);
|
||||
return $response;
|
||||
}
|
||||
|
||||
function legalFormCSV(string $username, string $password): string {
|
||||
$response = sendAPILegalFormRequest($username, $password);
|
||||
$legalformArray = json_decode($response, true);
|
||||
$csvOutput = 'id,name\n';
|
||||
// Create CSV rows
|
||||
|
||||
foreach ($legalformArray as $item) {
|
||||
$csvOutput .= $item["id"].",".$item["name"]["de"] . "\n";
|
||||
}
|
||||
return $csvOutput;
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user