Webhook Peristiwa & Peringatan Likuidasi
Halaman ini mengikuti Agent Java SDK WEBHOOKS.md saat melakukan fa6c7b6. Ini adalah pembaruan dokumentasi saja; tidak ada artefak SDK baru yang berisi metode pembantu peringatan yang dirilis.
Keempat jenis peristiwa tersebut menggunakan callback tunggal yang dikonfigurasi milik pedagang URL (agents.webhook_url). Pengiriman pada badan event; tidak diperlukan peringatan terpisah URL. Contoh menunjukkan struktur muatan dan tidak boleh digunakan untuk memasukkan data ke dalam lingkungan pengujian.
Peristiwa dan idempotensi
Peristiwa peringatan pedagang adalah liquidation.warning; pengguna WebSocket data.event tetap LIQUIDATION_WARNING. Jaga agar kedua saluran tetap berbeda.
Notifikasi pedagang historis digunakan LIQUIDATION_WARNING. Muatan yang dibekukan mempertahankan isi aslinya saat percobaan ulang, sehingga penerima harus mengenali kedua nama tersebut. Jika catatan bisnis yang ada menggunakan awalan kunci peringatan huruf besar, pertahankan kunci asli atau periksa kedua kunci selama migrasi untuk menghindari pemrosesan pemberitahuan lagi.
WebhookVerifier.idempotencyKey saat ini hanya mengekstrak orderType:orderId:targetStatus untuk peristiwa dana dan mengembalikan string kosong untuk payload peringatan. Tidak ada artefak SDK baru yang berisi metode pembantu peringatan yang dirilis dengan pembaruan dokumentasi ini. Lanjutkan menggunakan metode verify yang ada untuk memverifikasi isi peringatan mentah. Setelah pemeriksaan tanda tangan dan kepemilikan, kode bisnis pedagang harus mengenali kedua nama peristiwa, memvalidasi bahwa notificationId adalah string bilangan bulat desimal positif, dan membuat liquidation.warning:<notificationId>. Jangan pernah menggunakan kunci deduplikasi kosong atau memerlukan peringatan untuk memuat bidang pemesanan dana.
Pertahankan deduplikasi dalam lingkup pedagang dan environment dan lakukan secara atomik dengan pemrosesan bisnis. Pemberitahuan FIRST / UPGRADE / REMINDER dengan nilai notificationId yang berbeda bersifat independen; jangan membuangnya dengan mengelompokkannya berdasarkan pengguna, episode, atau eventType. Kunci kosong berarti identitas yang valid tidak dapat diekstraksi. SDK hanya mengembalikan kunci pembantu; itu tidak menyimpan catatan atau melakukan pemrosesan bisnis. Mencatat identitas yang sama dengan badan yang berbeda sebagai konflik; jangan menimpa tubuh yang diproses.
Bidang peringatan likuidasi dan contohnya
Contoh hasil transfer
Callback dana mempertahankan tipe yang ada: orderId dan agentId adalah JSON angka; amount dan platformUserId adalah string. Jangan terapkan konvensi string peringatan agentId untuk mendanai callback. Baca bilangan bulat besar tanpa kehilangan presisi menggunakan tipe bilangan bulat/desimal. completedAt adalah UTC RFC3339; ts adalah detik Unix.
Contoh hasil pembalikan
Contoh pesanan dana dalam keadaan mati
Contoh-contoh ini hanya menunjukkan protokolnya. Untuk FAILED, rejectCode, rejectMessage, dan failReason mencerminkan penolakan yang sebenarnya. Nama acara saja tidak membuktikan dana telah dikreditkan.