Webhooks

Webhooks låter dig ta emot uppdateringar i realtid från Meshy när dina API-uppgifter är slutförda eller ändrar status. När de har konfigurerats kommer Meshy att POST:a händelse-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 status för API-uppgifter. Webhooks kräver mindre arbete och lägre kostnader än att kontinuerligt polla API:et för att få statusuppdateringar för uppgifter. Webhooks möjliggör också uppdateringar i nära 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, särskilt om du pollar konstant.


Installation och konfiguration

För att aktivera webhooks, gå till sidan för API-inställningar när du är inloggad i Meshy-webbapplikationen. Hitta avsnittet "Webhooks" under dina API keys och klicka på knappen "Create Webhook". Ange din önskade https-URL att ta emot webhooks från och aktivera webhooken för att automatiskt ta emot uppgiftsuppdateringar från Meshy. Du kan ha högst 5 aktiva webhooks per Meshy-konto. När en webhook är aktiverad skickas alla statusuppdateringar för API-uppgifter automatiskt till payload-URL:en. Av säkerhetsskäl tillåter vi för närvarande endast att skicka webhooks till https-URL:er. Om du vill konfigurera lokal testning, se följande avsnitt.


Leveranskrav för Webhook

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

  • Din server måste svara med en HTTP-statuskod under 400 (t.ex. 200 OK, 202 Accepted).
  • Alla svar med en statuskod >= 400 behandlas som en misslyckad leverans.
  • Flera på varandra följande misslyckanden kan:
    • Göra att progress-uppdateringar fördröjs eller kommer i fel ordning
    • Automatiskt inaktivera din webhook efter upprepade försök (se policy 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 finns rekommenderade steg med smee.io, men du kan använda vilken tjänst du vill för att generera en webhook-proxy-URL.

Hämta en webhook-proxy-URL:

  1. I din webbläsare, gå till https://smee.io/
  2. Klicka på "Start a new channel"
  3. Kopiera den fullständiga URL:en under "Webhook Proxy URL". Du kommer att använda denna URL i följande installationssteg.

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 utdata som ser ut så här, 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 fortsätta köras medan du testar din webhook. När du vill sluta vidarebefordra webhooks, ange Ctrl+C.
    Observera att sökvägen är /webhook och porten är 3000. Dessa värden kan vara användbara när du senare vill konfigurera 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 för Meshy API-inställningar.


Exempelsvar

När en uppgifts status ä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 för uppgiftsobjekt och exempel-payloads, se: