डेवलपर
ईमेल सत्यापन API जो बस काम करता है
रियल टाइम में एक पते का सत्यापन करें, या पूरी सूची बैच के रूप में भेजें। सभी अनुरोध HTTPS का इस्तेमाल करते हैं और JSON लौटाते हैं। अपने डैशबोर्ड में API कुंजियाँ के अंतर्गत API कुंजियाँ बनाएँ।
- REST और JSON
- बैच कॉलबैक
- डैशबोर्ड वाले ही क्रेडिट
ऑथेंटिकेशन
हर अनुरोध पर अपनी API कुंजी को Authorization हेडर में bearer टोकन के रूप में भेजें। कुंजियाँ अपने सर्वर पर रखें। इन्हें कभी ब्राउज़र कोड या मोबाइल ऐप में न डालें।
Authorization: Bearer YOUR_API_KEY
हर एंडपॉइंट का बेस URL https://bouncebell.com/api/v1 है।
एक पते का सत्यापन करें
GET https://bouncebell.com/api/v1/verify
| पैरामीटर | ज़रूरी | विवरण |
|---|---|---|
email | हाँ | जाँचने के लिए पता। इसे URL-एन्कोड करें। |
timeout | नहीं | मेल सर्वर के लिए इंतज़ार के सेकंड, 3 से 30 तक। डिफ़ॉल्ट 10। समय खत्म होने पर स्थिति unknown होती है और कोई क्रेडिट इस्तेमाल नहीं होता। |
उदाहरण
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
}
नतीजे के फ़ील्ड
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
email | string | पता, जैसा आपने भेजा। |
status | string | नतीजा। स्थितियाँ देखें। |
reason | string | हम इस नतीजे तक क्यों पहुँचे, जैसे mailbox_not_found या no_mail_server। |
domain | string | डोमेन वाला हिस्सा, छोटे अक्षरों में। |
mx_record | string or null | सबसे ऊँची प्राथमिकता वाला मेल सर्वर। |
disposable | boolean | अगर डोमेन अस्थायी इनबॉक्स सेवा है, तो true। |
role | boolean | info@ या support@ जैसे साझा इनबॉक्स के लिए true। |
free_provider | boolean | Gmail जैसे मुफ़्त मेलबॉक्स प्रोवाइडर के लिए true। |
catch_all | boolean | जब डोमेन हर पता स्वीकार करता है, तब true। |
did_you_mean | string or null | जब डोमेन में टाइपो लगे, तो सुधारा हुआ पता। |
checked_at | string | जाँच कब चली, ISO 8601 UTC में। |
credits_used | integer | 1, या 0 जब स्थिति unknown हो। |
स्थितियाँ
| स्थिति | अर्थ | सुझाई गई कार्रवाई |
|---|---|---|
valid | मेलबॉक्स मौजूद है और मेल स्वीकार करता है। | भेजें |
invalid | पता, डोमेन या मेलबॉक्स मौजूद नहीं है। | हटाएँ |
disposable | अस्थायी इनबॉक्स सेवा। | हटाएँ |
catch_all | डोमेन सभी पते स्वीकार करता है, इसलिए मेलबॉक्स की पुष्टि नहीं हो सकती। | समीक्षा करें |
role | एक साझा इनबॉक्स जो मौजूद है। | समीक्षा करें |
unknown | मेल सर्वर ने समय पर जवाब नहीं दिया। कोई शुल्क नहीं। | बाद में फिर कोशिश करें |
बैच
एक अनुरोध में अधिकतम 1,00,000 पते भेजें। बैच बैकग्राउंड में चलता है; इसकी स्थिति पोल करें या callback_url दें, बैच पूरा होने पर हम उसे कॉल करेंगे।
बैच बनाएँ
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 }
बैच बनाते समय हर यूनिक पते के क्रेडिट रोक लिए जाते हैं, और बैच पूरा होने पर अज्ञात नतीजों के क्रेडिट वापस कर दिए जाते हैं। कॉलबैक को {"event": "batch.completed", "batch_id": "...", "status": "done", "counts": {...}} के साथ एक POST मिलता है। कॉलबैक URL में HTTPS होना ज़रूरी है।
प्रगति देखें
GET https://bouncebell.com/api/v1/batches/{id}
{ "id": "bat_8f2k1q3m9x7w4p", "status": "running", "total": 2, "done": 1 }
स्थिति queued, running या done होती है। done होने पर जवाब में स्थिति के अनुसार counts भी होते हैं।
नतीजे डाउनलोड करें
GET https://bouncebell.com/api/v1/batches/{id}/results
डिफ़ॉल्ट रूप से JSON लौटाता है। CSV फ़ाइल के लिए ?format=csv जोड़ें। हर पंक्ति में वही फ़ील्ड होते हैं जो एकल जाँच में होते हैं।
क्रेडिट
GET https://bouncebell.com/api/v1/credits
{ "credits_remaining": 33420 }
एरर और सीमाएँ
एरर होने पर एक JSON बॉडी मिलती है, जिसमें error कोड और पढ़ने योग्य message होता है।
| HTTP कोड | एरर | क्या करें |
|---|---|---|
| 400 | bad_request | कोई पैरामीटर नहीं है या गलत है। संदेश पढ़ें। |
| 401 | invalid_key | जाँचें कि कुंजी सही है और निरस्त नहीं की गई है। |
| 402 | no_credits | और क्रेडिट खरीदें। |
| 403 | email_not_confirmed | साइन अप करते समय हमने जो पुष्टि लिंक ईमेल किया था, उसे खोलें। |
| 404 | not_found | बैच मौजूद नहीं है या 30 दिन बाद हटा दिया गया। |
| 429 | rate_limited | धीमे चलें। Retry-After हेडर में दिए गए सेकंड तक इंतज़ार करें। |
| 500 | server_error | थोड़ी देर रुककर फिर कोशिश करें। अगर समस्या बनी रहे, तो सपोर्ट से संपर्क करें। |
एकल जाँचें हर कुंजी पर प्रति सेकंड 20 अनुरोधों तक सीमित हैं। ज़्यादा चाहिए तो हमसे कहें।