Cómo configurar un Flow Middleware Source

Este tipo de fuente de datos se utiliza para mostrar 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 al Flow del que tomará los datos.


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

1. Configuración general

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

  • Flows seleccionados (2): Cuando creas un Middleware Source de este tipo, debes asignarlo a un Flow del que tomará el contenido. Haz click en Seleccionar y elije los flows listados que desees asociar a tu Data Source.

  • Idioma (3): cuando un post no incluye información del nombre de usuario, el Flow 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. 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í.

  • Pasos de integración (2): Desde aquí podrás acceder al XML, JSON o encontrarás los pasos para realizar la integración de acuerdo a tu sistema de integración de contenido gráfico.

  • Versión (3): 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.

  • Número de posts (4): Con este elemento puedes seleccionar el número de posts más recientes que deseas mostrar. Puedes elegir entre 5 y 500 posts. Ten en cuenta que los posts más nuevos reemplazarán a las anteriores.

  • Conectar con Middleware (5): 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.

3. Integración XML

3.1 Ejemplo y descripción de campos

3.1.1 Ejemplo XML

<feed>
    <widgetId>29982</widgetId>
    <title>Feed Data Source KB</title>
    <posts>
        <post>
            <id>1045355566841901056</id>
            <userName>John Smith</userName>
            <screenName>johnsmith</screenName>
            <url>https://pbs.twimg.com/profile_images/767771568575512576/kp-8wCsF.jpg</url>
            <date>1538067163000</date>
            <verified>true</verified>
            <publisher>twitter</publisher>
            <text> How Social Media can help your Customer Journey - Download for Free http://hubs.ly/H038rYB0 #ebook #customerjourney</text>

            <geolocation>
               <latitude>40.745592</latitude>
               <longitude>-73.987857</longitude>
            </geolocation>

            <mainMediaURL>http://pbs.twimg.com/media/B89jMqKIgAAM2Fu.jpg:large</mainMediaURL>
            <localMainMediaPath>/path/to/downloaded/media/image.jpg</localMainMediaPath>
            <mainMediaType>image/jpeg</mainMediaType>
            <mainVideoURL>http://pbs.twimg.com/media/B89jMqKIgAAM2Fu.mp4</mainVideoURL>
            <localMainVideoPath>/path/to/downloaded/media/video.mp4</localMainVideoPath>
            <mainVideoType>mp4</mainVideoType>

            <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>1538067163000</displayDate>
            <displayVerified>true</displayVerified>
            <curationDate>1538077240217</curationDate>
        </post>
        ...
    </posts>
</feed>


3.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 de Avid Maestro)
feed.widgetId
Id del widget. feed.widgetId
feed.title Título del feed, según lo configurado en el widget. feed.title
feed.posts.post.id El Id del post dentro de la red social (por ejemplo, la identificación del Tweet). feed.posts.post.idX
feed.posts.post.userName Nombre de usuario completo dentro de la red social. feed.posts.post.userNameX
feed.posts.post.screenName Nombre de usuario. feed.posts.post.screenNameX
feed.posts.post.url URL del avatar del usuario que realizó el post. feed.posts.post.urlX
feed.posts.post.date

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

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

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

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

feed.posts.post.mainMediaType

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

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

4. Integración de bases de datos

4.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
localMainMediaPath Ruta completa al video descargado tomado de mainVideoUrl. Puede estar vacío. localMainMediaPath

mainMediaType

Tipo de imagen de la URL de la media. Puede estar vacío.
mainMediaType
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, el nombre completo del usuario cuyo Tweet fue retuiteado. originalUserName
originalScreenName En el caso de los retweets, el 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 y pueden mostrar correctamente tanto tweets como 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
curationdate
Fecha de aceptación del post (milisegundos desde la época). curationdate

5. Integración de archivos JSON

5.1 Ejemplo y descripción de campos

5.1.1 Ejemplo JSON

 {
   " widgetId " : 34311 ,
   " title " : " Feed JSON " ,
   " publicaciones " : [
      {
         " id " : " 1314225358443610112 " ,
         " userName " : " 📍Empleo 24h📍 " ,
         " screenName " : " emplearte2020 " ,
         " text " : " Se busca fisioterapeuta en Sant Feliú de Llobregat 🗨 #empleo #trabajo #vacante \ n 👉🏻 ¡Accede a esta y otras ofertas de trabajo en tu ciudad! 📍 ¡Si ya tienes, haz RT para ayudar compartiendo esta oferta laboral! 👀 #barcelona " ,
         " url " : " https://pbs.twimg.com/profile_images/1313834923300659202/v7EVtKWf_reasonably_small.jpg " ,
         " fecha " : 1602170717236 ,
         " verificado " : falso ,
         " editor " : " twitter " ,
         " geolocalización " : nulo ,
         " mainMediaUrl " : nulo ,
         " mainMediaType " : nulo ,
         " mainVideoURL " : nulo ,
         " mainVideoType " : nulo ,
         " originalUserName " : " " ,
         " originalScreenName " : " " ,
         " originalUrl " : " " ,
         " originalDate " : " " ,
         " originalVerified " : " " ,
         " displayUserName " : " 📍Empleo 24h📍 " ,
         " displayScreenName " : " emplearte2020 " ,
         " displayUrl " : " https://pbs.twimg.com/profile_images/1313834923300659202/v7EVtKWf_reasonably_small.jpg " ,
         " displayDate " : 1602170717236 ,
         " displayVerified " : falso ,
         " curationDate " : 1602170727772 ,
         " localMainVideoPath " : " " ,
         " localAvatarPath " : " C: \\ Prueba de Midlleware \\ media \\ https \\ pbs.twimg.com \\ d2cbda7fdfe2a93df786c1cc9799499a75fa3918.jpg "
      } ,
      {
         " id " : " 1314225317981061120 " ,
         " userName " : " Pau Sagrera " ,
         " screenName " : " pausagrera " ,
         " text " : " ¡Ya queda menos para el finde! 🎉Os contamos nuestras 3 rutas favoritas para disfrutar en moto ... ¡y los mejores sitios donde parar a comer! 😜 \ n ¿Cuál es tu ruta favorita en moto? ¡ Te leemos! 👀 \ n \ n \ n #mapit #gpstracking #IoT #barcelona #africatwin #motorbike " ,
         " url " : " https://pbs.twimg.com/profile_images/1185144052259414016/Ykp7wCij_reasonably_small.jpg " ,
         " fecha " : 1602170707589 ,
         " verificado " : falso ,
         " editor " : " twitter " ,
         " geolocalización " : nulo ,
         " mainMediaUrl " : " http://pbs.twimg.com/media/Ej0Kwc4XcAAlOWD.jpg:medium " ,
         " mainMediaType " : " imagen / jpeg " ,
         " mainVideoURL " : nulo ,
         " mainVideoType " : nulo ,
         " originalUserName " : " Mapit IoT " ,
         " originalScreenName " : " mapitme " ,
         " originalUrl " : " https://pbs.twimg.com/profile_images/1153220884984926210/zmz2n0SJ_reasonably_small.jpg " ,
         " originalDate " : 1602169238000 ,
         " originalVerified " : falso ,
         " displayUserName " : " Mapit IoT " ,
         " displayScreenName " : " mapitme " ,
         " displayUrl " : " https://pbs.twimg.com/profile_images/1153220884984926210/zmz2n0SJ_reasonably_small.jpg " ,
         " displayDate " : 1602169238000 ,
         " displayVerified " : falso ,
         " curationDate " : 1602170718201 ,
         " localMainVideoPath " : " " ,
         " localAvatarPath " : " C: \\ Prueba de Midlleware \\ media \\ https \\ pbs.twimg.com \\ a07306cd10a5e339a74631aebb1957a687f0645c.jpg "
      } ,
   ]
}

5.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?