Cómo configurar un Collection Middleware Source

Este tipo de Middleware Source se utiliza para integrar contenido de redes sociales a través de nuestro Middleware con tu sistema de gráficas‍, lo que te permite mostrar tweets, Facebook posts, Instagram posts, mensajes de Whatsapp, comentarios de Twitch y Youtube en tiempo real.

Al crear este tipo de Middleware Source, debes asociarlo a la Colección de la que tomará los datos.


Para aprender cómo crear un Middleware Source, haz clic aquí.

1. Configuración general

  • Nombre (1): Como buena práctica recomendamos nombrar el Collection Middlewre Source para que tu y tus compañeros de equipo puedan identificarlo para su uso posterior.

  • Título Custom (2): en el XML o base de datos; aparece en el campo/columna title.

  • Idioma (3): cuando un post no incluye información del nombre de usuario, el Collection Middleware Source lo cambia de forma predeterminada a "Nombre de usuario desconocido". Puedes configurar el "Nombre de usuario desconocido" en inglés, español o portugués.

  • Ocultar usuarios en respuestas (4): Puedes elegir si deseas ocultar el nombre de los usuarios de respuestas en tweets.

2. Colección

Cuando creas un Middleware Source de este tipo, debes asignarle una colección que contenga los posts que deseas mostrar.

(1) Haz clic en Seleccionar para elegir una colección‍.

(2) Selecciona la colección que deseas conectar al Middleware Source.

3. Integración

  • Tipo de integración (1): Selecciona cómo deseas integrar los datos según el sistema gráfico que tengas. Si no aparece en la lista, haz clic en otros.

Integración Vizrt

Las integraciones con Vizrt se pueden realizar a través de:

  • Flowics Middleware + Data Reader, elige otros del menú desplegable.

Para obtener información adicional sobre la integración con Vizrt, haz clic aquí.

  • Versión (2): se refiere a la versión del Middleware Source. Recomendamos usar siempre la versión más alta del menú desplegable. Por favor revisa este artículo‍ para mayor información.

  • Conectar con Middleware (3): habilítalo, elige tu middleware del menú desplegable y busca la ruta de destino donde el archivo o la base de datos están siendo escritos en tu unidad de destino por el middleware.

  • Bajar media (4): puedes elegir descargar las imágenes y los videos que captura tu middleware y almacenarlos localmente. Ten en cuenta que los videos están disponibles solo para la versión 4.0 en adelante.

  • Bajar fotos de perfil (5): puedes elegir descargar las imágenes de perfil que captura tu middleware y almacenarlas localmente.

4. Integración XML

4.1 Ejemplo y descripción de campos

4.1.1 Ejemplo XML

<ticker>
    <widgetId>26926</widgetId>
    <title>Sample Ticker DS</title>
    <posts>
        <post>
            <id>770351404896714757</id>
            <userName>John Smith</userName>
            <screenName>johnsmith</screenName>
            <text>
            How Social Media can help your Customer Journey - Download for Free http://hubs.ly/H038rYB0 #ebook #customerjourney
            </text>
            <url>
https://pbs.twimg.com/profile_images/767771568575512576/kp-8wCsF.jpg
            </url>
            <date>1472501062000</date>
            <verified>false</verified>
            <publisher>twitter</publisher>
            <geolocation>
                <latitude>40.745592</latitude>
                <longitude>-73.987857</longitude>
            </geolocation>
            <mainMediaURL>
http://pbs.twimg.com/media/B89jMqKIgAAM2Fu.jpg:large
            </mainMediaURL>
            <mainMediaType>jpg</mainMediaType>
            <localMainMediaPath>/path/to/downloaded/media/image.jpg</localMainMediaPath>
            <mainVideoURL>
http://pbs.twimg.com/media/B89jMqKIgAAM2Fu.mp4
            </mainVideoURL>
            <mainVideoType>mp4</mainVideoType>
            <localMainVideoPath>/path/to/downloaded/media/video.mp4</localMainVideoPath>
            <originalUserName>Flowics</originalUserName>
            <originalScreenName>flowics</originalScreenName>
            <originalUrl>https://pbs.twimg.com/profile_images/1232/maoNYpMK_normal.jpeg</originalUrl>
            <originalDate>1472501062001</originalDate>
            <originalVerified>true</originalVerified>
            <displayUserName>John Smith</displayUserName>
            <displayScreenName>johnsmith</displayScreenName>
            <displayUrl>
https://pbs.twimg.com/profile_images/767771568575512576/kp-8wCsF.jpg
            </displayUrl>
            <localAvatarPath>/path/to/downloaded/media/avatar-kp-8wCsF.jpg</localAvatarPath>
            <displayDate>1472501062000</displayDate>
            <displayVerified>false</displayVerified>
        </post>
        ...
    </posts>
</ticker>


4.1.2 Descripción de los campos

Ten en cuenta que algunos nombres de campo cambian cuando se utiliza el tipo de integración Avid Maestro.

Campo
Descripción
Field (integración  Avid Maestro)
ticker.widgetId
Id del widget. ticker.widgetId
ticker.title Título del ticker, según lo configurado en el widget. ticker.title
ticker.posts.post.id Id del post dentro de la red social (por ejemplo, identificación del Tweet). ticker.posts.post.idX
ticker.posts.post.
userName
Nombre de usuario completo dentro de la red social. ticker.posts.post.
userNameX
ticker.posts.post.
screenName
Nombre de usuario. ticker.posts.post.
screenNameX
ticker.posts.post.text Texto del post. ticker.posts.post.text
ticker.posts.post.url URL del avatar del usuario que realizó el post. ticker.posts.post.urlX
ticker.posts.post.date

Fecha en la que se publicó el post (pasaron milisegundos desde la época).

ticker.posts.post.dateX
ticker.posts.post.verified Booleano que indica si el usuario que publicó el post está verificado. ticker.posts.post.verifiedX
ticker.posts.post.publisher

Indica la red social en la que se publicó el post (por ejemplo, Twitter , Facebook , Instagram ).

ticker.posts.post.publisher
ticker.posts.post.
geolocation.latitude
Si está presente, indica la latitud en la que se publicó el post. ticker.posts.post.
geolocation.latitude
ticker.posts.post.
geolocation.longitude
Si está presente, indica la longitud en la que se publicó el post. ticker.posts.post.
geolocation.longitude
ticker.posts.post.
mainMediaUrl
URL de la imagen publicada por el usuario. Puede estar vacío. ticker.posts.post.
mainMediaUrl

ticker.posts.post.

mainMediaType

Tipo de imagen de la URL de la media. Puede estar vacío. ticker.posts.post.
mainMediaType
ticker.posts.post.
localMainMediaPath
Ruta completa al video descargado tomado de 'mainVideoUrl'. Puede estar vacío. ticker.posts.post.
localMainMediaPath
ticker.posts.post.
mainVideoUrl
URL del video posteado por el usuario. Puede estar vacío. ticker.posts.post.
mainVideoUrl
ticker.posts.post.
mainVideoType
Tipo de video de la URL del video. Puede estar vacío. ticker.posts.post.
mainVideoType
ticker.posts.post.
localMainVideoPath
Ruta completa al video descargado tomado de 'mainVideoUrl'. Puede estar vacío. ticker.posts.post.
localMainVideoPath
ticker.posts.post.
originalUserName
En el caso de los retweets, nombre completo del usuario cuyo Tweet fue retuiteado. ticker.posts.post.
originalUserName
ticker.posts.post.
originalScreenName
En el caso de los retweets, nombre del usuario cuyo Tweet fue retuiteado. ticker.posts.post.
originalScreenName
ticker.posts.post.originalUrl En el caso de los retweets, url del avatar del usuario cuyo Tweet fue retuiteado. ticker.posts.post.originalUrl
ticker.posts.post.originalDate En el caso de los retweets, hora a la que se retuiteó el tweet publicado. ticker.posts.post.originalDate
ticker.posts.post.originalVerified En el caso de los retweets, booleano que indica si el usuario cuyo Tweet fue retuiteado está verificado. ticker.posts.post.originalVerified


Los siguientes campos ayudan con el cumplimiento adecuado de las pautas para ver contenidos. Por ejemplo, para Twitter estos campos contendrán la información del tweet y del usuario original, pudiendo mostrar correctamente tanto los tweets como los RTS.

ticker.posts.post.displayUserName Nombre completo del usuario de acuerdo a la Red Social en la que debería mostrarse.
ticker.posts.post.displayUserName
ticker.posts.post.displayScreenName Nombre de usuario que se mostrará. ticker.posts.post.displayScreenName
ticker.posts.post.displayUrl URL del avatar del usuario que se debe mostrar. ticker.posts.post.displayUrl
ticker.posts.post.localAvatarPath Ruta completa a la imagen del avatar descargada tomada de 'displayUrl'. ticker.posts.post.localAvatarPath
ticker.posts.post.displayDate Fecha del post que debe mostrarse (milisegundos desde la época). ticker.posts.post.displayDate
ticker.posts.post.displayVerified Indicador booleano que indica si el usuario que debe mostrarse está verificado. ticker.posts.post.displayVerified

5. Integración de bases de datos

5.1 Descripción de las columnas

Cuando se utiliza este tipo de integración, se crea una tabla de base de datos con las siguientes columnas. El tipo de columnas es textual. Para el tipo específico, verifica la configuración del middleware, pero normalmente son texto para MySQL o PostgreSQL y ntext para Microsoft SQL Server.

Columna
Descripción
Columna (integración de Avid Maestro)
widgetId
Id del widget (mismo valor para cada fila). widgetId
title
Título del ticker, tal como está configurado en el widget (mismo valor para cada fila). title
id
Id del post dentro de la red social (por ejemplo, id del Tweet). idX
userName
Nombre de usuario completo dentro de la red social. userNameX
screenName
Nombre de usuario. screenNameX
text
Texto del post. text
url URL del avatar del usuario que realizó el post. urlX
date

Fecha en la que se publicó el post (pasaron milisegundos desde la época).

dateX
verified
Booleano que indica si el usuario que publicó el post está verificado. verifiedX
publisher

Indica la red social en la que se publicó el post (por ejemplo, twitter, facebook, instagram).

publisher
geolocation_latitude Si está presente, indica la latitud en la que se publicó el post. geolocation_latitude
geolocation_longitude Si está presente, indica la longitud en la que se publicó el post. geolocation_longitude
mainMediaUrl URL de la imagen publicada por el usuario. Puede estar vacío. mainMediaUrl

mainMediaType

Tipo de imagen de la URL de la media. Puede estar vacío. mainMediaType
localMainMediaPath Ruta completa a la imagen descargada tomada de 'mainMediaUrl'. Puede estar vacío. localMainMediaPath
mainVideoUrl URL del video publicado por el usuario. Puede estar vacío. mainVideoUrl
mainVideoType Tipo de video de la URL del video. Puede estar vacío. mainVideoType
localMainVideoPath Ruta completa al video descargado tomado de 'mainVideoUrl'. Puede estar vacío. localMainVideoPath
originalUserName En el caso de los retweets, nombre completo del usuario cuyo Tweet fue retuiteado. originalUserName
originalScreenName En el caso de los retweets, nombre del usuario cuyo Tweet fue retuiteado. originalScreenName
originalUrl En el caso de los retweets, url del avatar del usuario cuyo Tweet fue retuiteado. originalUrl
originalDate En el caso de los retweets, hora a la que se retuiteó el tweet publicado. originalDate
originalVerified
En el caso de los retweets, booleano que indica si el usuario cuyo Tweet fue retuiteado está verificado. originalVerified


Los siguientes campos ayudan con el cumplimiento adecuado de las pautas para ver contenidos. Por ejemplo, para Twitter estos campos contendrán la información del tweet y del usuario original, pudiendo mostrar correctamente tanto los tweets como los RTS.

displayUserName Nombre completo del usuario de acuerdo a la Red Social en la que debería mostrarse.
displayUserName
displayScreenName Nombre de usuario que se mostrará. displayScreenName
displayUrl URL del avatar del usuario que se debe mostrar. displayUrl
localAvatarPath Ruta completa a la imagen de avatar descargada tomada de 'displayUrl'. localAvatarPath
displayDate
Fecha del post que debe mostrarse (milisegundos desde la época). displayDate
displayVerified Indicador booleano que indica si el usuario que debe mostrarse está verificado.
displayVerified

6. Integración de archivos JSON

6.1 Ejemplo y descripción de campos

6.1.1 Ejemplo JSON

 {
   " widgetId " : 34310 ,
   " title " : " Ticker JSON " ,
   " publicaciones " : [
      {
         " id " : " 1313886440342859777 " ,
         " userName " : " mirlo " ,
         " screenName " : " artsportfun " ,
         " text " : " Lionel Messi como obra de arte de Picasso. \ n #Messi " ,
         " url " : " https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1273927994248237056/SQbufxfs_reasonably_small.jpg " ,
         " fecha " : 1602089912000 ,
         " verificado " : falso ,
         " editor " : " twitter " ,
         " geolocalización " : nulo ,
         " mainMediaUrl " : " http://pbs.twimg.com/media/EjvcwBWWoAAJC7Z.jpg:large " ,
         " mainMediaType " : " imagen / jpeg " ,
         " mainVideoURL " : nulo ,
         " mainVideoType " : nulo ,
         " originalUserName " : " " ,
         " originalScreenName " : " " ,
         " originalUrl " : " " ,
         " originalDate " : " " ,
         " originalVerified " : " " ,
         " displayUserName " : " mirlo " ,
         " displayScreenName " : " artsportfun " ,
         " displayUrl " : " https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1273927994248237056/SQbufxfs_reasonably_small.jpg " ,
         " displayDate " : 1602089912000 ,
         " displayVerified " : falso ,
         " localMainVideoPath " : " " ,
         " localAvatarPath " : " C: \\ Midlleware test \\ media \\ https \\ 3rd-cdn.flowics.com \\ dbadb934889b5bedd77b92e0e8c17199fd070d4b.jpg "
      } ,
      {
         " id " : " 1313886950647099393 " ,
         " userName " : " Yanger Jamir " ,
         " screenName " : " YangerJ24108662 " ,
         " text " : " @Lionel_Messi_ID Leo, no te desanimes, eres el mejor jugador ... cuando estás triste te siento pero nada es imposible ... lleva la Liga a casa #messi " ,
         " url " : " https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1230915842172321792/aGwL_eQe_reasonably_small.jpg " ,
         " fecha " : 1602090034000 ,
         " verificado " : falso ,
         " editor " : " twitter " ,
         " geolocalización " : nulo ,
         " mainMediaUrl " : nulo ,
         " mainMediaType " : nulo ,
         " mainVideoURL " : nulo ,
         " mainVideoType " : nulo ,
         " originalUserName " : " " ,
         " originalScreenName " : " " ,
         " originalUrl " : " " ,
         " originalDate " : " " ,
         " originalVerified " : " " ,
         " displayUserName " : " Yanger Jamir " ,
         " displayScreenName " : " YangerJ24108662 " ,
         " displayUrl " : " https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1230915842172321792/aGwL_eQe_reasonably_small.jpg " ,
         " displayDate " : 1602090034000 ,
         " displayVerified " : falso ,
         " localMainVideoPath " : " " ,
         " localAvatarPath " : " C: \\ Prueba de Midlleware \\ media \\ https \\ 3rd-cdn.flowics.com \\ 4cff42e9a49ae719043434106b08d5618e2e2ceb.jpg "
      } ,
      {
         " id " : " 1313889353710542849 " ,
         " userName " : " Nexho_11 " ,
         " screenName " : " Nexho__11 " ,
         " texto " : " #CFC #MESSI #CHELSEAFC " ,
         " url " : " https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1263412725780303874/LvAkrt52_reasonably_small.jpg " ,
         " fecha " : 1602090607000 ,
         " verificado " : falso ,
         " editor " : " twitter " ,
         " geolocalización " : nulo ,
         " mainMediaUrl " : nulo ,
         " mainMediaType " : nulo ,
         " mainVideoURL " : nulo ,
         " mainVideoType " : nulo ,
         " originalUserName " : " " ,
         " originalScreenName " : " " ,
         " originalUrl " : " " ,
         " originalDate " : " " ,
         " originalVerified " : " " ,
         " displayUserName " : " Nexho_11 " ,
         " displayScreenName " : " Nexho__11 " ,
         " displayUrl " : " https://3rd-cdn.flowics.com/3rd/https/pbs.twimg.com/profile_images/1263412725780303874/LvAkrt52_reasonably_small.jpg " ,
         " displayDate " : 1602090607000 ,
         " displayVerified " : falso ,
         " localMainVideoPath " : " " ,
         " localAvatarPath " : " C: \\ Prueba de Midlleware \\ media \\ https \\ 3rd-cdn.flowics.com \\ 222cc504f7d67ccc3057036fc5d81758be6472e8.jpg "
      }
   ]
}

6.1.2 Descripción de los campos

Campo
Descripción
widgetId
Id del widget
title
Título del ticker, según lo configurado en el widget.
posts.id Id de los posts dentro de la red social (por ejemplo, id del Tweet).
posts.userName
Nombre de usuario completo dentro de la red social.
posts.screenName
Nombre de usuario
posts.text
Texto del post.
posts.url
URL del avatar del usuario que realizó el post.
posts.date

Fecha en la que se publicó el post (pasaron milisegundos desde la época).

posts.verified
Booleano que indica si el usuario que publicó el post está verificado.
posts.publisher

Indica la red social en la que se publicó el post (por ejemplo, twitter, facebook, instagram).

posts.geolocation
Si está presente, indica la latitud y longitud en la que se publicó el post.
posts.mainMediaUrl
URL de la imagen publicada por el usuario. Puede estar vacío.
posts.mainMediaType
Tipo de imagen de la URL de la media. Puede estar vacío.
posts.mainVideoUrl
URL del video publicado por el usuario. Puede estar vacío.
posts.mainVideoType
Tipo de video de la URL del video. Puede estar vacío.
posts.originalUserName
En el caso de los retweets, nombre completo del usuario cuyo Tweet fue retuiteado.
posts.originalScreenName
En el caso de los retweets, nombre del usuario cuyo Tweet fue retuiteado.
posts.originalUrl
En el caso de los retweets, url del avatar del usuario cuyo Tweet fue retuiteado.
posts.originalDate
En el caso de los retweets, hora a la que se retuiteó el tweet publicado.
posts.originalUserName
En el caso de los retweets, nombre completo del usuario cuyo Tweet fue retuiteado.
posts.originalVerified
En el caso de los retweets, booleano que indica si el usuario cuyo Tweet fue retuiteado está verificado.
posts.localMainMediaPath Ruta completa a la imagen descargada tomada de 'mainMediaUrl'. Puede estar vacío.
posts.localMainVideoPath Ruta completa al video descargado tomado de 'mainVideoUrl'. Puede estar vacío.

Los siguientes campos ayudan con el cumplimiento adecuado de las pautas para ver contenidos. Por ejemplo, para Twitter estos campos contendrán la información del tweet y del usuario original, pudiendo mostrar correctamente tanto los tweets como los RTS.

posts.displayUserName
Nombre completo del usuario de acuerdo a la Red Social en la que debería mostrarse.
posts.displayScreenName
Nombre de usuario que se mostrará.
posts.displayUrl
URL del avatar del usuario que se debe mostrar.
posts.displayDate
Fecha del post que debe mostrarse (milisegundos desde la época).
posts.displayVerified
Indicador booleano que indica si el usuario que debe mostrarse está verificado.
posts.localAvatarPath
Ruta completa a la imagen de avatar descargada tomada de 'displayUrl'.

Was this article helpful?