Configuracion de notificaciones

Este tema contiene detalles para codificar la configuración relacionada con las notificaciones.

Resumen

Una vez completado un trabajo o un archivo de salida, puede averiguarlo de varias formas.

  • Podemos enviar un Solicitud HTTP POST a su aplicación con los detalles.
  • Podemos enviar un correo electrónico.
  • Puede solicitar sus notificaciones utilizando una herramienta de terceros como ngrok. Esto es útil cuando está desarrollando localmente y Zencoder no puede acceder a su servidor de desarrollo.
  • Puede consultar el panel de Zencoder para ver el estado del trabajo.
  • Puede verificar el estado del trabajo a través de una solicitud de API de presentación de trabajos.

Los dos primeros - salientes HTTP o notificaciones por correo electrónico: se activan al agregar opciones de notificación a su solicitud de API de creación de trabajo.

Notas:

  • Las notificaciones están limitadas a 5 por salida y trabajo. Las notificaciones de salida no cuentan para el total del trabajo. Contáctenos si necesitas más.
  • Las cargas útiles de notificación pueden repetir notificaciones para trabajos. Debe analizar el cuerpo de la carga útil por ID de trabajo y luego indicarlo.
  • Los manejadores de notificaciones en servidores construidos en HTTP2 no son actualmente compatibles. Es posible que las notificaciones enviadas a los servidores HTTP2 no se entreguen sin devolver ningún error.

notificaciones

notifications:Array

Versiones de API: V2

Valores válidos: Una matriz de cadenas de notificación (direcciones de correo electrónico o URL válidas) o hash de url y format.

Tipos de trabajo compatibles: VOD

Descripción:

Especifique una o más URL HTTP o direcciones de correo electrónico para notificar con un webhook cuando se complete un trabajo o una salida.

Para las notificaciones HTTP, la solicitud de la API de notificación se envía desde Zencoder a su servidor como un POST a la URL de notificación y es JSON o XML que contiene dos o tres valores. El primero es un ID de trabajo. Esta identificación coincide con la identificación que recibió cuando envió la solicitud de trabajo inicial. El segundo es un estado, ya sea 'terminado', 'fallido' o 'cancelado'. Si un trabajo contiene varias salidas, esta notificación también contiene la etiqueta de salida que proporcionó cuando se creó inicialmente el trabajo.

Las notificaciones HTTP enviarán JSON o XML (según la solicitud format).

Contenido de la notificación varían dependiendo de la Versión de API utilizada.

Si Zencoder no puede conectarse correctamente al servidor de destino al enviar una notificación, la notificación se pondrá en cola para volver a intentarlo. El programa de reintento se cubre en la guía de notificaciones.

Autorización y seguridad

Para notificaciones HTTP autenticadas, incluya un nombre de usuario y contraseña en la URL de notificación usando esta sintaxis: https: // nombre de usuario: contraseña@www.example.com/path/to/notification/action

Para HTTPS, simplemente especifique una URL usando https:// obligará a que la notificación se envíe de forma segura mediante SSL.

Nota: API V1 solo admite notificaciones de salida, no notificaciones de trabajos.

{
  "input": "s3://zencodertesting/test.mov",
  "notifications": [
    "dev@example.com",
    "http://user:pass@example.com/path/to/notification/action",
    {
      "format": "xml",
      "url": "https://example.com/notifications.html"
    }
  ],
  "outputs": [
    {
      "notifications": [
        "dev@example.com",
        "http://user:pass@example.com/path/to/notification/action",
        {
          "format": "xml",
          "url": "https://example.com/notifications.html"
        }
      ]
    }
  ]
}

Ver también: url , format , y headers

url

url:String

Versiones de API: V2

Padre: notifications

Valores válidos: Una URL HTTP o HTTPS válida para notificar, que opcionalmente incluye credenciales de autenticación HTTP

Tipos de trabajo compatibles: VOD

Ejemplos:

  • https://username:password@example.com/notification/path
  • http://example.com/notification-handler.php

Descripción:

Una URL para notificar cuando se completa un trabajo.

Utilizar el url opción al especificar notifications como hash, incluido un format. Si no necesita especificar un formato, simplemente puede incluir la URL como un elemento en la matriz de notificaciones.

Para notificaciones HTTP autenticadas, incluya un nombre de usuario y contraseña en la URL de notificación usando esta sintaxis: https: // nombre de usuario: contraseña@www.example.com/path/to/notification/action.

Para HTTPS, simplemente especifique una URL usando https:// por lo que se enviaría una notificación de forma segura mediante SSL.

Contenido de la notificación varían dependiendo de la Versión de API utilizada.

Si Zencoder no puede conectarse correctamente al servidor de destino al enviar una notificación, la notificación se pondrá en cola para volver a intentarlo. La notificación se intentará hasta 20 veces, y la demora entre intentos se duplicará cada vez.

Autorización y seguridad

Para notificaciones HTTP autenticadas, incluya un nombre de usuario y contraseña en la URL de notificación usando esta sintaxis: https: // nombre de usuario: contraseña@www.example.com/path/to/notification/action

Para HTTPS, simplemente especifique una URL usando https:// obligará a que la notificación se envíe de forma segura mediante SSL.

Notas: API V1 solo admite notificaciones de salida, no notificaciones de trabajos.

{
  "input": "s3://zencodertesting/test.mov",
  "notifications": [
    {
      "url": "https://example.com/notifications.html"
    }
  ],
  "outputs": [
    {
      "notifications": [
        {
          "url": "https://example.com/notifications.html"
        }
      ]
    }
  ]
}

Ver también: notifications , format , y headers

formato

format:String

Versiones de API: V2

Padre: notifications

Valores válidos: json o xml

Tipos de trabajo compatibles: VOD

Ejemplo: json

Descripción:

Un formato y tipo de contenido para notifications.

De forma predeterminada, las notificaciones HTTP están en JSON, con un tipo de contenido HTTP de application/json.

Para notificaciones XML, establezca el formato en 'xml'. Esto devolverá notificaciones en formato XML, con un tipo de contenido HTTP de application/xml.

Nota: Las notificaciones de API V1 no incluyen un tipo de contenido HTTP a menos que especifique un formato.

{
  "input": "s3://zencodertesting/test.mov",
  "notifications": [
    {
      "format": "xml",
      "url": "https://example.com/notifications.html"
    }
  ],
  "outputs": [
    {
      "notifications": [
        {
          "format": "xml",
          "url": "https://example.com/notifications.html"
        }
      ]
    }
  ]
}

Ver también: notifications , format , y headers

encabezados

headers:Hash

Versiones de API: V2

Padre: notifications

Valores válidos: Las claves deben comenzar con una letra y pueden contener letras, números y -. Los valores pueden contener cualquier cadena.

Hay un límite de longitud de 100 caracteres para cada encabezado de notificación.

Tipos de trabajo compatibles: VOD

Ejemplo: {'Accept': 'application/json', 'Internal-Id': '12345'}

Descripción:

De forma predeterminada, las notificaciones HTTP se envían con un tipo de contenido HTTP, junto con un agente de usuario. Si su aplicación requiere encabezados adicionales, puede especificarlos aquí.

El encabezado se establece como la clave del hash y su valor es el valor del hash.

{
  "input": "s3://zencodertesting/test.mov",
  "notifications": [
    {
      "format": "json",
      "url": "https://example.com/notifications.html",
      "headers": {
        "Accept": "application/json",
        "Internal-Id": "12345"
      }
    }
  ],
  "outputs": [
    {
      "notifications": [
        {
          "format": "json",
          "url": "https://example.com/notifications.html",
          "headers": {
            "Accept": "application/json",
            "Internal-Id": "12345"
          }
        }
      ]
    }
  ]
}

Ver también: notifications , url , y format

evento

event:String

Versiones de API: V2

Padre: notifications

Valores válidos: first_segment_uploaded, seamless_playback

Tipos de trabajo compatibles: VOD

Ejemplo: {'event': 'seamless_playback'}

Descripción:

Las salidas en vivo tienen eventos de notificación adicionales correspondientes al progreso del archivo.

Se pueden enviar notificaciones cuando se haya cargado el primer segmento de una salida en vivo y cuando se hayan cargado suficientes segmentos para permitir una reproducción perfecta.

El evento no se aplica a las notificaciones de trabajos y salidas regulares, solo a las de salidas en vivo.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "live_stream": true,
      "type": "segmented",
      "notifications": [
        {
          "url": "http://zencoderfetcher/notifications.html",
          "event": "seamless_playback"
        }
      ]
    }
  ]
}

Ver también: notifications , url , y format