lowpoly avvecklas den 30 okt. 2026. Byt modell före dessa datum för att undvika fel i förfrågningar.

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 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 statusen för API-uppgifter. Webhooks kräver mindre insats och kostnad än att kontinuerligt fråga (polla) API:et för att få statusuppdateringar för uppgifter. Webhooks möjliggör också uppdateringar nära realtid och skalar i slutändan bättre än API-polling. Detta gör det också möjligt för dig att hantera dina hastighetsgränser (rate limits) bättre, särskilt om du pollar konstant.


Konfiguration & inställning

För att aktivera webhooks, öppna Webhooks-sidan i Utvecklarplattformen och klicka på knappen "Create Webhook". Ange den önskade https-URL du vill ta emot webhooks från 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 följande avsnitt.


Krav för leverans av Webhooks

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 upprepade fel i följd kan:
    • Orsaka att progress-uppdateringar försenas 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.

Om en uppgifts slutliga händelse inte har anlänt efter ungefär dubbelt så lång tid som den typiska, hämta uppgiften med dess GET-endpoint. Se Task Lifecycle för typiska tider och hur länge du bör vänta.


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 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. Navigera till https://smee.io/ i din webbläsare
  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 konfigurationssteg.

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 utdata som ser ut ungefär 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 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å Webhooks-sidan.


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 hos uppgiftsobjektet och exempel på payloads, se: