Reddit App API · 03 / APP
Bir arama ekranının yalnızca sonuç ve hata durumundan fazlasına ihtiyacı var
Önerilen yürüyüş uygulamasında yükleniyor durumunu, başarılı boş sonuçları ve istek hatalarını ayırın. Yürüyüşçülere yararlı mesajlar, operatörlere doğru tanılama adımları sunun.
Ekranınız
Hazır
Kurgusal yerel örnek. İstek gönderilmez.
{
"request_sent": false
}Ekranınız
Yükleniyor
Kurgusal yerel örnek. İstek gönderilmez.
{
"request_in_flight": true
}Ekranınız
Kayıtlar
Kurgusal yerel örnek. İstek gönderilmez.
{
"data": [
{
"id": "fictional-001",
"kind": "post",
"title": "offline maps",
"text": "Kurgusal yerel örnek. İstek gönderilmez.",
"subreddit": "hiking",
"score": 7,
"created_utc": 1704067200
}
],
"pagination": {
"page": 1,
"limit": 3,
"total": 1,
"relation": "eq",
"has_more": false,
"window_exhausted": false,
"truncated": false
},
"credits": {
"cost": 1,
"balance": 99
}
}Ekranınız
Sonuç yok
Kurgusal yerel örnek. İstek gönderilmez.
{
"data": [],
"pagination": {
"page": 1,
"limit": 3,
"total": 0,
"relation": "eq",
"has_more": false,
"window_exhausted": false,
"truncated": false
},
"credits": {
"cost": 1,
"balance": 99
}
}Ekranınız
401 · invalid_api_key
Kurgusal yerel örnek. İstek gönderilmez.
{
"error": "invalid_api_key"
}Ekranınız
402 · insufficient_credits
Kurgusal yerel örnek. İstek gönderilmez.
{
"error": "insufficient_credits"
}Ekranınız
429 · rate_limited
Kurgusal yerel örnek. İstek gönderilmez.
{
"error": "rate_limited"
}Ekranınız
502 · upstream_unavailable
Kurgusal yerel örnek. İstek gönderilmez.
{
"error": "upstream_unavailable"
}Kurgusal yerel örnek. İstek gönderilmez.
Hizmet durumu panosu değil, bir ekran senaryosu
Bunlar geliştiricinin sahip olduğu yürüyüş uygulaması için önerilen durumlardır. Kaydedilmiş API yanıtları, çalışan ekran gösterimleri veya herhangi bir offline maps kaydının mevcut olduğuna dair kanıt değildir. Yürüyüşçü uygulamanızı kullanır; API hesabının operatörü hizmet anahtarını ve kredileri yönetir. Her birine, harekete geçebileceği bilgiyi verin.
İlk aramadan önce özelliğin geçmiş tartışmaları okuduğunu açıklayın. offline maps gibi önerilen bir sorgu başlangıca yardımcı olabilir; ancak arama yapılmış gibi uydurma öneriler göstermeyin. Açık bir Arama eylemi bırakın; böylece yazmak veya formda gezinmek tek başına ücretli istek başlatmak zorunda kalmaz.
Yükleniyor: soruyu görünür tutun
İstek beklerken gönderilen sorguyu ve seçilen filtreleri koruyun. Sonuç alanını yükleniyor olarak işaretleyin, aynı eylemin tekrar gönderilmesini önleyin ve animasyonun yanında erişilebilir bir metin etiketi sunun. Bir gecikme tek başına hizmet kesintisini veya nedenini belirlemez.
Kişi eski yanıt gelmeden sorguyu değiştirirse her yanıtı gönderildiği girişle ilişkilendirin. Eski sorunun sonuçlarını yeni sorunun altına sessizce yerleştirmeyin. Bu, uygulamada hayata geçirip test edeceğiniz bir tercihtir; arşiv API’sinin sağladığı sıralama veya iptal davranışı değildir.
Başarı kayıt içerebilir ya da boş olabilir
Kayıtlar döndüğünde yalnızca mevcut alanları gösterin ve içeriğin geçmişe ait olduğunu belirtin. Bir yorumun başlığı olmayabilir; eksik tarih bilinmiyor olarak kalmalıdır. pagination.relation gte veya unknown olduğunda kesin bir eşleşme sayısı duyurmak yerine görünen sayfayı anlatın.
Başarılı boş yanıt ayrı bir sonuçtur. Örnek bir mesaj: Bu istek için kayıt döndürülmedi. Mevcut girdiyi koruyarak ifadeyi veya filtreleri bilinçli biçimde değiştirmeyi önerin. Böyle bir tartışmanın hiçbir yerde bulunmadığını ileri sürmeyin. Başarılı boş veri alma isteği yine bir krediye mal olur.
400, 401 ve 402 farklı sorumlular gerektirir
HTTP 400 geçersiz istek girdisini belirtir. Asıl parametre sorununu kontrol edin: desteklenmeyen bir parametre, aralık dışı sayfa veya YYYY-MM-DD biçiminde olmayan tarih örnek olabilir. Uygunsa düzeltilebilir alanı yürüyüşçüye açıklayın; arka ucun sözleşme hatalarını operatör tanılamasında tutun.
HTTP 401 eksik veya geçersiz hizmet API anahtarı demektir. Yürüyüşçünün uygulama oturumunun bittiğini kanıtlamaz ve bu anahtarlar için belgelenmiş süreye bağlı sona erme mekanizması yoktur. Operatör kayıtlı, alan adına özgü anahtarı ve yakın zamanda yapılan yenilemeyi kontrol eder. Yürüyüşçüden anahtar vermesini veya hizmet hesabına giriş yapmasını istemeyin.
HTTP 402, hizmet hesabında yetersiz kredi demektir. Yürüyüşçüye Tartışma araması geçici olarak duraklatıldı mesajı gösterilebilir. Operatör Anahtar ve krediler bölümünde giriş yapıp bakiyeyi inceleyebilir. Neden giderildikten sonra yeni bir istek ayrı bir eylemdir; eski isteği aynen tekrarlamak çözüm değildir.
429, üst hizmet hatası ve belirsiz teslimat
HTTP 429 hız sınırına ulaşıldığını belirtir. Retry-After’a uyun, tekrar gönderimleri azaltın ve uygun zamanda yeniden denemeye izin verin. Sınır ortak arka ucu veya hesabı ilgilendirebilir; tek bir yürüyüşçüyü suçlamayın. Sınırsız otomatik yeniden deneme döngüsü çalıştırmayın.
Ağ geçidi üst hizmet hatalarını HTTP 502 ile bildirir. Sorguyu koruyun ve sonraki denemenin başarılı olacağını vaat etmeden açık bir yeniden deneme seçeneği gösterin. Başarısız üst hizmet isteğinde ayrılan kredi iade edilir; yanıt mutabakatın beklediğini de bildirebilir. Uygulamanız yanıtı tamamen kaybederse son ücretlendirme sonucu belirsizdir: sunucu işlemi başarıyla tamamlamış olabilir.
Herkese açık /v1/status yolu hizmetin kapsamına dair sabit bir açıklama verir ve HTTP işleyicisinin yanıt verdiğini gösterir. Arşiv aramasını test etmez veya üst hizmetin sağlıklı olduğunu onaylamaz. Operasyon kararlarını gerçek istek sonucuna dayandırın. Tam senaryo için Uygulama senaryosu bölümüne, uygulama tercihleri için notlardaki Yükleniyor, boş ve hata ekranları yazısına dönün.