Agenda stats (tabulka inzerátů)
Součty metrik za zvolené období po jednotlivých inzerátech jedné sekce (moto, dily nebo prislusenstvi): zobrazení detailu, zobrazení ve výpisu, prokliky na web prodejce, odpovědi, uložení do schránky, přehrání videa a akční okna. Jeden záznam = jeden inzerát, s řazením, filtrací a stránkováním. Tisíce inzerátů tak získáte jedním dotazem místo statistiky každého inzerátu zvlášť.
Vychází ze stejných počítadel a pravidel jako statistiky v administraci firmy, statistika jednoho inzerátu a statistika firmy. Agenda je jen ke čtení a vyžaduje právo statsperm. Jak čísla vznikají a jak je číst, podrobně popisuje Metodika statistik.
- Jen inzeráty s provozem v rozsahu – inzerát, který v rozsahu nemá v žádné metrice sekce ani jednu návštěvu, v tabulce není, viz Řádky tabulky.
- Smazané inzeráty v tabulce jsou (
archiv=1); stačí k tomu právostatsperm. - Časovou řadu tabulka nemá – průběh jednoho inzerátu po dnech, týdnech nebo měsících vrací statistika inzerátu.
Funkce agendy
| Název | Možnosti |
|---|---|
| Podporované metody | GET |
| Podpora úrovně detailu | ✔ (vlastní výběr metrik, viz úrovně detailu) |
| Podpora filtrace | ✔ (viz Řazení a filtr) |
| Podpora fulltextu | ✘ |
| Podpora stránkování | ✔ (s výjimkou, viz Stránkování) |
| Podpora řazení | ✔ (viz Řazení a filtr) |
| Podpora externích identifikátorů | ✘ |
Podpora schémat |
https://api.tipmoto.com/schemas/stats/{moto|dily|prislusenstvi}.{xsd|rng} |
Podpora ?fail-on-warning |
✘ |
| Podpora dry-run | ✘ |
Vrací location |
✘ |
Adresa
https://api.tipmoto.com/c/{ID firmy}/stats/{moto|dily|prislusenstvi}.{xml|json|html}
- Sekce je v adrese; tabulku přes všechny sekce najednou API nemá (ID inzerátů se mezi sekcemi opakují). Jiná sekce v adrese vrátí
404. - Záznamy se jmenují podle sekce:
statsmoto,statsdily,statsprislusenstvi. - Zdali má login k firmě právo
statsperm, říká prvekstatsPermissionsv seznamu firem. - Součty za celou sekci vrací statistika firmy, průběh jednoho inzerátu statistika inzerátu.
Oprávnění
- Tabulka vyžaduje právo
statspermloginu k firmě. Firma ho loginu zapne sama v administraci (Web / export → API propojení, zaškrtávátko „Statistiky“ u loginu); výchozí stav je vypnuto. Bez něj vrátí agenda402. - Smazané inzeráty jsou v tabulce i bez oprávnění na úrovni 'archive'. To chrání plné údaje smazaného inzerátu (agenda
archive), ne statistiku: odkazid@refsmazaného inzerátu vede do archivu a jeho otevření oprávnění na úrovni 'archive' vyžaduje. - Inzeráty, které firma pro exportní server loginu skryla (nastavení „neexportovat“), tabulka vynechá stejně jako výpis agendy
moto,dilyaprislusenstvi, aby šla s výpisem spojit. Týká se to jen inzerátů na serveru – smazané inzeráty v archivu se neskrývají.
Parametry
| Parametr | Hodnoty | Výchozí | Popis |
|---|---|---|---|
from, to |
RRRR-MM-DD |
viz Rozsah | První a poslední den rozsahu (včetně). Je-li from pozdější než to, prohodí se. Jen from: to = dnes. Jen to: from = to − 27 dní. |
location |
1, 2, 3, 4 (víc čárkou, např. 1,2) |
všechna umístění | Filtr umístění. Součty i výběr řádků (provoz v rozsahu) se počítají jen ze zvolených umístění. Jakýkoli filtr vyřadí dopočítanou historii (umístění 0), takže metriky pak začínají dnem, kdy se začalo měřit podle umístění. Metrika, která ve vybraných umístěních nevzniká, v dokumentu chybí. Opakovaná hodnota se sloučí, prázdné location= znamená bez filtru, 0 je neplatná hodnota. |
detail |
id, summary, full, custom:… |
summary |
Které sloupce a metriky záznamy obsahují, viz úrovně detailu. Výběr řádků ani stránky na úrovni detailu nezávisí. |
order |
sloupec a směr (ASC, DESC), víc čárkou |
zobrazeni DESC |
Řazení, viz Řazení a filtr. |
filter |
výraz, např. zobrazeni > 10 and archiv = '0' |
– | Filtrace, viz Řazení a filtr. |
limit, start |
celé nezáporné číslo | 500, 0 |
Stránkování, viz Stránkování. limit=0 i limit nad 5000 znamenají 5000. |
period |
day, week, month |
Tabulka časovou řadu nemá, hodnota se proto jen ověří (neplatná vrátí 400) a na výstup nemá vliv. Zdroj dat volí tabulka sama, viz Rozsah. |
|
add-row-count, no-series |
Nic nemění: rowCount je ve výstupu vždy a časovou řadu tabulka nemá. no-series se ignoruje i s neplatnou hodnotou. |
||
| standardní | lang, xpath, code-in-response, no-http-errors, sessionid |
Fungují jako v celém API, viz URL parametry. xpath vrací XML i u .json. |
|
| nepodporované | section, breakdown, fulltext, ftx-loc, usrval-show |
Tabulka je nepodporuje (sekce je v adrese, rozpad podle umístění ani fulltext u ní nejsou) a vrátí 406, jakmile má parametr neprázdnou hodnotu, i 0. Parametr s prázdnou hodnotou (section=) se bere jako neuvedený. |
Neplatná hodnota parametru period, from, to, location, detail nebo limit vrátí 400 s hláškou, která vyjmenuje povolené hodnoty. Na velikosti písmen záleží.
Úrovně detailu
| Hodnota | Obsah záznamu |
|---|---|
id |
Jen id, idApi a archiv – bez čísel. Blok metriky je jako u summary. |
summary (výchozí) |
id, idApi, nazev, archiv, vlozeniCas, smazaniCas a pět základních metrik: zobrazeni, vypis, urlKliknuti, odpovedi, schranka. |
full |
Navíc videoPrehrani, videoDokoukano a bloky akcniOkno a vybirame. |
custom:… |
Sloupce id, idApi, nazev, archiv, vlozeniCas, smazaniCas jako u summary (nevyjmenovávají se) a jen vyjmenované metriky a bloky, čárkou: zobrazeni, vypis, urlKliknuti, odpovedi, schranka, videoPrehrani, videoDokoukano, akcniOkno, vybirame. Např. detail=custom:zobrazeni,odpovedi. Neznámé položky se ignorují jako v celém API (i videoUdrzeni, které je jen ve statistice inzerátu); obsahuje-li seznam jen neznámé položky, záznamy mají jen tyto sloupce a dokument nemá blok metriky. |
Metriky proklikFirma a proklikLogo ze statistiky firmy v tabulce nejsou – jsou to metriky firmy, ne inzerátu.
Umístění
Kde návštěvník inzerát viděl (1 www.tipmoto.com, 2 firemní subdoména, 3 výpis na webu klienta, 4 MotoInzerce.cz). Podrobně v tabulce umístění statistiky inzerátu, číselník je v agendě lists/lokacestats.
Rozsah
- Výchozí rozsah: posledních 28 dní (dnes − 27 dní až dnes).
- API rozsah jen zužuje, nikdy nerozšiřuje:
tov budoucnosti se ořízne na dnešek afrompřed začátkem dostupných dat na jejich začátek. Postup: doplnit chybějícífrom/to, prohodit, zúžit. - Zdroj dat: v denním okně (od prvního dne měsíce před 13 měsíci; v září 2026 je to 1. 8. 2025) se sčítají denní data, před ním celé měsíce z měsíčních součtů. Okraj rozsahu uprostřed takového měsíce se proto zúží dovnitř na celé měsíce (nepřichytává se ven, to by vrátilo čísla za nevyžádané dny). Parametr
periodna to nemá vliv. Po měsících jsou data uzobrazeniaodpovediod května 2022, metriky měřené až od roku 2026 mají data od začátku měření. - Skutečně použitý rozsah je v
rozsah/odarozsah/do. Liší-li se od zadaného, neserozsahi zadané hodnoty vpozadovanoOdapozadovanoDo. Např.from=2025-03-15&to=2026-09-26:<rozsah> <od>2025-04-01</od> <do>2026-09-26</do> <pozadovanoOd>2025-03-15</pozadovanoOd> </rozsah>
locationje vrozsahjen tehdy, když byl parametr použitý (normalizované: vzestupně, bez opakování).periodvrozsahtabulky není.- Prázdný rozsah (např. celý před začátkem dat) není chyba: vrátí
200,rowCount0arozsahbezod/do, bezmetrikya bez záznamů. Např.from=2020-01-01&to=2020-02-01:<rowCount>0</rowCount> <rozsah> <pozadovanoOd>2020-01-01</pozadovanoOd> <pozadovanoDo>2020-02-01</pozadovanoDo> </rozsah>
- Všechna data a hranice dnů jsou v časovém pásmu Europe/Prague.
Řádky tabulky
- V tabulce jsou jen inzeráty s provozem v rozsahu (a ve zvolených umístěních) v kterékoli metrice sekce, bez ohledu na
detail– stránky jsou pro všechny úrovně detailu stejné. Chcete-li i inzeráty bez provozu, spojte tabulku s výpisem/c/{ID firmy}/{moto|dily|prislusenstvi}podleid. - Smazané inzeráty v tabulce jsou:
archiv=1,id@refvede do archivu asmazaniCasje vyplněné. - Znovu zveřejněný inzerát (smazaný a později znovu vložený pod původním ID) je jeden řádek jako inzerát na serveru:
archiv=0,vlozeniCasje první vložení a součty zahrnují všechny úseky jeho života v rozsahu. - Inzerát, který už není na serveru ani v archivu, má v záznamu jen
id(bezref),archiv=1a metriky. Jeho metriky se řídí jen pokrytím metrik, důvodzivotnemá. - Součty řádků za tentýž rozsah dávají součty sekce ve statistice firmy s
period=dayneboweek(speriod=monthbere statistika firmy uzavřené měsíce z měsíčních součtů a může se lišit) s jednou výjimkou: tabulka vynechá inzeráty skryté pro exportní server loginu (statistika firmy je v součtech má). Řádek obsahuje všechna data inzerátu v rozsahu, i provoz zaznamenaný mimo život inzerátu podle záznamů na serveru a v archivu (např. po smazání inzerátu). Metrika, která má data jen mimo život, mádni="0"aneuplne="zivot". Statistika jednoho inzerátu sčítá (speriod=dayaweek) jen dny života, u takových inzerátů proto ukáže méně než řádek tabulky.
Nula a neměřeno
0znamená „měřilo se a nikdo nepřišel“. Chybějící metrika u řádku znamená „neměřilo se“ – inzerát v době, kdy se metrika měřila, neexistoval, metrika se v rozsahu neměřila nebo v umístění nevzniká, nebo (u videa) inzerát video neměl. Nulu tedy nečtěte jako „chybí data“ ani chybějící prvek jako nulu.- Hlavní číslo (text prvku metriky) = lidé a neurčení návštěvníci, bez robotů – tedy totéž, co počítá graf v administraci. Roboti jsou v atributech.
- Metrika, která se v celém rozsahu neměřila, chybí u všech řádků i v bloku
metriky. - Bloky
akcniOknoavybiramese vypíšou pro každé umístění, kde podle katalogu vznikají, kde se v rozsahu měřilo a kde inzerát žil, i když v něm nejsou žádná data – firma, která si akční okno v daném umístění nekoupila, tam uvidí nuly.
Neúplné hodnoty (neuplne, dni)
Hodnota metriky v řádku je součet za rozsah. Pokrývá-li metrika jen část rozsahu, nese atribut neuplne s důvodem a atribut dni; metrika, která pokrývá celý rozsah, tyto atributy nemá. Víc důvodů je oddělených čárkou v tomto pořadí:
| Důvod | Význam |
|---|---|
mereni |
Metrika v rozsahu začala měřit, má v něm mezeru v datech, nebo rozsah obsahuje neúplný první den měření (4. 9. 2026 u urlKliknuti, 7. 9. 2026 u schranka, 24. 9. 2026 u videa); u videa i tehdy, když inzerát video dostal až během rozsahu. Stačí, když to platí v jednom ze sečtených umístění. |
zivot |
Inzerát nežil po celý rozsah: byl vložen nebo smazán uvnitř rozsahu, nebo jde o mezeru mezi úseky života znovu zveřejněného inzerátu, nebo má metrika data jen mimo život (pak dni="0"). Den vložení a smazání se počítá jako celý. |
bezi |
Rozsah obsahuje dnešek, který ještě neskončil. Při výchozím rozsahu ho tedy nese každá metrika. |
dni= počet celých dnů rozsahu, kdy se metrika měřila a inzerát existoval – bez dnů v mezeře dat, bez neúplných prvních dnů měření a bez dneška.- Hodnota obsahuje všechno naměřené včetně neúplných dnů,
dnije jen počítá. Hodnota /dnije proto horní odhad průměru za den. Průměr (prumerDen) tabulka nevrací. - Důvod
rozsahze statistiky inzerátu v tabulce nevzniká – řádek pokrývá právě použitý rozsah.
Roboti
- Atributy
roboti(roboti) aaiRoboti(AI roboti) jsou vedle hlavního čísla (lidé a neurčení návštěvníci); skupiny se nepřekrývají, všichni návštěvníci = hodnota +roboti+aiRoboti. - Zdali metrika atributy má, rozhoduje začátek rozsahu dokumentu, stejně pro všechny řádky: atributy jsou, když rozsah (nebo, začíná-li metrika později, první den s daty metriky podle
metriky) nezačíná předrobotiOdmetriky. Např. rozsah od 1. 9. 2026:urlKliknuti(měří se od 4. 9. =robotiOd) atributy má,odpovedi(dopočet ze záloh už před 1. 9.,robotiOd8. 9.) ne. - Rozhoduje rozsah, ne vložení inzerátu: inzerát vložený po
robotiOdmá ve statistice inzerátu atributy robotů, v tabulce s rozsahem začínajícím předrobotiOdne.
Pokrytí metrik (metriky)
Blok metriky je v dokumentu jednou, před záznamy, a má stejný tvar jako ve statistice inzerátu: pro každou vybranou metriku klic, nazev, od, uplneOd, dopoctenoDo, merenoOd, robotiOd, dira, pokryti a poznamka. Popisuje, co se v rozsahu a ve zvolených umístěních měřilo, ne život jednotlivých inzerátů.
od– první den s daty metriky pro zvolená umístění (uzobrazeniaodpovedivčetně měsíčních součtů před denním oknem).dopoctenoDo,merenoOd,robotiOdpopisují metodiku dat a vypisují se i tehdy, když leží předod.diraapokryti(uakcniOknoavybirame) jako ve statistice inzerátu.- Metrika, která se v rozsahu neměřila nebo ve vybraných umístěních či v sekci nevzniká (např. video u dílů nebo u firmy, která video nikdy neměla), v bloku není.
nazevapoznamkajsou texty pro člověka (slang=enanglicky); strojově je nezpracovávejte.
Katalog metrik
| Klíč | Název | Sekce a umístění, kde vzniká | Detail |
|---|---|---|---|
zobrazeni |
Zobrazení detailu | moto: 1, 2, 3dily: 1, 2prislusenstvi: 1, 2 |
summary |
vypis |
Zobrazení ve výpisu | moto: 1, 2, 3dily: 1, 2prislusenstvi: 1, 2 |
summary |
urlKliknuti |
Proklik na web prodejce | moto: 1, 2dily: 1, 2prislusenstvi: 1 |
summary |
odpovedi |
Odpovědi na inzerát | moto: 1, 2dily: 1, 2prislusenstvi: 1 |
summary |
schranka |
Uloženo do schránky | moto: 1, 2dily: 1, 2prislusenstvi: 1 |
summary |
videoPrehrani |
Přehrání videa | moto: 1, 2 |
full |
videoDokoukano |
Dokoukáno (video) | moto: 1, 2; jen u videa nahraného na TipMoto |
full |
akcniOkno |
Akční okno – blok s lokace a metrikami zobrazeni (zobrazení akčního okna) a proklik (proklik z akčního okna) |
moto: 1, 2, 4dily: 2prislusenstvi: nemá |
full |
vybirame |
Vybíráme z nabídky (výpis na MotoInzerce.cz) – blok s lokace a metrikami zobrazeni (zobrazení výpisu) a proklik (proklik na inzerát) |
moto: 4 |
full |
Od kdy mají metriky data, mezery v datech a první neúplné dny měření uvádí katalog metrik statistiky inzerátu. Kombinace sekce a umístění mimo tabulku neexistuje a v dokumentu chybí.
Video
videoPrehrani= přehrání videa (všechny zdroje včetně YouTube),videoDokoukano= video dokoukané do konce (aspoň 90 % skutečně přehraného času). Jen sekcemoto, jen umístění 1 a 2, v detailufullacustom:.- U řádku existují metriky videa jen za dny, kdy inzerát video měl (u videa z YouTube od vložení inzerátu, u videa nahraného na TipMoto ode dne nahrání, vždy nejpozději od prvního naměřeného přehrání). Inzerát, který v rozsahu video neměl, metriky videa nemá;
videoDokoukanochybí i u inzerátu jen s videem z YouTube (dokoukání YouTube nezměří). - Blok
videoUdrzenije jen ve statistice inzerátu.
Řazení a filtr
orderafilterfungují nad sloupciid,idApi,nazev,archiv,vlozeniCas,smazaniCasa nad metrikami, které záznam vypisuje (ne nad metrikami uvnitř blokůakcniOknoavybirame). Řadí a filtruje se podle součtů za rozsah.- Výchozí řazení je
zobrazeni DESC, i udetail=id, kde sezobrazeninevypisuje. Když sezobrazeniv rozsahu a zvolených umístěních neměří (např.location=4), řadí se jen podleidvzestupně. Neznámý klíč vorderse ignoruje jako v celém API. - Metrika bez hodnoty (neměřeno) je při řazení podle ní vždy na konci, v obou směrech. Shodné hodnoty se vždy dorovnají podle
id, takže je stránkování stabilní. filtermá standardní syntaxi, hodnoty se píšou v apostrofech:filter=zobrazeni > 10 and archiv = '0'. Řádek bez metriky (neměřeno) filtrem nad touto metrikou neprojde (filter=schranka = '0'ho nenajde) a dorowCountse nezapočítá.ordernebofilternad sloupcem, který zvolená úroveňdetailnevypisuje (např.detail=id&order=nazevneboorder=videoPrehranibezdetail=full), vrátí406– řadit a filtrovat jde jen podle vypsaných sloupců.406vrátí také metrika, která se ve zvoleném rozsahu neměřila (hláška řekne, od kdy se měří), metrika, která v sekci nebo ve zvolených umístěních nevzniká (např.location=4&order=zobrazeni), a video u firmy, která video (u dokoukání video nahrané přímo na TipMoto) nikdy neměla. Při prázdném rozsahu (např. rozsah celý před začátkem dat) se metrika nekontroluje a výsledek je200bez záznamů.
Stránkování
limitmá výchozí hodnotu500a strop5000;limit=0ilimitnad5000znamenají5000(ne „bez omezení“ jako v jiných agendách). Další řádky získáte přesstart.rowCount(počet inzerátů s provozem v rozsahu po filtru) je ve výstupu vždy, bez ohledu naadd-row-count. Z něj poznáte, zdali máte stránkovat.
Položky agendy
| Str. název | Název | Typ | Informace |
|---|---|---|---|
rowCount |
Počet záznamů | integer |
Počet inzerátů s provozem v rozsahu po filtru, bez ohledu na limit a start; vždy. |
rozsah/od, rozsah/do |
Použitý rozsah | date |
Chybí u prázdného rozsahu. |
rozsah/pozadovanoOd, rozsah/pozadovanoDo |
Požadovaný rozsah | date |
Zadaný okraj (po doplnění výchozích hodnot a prohození), jen když se liší od použitého; u prázdného rozsahu vždy. |
rozsah/location |
Filtr umístění | string |
Jen když byl parametr použitý, např. 1,2. |
metriky/metrika |
Pokrytí metriky | element |
Potomci klic, nazev, od, uplneOd, dopoctenoDo, merenoOd, robotiOd, dira, pokryti, poznamka, viz Pokrytí metrik. |
statsmoto, statsdily, statsprislusenstvi |
Záznam = jeden inzerát | element |
Podle sekce v adrese. |
id |
ID inzerátu | integer |
|
id@ref |
Odkaz na záznam inzerátu | href |
U smazaného inzerátu do agendy archive (otevření vyžaduje oprávnění na úrovni 'archive'). Chybí u inzerátu, který už není na serveru ani v archivu. |
idApi |
Externí ID inzerátu | string 64 |
Prázdné, když inzerát externí ID nemá. |
nazev |
Název inzerátu | string |
Jako v administraci (u motorek kategorie a název, u dílů a příslušenství výrobce a název). Ne u detail=id. |
archiv |
Smazaný inzerát | select |
Možné hodnoty:
|
vlozeniCas |
Vložení inzerátu | datetime |
U znovu zveřejněného inzerátu první vložení. Ne u detail=id. |
smazaniCas |
Smazání inzerátu | datetime |
Prázdné u inzerátu na serveru. Ne u detail=id. |
{metrika} |
Součet metriky za rozsah | integer |
Lidé a neurčení návštěvníci, viz katalog. Chybí = neměřeno. |
{metrika}@neuplne, {metrika}@dni |
Neúplná hodnota, počet celých dní | set, integer |
mereni, zivot, bezi (čárkou); jen u metriky, která pokrývá jen část rozsahu. |
{metrika}@roboti, {metrika}@aiRoboti |
Roboti, AI roboti | integer |
Viz Roboti. |
akcniOkno, vybirame |
Bloky podle umístění | element |
Umístění je v potomkovi lokace, za ním metriky zobrazeni a proklik. Bloky jsou seřazené podle lokace vzestupně. |
Pořadí je pevné: v tipmoto rowCount, rozsah, metriky a záznamy; v záznamu id, idApi, nazev, archiv, vlozeniCas, smazaniCas, metriky v pořadí katalogu, bloky akcniOkno a vybirame.
Příklad
GET /c/95/stats/moto.xml?from=2026-09-01&to=2026-09-26&limit=2&start=1 (zkráceno):
<!--Dokumentace agendy na: https://api.tipmoto.com/docs/agendas/stats/inzeraty/
Schémata (více o nich na https://api.tipmoto.com/docs/ref/schemata/ ):
https://api.tipmoto.com/schemas/stats/moto.xsd
https://api.tipmoto.com/schemas/stats/moto.rng-->
<tipmoto>
<!--Počet inzerátů s provozem v rozsahu (po filtru). Tabulka ho vrací vždy; stránkuje se parametry limit (výchozí 500, nejvýš 5000) a start.-->
<rowCount>4</rowCount>
<!--Skutečně použitý rozsah. pozadovanoOd/pozadovanoDo jsou jen tehdy, když API rozsah zúžilo (budoucnost, začátek dat, celé měsíce mimo denní data); location jen tehdy, když byl parametr použitý.-->
<rozsah>
<od>2026-09-01</od>
<do>2026-09-26</do>
</rozsah>
<!--Pokrytí metrik v tomto dokumentu: od = první den s daty (pro zvolená umístění), dopoctenoDo = do kdy jsou hodnoty dopočítané ze záloh, merenoOd = od kdy jde o nové měření, robotiOd = od kdy jsou roboti oddělení (atributy roboti a aiRoboti).-->
<metriky>
<metrika>
<klic>zobrazeni</klic>
<nazev>Zobrazení detailu</nazev>
<od>2022-05-01</od>
<dopoctenoDo>2026-08-28</dopoctenoDo>
<merenoOd>2026-08-29</merenoOd>
<robotiOd>2026-08-29</robotiOd>
</metrika>
<!-- … vypis, urlKliknuti, odpovedi -->
<metrika>
<klic>schranka</klic>
<nazev>Uloženo do schránky</nazev>
<od>2026-09-07</od>
<merenoOd>2026-09-07</merenoOd>
<robotiOd>2026-09-07</robotiOd>
</metrika>
</metriky>
<!--Jeden inzerát s provozem v rozsahu: součty za rozsah. Hodnota 0 = měřilo se a nikdo nepřišel, chybějící metrika = neměřilo se (inzerát tehdy neexistoval, metrika se neměřila nebo inzerát neměl video). dni a neuplne jen u metriky, která pokrývá jen část rozsahu (dni = celé dny bez neúplných a bez dneška).-->
<statsmoto>
<id ref="/c/95/moto/618162.xml">618162</id>
<idApi/>
<nazev>Moto Morini X-Cape 650</nazev>
<!--1 = smazaný inzerát (ref vede do archivu, jeho otevření vyžaduje právo archiveperm), 0 = inzerát je na serveru-->
<archiv>0</archiv>
<vlozeniCas>2026-09-22 15:13:04</vlozeniCas>
<smazaniCas/>
<zobrazeni dni="5" neuplne="zivot" roboti="11" aiRoboti="1">45</zobrazeni>
<vypis dni="5" neuplne="zivot" roboti="97" aiRoboti="37">1766</vypis>
<urlKliknuti dni="5" neuplne="zivot" roboti="0" aiRoboti="0">0</urlKliknuti>
<odpovedi dni="5" neuplne="zivot">0</odpovedi>
<schranka dni="5" neuplne="zivot" roboti="0" aiRoboti="0">0</schranka>
</statsmoto>
<statsmoto>
<id ref="/c/95/moto/560675.xml">560675</id>
<idApi/>
<nazev>Yamaha Tracer 9 / 900</nazev>
<archiv>0</archiv>
<vlozeniCas>2024-09-26 15:31:54</vlozeniCas>
<smazaniCas/>
<zobrazeni roboti="5" aiRoboti="0">42</zobrazeni>
<vypis roboti="108" aiRoboti="61">1220</vypis>
<urlKliknuti dni="22" neuplne="mereni" roboti="0" aiRoboti="0">0</urlKliknuti>
<odpovedi>0</odpovedi>
<schranka dni="19" neuplne="mereni" roboti="0" aiRoboti="0">1</schranka>
</statsmoto>
</tipmoto>
Firma má s provozem v rozsahu 4 inzeráty (rowCount), výstup vrací druhý a třetí podle výchozího řazení zobrazeni DESC. První inzerát byl vložen 22. 9. 2026, proto mají jeho metriky neuplne="zivot" a dni="5" (22.–26. 9.). U druhého začala urlKliknuti měřit 4. 9. a schranka 7. 9. 2026 (první dny neúplné), proto dni="22" a dni="19". odpovedi nemají atributy robotů, protože rozsah začíná před jejich robotiOd (8. 9. 2026).
JSON
- Záznamy
statsmoto,statsdily,statsprislusenstvia prvkyakcniOkno,vybirame,metrika,pokrytiadirajsou v JSON vždy pole, i když se vyskytnou jen jednou. Když se nevyskytnou vůbec, klíč v JSON chybí (ne[]). - Atributy jsou sourozenecké klíče ve stejném objektu jako prvek, jméno klíče je jméno prvku, zavináč a jméno atributu:
"zobrazeni": "42","zobrazeni@roboti": "5","urlKliknuti@dni": "22","urlKliknuti@neuplne": "mereni","id@ref": "…". - Všechny hodnoty jsou řetězce, i čísla (
"4","42"). - Prázdný prvek je prázdný řetězec:
"smazaniCas": "","idApi": "". - Chybějící klíč metriky = neměřeno, stejně jako chybějící prvek v XML. Komentáře z XML v JSON nejsou.
GET /c/95/stats/moto.json?from=2026-09-01&to=2026-09-26&limit=2&start=1&detail=custom:zobrazeni,urlKliknuti,akcniOkno (odřádkováno, zkráceno, … = vynecháno). Akční okno v umístění 4 mělo 15.–16. 9. 2026 mezeru v datech, proto má dni="24" a neuplne="mereni":
{
"tipmoto": {
"rowCount": "4",
"rozsah": {"od": "2026-09-01", "do": "2026-09-26"},
"metriky": {"metrika": [
{"klic": "zobrazeni", "nazev": "Zobrazení detailu", "od": "2022-05-01", "dopoctenoDo": "2026-08-28", "merenoOd": "2026-08-29", "robotiOd": "2026-08-29"},
{"klic": "urlKliknuti", "nazev": "Proklik na web prodejce", "od": "2026-09-04", "merenoOd": "2026-09-04", "robotiOd": "2026-09-04"},
{"klic": "akcniOkno", "nazev": "Akční okno", "od": "2026-08-29", "merenoOd": "2026-08-29", "robotiOd": "2026-08-29", "pokryti": [{"lokace": "1", "od": "2026-08-29"}, {"lokace": "2", "od": "2026-08-29"}, {"lokace": "4", "od": "2026-08-29", "dira": [{"od": "2026-09-15", "do": "2026-09-16"}]}]}
]},
"statsmoto": [
{"id": "618162", …},
{"id": "560675", "idApi": "", "nazev": "Yamaha Tracer 9 / 900", "archiv": "0", "vlozeniCas": "2024-09-26 15:31:54", "smazaniCas": "",
"zobrazeni": "42", "urlKliknuti": "0",
"akcniOkno": [
{"lokace": "1", "zobrazeni": "0", "proklik": "0", "zobrazeni@roboti": "0", "zobrazeni@aiRoboti": "0", "proklik@roboti": "0", "proklik@aiRoboti": "0"},
…,
{"lokace": "4", "zobrazeni": "0", "proklik": "0", "zobrazeni@dni": "24", "zobrazeni@neuplne": "mereni", "zobrazeni@roboti": "0", "zobrazeni@aiRoboti": "0", "proklik@dni": "24", "proklik@neuplne": "mereni", "proklik@roboti": "0", "proklik@aiRoboti": "0"}
],
"id@ref": "/c/95/moto/560675.json",
"zobrazeni@roboti": "5", "zobrazeni@aiRoboti": "0",
"urlKliknuti@dni": "22", "urlKliknuti@neuplne": "mereni", "urlKliknuti@roboti": "0", "urlKliknuti@aiRoboti": "0"}
]
}
}
Chyby
Chyba má tvar <tipmoto><chyby><chyba>…</chyba></chyby></tipmoto> ve formátu požadavku (.xml, .json, .html) a respektuje lang, code-in-response a no-http-errors, viz Obsluha chyb.
| HTTP kód | Kdy |
|---|---|
400 |
neplatná hodnota parametru period, from, to, location (i 0), detail nebo limit (jiná hodnota než celé nezáporné číslo); hláška vyjmenuje povolené hodnoty |
402 |
login nemá k firmě právo statsperm (i když k firmě nemá přístup vůbec); firma je pozastavená nebo nemá povolené exporty |
404 |
jiná sekce v adrese než moto, dily, prislusenstvi; adresa neexistuje |
405 |
jiná metoda než GET |
406 |
nepodporovaný parametr (section, breakdown, fulltext, ftx-loc, usrval-show, i s hodnotou 0); order nebo filter nad sloupcem, který zvolená úroveň detail nevypisuje, nad metrikou, která se ve zvoleném rozsahu neměřila (hláška řekne, od kdy se měří), nad metrikou, která v sekci či ve zvolených umístěních nevzniká, nebo nad videem u firmy bez videa; chybný zápis filter; chybný xpath; dotaz je příliš náročný – zkraťte rozsah (from, to) nebo vyberte méně metrik (detail=custom:…) |
500 |
chyba při vykonání dotazu na našem serveru |
503 |
databázový server je nedostupný; požadavek zopakujte později |
Příklad detail=id&order=nazev:
<tipmoto>
<chyby>
<chyba>Parametr 'order': sloupec 'nazev' zvolená úroveň detail nevypisuje, řadit a filtrovat jde jen podle vypsaných sloupců.</chyba>
</chyby>
</tipmoto>
Rozšiřitelnost
Prvky, atributy i hodnoty (např. nové metriky, bloky nebo důvody neuplne) mohou přibývat; význam existujícího prvku se nemění. Neznámé prvky, atributy a hodnoty ignorujte. Nové prvky přibývají na konec pevného pořadí. Klient, který výstup validuje, musí po rozšíření použít aktuální schéma. Každé rozšíření zapíšeme do changelogu.
