CHANGELOG
Historie změn specifikace XML feedu.
Všechny významné změny specifikace XML feedu KNZ Integrations jsou zdokumentovány v tomto souboru.
Upřesnění – říjen 2026
Formát feedu se nemění a stávající feedy fungují dál. Přibyla jedna hodnota výčtu a upřesňujeme, jak platforma s daty zachází.
Nová hodnota
voluntaryv<ticket><status>— dobrovolné vstupné;price_minje nepovinná a znamená doporučenou částku (Vstupenky).
Upřesnění
- User-Agent: crawler se při stahování feedu, obrázků i příloh identifikuje řetězcem
KamNaZapade/1.0 (+https://kamnazapade.cz), neKNZCrawler/1.0, jak uvádělo vydání 1.1.0 (Přehled). - Vstupenky: událost bez
<ticket>se ukáže bez ceny, ne jako vstup zdarma. Položky programu bez vlastního<ticket>přebírají vstupenku události. facebook_urlse načítá a web ho ukazuje na stránce akce.end_date: vícedenní událost bez<recurrence>je v kalendáři každý den; od 14 dní je dlouhodobá. U opakování seend_datepočítá včetně posledního dne.start_datemůže mít posun (+02:00) i UTC (Z); posílá-li váš systém místní čas jako UTC, nastavíme u zdroje časové pásmo.- Program: položky
<nested_event>aktualizujeme podle jejichid, i u zveřejněné akce; položka, která zmizí před konáním, se skryje. - Položky programu — vlastní
<ticket>,preview_url,durationa<location>jako objekt ukládáme od 15. 10. 2026; bezend_datedopočítáme konec zduration.durationudálosti se na stránce akce ukáže jako „Trvá …“. - Zmizelé události archivujeme při nejbližší synchronizaci, s pojistkou proti neúplné odpovědi feedu (Přehled, bod 4).
- Úpravy redakce zamykají jen změněné části události; zámek skončí, když feed pošle stejnou hodnotu. Nově popsáno předání akce pořadateli a výchozí pořadatel zdroje (bod 2).
- Obrázky delší než 2400 px nebo větší než 1 MB ukládáme zmenšené ve formátu WebP.
\[1.1.0\] - 2026-07-20
Toto vydání předělává způsob popisu médií, zpřísňuje prodej vstupenek a zavádí nepovinné pole duration. Přidává rovněž jedno povinné pole (preview_url), které partneři musí ve svých feedech uvádět.
⚠️ Zásadní změny (Breaking changes)
Média už nejsou jedno pole <media> - nyní jsou to čtyři samostatná pole.
v1.0 | v1.1 | Poznámky |
|---|---|---|
|
| Nyní povinné samostatně, neodvozuje se z pozice v poli |
|
| Přesunuto do bloku galerie |
– |
| Nové - nepovinný široký banner pro stránku s detaily akce |
|
| Jedna URL; více souborů sloučte do jednoho ZIP archivu |
– |
| Nový typ položky galerie pro přímé video odkazy (YouTube/Vimeo), odlišný od |
Původní obecné pravidlo vyžadující „alespoň jeden obrázek" bylo nahrazeno jediným přísným požadavkem: musí být přítomno pole preview_url. Pole galerie je nepovinné a lze jej vynechat nebo předat jako prázdný seznam.
Změna HTTP User-Agenta (crawleru):
Původní User-Agent KamNaZapade/1.0 byl nahrazen novým KNZCrawler/1.0.
Upozornění pro partnery: Pokud na svých webových serverech (Nginx, Cloudflare, WAF) filtrujte přístup na základě User-Agenta, je nutné přidat KNZCrawler/1.0 na whitelist, jinak budou požadavky na stahování feedu odmítnuty.
✨ Nová pole
duration: Přidán nepovinný podřízený element<duration>přímo pod<event>pro určení délky trvání akce v minutách (např.<duration>90</duration>).- Vylepšení vnořených událostí (
<nested_event>): - Přidána podpora bloku
<ticket>přímo uvnitř vnořených událostí. - Přidána podpora pole
<preview_url>pro náhledový obrázek vnořené události.
Změny v prodeji vstupenek
Struktura elementu <ticket> byla aktualizována pro lepší konzistenci se zbytkem schématu:
statuspřesunut do podřízeného elementu: Stav se již nepředává jako atribut XML.- Aktualizované hodnoty výčtu (enum): Hodnoty
statusjsou nyní striktněon_sale,sold_out,not_yet_availablenebofree(pozn.:at_doorbylo přesunuto). - Nové pole
sales_channel: Přidán nepovinný podřízený element<sales_channel>pro určení distribučního kanálu (onlineneboat_door).
Porovnání struktury XML:
- <ticket status="on_sale">
- <price_min>450</price_min>
- </ticket>
+ <ticket>
+ <status>on_sale</status>
+ <sales_channel>online</sales_channel>
+ <price_min>450</price_min>
+ </ticket>Aktualizováno 16. října 2026