Skip to main content
Használjon webhookokat az aszinkron változásokra való reagáláshoz. A kézbesítés legalább egyszer történik, ezért a duplikált, késleltetett és nem sorrendben érkező események normálisak.

Csak a szükséges eseményekre iratkozzon fel

Hozzon létre egy végpontot a POST /v3/webhooks művelettel. Csak olyan dokumentált eseményekre iratkozzon fel, amelyek meghajtják az integrációját. Ez a példa a transfer.state_changed eseményt használja.
Tárolja a válasz data.id értékét WEBHOOK_ID-ként. Nyissa meg a GET /v3/webhooks/portal által visszaadott portált, kérje le ennek a végpontnak az aláíró titkát, és tárolja külön az API-kulcstól egy titkos kulcskezelőben.

Ellenőrzés az elemzés előtt

A Swipelux az új webhook integrációkat Svix-en keresztül szállítja. Ellenőrizze a nyers kéréstörzset a végpont aláíró titkával és ezekkel a fejlécekkel:
  • svix-id
  • svix-timestamp
  • svix-signature
Az ellenőrzés sikeres befejezése előtt ne elemezzen JSON-t és ne okozzon mellékhatásokat.
Utasítsa el a hiányzó vagy érvénytelen aláírásokkal érkező kéréseket. Tartsa elérhetőnek a nyers törzset, amíg az ellenőrzés be nem fejeződik.

Tárolás, nyugtázás, majd feldolgozás

Tegyen egyediségi kényszert a boríték id mezőjére. Tárolja az ellenőrzött borítékot, gyorsan adjon vissza 2xx-et, majd dolgozza fel aszinkron módon. Ha az esemény ID már létezik, nyugtázza a kézbesítést anélkül, hogy megismételné a befejezett mellékhatásokat. A függőben lévő vagy sikertelen helyi munkát a saját újrapróbáló során keresztül folytassa. Ne használja a boríték attempt mezőjét deduplikációs kulcsként vagy szállítási újrapróbálási számlálóként.

Aktuális állapot újbóli lekérése

A webhook-sorrend nem hiteles erőforrás-előzmény. Használja a resource.type és resource.id értékeket az objektum megtalálásához, majd kérje le az aktuális állapotát, mielőtt frissíti a rendszerét. Átutalás eseményhez hívja a GET /v3/transfers/{transferId} műveletet:
Az ügyfélnek látható státuszt és a downstream műveleteket az aktuális API válaszból vezérelje. A mellékhatásokat úgy tervezze, hogy biztonságosak maradjanak, ha két worker eltérő sorrendben dolgozza fel a kapcsolódó eseményeket.

Kézbesítések helyreállítása

Használja a GET /v3/webhooks/portal műveletet a kézbesítési naplók megnyitásához, sikertelen kézbesítések újrapróbálásához vagy manuális újrajátszás indításához. Minden újrajátszásnak ugyanazon az aláírás-ellenőrzésen és tartós inboxon kell átmennie. Leállás utáni helyreállításhoz játssza le az érintett időablakot és kérje le újra minden hivatkozott erőforrást. A befejezett esemény ID-k no-op-ok maradnak; a befejezetlen rekordok aszinkron folytatódnak. Ezután ellenőrizze a duplikált és nem sorrendben érkező kézbesítéseket sandboxban, majd fejezze be az Éles indulás ellenőrzőlistát.

Kapcsolódó témák

Migrálás v3-ra