soporte Contactar con Soporte | Estadoestado del sistema del sistema
Contenido de la página

    Resumen: API de sindicación social

    La API de Social Syndication es una API accesible públicamente que permite crear, administrar y utilizar las sindicaciones para generar fuentes dinámicas (como fuentes MRSS) desde un catálogo de vídeos de VideoCloud.

    En este documento

    Documentos relacionados

    Introducción

    Brightcove Syndication Configuration API es una API de acceso público que permite crear, administrar y utilizar las sindicaciones para generar fuentes dinámicas (como fuentes MRSS) desde el catálogo de vídeos de una cuenta de Video Cloud.

    También hay una API de fuente de sindicación asociada que se puede utilizar para recuperar una fuente asociada a una sindicación.

    Disponibilidad

    Las API de distribución están disponibles para todos los clientes de Video Cloud que tengan acceso a las API de plataforma.

    Referencia API/URL base/encabezados

    La Referencia de API de configuración contiene todos los detalles sobre las operaciones, campos y parámetros disponibles.

    La URL base es:

    https://social.api.brightcove.com/v1

    Todas las solicitudes deben autenticarse a través de un encabezado de autorización:

    Authorization: Bearer {your_access_token}

    Consulte la siguiente sección sobre autenticación para obtener información sobre los tokens de acceso.

    Para cualquier solicitud que envíe un cuerpo de solicitud, también debe incluir un Content-Type: application/json encabezado.

    Autenticación

    El acceso a la API de configuración requiere la especificación de un bearer token del servicio OAuth de Brightcove en el Authorization encabezado de la solicitud. Los diversos métodos API también requieren que se especifique una de las siguientes operaciones (dependiendo del método al que se accede) para las credenciales en cuestión:

    • video-cloud/social/mrss/read
    • video-cloud/social/mrss/write

    Estas operaciones se pueden configurar a través de la sección Autenticación de API del módulo de administración de Studio:

    Permisos de sindicación social
    Permisos de sindicación social

    Si lo prefiere, también puede crear credenciales a través de la API de OAuth:

    Recurso de sindicación

    El recurso de sindicación es un objeto que define cómo se creará la sindicación. Aquí hay un cuerpo de solicitud de muestra para crear un recurso de sindicación:

      {
        "name": "80s music videos syndication",
        "type": "advanced",
        "include_all_content": false,
        "include_filter": "tags:mytag",
        "title": "80s Music Videos",
        "description": "Amateur Tokyo drift!",
        "destination_url": "http://mywebsite.com",
        "keywords": "80s, rock",
        "author": "Rick Astley",
        "category": "Music",
        "album_art_url": "http://my_album_art.jpg",
        "explicit": "no",
        "owner_name": "http://my_album_art.jpg",
        "owner_email": "rick@astley.com",
        "language": "en-us",
        "fetch_sources": true,
        "fetch_digital_master": false,
        "fetch_dynamic_renditions": true,
        "sort": "-created_at",
        "content_type_header": "application/xml"
      }

    La respuesta agregará algunos campos de solo lectura:

      {
        "id": "7f594cd3-4853-4174-aff3-203c3e99e9c2",
        "name": "80s music videos syndication",
        "type": "advanced",
        "include_all_content": false,
        "include_filter": "tags:mytag",
        "title": "80s Music Videos",
        "description": "Amateur Tokyo drift!",
        "syndication_url": "https://social.feeds.brightcove.com/v1/accounts/9999999999999/mrss/accounts/{account_id}/mrss/syndications/7f594cd3-4853-4174-aff3-203c3e99e9c2/feed",
        "destination_url": "http://mywebsite.com",
        "keywords": "80s, rock",
        "author": "Rick Astley",
        "category": "Music",
        "album_art_url": "http://my_album_art.jpg",
        "explicit": "no",
        "owner_name": "http://my_album_art.jpg",
        "owner_email": "rick@astley.com",
        "language": "en-us",
        "fetch_sources": true,
        "fetch_digital_master": false,
        "fetch_dynamic_renditions": true,
        "sort": "-created_at",
        "content_type_header": "application/xml"
        }
    Recurso de sindicación
    Campo Tipo Sólo lectura Descripción
    id Cadena generada cuando se crea la sindicación
    name Cadena No un nombre interno para esta sindicación, requerido para las solicitudes POST
    content_type_header Cadena No Si se establece, reemplaza el encabezado Content-Type devuelto por el servidor de noticias en tiempo real para esta distribución. De lo contrario, el feed tiene por defecto un valor de encabezado específico del tipo de sindicación
    include_all_content Booleano No Si es cierto, todos los vídeos del catálogo se incluyen en esta distribución
    include_filter Cadena No Debe especificarse si include_all_content es false. Value es una cadena CMS API de búsqueda que utiliza la sintaxis de búsqueda de vídeo de la API CMS v2. Se aplican todas las reglas de sintaxis: la única diferencia es que la cadena de búsqueda se introduce como el include_filter valor en lugar de un ?query= parámetro.
    type Cadena No El tipo de feed que se generará. El tipo universal permite generar fuentes personalizadas mediante una plantilla de feed cargada. Valores válidos: advanced, google, iphone, ipad, mp4, itunes, roku, source, universal. Necesario para solicitudes POST
    title Cadena No El título de este feed. Esto se incluye dentro de la <channel> etiqueta para los tipos de alimentación aplicables.
    description Cadena No La descripción de este feed. Esto se incluye dentro de la <channel> etiqueta para los tipos de alimentación aplicables.
    syndication_url Cadena La URL de la fuente MRSS de esta sindicación
    destination_url Cadena No La URL que se incluirá dentro de la > etiqueta de < canal para los tipos de feed aplicables
    keywords Cadena No lista delimitada por comas, solo usada para itunes y (potencialmente) fuentes universales
    author Cadena No solo se usa para itunes y (potencialmente) fuentes universales
    owner_name Cadena No solo se usa para itunes y (potencialmente) fuentes universales
    language Cadena No solo se usa para itunes y (potencialmente) fuentes universales: código de idioma de dos letras en minúsculas, como "en"
    owner_email Cadena No solo se usa para itunes y (potencialmente) fuentes universales
    category Cadena No solo se utiliza para itunes y (potencialmente) fuentes universales. Para especificar una categoría con una subcategoría, sepárelas con dos puntos (:), por ejemplo: "Business:Business News". "category": "Music"
    album_art_url Cadena No URL para la imagen, solo usada para itunes y (potencialmente) fuentes universales
    fetch_sources Booleano No Para las plantillas universales, si desea obtener metadatos de origen de vídeo: si la plantilla no necesita estos metadatos, el rendimiento puede mejorarse especificando false; podría estar vacío si no existe ninguna fuente utilizable
    fetch_digital_master Booleano No Para las plantillas universales, si desea obtener metadatos maestros digitales de vídeo: si la plantilla no necesita estos metadatos, el rendimiento se puede mejorar especificando false; podría estar vacío si no existe ningún maestro digital
    fetch_dynamic_renditions Booleano No Para las plantillas universales, si desea obtener metadatos de representación dinámica de vídeo: si la plantilla no necesita estos metadatos, se puede mejorar el rendimiento especificando false
    sort Cadena No Un especificador de clasificación de vídeo de CMS que indica el orden de devolución de resultados de feed deseado. Valores compatibles con CMS como name , reference_id , created_at , published_at , updated_at , schedule.starts_at , schedule.ends_at , state , plays_total y plays_trailing_week se puede especificar. Para ordenar en orden descendente, prefacio el valor con un signo menos (-), es decir -created_at, especificado, el feed se ordenará por la updated_at fecha más reciente de forma predeterminada.

    Consulte la sintaxis de búsqueda de video de la API CMS v2 para obtener más detalles sobre la include_filter propiedad.. Se aplican todas las reglas de sintaxis de búsqueda: la única diferencia es que la cadena de búsqueda se introduce como el include_filter valor en lugar de como un ?query= parámetro.

    Operaciones

    Consulte la API Reference para obtener detalles completos de las operaciones disponibles:

    Se admiten las siguientes acciones:

    Mensajes de error

    Si falla alguna solicitud de API, se devolverá un mensaje de error. Las respuestas de error tendrán el siguiente aspecto:

      [
        {
          "error_code" : "Application error code 1",
          "message" : "Application error message 1"
        }, {
          "error_code" : "Application error code 2",
          "message" : "Application error message 2"
        }
      ]

    Crear una sindicación

    Método:POST

    Punto final: /accounts/{account_id}/mrss/syndications

    Cuerpo de solicitud de muestra:

      {
        "name": "my mp4 feed",
        "type": "mp4"
      }

    Tenga en cuenta que el name y type los campos son obligatorios. Otros son opcionales.

    Actualizar una sindicación

    Método:PATCH

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}

    Cuerpo de solicitud de muestra:

      {
        "name": "my new name"
      }

    Tenga en cuenta que el cuerpo de la solicitud de PATCH no debe incluir los campos (type , id y syndication_url).

    Eliminar una sindicación

    Método:DELETE

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}

    Obtener todas las sindicaciones de una cuenta

    Método:GET

    Punto final: /accounts/{account_id}/mrss/syndications

    Obtener una sindicación específica

    Método:GET

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}

    Establecer la plantilla para una sindicación universal

    Método:PUT

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}/template

    Cuerpo de solicitud de muestra:

      <feed header>My Feed Header</feed header>
      

    La plantilla anterior generaría un feed similar a:

      <feed header>My Feed Header</feed header>
        <item>
          <title>Title for Video 1</title>
          <video_info>Description for Video 1</video_info>
        </item>
        <item>
          <title>Title for Video 2</title>
          <video_info>Description for Video 2</video_info>
        </item>

    Obtener la plantilla para una sindicación universal

    Método:GET

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}/template

    Obtener el feed asociado a una sindicación

    La url del feed se puede obtener del syndication_url campo de la sindicación o construirse manualmente. Tenga en cuenta que la API de fuente de sindicación también se puede utilizar para recuperar una fuente sin autenticación.

    Método:GET

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}/feed

    Idioma de plantilla universal

    Las sindicaciones universales permiten fusionar los datos del catálogo con una plantilla personalizada para generar cualquier tipo de feed deseado. El idioma de la plantilla admitida es Liquid. Las fuentes para los tipos de distribución predeterminados se generan utilizando los mismos tipos de plantillas. Puede ver las plantillas proporcionadas como ejemplos para ayudarle a crear plantillas personalizadas si es necesario.

    Las siguientes secciones identifican las propiedades de sindicación, activo, origen y maestro digital que puede utilizar, así como una extensión de Liquid agregada para mayor comodidad.

    Para ver todos los campos de metadatos de vídeo de Video Cloud con descripciones, vaya a la Referencia de campos de vídeo de la API de CMS.

    Propiedades de nivel superior

    Derivado de campos de distribución

    • album_art_url
    • author
    • category
    • description
    • destination_url
    • explicit
    • keywords
    • name
    • owner_name
    • owner_email
    • subtitle
    • syndication_id
    • syndication_url
    • title

    ID de cuenta de Video Cloud

    • account_id

    Prefijo de URL de página predeterminada del reproductor VideoCloud

    Úsalo así:

      <media:player url="//default_default/index.html?videoId=">
    • player_url

    URL de la página siguiente del feed

    • next_page

    Colección de activos de vídeo recuperados del catálogo (ver más abajo para más detalles)

    • assets

    Propiedades de activos

    Los recursos de la colección de activos se derivan de los recursos de vídeo devueltos por el método de la API Get Videos de CMS y se admiten todas las mismas propiedades, incluidas, entre otras, las siguientes:

    • created_at
    • description
    • duration
    • id
    • images
    • images.thumbnail
    • images.poster
    • long_description
    • name
    • original_filename
    • published_at
    • schedule
    • state
    • tags
    • text_tracks
    • updated_at

    Los recursos de activos también admiten las siguientes propiedades:

    • sources ( colección de fuentes para el video - ver la siguiente sección para las propiedades de fuente)
    • digital_master ( estará vacía si no existe un maestro digital - ver a continuación las propiedades del maestro digital)
    • best_mp4_source ( la fuente MP4 de la más alta calidad - puede estar vacía si no hay fuentes MP4. Las propiedades serán las mismas que los elementos devueltos en el sources)
    • hls_source ( devuelve la fuente HLS - estará vacío si no existe)
    • best_dynamic_rendition_quality ( devuelve la calidad de vídeo de la copia dinámica del vídeo con el tamaño de fotograma más grande, si se han obtenido metadatos de copia dinámica para el vídeo. Los valores permitidos son «SD», «HD», «FHD» y «UHD».)

    Propiedades de origen

    Los recursos de la colección de orígenes de un activo se derivan de los recursos de origen de vídeo devueltos por el método API Get Video Sources de CMS. Se admiten las siguientes propiedades:

    • app_name
    • asset_id
    • codec
    • container
    • created_at
    • duration
    • encoding_rate
    • height
    • size
    • src
    • stream_name
    • type
    • uploaded_at
    • width

    Propiedades del maestro digital

    El digital_master recurso de un activo se deriva del recurso maestro digital devuelto por el método API Get Digital Master Info de CMS. Se admiten las siguientes propiedades:

    • duration
    • encoding_rate
    • height
    • size
    • url
    • width

    Propiedades de copia dinámica

    El dynamic_renditions recurso de un activo se deriva de las copias dinámicas devueltas por el método API Get Digital Master Info de CMS. Se admiten las siguientes propiedades:

    • rendition_id
    • frame_height
    • frame_width
    • media_type
    • encoding_rate
    • created_at
    • updated_at
    • size
    • duration
    • audio_configuration
    • language
    • variant

    Extensiones a Líquido

    Filtro ToutC

    Hemos ampliado nuestro analizador Liquid para admitir un filtro ToutC que analizará la mayoría de los formatos de cadena de fecha y hora ISO-8601 estándar y los transformará en cadenas de fecha y hora UTC estándar. Este formato es aceptable para el filtro de fecha de Liquid, que luego se puede usar para volver a formatear las marcas de tiempo en cadenas de fecha y hora en cualquier formato deseado. Por ejemplo:

      <pubDate></pubDate>

    Esto produce una salida como la siguiente si asset.published_at tiene un valor de 2019-08-09T 13:32:52 .031Z።

      <pubDate>Fri, 09 Aug 2019 09:32:52 +0000</pubDate>

    Filtro ToePoch

    El analizador líquido que utilizamos no admite el token «%s» en los filtros de fecha para convertir fechas a marcas de tiempo de época Unix. Para solucionar esto, se proporciona un filtro personalizado ToePoch que se puede utilizar para convertir especificaciones de fecha válidas al formato de época. El filtro devuelve un valor de datos numéricos que representa milisegundos desde la época que es adecuado para la entrada en filtros matemáticos. Por ejemplo:

      <toEpochMillis>now</toEpochMillis>
      <toEpochSeconds>0</toEpochSeconds>
      <thirtyDaysAgo>-2592000000</thirtyDaysAgo>

    produce una salida como la siguiente:

      <toEpochMillis>1580917253024</toEpochMillis>
      <toEpochSeconds>1580917253</toEpochSeconds>
      <thirtyDaysAgo>2020-01-06T15:40:53.055Z</thirtyDaysAgo>

    Filtro FromEpoch

    El filtro FromEpoch convierte números que representan milisegundos desde la época en cadenas de fecha UTC. El filtro también aceptará una cadena que contenga los dígitos del valor de época como entrada. La salida se puede pasar al filtro de fecha para volver a formatear si es necesario.

    Por ejemplo:

      
      <fromEpochMillis>now</fromEpochMillis>
      <thirtyDaysAgoAltFormat>52067-04-10</thirtyDaysAgo>
      

    produce una salida como la siguiente:

      
      <fromEpochMillis>2020-02-05T16:09:37.809Z</fromEpochMillis>
      <thirtyDaysAgoAltFormat>2020-02-05</thirtyDaysAgo>

    Última actualización de la página el 28-09-2020