Datové feedy

Co jsou datové feedy a k čemu slouží

Jakub Filounek avatar
Autor: Jakub Filounek
Aktualizováno před více než týdnem

Co je to datový feed?

Datový feed je podobný tomu produktovému, který má dnes většina e-shopů skrze Heureku, Zbozi.cz apod. Jedná se tedy o soubor typu XML, který je strukturovaný a psaný podle určitých pravidel.
Produktový feed obsahuje data (název, popis produktu, url obrázku apod.), která jsou v předem stanovené struktuře dané služby. Datový feed je trochu odlišný, protože nejsou stanovená pravidla pro to, co má obsahovat. Nabízí tak velký potenciál užití v praxi.

Povinné pole:

<data></data> - celý xml dokument
<item></item> - na každou položku/jednotku

Jako příklad můžeme uvést jednoduchý datový feed:

<?xml version="1.0" encoding="utf-8"?>
<data>
 <item>
 <email>prvni@email.com</email>
 <recommendations>Doporučení 1</recommendations>
 </item>
 <item>
 <email>druhy@email.com</email>
 <recommendations>Doporučení 2</recommendations>
 </item>
 <item>
 <email>treti@email.com</email>
 <recommendations>Doporučení 3</recommendations>
 </item>
</data>

Tento feed má dva prvky:

  • první je <email>

  • a druhý <recommendations>

Každý prvek má svůj obsah (např. Doporučení 1). Pro využití v Ecomailu potřebujeme znát dva prvky - podle kterého prvku budeme identifikovat a který prvek chceme propsat.

Při vložení bloku "Dynamický" v editoru vidíme, že tyto dva prvky zadáváme do polí "Identifikátor dynamického obsahu" (podle kterého prvku identifikujeme) a "Klíč dynamického obsahu" (obsah který chceme propsat).

Identifikátor musí odpovídat obsahu v Ecomailu, pokud tedy chceme identifikovat v datovém feedu pomocí PSČ, musí být u kontaktů vyplněno PSČ.
Může se jednat o:

  • základní pole

  • vlastní pole

*|ECM_DATAFEED_108_email_sleva|* - merge tag pro dynamický obsah (pokud nechcete využít obsah Dynamický z nabídky), kde 108 je ID datového feedu, email je identifikátor a sleva klíč dynamického obsahu.

 

Jak importovat datový feed?

V hlavním menu v záhlaví aplikace vyberte záložku “Další” a zvolte  "Datové feedy". Zde  přidáte do pole odkaz na datový feed (odkaz na xml soubor, který máte externě nahraný např. na svém webu) a přidání potvrdíte. Následně datový feed synchronizujte pomocí tlačítka a stránku obnovte (synchronizace trvá většinou v řádech sekund, ale pokud je feed objemný, může proces trvat déle).

 

Praktický příklad využití datového feedu

Pro příklad nám poslouží následující výtržek z datového feedu, který obsahuje dva prvky:

  • první <zip> - PSČ, podle kterého identifikujeme,

  • a druhý <branch> prvek, kterého obsah vypíšeme, v tomto případě se jedná o informace o pobočce dle daného PSČ. Tučně je vyznačen text, který se zobrazí koncovému uživateli.

<item>
 <zip>70200</zip>
 <branch>
 <![CDATA[
<table class="nl-w100" width="700" border="0" cellpadding="0" cellspacing="0">
<tr> <td align="center" bgcolor="#FFFFFF"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr>
<td align="center" class="nl-cell nl-pl10 nl-pr10" style="font-family:Open Sans, Arial, sans-serif; font-size:24px; line-height:30px; color:#003d7c;"> KNIHCENTRUM.CZ - Dům knihy </td> </tr> </table>
</td> </tr> </table> <table width="700" class="nl-w100" border="0" cellpadding="0" cellspacing="0">
<tr> <td class="nl-cell nl-pb0 nl-pr0" style="width: 50%; vertical-align:top; padding:0 10px 0 0;">
<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="nl-cell"> <table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr> <td height="20" style="font-size: 1px;line-height: 1px;"></td> </tr>
<tr> <td> <table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr> <td class="nl-cell nl-pl10 nl-pr10" valign="top" style="font-family:Open Sans, Arial, sans-serif; font-size:14px; line-height:17px; color:#848484;">
<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="nl-cell" valign="top" style="font-family:Open Sans, Arial, sans-serif; font-size:14px; font-weight:bold; line-height:17px; color:#848484;">Adresa:</td>
<td style="font-family:Open Sans, Arial, sans-serif; font-size:14px; line-height:19px; color:#848484;">Smetanovo náměstí 222/8,<br />702 00 Moravská Ostrava</td> </tr> <tr> <td height="10" style="font-size: 1px; line-height: 1px;"></td> </tr>
<tr> <td class="nl-cell" style="font-family:Open Sans, Arial, sans-serif; font-size:14px; font-weight:bold; line-height:17px; color:#848484;">Otevírací doba:</td><td style="font-family:Open Sans, Arial, sans-serif; font-size:14px; line-height:19px; color:#848484;"><strong>Po–Ne</strong> 8:00 - 18:00</td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr>
<tr> <td height="20" style="font-size: 1px;line-height: 1px;"></td> </tr> <tr> <td class="nl-cell" align="left"> <table border="0" cellpadding="0" cellspacing="0" class="nl-tac2"> <tr> <td width="210" align="center" bgcolor="#ffffff" height="44" valign="middle" style="font-family:Open Sans, Arial, sans-serif; font-size:18px; font-weight:bold; color:#FFFFFF; padding:0 8px; border: 2px solid #f58220;"> <a target="_blank" href="https://www.knihcentrum.cz/prodejny" style="color:#f58220; text-decoration:none;">Ukázat výdejní místa</a> </td> </tr> </table> </td> </tr> </table> </td>
<td width="10" class="nl-hide"></td> <td class="nl-cell nl-pb0 nl-pl10 nl-pr10" style="width: 50%; vertical-align:top;">
<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td style="padding:20px 0 0;">
<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center"> <a target="_blank" href="https://www.knihcentrum-ostrava.cz/"> <img border="0" src="https://www.knihcentrum.cz/Content/Images/uploaded/prodejny_foto/Knihcentrum_OstravaDK.jpg" style="display: block;" alt="Albrechtice u Českého Těšína, Stonavská" width="360"> </a> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table>
]]>
 </branch>
</item>

 

Výstup tohoto obsahu prvku <branch> vypadá pak takto:

Zasazeno do samotné šablony (co vidí uživatel):

 

Feed nemusí, jak můžete vidět na této části, obsahovat pouze plain text, může obsahovat i HTML kód. Tím například docílíte naformátování textu do tabulky, aby odpovídal zbytku šablony, nebo vložení obrázku.

Dostali jste odpověď na svou otázku?