Tip:
Highlight text to annotate it
X
DANNY HERMES: Tak dobrá.
Dobrý den všem.
Vítejte na webovém semináři o udržování dat o produktech
v aktuálním stavu.
Já jsem Danny Hermes.
Ve společnosti Google pracuji v prodejním týmu jako
specialista pro styk s vývojáři.
Naší prací je informovat o některých našich rozhraních API a poskytovat
pomoc a zpětnou vazbu. A taky dělat věci, jako je tento
webový seminář.
Jsou tu dnes se mnou Ali Afshar, Amanda Surya a Jasmine
[? Kahn ?], kteří budou na chatu a pomohou vám s jakýmikoli
dotazy. K dotazům prosím používejte chat.
Je tady sice možnost zvednout ruku, ale nepoužívejte ji
prosím, prostě se zeptejte přes chat a oni vám odpoví,
jak nejlépe budou moci.
Po tomto stručném úvodu tedy pojďme na to.
Dnes se vám pokusíme odpovědět na některé dost důležité
otázky o rozhraní Content API.
Zaprvé, co to je?
Zadruhé, jaké jsou naše zásady aktuálnosti dat a jak se
týkají tohoto rozhraní API?
Proč byste toto API měli používat?
Takže si porovnáme rozdíly mezi tímto rozhraním
API a zdroji dat.
Další bod je implementace.
Jak můžete toto rozhraní API používat?
Pokud kdykoli během prezentace budete mít jakékoli dotazy
k jednotlivým bodům, napište je do chatu a my se vám pokusíme
co nejlépe odpovědět.
Začněme otázkou, co je rozhraní Content API pro službu Nákupy?
Abychom si to mohli vysvětlit, musíme si nejprve něco říct
o službě Nákupy.
Položky se do služby Nákupy Google dostanou tak, že jsou
nejprve nahrány do služby Google Merchant Center.
Data o vašich produktech jsou uložena ve službě Merchant
Center a z ní se dostanou do služby Nákupy Google
pro stolní počítače.
Dostanou se také do služby Nákupy Google pro mobily a několika dalších
kanálů, jako jsou služby Google Affiliate Network a Vyhledávání
pro internetové obchody.
Řekněme například, že máte tři digitální fotoaparáty,
které chcete prodávat.
Nahrajete je do služby Google Merchant Center a potom
někdo přejde na web Google
a hledá digitální fotoaparáty.
A tady vidíte modře zvýrazněné tři digitální fotoaparáty,
které jste nahráli.
Jak jsem řekl, pokud se má něco objevit ve službě Nákupy
Google, musí to být nejprve nahráno do služby Google
Merchant Center.
A toho lze dosáhnout dvěma hlavními způsoby:
pomocí zdrojů dat o produktech, nebo pomocí toho, o čem dnes mluvíme,
tedy rozhraní Content API pro službu Nákupy.
Co je tedy rozhraní Content API pro službu Nákupy?
Na tuto otázku vám nyní odpovím.
Jde o rozhraní API založené na technologiích HTTP, REST a GData.
O co přesně jde?
Máte požadavek s daty o všech vašich produktech a chcete
jej získat, vystavit, vložit nebo odstranit.
K tomu slouží čtyři příkazy rozhraní REST API.
Pošlete jej do našeho zdroje na adrese
googleapis.com.
A my vrátíme odezvu, kterou je soubor XML.
Co tedy vlastně je rozhraní API.
Rozhraní API poskytuje způsob, jak programově pracovat
s něčím, jako jsou servery Google, nebo v tomto případě služba
Google Merchant Center.
Jedná se prostě o způsob, jak spolu mohou dva
programy komunikovat.
To je ten rozdíl oproti zdrojům dat – zdroj dat je prostě soubor, který
obsahuje veškeré informace o vašich produktech.
Podobá se požadavku, který se odesílá pomocí
rozhraní Content API, ale jde o obyčejný
soubor s příponou TXT nebo XML.
V těchto souborech jsou atributy a entity obsahující
údaje o vašich jednotlivých produktech.
A tyto soubory s příponou TXT nebo XML se
odesílají přímo do služby Merchant Center.
Rozhraní Content API pro službu Nákupy umožňuje,
aby vaši vývojáři programově nahrávali tato data na všechny
weby Google pro nakupování.
Umožňuje také spravovat podřízené účty v případě,
že máte tržiště a spravujete více
prodejců nebo více podřízených obchodů.
A umožňuje také nastavit zdroje dat.
Pokud tedy chcete kombinovat a společně používat rozhraní
Content API a zdroje dat, můžete zdroje dat spravovat
prostřednictvím tohoto rozhraní API.
Jakmile máte data nahrána, můžete získat údaje
o výkonu a konfigurovat další možnosti pomocí hlavního panelu
služby Google Merchant Center.
Hlavní panel obsahuje údaje o zdrojích, které aktuálně používáte,
produktech, které jste aktuálně nahráli,
o kvalitě dat a o dalších statistikách výkonu.
Dále můžete pomocí tohoto rozhraní API sledovat kliknutí.
Takže pomocí požadavku na tento odkaz na tomto snímku –
nebudu podrobně rozebírat, o co jde – ale tady
v podstatě zadáte počáteční datum a koncové datum
a požadovanou položku a budou vám vráceny
údaje o počtu kliknutí v daném období.
Jde o jednu z dalších výhod tohoto rozhraní API.
Další na řadě jsou zásady aktuálnosti.
Když někdo přijde na stránku Vyhledávání Google a hledá
nějaký produkt a najde jej s cenou 102 dolarů, jak
vidíte tady, očekává, že si daný produkt bude
moci koupit za 102 dolarů.
Pokud se základní cena liší od celkové ceny,
uživatel očekává, že bude o tomto rozdílu informován.
A samozřejmě očekává, že se přesně dozví, kolik nakonec
zaplatí, že?
Ve službě Nákupy Google se tedy staráme o tři různé
skupiny osob.
Na prvním místě se staráme o uživatele.
Chceme, aby získali co nejlepší zkušenosti.
Chceme, aby vždy našli, co hledají.
A chceme, aby mohli získat přesné informace
o těchto produktech.
Na druhém místě se staráme o obchodníky, prodejce.
Staráme se o lidi, kteří prodávají zboží, protože
chceme, aby i oni měli dobré zkušenosti s nabízením svého
zboží prostřednictvím služby Nákupy Google.
A na třetím místě jsme my sami.
Chceme mít možnost postarat se o to, aby byly všechny strany spokojené.
S ohledem na všechny tyto aspekty se v našich zásadách aktuálnosti
píše, že když uživatel přijde, a tak dále, a tak dále –
Není myslím nutné, abych to tu četl celé.
Pokud si zásady chcete přečíst, najdete krátký odkaz
v dolní části tohoto snímku: goo.gl/C5P8X.
Tyto zásady popisují náš přístup k aktuálnosti dat.
Pamatujte ale hlavně na to, že se staráme na prvním místě o uživatele,
pak o vás prodejce a pak sami o sebe.
Jak se tyto zásady týkají rozhraní Content API?
Jedním příkladem je situace, kdy se vám často mění ceny
a množství produktů a chcete mít možnost rychle aktualizovat
své položky ve službě Nákupy Google podle těchto změn.
Pokud používáte zdroje dat, můžete aktualizaci provést
pouze několikrát za den.
Což vlastně omezuje rychlost, s jakou můžete aktualizovat své
ceny a množství produktů.
Pokud používáte rozhraní Content API pro službu Nákupy, můžete
to provést sekundu poté, co dojde ke změně cen,
a změny se projeví online.
Navíc pokud máte opravdu velký inventář položek,
může být každodenní údržba a nahrávání stejného
obrovského zdroje dat každý den nepohodlné.
Namísto toho pro vás může být vhodnější jednou nahrát celý velký
inventář a potom provádět menší aktualizace pomocí tohoto rozhraní API.
Proč by tedy rozhraní Content API mohlo být pro vás vhodné?
Určitou představu vám dal již poslední snímek.
A tady máme přehled rozdílů z ptačí perspektivy.
Jak jsem řekl, zdroje dat o produktech jsou vhodné pro malé, statické
inventáře produktů.
Malé a neměnící se nijak často.
A vzhledem k tomu, že jde pouze o soubory s textem nebo hodnotami
oddělenými čárkami, není nijak pracné je implementovat.
Rozhraní Content API pro službu Nákupy je naopak vhodné
pro rozsáhlé, často se měnící inventáře.
Před jeho použitím je ale třeba trochu zapojit vývojáře.
Jednou z velkých výhod rozhraní Content API
je práce v reálném čase.
Umožňuje velmi rychle vkládat nové produkty.
Vkládání nového produktu trvá jen
několik sekund.
A ze serveru Google získáte okamžitou odezvu
o tom, zda byl produkt úspěšně vložen.
Podobně pokud aktualizujete cenu a množství
položek, není nutné žádné zvláštní zpracování.
I když po nahrání položky do služby Merchant Center
z naší strany provádíme jisté zpracování, abychom mohli
zajistit kvalitní služby pro naše uživatele.
Pokud jste již nahráli položku a chcete pouze
aktualizovat cenu nebo množství, proběhne aktualizace okamžitě.
Využívá se přitom takzvaný expresní kanál.
To je další skvělá funkce rozhraní Content API,
tento expresní kanál pro změny cen a množství.
Rozhraní Content API je navíc automatizované.
Zpětná vazba z rozhraní API je v přesně stejném
formátu jako požadavek, který jste odeslali.
Zpětná vazba je na úrovni jednotlivých položek, takže
pro každou položku, kterou chcete vložit, aktualizovat nebo
odstranit, získáte individuální odezvu.
A jak už jsem řekl, je odezva okamžitá.
Ihned po odeslání požadavku dostanete
ze serveru Google odezvu s informací, zda aktualizace,
o kterou jste požádali, proběhla úspěšně.
Při použití zdrojů dat má zpětná vazba naopak formu e-mailů
a jedná se o souhrnné informace, nikoli o odezvu pro jednotlivé
položky s podobným formátováním.
Porovnejme si teď náročnost implementace.
V případě zdrojů dat o produktech se jedná o velmi jednoduché
soubory s hodnotami oddělenými čárkami, soubory TXT nebo
soubory XML.
Pro ty nepotřebujete zkušeného vývojáře,
obzvlášť při menších inventářích.
Rozhraní Content API vyžaduje přinejmenším
znalost práce se soubory v jazyce XML.
Je také třeba, abyste měli alespoň základní
zkušenosti s vývojem aplikací.
A vzhledem k tomu, že můžeme aktualizovat tuto specifikaci
a měnit některé vlastnosti tohoto rozhraní API v zájmu vylepšení
vašich možností práce a dat poskytovaných
uživatelům služby Nákupy, bude z vaší strany vyžadována
jistá údržba odesílaných dat.
I když ale vezmeme v úvahu tyto rozdíly, má rozhraní
Content API některé skvělé funkce, které zdroje dat nemají.
První z nich jsem už zmínil dříve: můžete spravovat
podřízené účty v případě, že pod sebou máte prodejce
nebo celé obchody, které řídíte.
Můžete rovněž spravovat zdroje dat v případě, že chcete
nahrát celý svůj inventář pomocí jednoho zdroje dat
a potom provádět malé změny pomocí rozhraní Content API.
V takovém případě můžete daný zdroj dat spravovat
prostřednictvím tohoto rozhraní.
A další skvělá věc je, že všechny požadavky na vložení nových
položek, aktualizaci stávajících položek a odstranění některých
položek můžete dát do jednoho velkého hromadného požadavku.
To si ještě probereme později.
Jak tedy můžete toto rozhraní použít?
Jak vlastně funguje jeho implementace?
Tady je kód v jazyce XML.
Jde o požadavek obsahující informace o nabízené položce,
který odešlete na server Google.
Máme tu název a *** ním pár řádků kódu,
který je nezbytný k tomu,
aby byl požadavek úspěšně odeslán.
Pak jsou tu další informace o položce, například cena a stav.
Všechny tyto atributy jsou důležité, když uživatel
hledá danou položku.
Řekněme si teď něco o jazyce XML.
XML je jazyk využívající značky.
Podobá se trochu jazyku HTML.
Jde o strukturovaný jazyk.
Je určen k přenášení dat tak, aby jim porozuměl počítač.
Předchozí snímek možná vypadal trochu komplikovaně,
trochu nepřehledně.
To je ale proto, že kód je napsán tak, aby mu
rozuměl počítač, ne tak, aby byl ihned
přehledný pro lidské oko.
Tady máme krátký příklad kódu XML.
Je jím definována poznámka.
Píše se tu, že je pro mě od Aliho.
Ali jako předmět určil zkratku XML a v textu píše,
že XML je pozoruhodná věc.
Jedná se prostě o kus strukturovaných dat
pochopitelných pro počítač.
Jakmile máme strukturovaná data pro určitou položku, můžeme
je vystavit pomocí příkazu POST.
POST je jeden ze čtyř příkazů tohoto rozhraní API.
V příkazu POST je třeba uvést adresu pro vystavení.
Při vystavení se provádí ověření, takže je třeba uvést
autorizační token, který je popsán v dokumentaci.
A jakmile požadavek odešlete na server Google, vrátíme vám
odezvu o jeho úspěšnosti.
V ní je uvedeno několik věcí:
Nahoře je kód HTTP, hodnota 201, která
znamená úspěch.
A všimněte si, že dole je uvedeno umístění
konkrétní položky, kterou jste právě vložili.
To je velmi důležité.
Podívejme se na to podrobněji.
Umístění je jedinečná adresa URL pro produkt,
který jste vložili.
Na začátku adresy URL je kořenová část
content.googleapis.com/content/v1.
Dále je zde vaše ID.
Následují cesta a projekce, což jsou v tuto chvíli nepodstatné
údaje používané tímto rozhraním API.
Na konci je naopak něco, co je pro nás velmi důležité:
ID produktu.
Toto ID produktu je jedinečný identifikátor produktu, který
jste právě vložili.
Pokud budete chtít po vložení produktu
do inventáře daný produkt aktualizovat
nebo odstranit, můžete k tomu použít tuto adresu.
V odezvě s kódem 201 je kromě adresy umístění
uvedena také další zpětná vazba.
Jak již jsem řekl, má odezva ze serveru Google
přesně stejný formát jako váš požadavek.
Tady máme příklad odezvy.
Obsahuje podobné údaje, například název a ID.
Obsahuje ale i další značky, například published a edited.
Jejich pomocí vás server Google informuje, kdy jste položku
nahráli a kdy jste ji naposledy upravili. Další značka indikuje,
do kdy je položka platná.
Ve výchozím nastavení je to 30 dnů.
Než se pustíte do skutečné implementace tohoto rozhraní,
můžete si některé věci vyzkoušet v naší
interaktivní online ukázce.
Tu najdete, pokud na Googlu vyhledáte text Content API for
Shopping demo.
V této ukázce si můžete vyzkoušet všechny podporované operace.
Umožňuje vkládat nové položky, aktualizovat stávající
položky, odstraňovat položky nebo spravovat podřízené účty.
Vše, co jde provést prostřednictvím tohoto rozhraní API, si můžete vyzkoušet
v jednoduchém online rozhraní.
Při zkoušení těchto požadavků se vám zobrazí odezva,
kterou byste dostali, včetně stavového kódu HTTP
a dalšího obvyklého obsahu zpětné vazby. Odezva bude
přesně stejná jako to, co byste dostali při použití tohoto rozhraní API.
Jakmile si ukázku vyzkoušíte a rozhodnete se, že chcete toto
rozhraní implementovat, máme čtyři klientské knihovny open source
napsané v jazycích .NET, Java, Python a PHP.
Tyto knihovny usnadňují některé obtížnější věci, jako je
adresa s ID, v níž některé části nejsou úplně snadné
na zapamatování a už vůbec nejsou nezbytné
pro samotnou implementaci.
Tyto věci jsou víceméně skryty a tyto klientské knihovny
jsou skvělým pomocníkem pro provádění požadavků, ověřování
a další věci, které lze provádět prostřednictvím tohoto rozhraní API.
A můžete přitom využívat jazyky, které již vaši vývojáři dobře znají.
Pokud byste chtěli získat další informace o těchto knihovnách,
podívejte se na odkaz v dolní části tohoto snímku.
Na vývoji těchto knihoven jsem se podílel já i Ali,
který se také účastní této konverzace,
a přispíváme i ***ále.
Tyto knihovny jsou z velké části dílem inženýrů společnosti Google.
Jedná se ale o open source, takže si kdykoli můžete
prohlédnout zdrojový kód
a jeho aktualizace.
A pokud chcete, můžete také odeslat vlastní aktualizace.
Když se zde podívám na seznam hostů, tak vidím pár
lidí, kteří již přispěli několika opravami chyb
v některých z těchto knihoven.
Někteří z vás si to určitě pamatují.
Jak jsem již řekl dříve, jednou ze skvělých funkcí rozhraní
Content API je to, že můžete odesílat hromadné požadavky.
Všimněte si obrázku zde na boku snímku.
Několik produktů a operací můžete společně vložit
do jednoho požadavku POST. To je super.
Jeden požadavek tedy může obsahovat jak více položek,
tak více operací. Chcete-li současně odstranit několik
položek a aktualizovat pár dalších, je to možné.
Chcete-li současně vložit novou položku a změnit
cenu jiné položky, můžete to provést pomocí
jediné hromadné operace.
Hromadné operace ale mají jistá omezení.
Každý požadavek může mít velikost nejvýše jeden megabajt.
Požadavek ale můžete zmenšit tak, že jej zabalíte pomocí
programu Gzip nebo podobného.
Ze serveru dostanete odezvu jako při běžném požadavku
na vložení nebo aktualizaci.
Odezva tedy bude mít stejný formát jako požadavek
a budou v ní uvedeny informace o úspěchu nebo neúspěchu
pro jednotlivé produkty.
Hlavní výhodou tedy je, že namísto odesílání 100
požadavků pro 100 položek stačí odeslat jediný požadavek.
A to šetří váš čas a snižuje počet potřebných požadavků.
Než vám představím další skvělou funkci implementace
rozhraní Content API, rád bych vám k ní poskytl
trochu širší informace.
V době, kdy jsme přidávali tuto funkci, byla plánována
změna specifikace zdrojů dat.
Mnozí z vás již o tom pravděpodobně vědí.
22. září jsme tedy specifikaci zdrojů dat změnili tak,
aby uživatelé služby Nákupy měli lepší
možnosti hledání.
Kvůli tomu byly některé věci odesílané prostřednictvím
rozhraní Content API platné před 22. zářím, ale po tomto
datu se staly neplatnými.
Proto jsme vám chtěli dát možnost, abyste byli předem varováni.
Přišli jsme s příznakem warnings, který můžete jednoduše připojit
na konec adresy URL při odesílání požadavku
na vložení, aktualizaci nebo jinou operaci měnící stav,
prostě libovolnou operaci, která změní váš inventář.
A pokud tento příznak –
zde jej v odkazu vidíte tučně zvýrazněný –
zahrnete na konec požadavku, bude odezva
zahrnovat nejen informace o úspěchu nebo neúspěchu,
ale také varování o čemkoli, co by mohlo v budoucnu
vést k neúspěchu.
Nebo například v případě, že nějaký atribut je doporučený,
ale není povinný, zobrazí se varování
o tomto doporučení.
V podobném duchu jako příznak warnings jsme přidali
také příznak dry-run.
Tento příznak vytváří izolovaný prostor.
Jedná se vlastně o zkušební spuštění.
Můžete odeslat požadavek, jako kdybyste se chystali
nějak aktualizovat nebo upravit svá data, ale data
přitom nebudou ve skutečnosti
vložena, ve skutečnosti nebude provedena žádná změna.
Bude vám vrácena přesně stejná odezva, jako byste dostali, kdybyste
odeslali skutečný požadavek, pouze s tím rozdílem,
že se ve skutečnosti nic nezmění.
To je o jednu úroveň výš než naše interaktivní online ukázka,
ale jde to ve stejném duchu.
Umožňuje vám to otestovat implementaci, aniž by byla
nějak ovlivněna vaše data o produktech ve službě
Merchant Center.
Jednou ze skvělých vlastností a možností použití tohoto rozhraní API,
zejména pro prodejce a obchodníky, je to,
že pokud máte podnikový systém pro plánování zdrojů,
označovaný též zkratkou ERP, a dojde k přidání,
vložení nebo změně produktu, můžete na tuto změnu
programově reagovat v sytému ERP a provést volání rozhraní
Content API pro službu Nákupy, kterým provedete obdobnou
změnu ve vašem inventáři ve službě Google Merchant Center.
Takže díky tomu můžete svůj interní inventarizační systém
synchronizovat s naším inventarizačním systém.
Doufám, že se vám líbilo, co jsem vám dnes řekl.
Pokud máte zájem o vyzkoušení tohoto rozhraní a chcete se dále
poradit, máme aktivní online komunitu.
Jde o skupinu Google
a najdete ji tak, že ve službě Skupiny Google vyhledáte text
Content API for Shopping.
Odkaz na ni je uveden i zde.
Já sám toto fórum pročítám a přispívají do něj také
další naši inženýři.
Odpovědi lze jednoduše prohledávat, takže pokud
někdo před vámi již měl stejnou otázku, budete moci
najít naši odpověď, která vám pomůže příslušným
způsobem aktualizovat vaši implementaci.
Pokud máte zájem o individuální podporu,
obraťte se na svého account managera.
Ten vám nabídne další možnosti.
Já osobně také udržuji dokumentaci k tomuto
rozhraní a velmi dbám na to, aby byla vždy aktuální
a vy jste měli co nejvíc informací. Tu najdete na adrese
code.google.com/ api/shopping/content.
Tuto adresu URL si opět nemusíte pamatovat.
Pokud přejdete na web Google a vyhledáte text Content API for
Shopping, zobrazí se jako
první odkaz v seznamu výsledků.
Pokud byste potřebovali další informace *** rámec zdejších
otázek a odpovědí, můžete se ke mně na hodinu připojit
3. listopadu na setkání ve službě Google+.
A další informace bych vám vlastně mohl poskytnout
i po této prezentaci.
Pokud byste nám chtěli sdělit váš názor na tento webový
seminář, použijte zde uvedený
krátký odkaz goo.gl/7PjFA. Zobrazí se formulář,
jehož pomocí nám budete moci sdělit váš názor
na dnešní seminář.
Pokud má někdo nějaké další otázky, tak se prosím ptejte.