Idempotensi & permintaan bersyarat
Idempotency-Key: ulangi penulisan tanpa melakukannya dua kali
Kirim header Idempotency-Key (string apa pun hingga 200 karakter, UUID pun boleh) pada setiap POST, PUT, PATCH atau DELETE. Selama 24 jam, kunci yang sama dengan permintaan yang sama memutar ulang respons aslinya, ditandai Idempotent-Replay: true, tanpa bertindak lagi. Kunci yang sama dengan body yang berbeda ditolak dengan 409 idempotency_key_reuse, yaitu bug yang memang ingin ditangkapnya. Kunci ini terikat pada kunci API Anda. Respons 401, 429 dan 5xx tidak pernah disimpan: respons itu menggambarkan momennya, bukan permintaannya.
curl -X POST https://api.xsignalfeed.com/v1/keywords \ -H "Authorization: Bearer xsf_your_key" -H "Idempotency-Key: 6f1c0c8e-add-solana" \ -H "Content-Type: application/json" -d '{"query": "$SOL -filter:retweets"}' # 201 the first time; the retry returns the same 201 body with Idempotent-Replay: true
Beberapa penulisan idempoten secara bawaan dan tidak butuh header ini: berlangganan akun yang sudah Anda pantau tidak melakukan apa-apa dan menjawab 200; DELETE atas sesuatu yang tidak Anda miliki tidak melakukan apa-apa; menyetel webhook ke URL yang sudah ada mempertahankan rahasia yang ada.
ETag dan If-None-Match
Setiap GET JSON membawa ETag lemah. Kirim kembali sebagai If-None-Match, dan sumber daya yang tidak berubah menjawab 304 tanpa isi — murah untuk diperiksa berulang kali.