DRM-X 6.0 paloma y rama de olivo logotipoDRM-X 6.0Documentación
◎ Español

Crear una sesión de reproducción

Request and consume the DRM-X Universal Playback Session Contract with authentication, trusted Content IDs, and bounded authorization.

Ver MarkdownEjemplos en funcionamientoActualizado 2026-09-05
Su backend decide el acceso; DRM-X aplica la política firmada. Los medios cifrados y las licencias DRM siguen caminos de entrega separados.
Su backend decide el acceso; DRM-X aplica la política firmada. Los medios cifrados y las licencias DRM siguen caminos de entrega separados.
API

Crear una sesión de reproducción universal #

POST https://api6.drm-x.com/api/v1/playback/environments/{siteId}/sessions
Accept: application/json
Content-Type: application/json
X-DRMX-Client-Id: {siteKey}
X-DRMX-Client-Secret: {accessKey}
{
  "contentId": "course-12-lesson-4",
  "contentType": "vod",
  "drmSystem": "widevine",
  "subject": "customer-user-1001",
  "sessionId": "new-unpredictable-id-per-playback",
  "playbackMode": "streaming",
  "licensePolicyTemplate": "multi-tier-standard",
  "useEnvironmentDefaults": true,
  "applicationId": "customer-web",
  "platformCapabilities": {
    "clientPlatform": "web",
    "drmSystems": ["widevine"],
    "manifestTypes": ["dash"],
    "maximumHeight": 2160,
    "persistentState": false,
    "sdkVersion": "1.2.0-preview.6"
  }
}

Una respuesta exitosa de Contrato v1 incluye el manifiesto autoritativo, las variantes de manifiesto disponibles, una licencia DRM- específica URL, una autorización proxy de corta duración DRM License Token o de cliente, una ruta de liberación, la altura máxima licenciada, y las pistas permitidas. Devuélvalo con Cache-Control: no-store.

Usar una sesión impredecible ID para cada intento de reproducción real. Reutilizar un ID a través de dispositivos derrota el conteo de corriente simultánea.

Autenticación y campos de solicitud de confianza #

Llame a este API de su backend con un proyecto API cliente que tiene license-tokens:create. Utilice el medio ambiente UUID como siteId. Su espectador autenticado llama su punto final; su punto final proporciona los campos de confianza a continuación.

CampoSignificadoRegla de integración
contentIdLa referencia del contenido publicadoResolver desde su catálogo de confianza después del cheque de derechos.
subjectSu identificador de visualización estableDerivado de la sesión autenticada, no un usuario suministrado por el cliente ID.
drmSystemwidevine, playready, fairplay, o wiseplayCoincide con las capacidades seleccionadas DRM a las reproductor.
sessionIdIdentidad de este intento de reproducciónGenerar un nuevo valor impredecible para cada intento.
contentTypevod o liveUtilice el tipo registrado para el contenido.
playbackModestreaming en Contrato v1La reproducción sin línea requiere una prórroga posterior del contrato.
licensePolicyTemplate / licensePolicyUna política o política personalizada nombradaSeleccione en su servidor; no provea ambos. Ver reglas de política.
platformCapabilitiesPlataforma, DRM sistemas, tipos de manifiesto, e indicios de dispositivoEnviar capacidades explícitas con nuevas integraciones. Describen al cliente; no anulan la política de licencia.

Consumir los descriptores de respuesta #

Utilice los descriptores de Contrato anidado v1. No construya URLs de licencias de adivinanzas o reemplace URLs de manifiesto registrados con entradas reproductor.

Campo de respuestaCómo utilizarlo
contractVersionVerifique que la versión del contrato devuelto es compatible con su integración.
manifestUrl / manifestUrlsCargue el manifiesto autorizado seleccionado o una variante compatible devuelta.
expiresAtLa expiración de esta autorización consolidada.
drmLea system, licenseServerUrl, drmLicenseToken, tokenType, y el opcional fairPlayCertificateUrl. Un proxy de token del cliente puede reemplazar la autorización del navegador con su propia sesión atada.
releaseUtilice su url, method, y authorizationScheme para liberar la sesión cuando termina la reproducción.
policyHonor maximumHeight y allowedTrackTypes. El proveedor aún hace cumplir la política firmada.
tracksLea la capacidad de selección de audio/subtítulos y el estándar de etiquetas de idioma.

Regrese su reproductor respuesta con Cache-Control: no-store. Nunca reenvíe el proyecto Access Key al navegador. Restringir los encabezados de autorización a la licencia devuelta y las rutas de certificado.

Errores de mano y reservas de liberación #

Inspeccione el estado HTTP y legible por máquina code. Retenga el requestId para la solución de problemas y respeto retryable; un derecho negado o una política inválida necesita una decisión corregida, no un bucle de reingreso. Ver la referencia de error playback session.

Libere la reserva en Stop, reemplazo de reproducción, errores terminales y cierre de aplicaciones. Un nuevo intento de reproducción consigue una nueva sesión ID.