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 är konfigurerade kommer Meshy att POST:a händelsepayloads 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 API-uppgiftsstatusar. Webhooks kräver mindre ansträngning och kostnader än att kontinuerligt fråga API:t för att få uppdateringar om uppgiftsstatus. Webhooks möjliggör också nästan realtidsuppdateringar och skalar i slutändan bättre än API-frågor. Detta gör det också möjligt för dig att bättre hantera dina hastighetsbegränsningar, särskilt om du frågar konstant.


Installation & Konfiguration

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


Krav för leverans av 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 kommer att behandlas som en misslyckad leverans.
  • Flera på varandra följande misslyckanden kan:
    • Orsaka att progressuppdateringar försenas eller kommer i fel ordning
    • Automatiskt inaktivera din webhook efter upprepade försök (se Auto-Disable Policy)

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


Vidarebefordra Webhooks för lokal testning

Om du vill testa din webhook-kod lokalt, vilket vanligtvis är på en http-adress, kan du använda en webhook-proxy-URL för att vidarebefordra webhooks till din dator eller kodutrymme. Nedan följer rekommenderade steg med 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. I din webbläsare, navigera till https://smee.io/
  2. Klicka på "Starta en ny kanal"
  3. Kopiera den fullständiga 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 installerad, 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. Håll detta igång 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 vara användbara när du vill ställa in din egen kod för att ta emot webhook-leveranser senare.

Skapa en webhook:

Du kan nu använda webhook-proxy-URL:en för att skapa en ny webhook på Meshy API-inställningssidan.


Exempelsvar

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