Timeout ve long-polling
GET /numbers/sms/wait, GET /emails/get-email ve POST /captchas/resolve
long-polling endpoint’leridir. İstek, sonuç hazır olana kadar açık kalır ve yanıt
sonucun kendisidir.
Beklediğiniz şey zaten olmuşsa (siz sormadan önce gelmiş bir SMS ya da e-posta), yanıt anında döner.
Beklemeyi sınırlama
Bölüm başlığı “Beklemeyi sınırlama”Beklemeye razı olduğunuz en uzun süreyi milisaniye cinsinden X-Service-Timeout
header’ında gönderin. Pozitif bir tam sayı olmalıdır; aksi halde 400 döner.
curl -G https://api.clearance.rest/emails/get-email \ -H "X-API-Key: $CLEARANCE_REST_API_KEY" \ -H "X-Service-Timeout: 45000" \ --data-urlencode "email_account=test@domain.com"Her servisin ayrıca bir tavanı vardır; header bunu düşürebilir ama asla yükseltemez:
| Endpoint | Tavan |
|---|---|
GET /numbers/sms/wait |
5 dakika |
GET /emails/get-email |
5 dakika |
POST /captchas/resolve |
10 dakika |
Header olmadan bekleme, tavana kadar sürer.
Timeout nasıl görünür
Bölüm başlığı “Timeout nasıl görünür”Süresi dolan bir bekleme HTTP hatası değildir. Yanıt 200’dür, bu yüzden gövdeye
bakın:
{ "success": false, "error": "timeout" }Captchas’ta gövde ayrıca iş bilgisini de taşır:
{ "jobId": "6f1c1a4e-2f0e-4c39-9d1b-3f7a7f8c2b10", "waitedMs": 45000, "error": "timeout" }SDK’lar bunu sizin için tipli bir timeout hatasına çevirir. Bkz. SDK hataları.
İstemci tarafı limitler
Bölüm başlığı “İstemci tarafı limitler”Birçok HTTP istemcisinin kendi varsayılan timeout’u vardır, çoğu zaman 30 ya da 60
saniye. Sizinkini gönderdiğiniz X-Service-Timeout’un üstüne ayarlayın, yoksa
istemci önce pes eder. SDK’lar, verdiğiniz timeout’a pay ekleyerek bunu otomatik yapar.
İstemciniz bağlantıyı koparırsa sunucu sizin adınıza beklemeyi bırakır. Captchas’ta bu yalnızca iptali destekleyen sağlayıcıları iptal eder; sağlayıcıda zaten ücreti ödenmiş bir çözüm orada yine de tamamlanabilir.