Cara menggunakan error code dan traceId
Gunakan error code stabil untuk keputusan mesin, args aman untuk konteks, message untuk manusia, dan traceId untuk menghubungkan bukti.
Error code adalah kontrak untuk mesin. HTTP status menjelaskan kategori hasil, args aman memberi konteks, message membantu manusia, dan traceId menghubungkan bukti satu permintaan.
Buat cabang hanya dari code
Gunakan code stabil yang didokumentasikan sebagai satu-satunya kunci keputusan. Jangan membandingkan message bahasa apa pun.
Untuk “Cara menggunakan error code dan traceId”, perlakukan “Buat cabang hanya dari code” sebagai satu titik pemeriksaan, bukan alasan untuk mengubah banyak hal sekaligus. Catat hasil, waktu, dan nomor terkait, lalu lakukan hanya satu langkah yang beralasan.
HTTP status adalah kategori
Anggap 4xx sebagai masalah request, autentikasi, izin, status, atau batas; 5xx sebagai kegagalan layanan, sambil tetap membaca code.
Untuk “Cara menggunakan error code dan traceId”, perlakukan “HTTP status adalah kategori” sebagai satu titik pemeriksaan, bukan alasan untuk mengubah banyak hal sekaligus. Catat hasil, waktu, dan nomor terkait, lalu lakukan hanya satu langkah yang beralasan.
Tampilkan message dengan aman
Message untuk manusia dan dapat dilokalkan atau fallback Inggris. Jangan mengurai message untuk mencari detail internal.
Untuk “Cara menggunakan error code dan traceId”, perlakukan “Tampilkan message dengan aman” sebagai satu titik pemeriksaan, bukan alasan untuk mengubah banyak hal sekaligus. Catat hasil, waktu, dan nomor terkait, lalu lakukan hanya satu langkah yang beralasan.
Gunakan args terdokumentasi
Args berisi nilai terstruktur aman. Validasi nama dan tipe, jangan menganggapnya memuat semua nilai internal.
Untuk “Cara menggunakan error code dan traceId”, perlakukan “Gunakan args terdokumentasi” sebagai satu titik pemeriksaan, bukan alasan untuk mengubah banyak hal sekaligus. Catat hasil, waktu, dan nomor terkait, lalu lakukan hanya satu langkah yang beralasan.
Simpan traceId apa adanya
Simpan traceId respons dan sertakan pada bukti dukungan. Jangan membuat traceId dari nomor pesanan atau email.
Untuk “Cara menggunakan error code dan traceId”, perlakukan “Simpan traceId apa adanya” sebagai satu titik pemeriksaan, bukan alasan untuk mengubah banyak hal sekaligus. Catat hasil, waktu, dan nomor terkait, lalu lakukan hanya satu langkah yang beralasan.
Tentukan retry berdasarkan makna
Autentikasi, validasi, maxPrice, kepemilikan, dan idempotensi memerlukan koreksi atau kueri, bukan retry buta.
Untuk “Cara menggunakan error code dan traceId”, perlakukan “Tentukan retry berdasarkan makna” sebagai satu titik pemeriksaan, bukan alasan untuk mengubah banyak hal sekaligus. Catat hasil, waktu, dan nomor terkait, lalu lakukan hanya satu langkah yang beralasan.
Lindungi log
Log code, status, kelas endpoint, identitas aman, waktu, dan traceId; samarkan key, signature, token, nomor, dan payload.
Untuk “Cara menggunakan error code dan traceId”, perlakukan “Lindungi log” sebagai satu titik pemeriksaan, bukan alasan untuk mengubah banyak hal sekaligus. Catat hasil, waktu, dan nomor terkait, lalu lakukan hanya satu langkah yang beralasan.
Laporkan satu permintaan gagal
Berikan waktu, endpoint, code, status, traceId, parameter aman, dan hasil harapan tanpa secret.
Untuk “Cara menggunakan error code dan traceId”, perlakukan “Laporkan satu permintaan gagal” sebagai satu titik pemeriksaan, bukan alasan untuk mengubah banyak hal sekaligus. Catat hasil, waktu, dan nomor terkait, lalu lakukan hanya satu langkah yang beralasan.
Daftar pemeriksaan praktis
- Verifikasi “Buat cabang hanya dari code”, simpan hasilnya, dan lanjutkan hanya bila tindakan berikutnya sudah jelas.
- Verifikasi “HTTP status adalah kategori”, simpan hasilnya, dan lanjutkan hanya bila tindakan berikutnya sudah jelas.
- Verifikasi “Tampilkan message dengan aman”, simpan hasilnya, dan lanjutkan hanya bila tindakan berikutnya sudah jelas.
- Verifikasi “Gunakan args terdokumentasi”, simpan hasilnya, dan lanjutkan hanya bila tindakan berikutnya sudah jelas.
- Verifikasi “Simpan traceId apa adanya”, simpan hasilnya, dan lanjutkan hanya bila tindakan berikutnya sudah jelas.
- Verifikasi “Tentukan retry berdasarkan makna”, simpan hasilnya, dan lanjutkan hanya bila tindakan berikutnya sudah jelas.
- Verifikasi “Lindungi log”, simpan hasilnya, dan lanjutkan hanya bila tindakan berikutnya sudah jelas.
- Verifikasi “Laporkan satu permintaan gagal”, simpan hasilnya, dan lanjutkan hanya bila tindakan berikutnya sudah jelas.
Status akhir platform dan riwayat akun adalah sumber kebenaran. Jangan mengirim kata sandi, kode verifikasi lengkap, rahasia autentikasi, access token, API key, atau dokumen yang belum disamarkan. Panduan lain tersedia di Pusat Bantuan MangoOTP.
