System.getChanges2 | Previo API

System.getChanges2

Změny v datech hotelů s rozlišením o jaký typ změny se jedná

Funkce vrací pouze změny, které se udály od poslední Vaší synchronizace (zavolání dané API funkce) příslušných dat z Previa.

Previo API je potřeba volat s rozvahou. Data získaná např. operacemi Hotel.get nebo Hotel.getRoomKinds si vždy nejprve uložte do cache nebo do databáze a odtud je teprve poskytujte návštěvníkům vašich stránek.

Úkolem operace System.getChanges2 je, aby tato data byla co nejvíce čerstvá. Volejte ji v pravidelných intervalech (5 - 15 minut) a aktualizujte svoje data podle instrukcí.

Pokud element change obsahuje element hotId, aktualizujte data hotelu s tímto id. Pokud ne, aktualizujte data všech hotelů z Previa.

Omezení vráceného počtu změn

Funkce vrací maximálně 100 změn v jednom volání. Jeden typ změny (např. změna ceníku) je pro každý hotel vždy uveden pouze jedenkrát s datem nejposlednější úpravy. Pokud nezavoláte API funkci, která vrací ta data, jenž byla změněna, nezískáte další změny ve frontě (bude se Vám vracet stále stejných 100 změn).

PŘ: Hotelu s hotId 1 se změní cena, informace o změně se dostane do této fronty. Poté příjde 99 recenzí, každá na jiný hotel. A nakonec příjde změna popisku hotelu s hotId 2. Ve frontě bude pro Vás 100 změn (celkově jich je ale 101) a dokud nezavoláte API funkci, která vrací ceník (getRates) nebo API funkci, která vrací recenze pro některý z těch 99 hotelů, tak se o změně popisku na hotId 2 nedozvíte.

Změna k 2.1.2012

Funkce vracela i změny, na které uživatel neměl oprávnění. Bylo nutné volat funkce pro aktualizaci těchto změn a dostávat tak chybové odpovědi. Nyní již funkce vrací jen změny, na které má daný uživatel oprávnění.

Nyní je k dispozici nepovinný parametr changes, který umožňuje volat jen změny konkrétního typu.

Parametry

Název Popis
login Přihlašovací jméno
password Heslo
changes [0..1]  
 
<change> [0..*] Název požadováné změny

Ukázkový požadavek

<request>
    <login>prihlasovaci_jmeno</login>
    <password>heslo</password>
</request>

Výstup

<changes2> [1]  
 
<change> [0..*]  
 
<hotId> [0..1] Id hotelu
<type> [1] Typ změny

Typ změny

Název Popis
other Z historického hlediska (časem přestane být podporován)
get  
getGuestCategories  
getMessages  
getObjectKinds  
getPackages  
getPhotogalleries  
getRates  
getRoomKinds  
getFreeCapacity  
getBonuses  
getGuestReviews  
getCompanies  
getStayPackages  
getCollaboration  
getPriceActions  
getGuests  
getConditions  
getMeals  

 

Ukázková odpověď

<changes2>
    <change>
        <hotId>556</hotId>
        <type>getFreeCapacity</type>       
        <other/>
    </change>
    <change>
        <hotId>561</hotId>
        <type>getRates</type>       
        <other/>
    </change>
</changes>

Tato odpověď se dá interpretovat takto: Aktualizujte kapacitu hotelu s id 556 a aktualizujte ceník hotelu s id 561