Ubah kebutuhan pengguna menjadi parameter
Tentukan pertanyaan yang akan dijawab aplikasi sebelum merancang layar hasil. Menemukan pembahasan produk dalam satu komunitas berbeda dari menelusuri komentar seorang penulis. Kirim teks melalui q, komunitas melalui subreddit, dan penulis melalui author. Tampilkan filter aktif di dekat hasil sehingga pengguna dapat memahami dasar pemilihan data dan mengubah lingkupnya tanpa menebak perilaku pencarian.
Ubah pilihan tanggal menjadi YYYY-MM-DD berdasarkan UTC. from menentukan awal dan to mencakup tanggal akhir yang dipilih. Jika antarmuka menampilkan tanggal lokal, jelaskan batas yang benar-benar dikirim ke API. Gunakan kind=post untuk postingan atau kind=comment untuk komentar. min_score menetapkan skor minimum; parameter tersebut tidak meminta server menyusun hasil dari skor tertinggi.
Jelaskan bahwa aplikasi memakai arsip historis independen, bukan aliran langsung atau layanan resmi Reddit. Jangan menjanjikan semua rekaman yang relevan akan ditemukan. Bahkan kueri yang sempit dapat memiliki keterbatasan cakupan. Memisahkan lingkup pertanyaan pengguna dari jumlah rekaman yang berhasil diperoleh membantu mencegah kesimpulan tentang seluruh komunitas hanya berdasarkan sampel hasil yang terlihat.
Ambil halaman dan bentuk tampilan lokal
Gunakan GET /v1/search untuk pencarian atau /v1/posts dan /v1/comments sesuai jenis konten. Sertakan kunci domain ini pada header X-API-Key. Nilai limit dan page berada pada rentang 1–100. Setiap panggilan mengambil satu halaman dengan maksimal 100 rekaman. Ambil halaman berikutnya melalui permintaan baru ketika diperlukan; aplikasi tidak harus otomatis memuat semua halaman yang diizinkan.
Hasil mengikuti urutan _doc internal arsip, bukan urutan waktu atau relevansi. Jika Anda menyediakan pengurutan lokal, jelaskan bahwa pengurutan itu hanya berlaku pada rekaman yang telah diambil. Periksa keberadaan bidang sebelum menampilkan nilainya. parent_id dan link_id dapat digunakan untuk pengelompokan jika tersedia, tetapi tampilan kelompok tersebut tidak boleh diklaim sebagai pohon percakapan yang lengkap.
Tampilkan eq sebagai total kecocokan tepat, gte sebagai setidaknya sejumlah kecocokan, dan unknown sebagai total tidak diketahui. Jangan menggunakan batas bawah seolah-olah membuktikan halaman terakhir. Menjelajahi 100 halaman tidak memastikan semua kecocokan atau seluruh arsip telah diperoleh. Jika pekerjaan dibagi menjadi beberapa kueri, pertimbangkan kemungkinan rekaman berulang dalam pengolahan lokal dan dokumentasikan batas pengambilan.
Rancang pemulihan dan catat dasar analisis
Untuk 400, perbaiki parameter; untuk 401, periksa kunci dan header; untuk 402, evaluasi saldo. Gunakan jeda dan jumlah pengulangan terbatas untuk 429. /v1/status hanya memberikan penjelasan statis serta respons HTTP, bukan pemeriksaan kesehatan mesin pencarian. Jangan mengubah keberhasilan pemeriksaan koneksi menjadi label bahwa semua data siap dicari atau bahwa layanan pencarian selalu berfungsi.
Setiap panggilan berhasil menggunakan 1 kredit, termasuk respons kosong. Kegagalan upstream mengembalikan kredit cadangan, tetapi kegagalan koneksi klien setelah keberhasilan server dapat tetap dikenai biaya. Pengulangan berhasil juga berbiaya. Simpan respons mentah, parameter, dan kode transformasi lokal bersama-sama. Dengan begitu, dasar analisis sebelumnya tetap dapat diperiksa meskipun kueri API berikutnya menghasilkan rekaman atau urutan berbeda.