Registrer kun hendelsene du trenger
Opprett et endepunkt medPOST /v3/webhooks. Abonner kun på dokumenterte hendelser som driver integrasjonen din. Dette eksempelet bruker transfer.state_changed.
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-idsvix-timestampsvix-signature
Persister, bekreft og prosesser
Legg en unikhetsbegrensning på konvoluttensid. 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. Brukresource.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}:
Gjenopprett leveranser
BrukGET /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.