Skip to main content
Bruk webhooks til å reagere på asynkrone endringer. Levering skjer minst én gang, så duplikater, forsinkede og hendelser i feil rekkefølge er normalt.

Registrer kun hendelsene du trenger

Opprett et endepunkt med POST /v3/webhooks. Abonner kun på dokumenterte hendelser som driver integrasjonen din. Dette eksempelet bruker transfer.state_changed.
Lagre respons data.id som WEBHOOK_ID. Åpne portalen som returneres av GET /v3/webhooks/portal, hent dette endepunktets signeringshemmelighet, og oppbevar den separat fra API-nøkkelen din i en hemmelighetshåndterer.

Verifiser før parsing

Swipelux leverer nye webhook-integrasjoner via Svix. Verifiser den rå forespørsel-body-en med endepunktets signeringshemmelighet og disse headerne:
  • svix-id
  • svix-timestamp
  • svix-signature
Ikke parse JSON eller forårsak sideeffekter før verifiseringen lykkes.
Avvis forespørsler med manglende eller ugyldige signaturer. Behold den rå body-en tilgjengelig til verifiseringen er ferdig.

Persister, bekreft og prosesser

Legg en unikhetsbegrensning på konvoluttens id. Persister den verifiserte konvolutten, returner 2xx raskt, og prosesser den så asynkront. Hvis hendelses-ID-en allerede finnes, bekreft leveransen uten å gjenta fullførte sideeffekter. Gjenoppta ventende eller feilende lokalt arbeid via din egen retry-kø. Ikke bruk konvoluttens attempt-felt som dedupliseringsnøkkel eller transporttelleverdi for retries.

Hent gjeldende tilstand på nytt

Webhook-rekkefølgen er ikke en autoritativ ressurshistorikk. Bruk resource.type og resource.id for å finne objektet, og hent så gjeldende tilstand før du oppdaterer systemet ditt. For en overføringshendelse, kall GET /v3/transfers/{transferId}:
Driv kundevisibel status og etterfølgende handlinger fra gjeldende API-respons. Design sideeffekter slik at de forblir trygge hvis to arbeidere prosesserer relaterte hendelser i en annen rekkefølge.

Gjenopprett leveranser

Bruk GET /v3/webhooks/portal for å åpne leveranselogger, prøve mislykkede leveranser på nytt, eller starte en manuell avspilling. Hver avspilling må passere gjennom samme signaturverifisering og holdbare inbox. For å gjenopprette etter nedetid, spill av det berørte vinduet på nytt og hent hver refererte ressurs på nytt. Fullførte hendelses-ID-er forblir no-ops; ufullstendige oppføringer gjenopptas asynkront. Deretter, verifiser dupliserte og feilaktig rekkefølge-leveranser i sandbox, og fullfør så sjekklisten for Go live.