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
>= 400kommer 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:
- Navigera till https://smee.io/ i din webbläsare
- Klicka på "Start a new channel"
- Kopiera den fullständiga URL:en under "Webhook Proxy URL". Du kommer att använda denna URL i följande konfigurationssteg.
Vidarebefordra webhooks:
- Om du inte redan har smee-client installerat, kör följande kommando i din terminal.
npm install --global smee-client
- För att ta emot vidarebefordrade webhooks från smee.io, kör följande kommando i din terminal. Ersätt
WEBHOOK_PROXY_URLmed 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
- 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: