Error message

User warning: The following module is missing from the file system: fast_404. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1143 of /mnt/www/html/ooyala/docroot/includes/bootstrap.inc).

Guía de la API del almacén de derechos

Esta es la descripción oficial de las rutas de API para el almacén de derechos.

Servidor API: rl.ooyala.com

Note: Todas las solicitudes de la API del almacén de derechos se deben realizar en el servidor http://rl.ooyala.com, no https://api.ooyala.com.

Tipo MIME

Al realizar un POST para crear un derecho de acceso, establezca su tipo MIME de la siguiente manera:
Content-type: application/json

Crear derecho de acceso

Crear derecho de acceso con identificadores para las etiquetas y las reglas de publicación en el cuerpo del POST.

[POST] /v2/entitlements/providers/provider_id/accounts/account_id/content
{      
     <Example of POST body>
}               
            

Una llamada con éxito no devuelve ningún cuerpo de respuesta. Buscar código de respuesta HTTP 200.

Recuperar derechos de acceso

Existen dos métodos generales para recuperar sus derechos de acceso:
  1. Recuperar todos los derechos de acceso de una cuenta
  2. Recuperar derechos de acceso específicos por ID de vídeo o ID de etiqueta.

Método #1. Recuperar todos los derechos de acceso de una cuenta.

[GET] /v2/entitlements/providers/provider_id/accounts/account_id/content

Método #2. Recuperar derecho de acceso para un vídeo específico.

[GET] /v1/entitlements/providers/provider_id/accounts/account_id/content/assets/asset_id/external_products/external_product_id

Método #2: Recuperar derecho de acceso para una etiqueta específica.

[GET] /v1/entitlements/providers/provider_id/accounts/account_id/content/labels/label_id/external_products/external_product_id

Eliminar derecho de acceso

Puede eliminar todos los derechos de acceso de las cuentas o los derechos de acceso para etiquetas o vídeos específicos.

Eliminar todos los derechos de acceso del account_id de usuario.

[DELETE] /v2/entitlements/providers/provider_id/accounts/account_id/content

Una llamada con éxito no devuelve ningún cuerpo de respuesta.

Eliminar derecho de acceso del account_id de usuario para contenidos determinados por asset_id

Note: Debido a la naturaleza jerárquica de las etiquetas y su herencia, eliminar un derecho de acceso inferior en la jerarquía de etiquetas no tiene efecto si todavía existen derechos de acceso superiores en la jerarquía. Por lo tanto, cuando se elimina un derecho de acceso específico para un usuario, compruebe si el usuario tiene derechos de acceso superiores en la jerarquía. Si es así, elimine también dichos derechos de acceso.
[DELETE] /v2/entitlements/providers/provider_id/accounts/account_id/content/assets/asset_id/external_products/external_product_id

Una llamada con éxito no devuelve ningún cuerpo de respuesta.

Eliminar derecho de acceso del account_id de usuario para contenidos determinados por label_id

Note: Debido a la naturaleza jerárquica de las etiquetas y su herencia, eliminar un derecho de acceso inferior en la jerarquía de etiquetas no tiene efecto si todavía existen derechos de acceso superiores en la jerarquía. Por lo tanto, cuando se elimina un derecho de acceso específico para un usuario, compruebe si el usuario tiene un derecho de acceso superior en la jerarquía. Si es así, elimine también dicho derecho de acceso.
[DELETE] /v2/entitlements/providers/provider_id/accounts/account_id/content/labels/label_id/external_products/external_product_id

Actualizar un derecho de acceso

Para actualizar un derecho de acceso, utilice el mismo método POST usado para crearlo. Si la combinación única de label_id, user_id, external_product_id coincide con un derecho de acceso ya existente, se actualizará.

Ejemplo de cuerpo de POST

Puede definir derechos de acceso, ya sea por vídeo o por etiqueta; el cuerpo del POST puede incluir uno o ambos tipos. Las propiedades son idénticas para ambos tipos.

Nota: Si incluye identificadores de o vídeo en la propia ruta, no es necesario incluir los identificadores en el cuerpo del POST.
        
{
 “assets” : 	[
     { “content_id” : “an_embed_code”,
       “publishing_rule_id” : “publishing_rule_id”,
       “external_product_id” : “your_product_id”,
       “start_time” : YYYYMMDD,
       “end_time” : YYYYMMDD,
     },
     { “content_id” : “another_embed_code”,
          .
          .
          .                        
          },
     .
     . 
     .
     ],
 “labels” :	[
     { “content_id” : “a_label_id”,
       “publishing_rule_id” : “publishing_rule”,
       “external_product_id” : “your_product_id”,
       “start_time” : YYYYMMDD,
       “end_time” : YYYYMMDD
     },
     { “content_id” : “another_label_id”,
          .
          .
          .                        
          },
     .
     . 
     .
     ]
}
   

Respuestas

El almacén de derechos devuelve los mismos códigos de respuesta de HTTP que devuelve Backlot, con las siguientes excepciones:
  • Si la creación se lleva a cabo correctamente a través de POST, se devuelve la respuesta HTTP 200, pero no se devuelven datos en el cuerpo de la respuesta.
  • Si busca (a través de GET) derechos de acceso sin ninguna coincidencia, el almacén de derechos devuelve 404, "No encontrado".

Propiedades

En la siguiente tabla se describen todas las propiedades que se pueden asociar a un derecho de acceso.

Propiedad

Descripción

¿Obligatorio?

asset_id

Una lista de vídeos separados por comas para los que se concede el derecho de acceso.
Nota: No puede utilizar identificadores externos con el almacén de derechos. Los valores deben ser códigos embebidos reales (ID de vídeos).

Tipo: Cadena

No

content_id

Identificador de un vídeo (asset_id o embed_code) o de una etiqueta.

end_time

Hora de finalización del derecho de acceso.

Tipo: fecha y hora

Ejemplo: 2013-08-31T23:59:59

Por defecto: Si se omite, el derecho de acceso es infinito.

No

external_product_id

Su propio identificador para el producto al que se aplica este derecho de acceso.

Tipo: Cadena

Valores válidos: no deben contener caracteres reservados para direcciones URL (por ejemplo, [ / & | ]).

Longitud máxima: 254 caracteres

labels

Una lista de etiquetas separadas por comas para las que se concede el derecho de acceso.

No

publishing_rule_id

Restricciones adicionales sobre el derecho de acceso del usuario cuando se accede al contenido.

start_time

Hora de inicio del derecho de acceso.

Tipo: fecha y hora

Ejemplo: 2013-08-01T00:00:00

Por defecto: Si se omite, el derecho de acceso es inmediato.

No

num_devices_to_bind Límite superior del número de dispositivos permitido para cada espectador No

Atributos de ruta

Los siguientes atributos son necesarios en las llamadas a la API.
Tabla 1.
Propiedad Definición
account_id

Un identificador único para uno de sus clientes.

Tipo: Cadena

Valores válidos: no deben contener caracteres reservados para direcciones URL (por ejemplo, [ / & | ]).

Longitud máxima: 254 caracteres

provider_id El identificador único de un proveedor de contenido. Se puede ver en la pestaña CUENTA de Interfaz de usuario de Backlot, subpestaña Desarrolladores, campo Código de socio:.

external_product_id

Su propio identificador único para uno de sus productos.

Tipo: Cadena

Valores válidos: no deben contener caracteres reservados para direcciones URL (por ejemplo, [ / & | ]).

Longitud máxima: 254 caracteres

label_id

El identificador único de una etiqueta.

Tipo: Cadena