WAPI – příklad v PHP

Následující skript vyžaduje ke svému běhu rozšíření curl. Proměnné $login a $wpass nahraďte přihlašovacím jménem do vašeho zákaznického účtu a heslem k WAPI rozhraní (heslo, které jste si nastavili v nastavení WAPI, nejedná se o heslo k zákaznickému účtu).

XML dotaz

// parametry XML dotazu
$login = 'tester';
$wpass = 'fdsaasdf';
$auth = sha1($login.sha1($wpass).date('H', time()));
$command = 'ping';
$cltrid = 'test_req_1';

// sestavení XML
$request = '<?xml version="1.0" encoding="UTF-8"?>
<request>
 <user>'.$login.'</user>
 <auth>'.$auth.'</auth>
 <command>'.$command.'</command>
 <clTRID>'.$cltrid.'</clTRID>
</request>';

// adresa
$url = 'https://api.wedos.com/wapi/xml';

// POST data
$post = 'request='.urlencode($request);

// inicializace cURL session
$ch = curl_init();

// nastavení URL a POST dat
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);

// odpověď chceme jako návratovou hodnotu curl_exec()
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

// doba, po kterou skript čeká na odpověď
curl_setopt($ch,CURLOPT_TIMEOUT,100);

// provedení volání
$res = curl_exec($ch);

// výpis výsledku na výstup
echo '<pre>'.htmlspecialchars(print_r($res, true)).'</pre>';

JSON dotaz

<?php
session_start();

$login = 'xxx';
$wpass = 'yyy';
$auth = sha1($login.sha1($wpass).date('H', time()));
$url = 'https://api.wedos.com/wapi/json';

$input = [
'request' => [
'user' => $login,
'auth' => $auth,
'command' => 'ping'
]
];

$post = json_encode($input);
echo "{$post}<br/>";
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_TIMEOUT,60);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS, 'request=' . $post);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']);
$res = curl_exec($ch);
print_r($res);
?>
Děkujeme za zpětnou vazbu!