Reddit App API
ID

Reddit App API · 05 / 08

Anggarkan apa yang diminta aplikasi, bukan apa yang dilihat pembaca

Perkirakan kredit dari permintaan arsip yang berhasil, termasuk hasil kosong, halaman tambahan, dan penyegaran. Pisahkan hitungan penggunaan hipotetis dari trafik nyata.

Mulai dengan peta permintaan

Saat merencanakan anggaran fitur diskusi peta offline dalam aplikasi pendakian, pahami dahulu bahwa biaya terkait permintaan pengambilan, bukan banyaknya data yang dikembalikan. Satu pencarian berhasil memerlukan satu kredit baik menghasilkan tiga rekaman, 100 rekaman, maupun daftar kosong. Halaman lebih kecil mungkin nyaman dibaca, tetapi tidak menurunkan harga kredit permintaan itu.

Petakan tindakan yang benar-benar mengakses layanan. Pencarian awal, halaman berikutnya yang diminta, penyegaran eksplisit, dan pencarian satu item masing-masing dapat menjadi pengambilan tersendiri. Menggulir teks yang sudah dimuat bukan permintaan baru. Satu tekanan tombol belum tentu setara satu kredit jika backend membaginya menjadi beberapa panggilan.

Hitung contoh satu hari berdasarkan asumsi

Ini contoh perencanaan, bukan trafik teramati atau ramalan penggunaan: misalkan aplikasi menyelesaikan 120 permintaan halaman pertama, 30 halaman tambahan, dan 10 penyegaran. Itu berarti 160 permintaan berhasil dan 160 kredit, setara $0.16 pada tarif yang disebutkan. Jika 20 respons awal kosong, total tetap 160 kredit karena permintaannya tetap berhasil.

Sekarang anggap antarmuka otomatis mengambil tiga halaman pada setiap pencarian awal, meskipun tak ada yang membacanya. Hasilnya 360 permintaan sebelum penyegaran, bukan 150 permintaan awal dan halaman tambahan yang disengaja pada contoh pertama. Perbandingan ini aritmetika dengan asumsi yang dinyatakan, bukan bukti tentang pengguna nyata. Gantilah asumsi dengan log permintaan yang Anda ukur sendiri setelah implementasi.

Pisahkan harga pemakaian dari pembelian

Tarif standar adalah $1 per 1.000 permintaan pengambilan berhasil. Isi ulang berbayar minimum adalah $50 dan menyediakan 50.000 kredit berbayar. Tidak ada langganan, dan kredit yang dibeli tidak kedaluwarsa. Jadi contoh hari seharga $0.16 menggambarkan konsumsi saldo, bukan ketersediaan isi ulang sebesar $0.16.

Percobaan opsional 100 kredit bergantung pada kelayakan antiabuse seluruh jaringan dan terpisah dari konversi berbayar. Jangan menganggap semua pendaftaran menerimanya atau menawarkan fitur ini sebagai API gratis. Buat invoice setelah masuk, lalu gunakan jumlah persis, penerima, token, serta jaringan yang ditentukan. Kunci dan kredit berisi langkah akun dan pembayaran.

Bedakan kegagalan dari ketidakpastian

HTTP 400, 401, 402, dan 429 ditolak sebelum reservasi kredit pengambilan. Masing-masing menandakan masukan tidak valid, kunci hilang atau tidak valid, kredit tidak cukup, serta pembatasan laju. Permintaan hulu yang gagal melepaskan kredit yang dicadangkan, meskipun rekonsiliasi dapat tertunda. Jangan menyebut semua jalur galat sebagai pengembalian seketika atas biaya yang telah dipotong.

Jika aplikasi kehilangan respons setelah mengirim permintaan, aplikasi mungkin tidak tahu apakah server berhasil mengambil data. Percobaan ulang merupakan permintaan lain, bukan kelanjutan yang dijamin gratis. Catat hasil yang belum pasti, pertahankan kueri, dan hindari banjir percobaan otomatis. Tampilan akun menyediakan jumlah permintaan berhasil, tertunda, dan dikembalikan untuk rekonsiliasi.

Tetapkan batas bagi fitur

Setiap kueri mengizinkan halaman 1–100 dan paling banyak 100 rekaman per permintaan. Itu batas layanan, bukan anjuran mengambil semua halaman. Aplikasi dapat memilih anggaran halaman lebih kecil untuk sesi baca interaktif dan meminta persetujuan sebelum mengambil lebih banyak. Patuhi pagination.has_more serta batas jendela terakhir, bukan mencari halaman kosong dengan permintaan berulang.

Jangan memperlakukan jendela potensial 10.000 rekaman sebagai hasil yang dijamin. Respons bisa kosong, field bisa tidak ada, dan arsip tidak menjanjikan cakupan lengkap. /v1/status gratis, tetapi tidak mengembalikan saldo akun atau memeriksa kesehatan pencarian. Penghitung lokal juga perlu direkonsiliasi; tidak dapat membuktikan permintaan yang responsnya hilang bebas biaya.

Tinjau pilihan yang benar-benar dibutuhkan pembaca

Untuk panel pendakian yang diusulkan, halaman awal pendek dan tindakan Tampilkan lagi yang disengaja mungkin cukup untuk membandingkan referensi diskusi. Simpan atau buka ulang konten yang sudah tersedia di aplikasi tanpa diam-diam mengambilnya lagi. Jika pembaca secara eksplisit meminta pemeriksaan ulang suatu item, jelaskan bahwa itu pencarian baru dan tangani hasil yang tidak tersedia.

Gunakan bukti trafik sendiri untuk menilai apakah batas atau penyajian perlu disesuaikan. Jangan mengubah contoh rencana menjadi janji biaya per pengguna, tingkat retensi, atau tolok ukur kinerja. Lihat /id/#field-notes untuk paginasi terbatas dan desain daftar baca lokal.