Začínáme s Previo XML
Způsoby komunikace
Previo XML je postaveno na zasílání XML zpráv přes protokol HTTP. Každá operace (ceníky, pokoje, ...) má svoji unikátní URL, na které je možno ji zavolat.
Operaci zavoláte tak, že vezmete její parametry, obalíte je do elementu <request> a vzniklý XML dokument zašlete jako POST data na URL operace. Odpovědí bude opět XML dokument obsahující výstup operace.
Zavolání Hotel.get v PHP
PHP nabízí několik způsobů jak zaslat POST data na specifikovanou URL.
<?php $login = '*****'; $password = '*****'; $request = '<?xml version="1.0"?>' . "\n" . '<request>' . '<login>' . htmlspecialchars($login) . '</login>' . '<password>' . htmlspecialchars($password) . '</password>' . '<hotId>1</hotId>' . '</request>'; $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => 'Content-Type: application/xml', 'content' => $request))); $response = file_get_contents( 'https://api.previo.cz/x1/hotel/get', null, $context); echo "<pre>\n"; echo htmlspecialchars($response); echo "</pre>";
<?php $login = '*****'; $password = '*****'; $request = '<?xml version="1.0"?>' . "\n" . '<request>' . '<login>' . htmlspecialchars($login) . '</login>' . '<password>' . htmlspecialchars($password) . '</password>' . '<hotId>1</hotId>' . '</request>'; $ch = curl_init('https://api.previo.cz/x1/hotel/get'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS, $request); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($ch); echo "<pre>\n"; echo htmlspecialchars($response); echo "</pre>";
Použijte curl, pokud je na vašem serveru zakázáno allow_url_fopen. Naopak pokud chybí curl, zkuste file_get_contents.
URL adresy
Základní URL adresa Previo API je:
URL konkrétní operace získate tak, že vezmete její název, tečku nahradíte lomítkem, zmenšíte první písmeno a přidáte k základní URL. Například:
- Hotel.get => https://api.previo.cz/x1/hotel/get
- System.getCountries => https://api.previo.cz/x1/system/getCountries
Přihlašovací údaje
Každá operace obsahuje parametry login a password, bez nich skončí volání chybou. Pokud zatím svoje přihlašovací údaje nemáte, kontaktujte nás prosím.
Chyby
Volání operace se nemusí vždy podařit. Chyba může být v Previo API nebo ve vašich parametrech. V případě chyby Previo API namísto očekáváného XML dokumentu vrátí tento:
<error> <code>kod_chyby</code> <message>popis_chyby</message> </error>
Seznam všech chybových kódů a zpráv.
V nejzávažnějších případech může náš server odpovědět chybou HTTP 500 nebo dokonce neodpovědět vůbec. Nezapomeňte ve vašem kódu ošetřit i tyto stavy.
Seznam operací
Všechny dostupné operace najdete v levém menu v Seznamu operací.