Petakan rute, kondisi, dan respons untuk klien baru
Pelajari rute GET, dua header kunci, tanggal UTC, batas halaman, dan arti eq, gte, serta unknown. Bedakan kode HTTP sebelum mengulang permintaan migrasi.
Permintaan pertama
Kirim permintaan dari server Anda dan rahasiakan kunci API Anda.
q, subreddit, author, kind, from, to, min_score, limit, page
GET
/v1/posts
q, subreddit, author, kind, from, to, min_score, limit, page
GET
/v1/comments
q, subreddit, author, kind, from, to, min_score, limit, page
GET
/v1/item
id
GET
/v1/subreddits
prefix, limit
GET
/v1/status
—
Parameter kueri
Parameter
Nilai / tipe / rentang
q
text
subreddit
keyword
author
keyword
kind
post | comment
from
ISO date
to
ISO date
min_score
integer
limit
1–100
page
1–100
id
item ID
prefix
subreddit prefix
Rute dan kredensial arsip
Alamat dasar adalah https://api.redditproxy.com. GET /v1/search mencari posting dan komentar; /v1/posts mengambil posting, sedangkan /v1/comments mengambil komentar. GET /v1/item?id=... meminta satu catatan berdasarkan pengenal. id hanya didukung pada item, bukan filter posts atau comments. GET /v1/subreddits?prefix=... mencari awal nama komunitas. Anda dapat membatasi jumlah yang diminta dengan limit; hitungan agregasi komunitas tidak dijamin tepat untuk seluruh arsip.
Pengambilan menerima Authorization: Bearer YOUR_API_KEY maupun X-API-Key: YOUR_API_KEY. Pilih salah satu header. Nilai Bearer di sini adalah kunci redditproxy.com, bukan token OAuth Reddit. Cookie Secure HttpOnly pada panel akun mempunyai fungsi sesi terpisah dan bukan pengganti kunci pengambilan. Simpan kunci pada server. Jangan menambahkan kredensial klien lama sebagai parameter tersembunyi ke URL baru atau menganggap sesi pengguna lama diteruskan.
GET /v1/status terbuka untuk publik dan tidak memakai kredit. Respons menunjukkan cakupan layanan tetap serta aplikasi HTTP yang merespons. Rute ini tidak memeriksa sumber arsip, kueri, keberadaan catatan, atau saldo. Jangan menjadikannya pemeriksaan kesehatan data. Setiap permintaan pengambilan perlu diperiksa status dan isinya sendiri. Keberhasilan status tidak membuktikan bahwa pekerjaan migrasi berikutnya dapat memperoleh informasi yang diperlukan.
Filter dan catatan datar
Pencarian, posting, dan komentar mendukung q, subreddit, author, kind, from, to, min_score, limit, serta page. Nilai kind adalah post atau comment. Kirim tanggal dalam format YYYY-MM-DD berdasarkan UTC; hari pada to termasuk dalam rentang. min_score menentukan skor minimum dan bukan pengurutan. parent_id serta link_id bukan filter kueri, sehingga menambahkan nilainya tidak membuat permintaan untuk memperoleh percakapan lengkap.
limit menerima 1–100 dan page menerima 1–100. Satu permintaan mengambil paling banyak 100 catatan dan satu kueri paling banyak 100 halaman. Setiap halaman diminta terpisah. Total catatan dengan relasi eq adalah tepat, gte adalah batas bawah, dan unknown atau null berarti tidak ada total andal. Total bukan jumlah halaman. Total tepat juga tidak membuktikan klien sudah menyimpan semua hasil yang cocok.
Catatan mengikuti urutan dokumen arsip, bukan waktu, relevansi, atau skor. Pembagian tanggal dan pengulangan halaman tidak menjamin kelengkapan atau keunikan. Respons bersifat datar: membaca, menghitung, atau mengodekan teks tidak membutuhkan pohon percakapan. Untuk hubungan, gunakan pengelompokan lokal secara opsional bila parent_id atau link_id tersedia. Pengelompokan tidak memulihkan induk yang hilang. Periksa bidang wajib klien lama dan tentukan perilaku eksplisit untuk informasi yang tidak tersedia.
Kesalahan dan kredit
HTTP 400 menunjukkan bentuk atau nilai parameter yang tidak valid, HTTP 401 kunci hilang atau tidak valid, HTTP 402 saldo tidak cukup, dan HTTP 429 batas laju. Jangan memindahkan pola pengulangan lama tanpa peninjauan. Perbaiki parameter atau kunci, sedangkan pada batas laju tunda pengiriman. Bedakan respons HTTP dengan kegagalan koneksi jaringan. Catat status yang diperlukan untuk keputusan aplikasi tanpa mencatat header rahasia.
Setiap pengambilan berhasil, termasuk kosong, memakai satu kredit. Permintaan tidak valid tidak mendebit; kegagalan sumber hulu mengembalikan kredit yang dicadangkan. Hilangnya respons di klien berbeda, karena server mungkin sudah berhasil menjalankan permintaan berbayar. Pengulangan berhasil memakai kredit lagi. Akun, kunci, dan saldo khusus domain ini; saldo merek lain bukan bagian dari akun yang sama. Pantau penggunaan melalui panel akun, bukan dengan menganggap status publik memeriksa saldo.