Tangani batas laju dan error server
Tunggu setelah respons 429 dan lakukan percobaan ulang secara hati-hati setelah kegagalan server sementara.
Diperbarui
Tangani respons 429
Permintaan yang terkena pembatasan laju mengembalikan 429 Too Many Requests dengan detail.status bernilai rate_limit_exceeded. Baca header respons sebelum mencoba lagi:
Retry-Aftermenunjukkan waktu tunggu minimum dalam detik untuk permintaan yang ditolak.X-RateLimit-Limitmelaporkan batas bucket.X-RateLimit-Remainingmelaporkan sisa permintaan.X-RateLimit-Resetmelaporkan waktu bucket diatur ulang.
Tunggu selama Retry-After, lalu coba lagi menggunakan jeda eksponensial dan jitter. Kurangi permintaan paralel dan antrekan pekerjaan, alih-alih mengirim lonjakan saat jendela pembatasan diatur ulang.
Tangani error server
Untuk respons 500, isi publik memuat error umum dan request_id; detail pengecualian internal tidak dikembalikan. Respons 503 dapat menunjukkan layanan wajib yang sementara tidak tersedia.
Coba lagi permintaan hanya-baca dengan jeda terbatas. Sebelum mengulangi permintaan pembuatan, pembaruan, pembayaran, atau permintaan lain yang mengubah status, pastikan apakah percobaan pertama telah selesai. Timeout atau respons 5xx tidak membuktikan perubahan gagal, dan pengulangan langsung dapat menggandakan pekerjaan.
Pertahankan data diagnostik
Catat waktu, metode, jalur, status, isi respons, dan X-Request-Id. Jangan pernah mencatat nilai x-api-key. Hentikan percobaan ulang otomatis setelah sejumlah kecil percobaan yang dibatasi, lalu tampilkan kegagalan untuk ditinjau.