Estas son las características que deben tener los documentos HTML y XML para agregar la fuente de datos que utilizaremos en nuestros envíos.

Sobre el HTML

• El archivo debe contener al menos un data-emblue asociado a un <emblue_item> del XML.
• En el caso que este usando un XML con mas de un <emBlue_head> es posible usar en el HTML data-emblue que tengan distintos <emblue_item>.
• Las propiedades de un item se definen dentro del HTML respetando el nombre y guardándolo entre corchetes y un numeral. Ej: [#precio] corresponde a <emblue_item_property>precio</emblue_item_property>.
• Tanto los items como las propiedades deben existir en la fuente de datos de lo contrario emBlue no subirá el archivo a la hora de importarlos.
• El formato del archivo puede ser HTML o htm.
• El archivo tiene un tamaño maximo de 200kb

Sobre el XML

• El archivo debe empezar con un tag <xml> donde se declara el formato del archivo
• La codificación es únicamente UTF-8
• Es fundamental y obligatorio que el contenido del XML esté encerrado dentro de una etiqueta madre <root> o similar.
• Debe existir al menos un <emblue_head> y dentro de este tag debe declararse al menos un <emblue_item> y <emblue_item_property>.
• <emblue_item_parent> es opcional. Si hay dos dentro de un <emblue_head> el XML va a ser rechazado.
• Puede haber más de un <emblue_head> y en ese caso los <emblue_item> no pueden compartir el mismo nombre.
• No se admiten espacios o caracteres especiales en los tags. Solo letras, números y guión bajo ( _ ).
• <emblue_item> tiene atributos opcionaes: search, order y placeholder. Son opcionales y no se puede repetir el mismo item 2 veces en un solo <emblue_head>
• No se admiten espacios o caracteres especiales en los tags. Solo letras, números y guión bajo ( _ ). No es case sensitive (“Producto” y “producto” serían iguales para el XML).
• Es obligatorio que el XML contenga al menos un item cargado. Es decir, ademas de <emblue_head> que exista contenido que será usado para popular los HTMLs.
• El nombre de <emblue_item> debe ser único. Si voy a usar varios <emblue_head> deben tener nombres distintos y <emblue_item_parent> tampoco puede usar el nombre de un item.
• El atributo <emblue_name> en el XML se utiliza para especificar el vínculo entre un contenedor y <emblue_head>. En caso de no declararlo se toma <emblue_item>. No se puede repetir el mismo nombre dentro de en otro <emblue_name> en otro <emblue_head>

Ejemplo:

<emblue_head>
 <emblue_item_parent>ofertas</emblue_item_parent>
 <emblue_item>Banners</emblue_item>
 <emblue_name>Promociones</emblue_name>
   <emblue_item_property placeholder="true" >titulo</emblue_item_property>
</emblue_head>

Atributos opcionales para <emblue_item_property>

Search:
Se usa para indicar a emBlue que propiedades se quieren usar para mostrar en el buscador. Se puede usar las tres propiedades y una por cada <emblue_item>.

  • title search=“title”
  • image search=“image”
  • description search=“description”

Ejemplo:

<emblue_head>
  <emblue_item_parent>ofertas</emblue_item_parent>
  <emblue_item>Banners</emblue_item>
    <emblue_item_property search="title" >titulo</emblue_item_property>
    <emblue_item_property search="image" >imagen</emblue_item_property>
    <emblue_item_property search="description" >descripcion</emblue_item_property>
</emblue_head>

Order:
Indica el orden preestablecido con el cual se va a completar el HTML a la hora de elegirlo. Se puede elegir una sola opción y definirla en un único <emblue_item_property>. Cada contenedor que exista dentro del HTML, donde el atributo data-emblue esté vacío, se completará con el criterio que el usuario defina en el XML. Si no lo especifica emBlue decidirá autocompletar de forma aleatoria.

  • empty order=“empty”
  • ascending order=“ascending”
  • descending order=“descending”
  • random order=“random”

Ejemplo:

<emblue_head>
  <emblue_item_parent>Ofertas</emblue_item_parent>
  <emblue_item>Producto</emblue_item>
    <emblue_item_property order="ascending" >titulo</emblue_item_property>
    <emblue_item_property >imagen</emblue_item_property>
    <emblue_item_property >descripcion</emblue_item_property>
</emblue_head>

Placeholder:

Sirve para indicar que posición exacta debe ocupar un producto del XML dentro de un HTML. Para ello el usuario debe definir dentro del HTML un valor en dataemblue-placeholder. Esta valor se identificará con un <emblue_item_property> que el usuario defina a través de este atributo.

  • TRUE placeholder=“true”
  • FALSE placeholder=“false”

Ejemplos:

<emblue_head>
  <emblue_item_parent>Ofertas</emblue_item_parent>
  <emblue_item>Producto</emblue_item>
    <emblue_item_property placeholder="true" >posicion</emblue_item_property>
    <emblue_item_property >imagen</emblue_item_property>
    <emblue_item_property >descripcion</emblue_item_property>
</emblue_head>
<productos>
  <producto>
     <posicion> 1 </posicion>
  </producto>
</productos>

 

<html>
  <body>
  <table data-emblue="producto" data-emblue-placeholder="1">
   <tr>
       <td></td>
   </tr>
</table>
</body>
</html>

Los items se suben simultáneamente a emBlue y el orden de los mismos no necesariamente corresponde con el XML. Por este motivo no se puede autocompletar un HTML de forma ascendente o descendente manteniendo el orden estructural que tienen en el XML. Es necesario que creen una propiedad más por cada item que establezca el orden que debe tener.

Placeholder item, tag

La propiedad placeholder=”item,tag” sirve para vincular una sola propiedad con items y TAGs al mismo tiempo. Solo sirve para vincular TAGs a través de reglas de asociación. Para esto es obligatorio que el usuario tenga activada la opción “Sincronizar esta fuente con reglas de TAGs, así que no funciona la asociación por medio del ID del TAG.

<emblue_head>
  <emblue_item_parent>Ofertas</emblue_item_parent>
  <emblue_item>Banner</emblue_item>
    <emblue_item_property  >titulo</emblue_item_property>
    <emblue_item_property placeholder="item,tag">titulo</emblue_item_property>
</emblue_head>
<banner>
  <titulo>Samsung S8 </titulo>
</banner>
<banner>
  <titulo>Samsung S8 Plus </titulo>
</banner>

Fomatos de datos

Se puede especificar por cada property el tipo de dato que contiene: alfanumérico, numérico y fecha. Esto le permite a emBlue tener más inteligencia a la hora de hacer un ordenamiento de ítems a partir de un property. Por ejemplo, ahora cuando el usuario quiera ordenar los ítems por un campo de fecha, dicho orden será respetando el formato fecha que eligió. Este se agrega en el XML con el ID correspondiente.

<emblue_item_property format="35" >Vencimiento</emblue_item_property>

 

Formato Alfanúmerico (default)
ID Ejemplo
10 abc123
Formato Numérico
ID Ejemplo
20 2000
21 2,000
22 2.000
23 2.000,00
24 2,000.00
Formato Fecha
ID Ejemplo
30 yyyy-MM-dd HH:mm:ss.fff
31 yyyy-MM-dd
32 yyyy/MM/dd
33 MM-dd-yyyy
34 MM/dd/yyyy
35 dd-MM-yyyy
36 dd/MM/yyyy

 

Notas relacionadas:

< Configuración> Fuente de datos para el Gestor de Contenidos – Paso a paso
<Guía rápida> Qué es y cómo funciona el Gestor de Contenidos
<Campañas> Remarketing en el Gestor de Contenidos