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.
Create webhook endpoint
data.id som WEBHOOK_ID. Be om en portal-URL fra GET /v3/webhooks/portal med en API-nøkkel som har webhooks:write, hent dette endepunktets signeringshemmelighet, og oppbevar den separat fra API-nøkkelen din i en hemmelighetshåndterer. Portal-URL-en gir tilgang på egen hånd og utløper etter én time, så be om en ny hver gang, og ikke lagre eller del den.
Portalen grupperer v3-hendelser etter ressurs: Customers, Capabilities, Accounts, Recipients, Transfers og API. Hver hendelse viser payload-skjemaet sitt og et eksempel. Eldre hendelser er merket som utfasede og oppført i en egen Legacy-gruppe. Hvis endepunktet ditt allerede abonnerer på en eldre hendelse, fortsetter det å motta den. Velg v3-hendelsesnavn for nye abonnementer.
Endre hendelsene til et endepunkt
Les ett endepunkt medGET /v3/webhooks/{webhookId}. Responsen har samme events-struktur som GET /v3/webhooks. Den inkluderer aldri signeringshemmeligheten. Lesing krever webhooks:read og returnerer 404 not_found for en ukjent endepunkt-ID.
Oppdater endepunktet med PATCH /v3/webhooks/{webhookId}. Send en Idempotency-Key-header. Oppdateringer krever webhooks:write.
- Send kun
eventsfor å beholde gjeldende URL. - Send kun
urlfor å beholde gjeldende utvalg av hendelser. eventserstatter hele utvalget. Les endepunktet først og ta med alle hendelser du fortsatt trenger.- Nye abonnementer må bruke v3-hendelsesnavn.
- Du kan beholde et eldre hendelsesnavn hvis endepunktet allerede abonnerer på det. Å legge til et nytt eldre navn returnerer
400 validation_error.
Request body
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
Verify 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}:
Refetch transfer
Gjenopprett leveranser
BrukGET /v3/webhooks/portal for å åpne leveranselogger. Med webhooks:write kan du også prøve mislykkede leveranser på nytt eller starte en manuell avspilling. En nøkkel med bare webhooks:read åpner en portal som viser leveranser, men som ikke kan prøve dem på nytt, spille dem av på nytt eller vise signeringshemmeligheter.
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.