Módulo Settings: Webhooks

Te indicamos como utilizar esta característica de Platform

Miguel Giraldo avatar
Escrito por Miguel Giraldo
Actualizado hace más de una semana

Con platform puedes configurar webhooks para enviar notificaciones a una URL especificada, de tal manera que puedas recibir eventos de cambios realizados sobre el contenido de tu cuenta en tiempo real, así tu sitio se actualizará de forma automática, estas notificaciones se entregan mediante un JSON con el modelo de la entidad que se esta escuchando, luego de crear un endpoint tipo POST.

En platform existen varios elementos que pueden ser modificados por los usuarios de las cuentas, y se utiliza la APi para ver o llamar los cambios efectuados.

La configuración de estos webhooks se realiza de la siguiente manera

  • Te diriges al modulo Settings/Webhooks.

  • Haces click sobre el botón Create new Webhook

  • Se abre un pop-up en el que puedes ingresar el nombre para identificar tu webhook, la URL endpoint que recibirá las notificaciones y finalmente, podrás seleccionar los módulos sobre los cuales deseas recibir dichas notificaciones, todos estos tienen 3 tipos de aviso cada uno, Create-Update-Delete, al finalizar guardas los cambios hechos.

El webhook notifica las acciones hechas sobre las siguientes entidades en platform:

  • Access Restrictions

  • Article

  • Category

  • Customer

  • Profile

  • Purchase

  • Live

  • Schedule

  • ScheduleJob

  • Media

  • Moment

  • Playlist

  • Product

  • Payment

  • SeasonEpisode

  • Show

  • ShowRelated

  • ShowSeason

La estructura de cada modelo es dinámica y varia según el tipo de consulta y entidad, dicha estructura sigue el siguiente parámetro: type: #{modelo}#{acción} data: {...}

Ejemplo Update de Customer:

{ type: "customers.update",
data: {
account: "{account_ID}",
email: "email@test.com",
id: "83560924817634561"
... }
}

Una vez configurado, lo veras dentro del modulo como se muestra en la imagen:

Podrás activarlo o desactivarlo, editarlo o borrarlo según lo necesites, esto lo haces con los botones que ves a la derecha. de cada webhook.

Los webhooks en platform tienen un limite de hasta 3 url para recibir notificaciones, cualquier actualización adicional se debe hacer por medio de tu comercial encargado.


Novedad

Secret Token:

Este nuevo feature disponible en el módulo, hace que el usuario que use los webhooks pueda implementar una firma (Token) secreto que ayuda a validar que los requests llegan desde Mediastream Platform y no desde un tercero hacia sus endpoints.

Al momento de crear un nuevo webhook, o al editar uno previamente configurado, ahora aparecerá la casilla Secret Token sobre la cual podrás anotar una palabra o sucesión de caracteres random.

Esto genera una firma en algoritmo sha-256 que contendrá los siguientes datos:

  • Tipo de webhook

  • ID del documento

  • Fecha de la firma

  • Clave secreta

type=<webhook_type>~id=<document_id>~date=<signature_date>~key=<secret_key>

Mostrándose en formato hexadecimal, la firma es enviada en el body del webhook junto con la información requerida para validación del cliente, si la configuración fue hecha correctamente, dentro del webhook se verá lo siguiente:

{
“type”: “media.update”,
“data”: {
“_id”: “61d4cf6c0f124264a0118b3e”

},
“date”: 1648734415606
“signature”: “fb587dbd320f690d67aca507b1e12ec1152d49c6ade1c9745863c98348b9a51”
}

Con el ejemplo anterior la firma sha-256 se vería de la siguiente manera:

type=media.update~id=61d4cf6c0f124264a0118b3e~date=1648734415606~key=fb587dbd320f690d67aca507b1e12ec1152d49c6ade1c9745863c98348b9a51

Al hacer el sha-256 con un formato hexadecimal, la firma obtenida debe ser igual a la que Platform envía en el campo signature, indicando que el hook es válido.


Si tienes alguna consulta relacionada, por favor no dudes en escribirnos a través del chat.

Atte. El Equipo de Mediastream

¿Ha quedado contestada tu pregunta?