GELİŞTİRİCİLER İÇİN

E-posta doğrulama API'si.

Formlar için tek adres kontrolünü, müşteri listeleri için asenkron görevleri kullanın. Mevcut e-posta sağlayıcınızı değiştirmeniz gerekmez.

TEK BİR ADRESLE BAŞLAYIN

İlk isteğiniz.

Ücretsiz demo uç noktasını anahtar olmadan kullanın. Hız sınırlıdır ve hizmeti denemek için tasarlanmıştır.

curl -X POST https://api.zbounce.net/v1/demo \
  -H 'Content-Type: application/json' \
  -d '{"email":"hello@example.com"}'

Ücretli kontroller için bir paket satın alın ve /v1/fast-verify uç noktasını kullanın; anahtarınızı şu başlıkta gönderin: X-API-Key. Anahtarları URL'lerin, sürüm kontrolünün ve analitik araçlarının dışında tutun.

curl -X POST https://api.zbounce.net/v1/fast-verify \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $ZBOUNCE_API_KEY" \
  -d '{"email":"hello@example.com"}'
Python örneği
import os, requests

response = requests.post(
    "https://api.zbounce.net/v1/fast-verify",
    headers={"X-API-Key": os.environ["ZBOUNCE_API_KEY"]},
    json={"email": "hello@example.com"},
    timeout=35,
)
response.raise_for_status()
print(response.json())
Node.js örneği
const response = await fetch("https://api.zbounce.net/v1/fast-verify", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-API-Key": process.env.ZBOUNCE_API_KEY,
  },
  body: JSON.stringify({ email: "hello@example.com" }),
  signal: AbortSignal.timeout(35000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
LİSTEYİ GÖNDERİN, SONUÇLARI ALIN

Daha büyük bir listeyi doğrulayın.

POST /v1/tasks

Görev başına en fazla 10.000 adres gönderin. Döndürülen görev kimliğini saklayın ve şu alanları inceleyin: accepted, skipped ve invalids. Her girdi mutlaka kuyruğa alınmaz: yinelenen, hatalı biçimli ve engellenmiş adresler çıkarılabilir; düşük bakiye de listenin yalnızca kısmen kabul edilmesine yol açabilir.

curl -X POST https://api.zbounce.net/v1/tasks \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $ZBOUNCE_API_KEY" \
  -d '{"emails":["hello@example.com","contact@example.org"]}'

Durumu sorgulayın, ardından her sonuç sayfasını alın. Yalnızca geçersiz girdiler içeren bir yanıtın görev kimliği boş olabilir; bu durumda sorgulama yapmayın.

curl "https://api.zbounce.net/v1/tasks/$TASK_ID" \
  -H "X-API-Key: $ZBOUNCE_API_KEY"

curl "https://api.zbounce.net/v1/tasks-results/$TASK_ID?page=1&per_page=100" \
  -H "X-API-Key: $ZBOUNCE_API_KEY"

Tamamlanan görevlerin sonuçları JSON biçimindedir. Kabul edilen listenin tamamı alınana kadar sayfaları çekmeye devam edin. Tamamlanma bildirimini otomatik almak için görevi oluştururken mode: "completed" ile bir webhook iletin.

{
  "emails": ["hello@example.com"],
  "webhook": {
    "url": "https://your-app.example/hooks/verification",
    "mode": "completed",
    "secret": "YOUR_PRIVATE_WEBHOOK_SECRET"
  }
}

Üretimde etkinleştirmeden önce webhook yapılandırması ve imza doğrulaması için şemaya bakın.

YANITI ANLAYIN

Biçim, varlık demek değildir.

Bunlar ayrı sinyallerdir. Doğru biçimli bir adres yine de mevcut olmayabilir, geçici olabilir veya doğrulanması mümkün olmayabilir.

Alan Anlamı
valid Adres söz dizimi doğrulamasını geçti. Bu tek başına posta kutusunu doğrulamaz.
exists Posta kutusu yoklamasının sonucu. Hatalar ve catch-all sinyalleriyle birlikte yorumlayın.
disposable Alan adı geçici e-posta sağlayıcısı olarak tanındı.
accept_all Sunucu rastgele adresleri kabul ediyor; bu posta kutusu güvenilir şekilde doğrulanamaz.
error_category no_mx, risky veya geçici bir sunucu sorunu gibi bir hatayı ya da riski açıklar.
permanent_error Kontrol sırasında kalıcı bir hata döndürüldü. Geçici bir hata kalıcı ret olarak değerlendirilmemelidir.
ttl Döndürüldüğünde, saniye cinsinden yeniden deneme/önbellek zamanlaması ipucu.

Doğrulama teslimatı garanti edemez, şikâyetleri ortadan kaldıramaz veya bir posta kutusunun sahipliğini kanıtlayamaz.

Bakiyenizi takip edin.

GET /v1/me
curl https://api.zbounce.net/v1/me \
  -H "X-API-Key: $ZBOUNCE_API_KEY"

Yanıt; kalan, ayrılmış ve kullanılmış kredileri, anahtar türünü ve son kullanma tarihini içerir. Standart bir doğrulama bir kredi kullanır; fiili filtreleme ve ücretlendirme, kullanılan uç noktaya ve görevin kabulüne bağlıdır. Yüklenen bir listenin tamamını işlenmiş saymadan önce yanıtı kontrol edin.

429 yanıtı, isteklerin sınırlandığı anlamına gelir. Yeniden denemeden önce bekleyin. Mevcut API'de diğer hatalar JSON veya metin olarak döndürülebilir; HTTP hatalarını doğrulama sonucu olarak yorumlamayın.

Doğrulama sözleşmesi.

OpenAPI JSON'u indir

Herkese açık sözleşme demo, hızlı doğrulama, görevler, görev durumu, sonuçlar ve hesap bakiyesini kapsar. Gönderim ve yönetim uç noktaları bu doğrulama referansının kapsamı dışındadır.

Platformunuzu bağlamak için yardıma mı ihtiyacınız var? support@zbounce.net