Webhooks

Webhooks låter dig ta emot uppdateringar i realtid från Meshy när dina API-uppgifter slutförs eller ändrar status. När det är konfigurerat kommer Meshy att POST:a event-payloads i json-format till de URL:er du anger.


Varför skapa Webhooks

Att använda webhooks har flera fördelar, särskilt när det gäller att automatiskt kontrollera statusen för API-uppgifter. Webhooks kräver mindre ansträngning och kostnad än att kontinuerligt polla API:et för att få statusuppdateringar för uppgifter. Webhooks möjliggör även uppdateringar nästan i realtid och skalar i slutändan bättre än API-polling. Detta gör det också möjligt för dig att bättre hantera dina hastighetsgränser (rate limits), särskilt om du pollar konstant.


Installation & konfiguration

För att aktivera webhooks, öppna sidan Webhooks i Developer Platform och klicka på knappen "Create Webhook". Ange den önskade https-URL:en du vill ta emot webhooks på och aktivera webhooken för att automatiskt ta emot uppgiftsuppdateringar från Meshy. Du kan ha max 5 aktiva webhooks per Meshy-konto. När en webhook är aktiverad kommer alla statusuppdateringar för API-uppgifter automatiskt att skickas till payload-URL:en. Av säkerhetsskäl tillåter vi för närvarande endast att webhooks skickas till https-URL:er. Om du vill konfigurera lokal testning, se avsnittet nedan.


Krav för leverans av Webhooks

För att din webhook ska fungera normalt och fortsätta ta emot events:

  • Din server måste svara med en HTTP-statuskod under 400 (t.ex. 200 OK, 202 Accepted).
  • Alla svar med en statuskod >= 400 kommer att behandlas som en misslyckad leverans.
  • Flera på varandra följande misslyckanden kan:
    • Orsaka att progress-uppdateringar blir försenade eller kommer i fel ordning
    • Automatiskt inaktivera din webhook efter upprepade försök (se policyn för automatisk inaktivering)

Tips: Returnera alltid ett lyckat svar efter att du har validerat och lagrat webhook-payloaden, även om vidare bearbetning sker asynkront.


Vidarebefordra Webhooks för lokal testning

Om du vill testa din webhook-kod lokalt, vilket vanligtvis sker på en http-adress, kan du använda en webhook-proxy-URL för att vidarebefordra webhooks till din dator eller codespace. Nedan följer rekommenderade steg med hjälp av smee.io, men du kan använda vilken tjänst du vill för att generera en webhook-proxy-URL.

Skaffa en webhook-proxy-URL:

  1. Navigera till https://smee.io/ i din webbläsare
  2. Klicka på "Start a new channel"
  3. Kopiera hela URL:en under "Webhook Proxy URL". Du kommer att använda denna URL i de följande installationsstegen.

Vidarebefordra webhooks:

  1. Om du inte redan har smee-client installerat, kör följande kommando i din terminal.
npm install --global smee-client
  1. För att ta emot vidarebefordrade webhooks från smee.io, kör följande kommando i din terminal. Ersätt WEBHOOK_PROXY_URL med din webhook-proxy-URL från tidigare.
smee --url WEBHOOK_PROXY_URL --path /webhook --port 3000

Du bör se en utskrift som liknar denna, där WEBHOOK_PROXY_URL är din webhook-proxy-URL:

Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:3000/webhook
Connected WEBHOOK_PROXY_URL
  1. Låt detta köra medan du testar din webhook. När du vill sluta vidarebefordra webhooks, tryck Ctrl+C.
    Observera att sökvägen är /webhook och porten är 3000. Dessa värden kan komma väl till pass när du senare vill sätta upp din egen kod för att ta emot webhook-leveranser.

Skapa en webhook:

Du kan nu använda webhook-proxy-URL:en för att skapa en ny webhook på sidan Webhooks.


Exempel på svar

När statusen för en uppgift ändras kommer Meshy att POST:a en webhook-payload till din konfigurerade URL. Payloaden innehåller uppgiftsobjektet i JSON-format. För en fullständig beskrivning av alla egenskaper i uppgiftsobjektet och exempel på payloads, se: