1KA_F2F/admin/survey/api/api_test.php

147 lines
3.9 KiB
PHP
Raw Normal View History

2020-08-14 13:36:36 +02:00
<?php
/**
*
* Skripta za testiranje API-ja
*
**/
// Nastavimo url api-ja
2022-05-20 09:28:21 +02:00
//$api_url = 'http://test.1ka.si/admin/survey/api/api.php';
2020-08-14 13:36:36 +02:00
// Nastavimo identifier in key userja
2022-08-25 12:28:54 +02:00
/*$identifier = 'a1c3b90fdae3c45d';
$private_key = 'e60032141a7aae518f9938636b963fc14d58d40025dc7b6b82f4e69b8a42599e';*/
2020-08-14 13:36:36 +02:00
2022-08-25 12:28:54 +02:00
$api_url = 'https://www.1ka.si/admin/survey/api/api.php';
$identifier = '3ccc9cbc90493d09';
$private_key = 'b8dbeceed3d0d7f80ca5d82ba352d9696c1804ff9b9d45272b8e99ea0a4987d6';
/*$api_url = 'http://localhost/admin/survey/api/api.php';
2022-05-20 09:28:21 +02:00
$identifier = '0d712128f7fe5707';
2022-08-25 12:28:54 +02:00
$private_key = 'd0ea50f1deabe2d9d9082c4c2a25c7db3648cab59f7a19939c808f602bdbc1be';*/
2022-05-20 09:28:21 +02:00
2020-08-14 13:36:36 +02:00
// Nastavimo parametre
2022-08-25 12:28:54 +02:00
$ank_id = '384751';
2022-05-20 09:28:21 +02:00
//$action = 'getSurveyQuestions';
2022-08-25 12:28:54 +02:00
//$action = 'createSurvey';
$action = 'getSurveyResponseData';
2020-08-14 13:36:36 +02:00
// Izvedemo klic (GET ali POST)
2022-05-20 09:28:21 +02:00
//$result = executeGET();
2022-08-25 12:28:54 +02:00
//$result = executePOST();
2020-08-14 13:36:36 +02:00
// Izpisemo rezultat
echo 'REZULTAT (RAW):<br />';
echo $result;
echo '<br /><br /><br />';
// Izvedemo se json decode in izpisemo array
$result_array = json_decode($result, true);
echo 'REZULTAT (JSON DECODE):';
var_dump($result_array);
// GET
function executeGET(){
global $api_url;
global $identifier;
global $private_key;
global $ank_id;
global $action;
// GET params
$params = 'action='.$action; // Funkcija, ki jo želimo izvesti
$params .= '&ank_id='.$ank_id; // ostali parametri potrebni za klic funkcije (id ankete, vprašanja...)
2022-08-25 12:28:54 +02:00
$params .= '&usr_id=50666962'; // ostali parametri potrebni za klic funkcije (id ankete, vprašanja...)
2020-08-14 13:36:36 +02:00
// Pripravimo podatke za hashiranje
$request_method = 'GET';
$request = $api_url.'?'.$params;
$data = $request_method . $request;
// Izracunamo hash (token)
$token = hash_hmac('sha256', $data, $private_key);
// Pripravimo klic dodamo parametra »identifikator« in »token«
$ch = curl_init($request.'&identifier='.$identifier.'&token='.$token);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Izvedemo klic
$result = curl_exec($ch);
return $result;
}
// POST
function executePOST(){
global $api_url;
global $identifier;
global $private_key;
global $ank_id;
global $action;
// GET params
$params = 'action='.$action; // Funkcija, ki jo želimo izvesti
2022-05-20 09:28:21 +02:00
//$params .= '&ank_id='.$ank_id; // ostali parametri potrebni za klic funkcije (id ankete, vprašanja...)
2020-08-14 13:36:36 +02:00
// POST data
$post_data = array(
"email" => "peter@1ka.si",
"firstname" => "Peter",
"lastname" => "Hrvatin"
);
/*$post_data = array(
"email" => "BRATISLAVA.LAMAC@PLANEOELEKTRO.SK",
"firstname" => "MONIKA",
"lastname" => "ŽIAKOVÁ",
"expired" => "7",
"param_string" => "rekid=5406729&dnid=10352449&brand=MORA&ser=Žiak Pavel Žiak - GOREMO (Víglaš)&serenota=Pavel Žiak - GOREMO&sercenter=SC Slovakia&drzava=Slovakia"
);*/
2022-05-20 09:28:21 +02:00
$post_data = array(
"naslov_vprasalnika" => "naslovovoovvo",
"survey_type" => 0,
"besedilo_vprasanja" => "text vprasasa",
"vrsta_vprasanja" => 0,
"other" => "Other:",
"Odgovori" => array(
"Text of option 1",
"Text of option 2",
"Text of option 3"
)
);
2020-08-14 13:36:36 +02:00
// Pripravimo podatke za hashiranje
$request_method = 'POST';
$request = $api_url.'?'.$params;
$raw_post_data = http_build_query($post_data);
$data = $request_method . $request . $raw_post_data;
// Izracunamo hash (token)
$token = hash_hmac('sha256', $data, $private_key);
// Pripravimo klic dodamo parametra »identifikator« in »token«
$ch = curl_init($request.'&identifier='.$identifier.'&token='.$token);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); // JSON string za POST
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Izvedemo klic
$result = curl_exec($ch);
return $result;
}