İçeriğe geç
EN

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, 503 ve ağ hatalarını, denemeler arasında artan bir bekleme süresiyle yeniden deneyin.
  • 401, 403, 404 veya 422 yanıtlarını değiştirmeden yeniden denemeyin; sonuç aynı olacaktır.
  • Kartla bakiye yüklerken, yeniden denemelerde her zaman aynı Idempotency-Key baş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.