api

Webhooks

Met webhooks ontvang je een melding wanneer een gebruiker een bepaalde actie uitvoert, zodat je gegevens niet steeds hoeft op te vragen. Je kunt een URL opgeven die bij een bepaalde gebeurtenis wordt aangeroepen. De ontvangen informatie kun je vervolgens in je applicatie gebruiken.

Registreer eerst een webhook in ons dashboard: https://dash.mave.io/settings

Endpoint aanmaken

Maak eerst een endpoint aan in je applicatie. In ons dashboard geef je aan bij welke gebeurtenissen deze URL moet worden aangeroepen. De volgende gebeurtenissen zijn beschikbaar:

Event Beschrijving
video.created Wordt geactiveerd wanneer een gebruiker een video-embed aanmaakt of wanneer deze via de API wordt aangemaakt.
video.uploaded Wordt geactiveerd wanneer een gebruiker een video heeft geüpload.
video.processing Wordt geactiveerd wanneer de verwerking begint. De video kan worden afgespeeld, maar is nog niet voor iedere browser en verbinding geoptimaliseerd. De metadata duration, width, height, name, poster_image en last_upload worden bijgewerkt.
video.ready Wordt geactiveerd voor iedere uitvoering die klaar is met encoderen.
video.deleted Wordt geactiveerd wanneer een video-embed door een gebruiker of via de API wordt verwijderd.

Het eventobject dat naar je applicatie wordt gestuurd, ziet eruit als het onderstaande voorbeeld. Je kunt dit gebruiken om je applicatie bij te werken.

Payload

{
  "id": "j3bw2jWb6q7aWGwChsgR86", // the id of this event
  "object": "event", // type of the object send to you
  "data": {
    "created": 1643723737, // when this video embed was created
    "duration": null, // duration of the video
    "width": null, // width of the video in pixels
    "height": null, // height of the video in pixels
    "id": "k1iFD7h4rW", // the ID if you want to store it for your user and possibly webhooks
    "last_upload": null, // when a video has been uploaded
    "name": null, // name of the file or chosen name
    "object": "video", // the type of object you're looking at
    "poster_image": null, // uploaded poster or first frame of video when uploaded
    "size": null, // size of the video
    "renditions": ["sd", "hd"] // size of the video
  }, // the data that triggered the event
  "type": "video.created", // the type of event that occured
  "created": 1643723823 // when the event was created
}

Beveiliging

Als je framework een CSRF-token aan verzoeken toevoegt, moet je dit uitschakelen voor het webhook-endpoint. Voor de integriteitscontrole gebruiken we in plaats daarvan een secret. Dit vind je wanneer je in ons dashboard een webhook aanmaakt. Bewaar het veilig in je applicatie.

Elke gebeurtenis die naar je server wordt gestuurd, bevat de HTTP-header Mave-Signature: t={signature_time}, v1={signature}. Met deze handtekening kun je het verzoek verifiëren zonder het secret bloot te geven. Genereer met een HMAC SHA256-bibliotheek zelf een ondertekende payload om de handtekening te controleren. Gebruik {signature_time}.{webhook secret} als sleutel en onderteken daarmee de payloadbody van het daadwerkelijke verzoek. Het resultaat moet exact gelijk zijn aan {signature}.

🍪 Klik op ‘Accepteren’ om te bevestigen dat je het ermee eens bent dat we geen cookies gebruiken. Ja, deze banner is puur voor de show!
Accepteren