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

Webhooks

Låt Meshy skicka en POST-förfrågan till din server när en API-uppgift gör framsteg eller slutförs, så att du slipper polla.


Varför använda webhooks

Webhooks kräver mindre arbete och kostar mindre än att polla API:et för varje uppgifts status. Meshy skickar varje uppdatering i samma stund den sker, så du får den snabbare, och webhooks skalar bättre än polling. Du skickar också färre förfrågningar, vilket håller dig längre från dina rate limits.


Konfigurera en webhook

För att lägga till en webhook, följ dessa steg:

  1. Öppna Webhooks-sidan i Developer Platform, och klicka på Create Webhook.
  2. Under Payload URL, ange den URL som ska ta emot leveranserna. Meshy levererar endast över https://.
  3. Behåll en kopia av Webhook Secret som dialogrutan fyller i. Varje leverans innehåller den, så att din server kan kontrollera att en förfrågan kom från Meshy. För en webhook du redan har kan du klicka på ögonikonen i kolumnen Secret för att se den.
  4. Välj Active, och klicka på Confirm.

Varje konto kan ha 5 aktiva webhooks, och 10 totalt. Varje aktiv webhook tar emot statusuppdateringar för alla dina API-uppgifter.

För att testa en webhook med en server på din dator, se Testa på din dator.


Hantera en leverans

För att acceptera en leverans, svara med en status under 400, till exempel 200 eller 202. Meshy väntar i cirka 25 sekunder på svaret, så spara leveransen och svara först. Utför det tidskrävande arbetet efteråt, till exempel att ladda ner modellen.

En status på 400 eller högre, eller inget svar alls, räknas som en misslyckad leverans. Meshy försöker igen med längre väntetider mellan försöken, upp till 4 gånger för en IN_PROGRESS-uppdatering och upp till 9 gånger för en slutgiltig status. Om 20 uppdateringar i rad misslyckas vid varje försök kan Meshy inaktivera webhooken. För att slå på den igen, redigera den på Webhooks-sidan och välj Active.

Skriv din kod för dessa fall:

  • Leveranser kan komma i fel ordning. En IN_PROGRESS-leverans kan komma efter den slutgiltiga, så låt den inte ersätta en slutgiltig status.
  • Samma uppdatering kan komma mer än en gång. Hantera varje par av id och status endast en gång.
  • Vem som helst som känner till din URL kan skicka en förfrågan till den. Jämför X-MESHY-API-WEBHOOK-SECRET-KEY med din kopia av hemligheten, och avvisa en förfrågan som inte matchar.

Om en uppgifts slutgiltiga leverans inte har anlänt efter ungefär dubbla uppgiftens normala tid, hämta uppgiften från dess GET-endpoint. För normala tider och hur länge du ska vänta, se Task lifecycle.


Testa på din dator

Meshy levererar endast till en publik https://-URL, så den kan inte nå en server på din dator direkt. För att testa kod på din dator, vidarebefordra en publik URL till den med en webhook-proxy. Dessa steg använder smee.io, och alla webhook-proxytjänster fungerar på samma sätt.

  1. Öppna smee.io och klicka på Start a new channel. Kopiera URL:en under Webhook Proxy URL.

  2. Om du inte redan har smee-klienten, installera den:

    npm install --global smee-client
    
  3. Vidarebefordra kanalen till din server. Ersätt WEBHOOK_PROXY_URL med din webhook-proxy-URL:

    smee --url WEBHOOK_PROXY_URL --path /webhook --port 3000
    

    Utdatan 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
    

    Låt den fortsätta köra medan du testar. För att sluta vidarebefordra, tryck på Ctrl+C. Din server tar emot leveranserna på port 3000 på sökvägen /webhook, så konfigurera din kod för att lyssna där.

  4. På Webhooks-sidan, skapa en webhook med webhook-proxy-URL:en som dess Payload URL.


Leverans-payload

Meshy skickar en leverans medan en uppgift är IN_PROGRESS, och ytterligare en när uppgiften når en slutgiltig status. En uppgift kan nå sin slutgiltiga status utan en IN_PROGRESS-leverans.

Varje leverans är en POST-förfrågan till din payload-URL med dessa headers:

HeaderVärde
X-MESHY-API-WEBHOOK-SECRET-KEYWebhookens hemlighet
X-MESHY-API-WEBHOOK-USER-IDID:t för den Meshy-användare som äger webhooken
Meshy-Webhook-Versionv1, formatet för innehållet
Content-Typeapplication/json
User-AgentMeshyAPIWebhook/1.0.0

JSON-innehållet är uppgiftsobjektet. Det är samma objekt som uppgiftens GET-endpoint returnerar, förutom progress. En leverans skickar progress som ett av dessa värden:

  • 50 medan uppgiften är IN_PROGRESS
  • 100 när uppgiften lyckas
  • 0 när uppgiften misslyckas eller avbryts

För fälten i varje uppgiftsobjekt, med ett exempel, se följande avsnitt: