Hız sınırları ve hatalar
Panel API'si ve reklam sunum endpoint'leri için istek sınırları, UluMob'un döndürdüğü durum kodları ve güvenli şekilde nasıl yeniden deneneceği.
UluMob, istemcilerin API'yi ve reklam sunucusunu ne kadar hızlı çağırabileceğini sınırlar. Sınırlar içinde hatalar, JSON gövdeli küçük bir durum kodu kümesini izler; böylece bir script bunların hepsini tek bir yerde ele alabilir.
Panel API'si sınırları
Bunlar https://ulumob.com/api/v1 için geçerlidir.
| Endpoint | Sınır |
|---|---|
POST /auth/login, POST /auth/register |
E-posta adresi ve IP başına dakikada 5, IP başına dakikada 30 |
POST /publisher/websites/{id}/verify |
Dakikada 6 |
| Diğer tüm endpoint'ler | Hesap başına dakikada 120 |
Dakikada 120 sınırı, aynı hesabın tüm anahtarları arasında paylaşılır. İki anahtarla çalışan iki script aynı kotadan yararlanır.
Reklam sunucusu sınırları
https://ulumob.com üzerindeki herkese açık motor endpoint'leri istemci IP adresi başına sınırlandırılır. Her sınırın sürekli bir hızı ve kısa süreli bir ek patlama payı vardır.
| Endpoint | Sürekli | Patlama |
|---|---|---|
/delivery |
saniyede 50 | 200 |
/imp |
saniyede 50 | 200 |
/click |
saniyede 5 | 20 |
/postback |
saniyede 100 | 500 |
Gerçek ziyaretçiler bu rakamların yakınına bile gelmez. Tracker'ınızdan postback'leri büyük gruplar halinde gönderiyorsanız, bunları zamana yayın veya patlama payının içinde kalın.
Hız sınırlarından ayrı olarak, tek bir adresten tek bir reklam alanına çok hızlı gelen reklam istekleri reklam almaz ve ücretlendirilmez. Bu bir hata değil, kalite kontrolüdür; bkz. Trafik kalitesi kuralları.
Bir sınıra takıldığınızda
Yanıt 429 durumunu ve beklenecek saniye sayısını içeren bir Retry-After başlığını taşır.
HTTP/1.1 429 Too Many Requests
Retry-After: 2
/postback üzerinde gövde de bunu belirtir:
{"status": "rejected", "reason": "rate_limited"}
Bir sonraki denemeden önce en az Retry-After süresi kadar bekleyin. Hız sınırına takılan bir postback kaydedilmez, bu yüzden yeniden gönderin.
Durum kodları
| Durum | Anlamı | Ne yapmalı |
|---|---|---|
| 200 | Başarılı | |
| 201 | Oluşturuldu (kampanya, reklam alanı, web sitesi, anahtar, bakiye yükleme, yayıncı ödemesi talebi) | Dönen id değerini saklayın. |
| 204 | Gösterilecek reklam yok (JSON modunda /delivery) |
Hiçbir şey göstermeyin veya kendi yedek içeriğinizi gösterin. |
| 401 | Token yok ya da token geçersiz, süresi dolmuş veya iptal edilmiş | Authorization başlığını kontrol edin; gerekirse yeni bir anahtar oluşturun. |
| 403 | Hesabınızda bu endpoint için gereken rol yok veya hesap aktif değil | Doğru role sahip bir hesap kullanın veya destekle iletişime geçin. |
| 404 | Öğe yok ya da başka bir hesaba ait | ID'yi kontrol edin. |
| 422 | İstek anlaşıldı ancak reddedildi | message ve errors alanlarını okuyun. |
| 429 | Hız sınırına ulaşıldı | Retry-After süresini bekleyin. |
| 503 | Bir bağımlılık kullanılamıyor; örneğin kartlı ödemeler henüz yapılandırılmamış | Daha sonra deneyin. |
Başka bir hesaba ait öğeler 403 değil 404 döndürür; böylece ID'ler yoklanamaz.
Hata gövdeleri
Hatalar JSON'dur. Doğrulama hataları başarısız olan her alanı listeler:
{
"message": "Banner image must be exactly 300x250 and at most 150 KB.",
"errors": {
"ads.0.creative_id": ["Banner image must be exactly 300x250 and at most 150 KB."]
}
}
Dizilerin içindeki alanlar nokta yollarıyla gösterilir; örneğin ads.0.destination_url veya targeting.geos.values.2.
İş kuralı retleri yalnızca bir message taşır; örneğin hâlâ bir reklamın kullandığı bir kreatifi silmeye çalışırken veya son yayıncı ödemesinden sonraki 7 gün içinde yayıncı ödemesi talep ederken.
Güvenli şekilde yeniden deneme
429,503ve ağ hatalarını, denemeler arasında artan bir bekleme süresiyle yeniden deneyin.401,403,404veya422yanıtlarını değiştirmeden yeniden denemeyin; sonuç aynı olacaktır.- Kartla bakiye yüklerken, yeniden denemelerde her zaman aynı
Idempotency-Keybaşlığını gönderin. Sunucu bu durumda ikinci bir bakiye yükleme işlemi oluşturmak yerine ilkini döndürür. Bkz. Bakiye yüklemeleri ve makbuzlar. - Postback'ler, o dönüşüm türü tekrara izin vermedikçe, atıf penceresi içinde (varsayılan 7 gün) tıklama ve dönüşüm türü başına tekilleştirilir. Tekrar edilen bir postback
{"status":"ignored","reason":"duplicate"}yanıtını verir.
Eksik ya da hatalı bir şey mi var? Bize bildirin.