Advertisement
moroes

Wedos WAPI - PHP JSON Example

Dec 30th, 2021 (edited)
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.84 KB | None | 0 0
  1. <?php
  2. // parametry JSON dotazu
  3. $login = 'xxx'; // zde zadejte váš wapi login - email
  4. $wpass = 'yyy'; // zde zadejte vaše wapi heslo
  5. $auth = sha1($login.sha1($wpass).date('H', time()));
  6. $command = 'ping'; // testovací příkaz ping - pokud vše v pořádku projde, vrátí se kód 1000 - OK
  7. $cltrid = 'test_req_1'; // ID požadavku, nepovinný parametr požadavku WAPI, je vracen v odpovědi, vhodný pro přehlednost
  8.  
  9. // sestavení JSON žádosti - strukturou je to běžné PHP pole
  10. $request = [
  11.             'request' => [
  12.                 'user' => $login,
  13.                 'auth' => $auth,
  14.                 'command' => $command,
  15.                 'clTRID' => $cltrid
  16.             ]
  17. ];
  18.  
  19. // adresa, kam je zasílán POST
  20. $url = 'https://api.wedos.com/wapi/json';
  21.  
  22. // POST data, json encode požadavku - reprezentace PHP pole jako JSON řetězec
  23. $post = 'request='.json_encode($request);
  24.  
  25. // inicializace cURL session
  26. $ch = curl_init();
  27.  
  28. // nastavení URL a POST dat
  29. curl_setopt($ch,CURLOPT_URL,$url);
  30. curl_setopt($ch,CURLOPT_POST,true);
  31. curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
  32.  
  33. // odpověď chceme jako návratovou hodnotu curl_exec()
  34. curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
  35.  
  36. // doba, po kterou skript čeká na odpověď
  37. curl_setopt($ch,CURLOPT_TIMEOUT,100);
  38.  
  39. // provedení volání
  40. $res = curl_exec($ch);
  41.  
  42. // výpis výsledku na výstup se zachovaným formátováním - <pre> tag + hezké formátování přes json_encode
  43. echo '<pre>'.htmlspecialchars(json_encode(json_decode($res), JSON_PRETTY_PRINT)).'</pre>';
  44.  
  45. /*
  46. Příklad zadání delší JSON žádosti - požadavek s dalšími vstupními daty - nsset-info (příkaz i data dotazu lze samozřejmě nahradit proměnnými)
  47.  
  48. $request = [
  49.     'request' => [
  50.         'user' => $login,
  51.         'auth' => $auth,
  52.         'command' => 'nsset-info',
  53.         'clTRID' => $cltrid,
  54.             'data' => [
  55.                 'tld' => 'cz',
  56.                 'name' => 'WEDOS'
  57.             ]
  58.            
  59.     ]
  60. ];
  61.  
  62. */
  63.  
  64. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement