Geliştiriciler
Sorunsuz çalışan bir e-posta doğrulama API'si
Tek bir adresi gerçek zamanlı doğrulayın veya bütün bir listeyi toplu iş olarak gönderin. Tüm istekler HTTPS kullanır ve JSON döndürür. API anahtarlarını panelinizdeki API anahtarları bölümünden oluşturun.
- REST ve JSON
- Toplu geri çağrılar
- Paneldekiyle aynı krediler
Kimlik doğrulama
API anahtarınızı her istekte Authorization başlığında bearer token olarak gönderin. Anahtarları sunucunuzda saklayın. Asla tarayıcı koduna veya mobil uygulamalara koymayın.
Authorization: Bearer YOUR_API_KEY
Tüm uç noktalar için temel URL https://bouncebell.com/api/v1 şeklindedir.
Tek bir adresi doğrulayın
GET https://bouncebell.com/api/v1/verify
| Parametre | Zorunlu | Açıklama |
|---|---|---|
email | Evet | Kontrol edilecek adres. URL kodlamasıyla gönderin. |
timeout | Hayır | Posta sunucusu için beklenecek saniye, 3 ile 30 arası. Varsayılan 10. Süre dolarsa durum unknown olur ve kredi kullanılmaz. |
Örnek
curl "https://bouncebell.com/api/v1/verify?email=rini.elizabeth%40acme-foods.example" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"email": "rini.elizabeth@acme-foods.example",
"status": "valid",
"reason": "mailbox_exists",
"domain": "acme-foods.example",
"mx_record": "mx1.acme-foods.example",
"disposable": false,
"role": false,
"free_provider": false,
"catch_all": false,
"did_you_mean": null,
"checked_at": "2026-10-30T09:30:12Z",
"credits_used": 1
}
Sonuç alanları
| Alan | Tür | Açıklama |
|---|---|---|
email | string | Gönderdiğiniz haliyle adres. |
status | string | Sonuç. Durumlara bakın. |
reason | string | Sonuca neden ulaştığımız, örneğin mailbox_not_found veya no_mail_server. |
domain | string | Alan adı kısmı, küçük harflerle. |
mx_record | string or null | En yüksek önceliğe sahip posta sunucusu. |
disposable | boolean | Alan adı bir geçici gelen kutusu hizmetiyse true. |
role | boolean | info@ veya support@ gibi ortak gelen kutuları için true. |
free_provider | boolean | Gmail gibi ücretsiz posta kutusu sağlayıcıları için true. |
catch_all | boolean | Alan adı her adresi kabul ettiğinde true. |
did_you_mean | string or null | Alan adı yazım hatası gibi göründüğünde düzeltilmiş adres. |
checked_at | string | Kontrolün yapıldığı zaman, ISO 8601 UTC biçiminde. |
credits_used | integer | 1, durum unknown olduğunda 0. |
Durumlar
| Durum | Anlamı | Önerilen işlem |
|---|---|---|
valid | Posta kutusu mevcut ve e-posta kabul ediyor. | Gönder |
invalid | Adres, alan adı veya posta kutusu mevcut değil. | Kaldır |
disposable | Geçici bir gelen kutusu hizmeti. | Kaldır |
catch_all | Alan adı tüm adresleri kabul ediyor, bu yüzden posta kutusu onaylanamaz. | İncele |
role | Var olan ortak bir gelen kutusu. | İncele |
unknown | Posta sunucusu zamanında yanıt vermedi. Ücret alınmaz. | Daha sonra tekrar deneyin |
Toplu işler
Tek bir istekte en fazla 100.000 adres gönderin. Toplu iş arka planda çalışır; durumunu sorgulayın veya bir callback_url verin, toplu iş bittiğinde onu çağıralım.
Toplu iş oluştur
POST https://bouncebell.com/api/v1/batches
curl -X POST "https://bouncebell.com/api/v1/batches" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "October import", "emails": ["a@example.com", "b@example.com"],
"callback_url": "https://yourapp.example/hooks/bouncebell"}'
{ "id": "bat_8f2k1q3m9x7w4p", "status": "queued", "total": 2, "done": 0 }
Toplu iş oluşturulduğunda her benzersiz adres için krediler ayrılır ve iş bittiğinde bilinmeyen sonuçlar iade edilir. Geri çağrı, {"event": "batch.completed", "batch_id": "...", "status": "done", "counts": {...}} içeren bir POST isteği alır. Geri çağrı URL'leri HTTPS kullanmalıdır.
İlerlemeyi kontrol et
GET https://bouncebell.com/api/v1/batches/{id}
{ "id": "bat_8f2k1q3m9x7w4p", "status": "running", "total": 2, "done": 1 }
Durum queued, running veya done olur. done olduğunda yanıt, duruma göre counts değerlerini de içerir.
Sonuçları indir
GET https://bouncebell.com/api/v1/batches/{id}/results
Varsayılan olarak JSON döndürür. CSV dosyası için ?format=csv ekleyin. Her satır, tekil kontrolle aynı alanlara sahiptir.
Krediler
GET https://bouncebell.com/api/v1/credits
{ "credits_remaining": 33420 }
Hatalar ve sınırlar
Hatalar, bir error kodu ve okunabilir bir message içeren JSON gövdesi döndürür.
| HTTP kodu | Hata | Yapılacaklar |
|---|---|---|
| 400 | bad_request | Bir parametre eksik veya hatalı. Mesajı okuyun. |
| 401 | invalid_key | Anahtarın doğru olduğunu ve iptal edilmediğini kontrol edin. |
| 402 | no_credits | Daha fazla kredi satın alın. |
| 403 | email_not_confirmed | Kayıt olduğunuzda e-postayla gönderdiğimiz onay bağlantısını açın. |
| 404 | not_found | Toplu iş mevcut değil veya 30 gün sonra silindi. |
| 429 | rate_limited | Yavaşlayın. Retry-After başlığındaki saniye kadar bekleyin. |
| 500 | server_error | Kısa bir süre sonra tekrar deneyin. Sorun devam ederse destekle iletişime geçin. |
Tekil kontroller anahtar başına saniyede 20 istekle sınırlıdır. Daha fazlasına ihtiyacınız varsa bize sorun.