นักพัฒนา

API ตรวจสอบอีเมลที่ใช้งานได้ทันที

ตรวจสอบที่อยู่เดียวแบบเรียลไทม์ หรือส่งรายชื่อทั้งหมดเป็นแบตช์ ทุกคำขอใช้ HTTPS และส่งกลับเป็น JSON สร้างคีย์ API ในแดชบอร์ดของคุณที่เมนูคีย์ API

  • REST และ JSON
  • คอลแบ็กแบบแบตช์
  • ใช้เครดิตเดียวกับแดชบอร์ด
หน้าคีย์ API ใน BounceBell ที่มีคีย์ที่ใช้งานอยู่และฟอร์มสำหรับสร้างคีย์ใหม่

การยืนยันตัวตน

ส่งคีย์ API ของคุณเป็น bearer token ในส่วนหัว Authorization ทุกคำขอ เก็บคีย์ไว้บนเซิร์ฟเวอร์ของคุณ ห้ามใส่ไว้ในโค้ดบนเบราว์เซอร์หรือแอปมือถือ

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
}

ฟิลด์ผลลัพธ์

ฟิลด์ประเภทรายละเอียด
emailstringที่อยู่ตามที่คุณส่งมา
statusstringผลการตรวจสอบ ดูสถานะ
reasonstringเหตุผลของผลการตรวจสอบ เช่น mailbox_not_found หรือ no_mail_server
domainstringส่วนโดเมน เป็นตัวพิมพ์เล็ก
mx_recordstring or nullเมลเซิร์ฟเวอร์ที่มีลำดับความสำคัญสูงสุด
disposablebooleanเป็น true หากโดเมนเป็นบริการกล่องจดหมายชั่วคราว
rolebooleanเป็น true สำหรับกล่องจดหมายส่วนกลาง เช่น info@ หรือ support@
free_providerbooleanเป็น true สำหรับผู้ให้บริการกล่องจดหมายฟรี เช่น Gmail
catch_allbooleanเป็น true เมื่อโดเมนรับทุกที่อยู่
did_you_meanstring or nullที่อยู่ที่แก้ไขแล้ว เมื่อโดเมนดูเหมือนพิมพ์ผิด
checked_atstringเวลาที่ตรวจสอบ ในรูปแบบ ISO 8601 UTC
credits_usedinteger1 หรือ 0 เมื่อสถานะเป็น unknown

สถานะ

สถานะความหมายการดำเนินการที่แนะนำ
validมีกล่องจดหมายนี้อยู่จริงและรับอีเมลได้ส่ง
invalidไม่มีที่อยู่ โดเมน หรือกล่องจดหมายนี้ลบออก
disposableบริการกล่องจดหมายชั่วคราวลบออก
catch_allโดเมนรับทุกที่อยู่ จึงไม่สามารถยืนยันกล่องจดหมายได้ตรวจทาน
roleกล่องจดหมายส่วนกลางที่มีอยู่จริงตรวจทาน
unknownเมลเซิร์ฟเวอร์ไม่ตอบกลับทันเวลา ไม่คิดเครดิตลองใหม่ภายหลัง

แบตช์

ส่งได้สูงสุด 100,000 ที่อยู่ในคำขอเดียว แบตช์จะทำงานในเบื้องหลัง คุณสามารถสอบถามสถานะเป็นระยะ หรือระบุ callback_url แล้วเราจะเรียก 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 }

ระบบจะกันเครดิตไว้สำหรับทุกที่อยู่ที่ไม่ซ้ำกันเมื่อสร้างแบตช์ และคืนเครดิตสำหรับผลลัพธ์ที่ไม่ทราบสถานะเมื่อแบตช์เสร็จ คอลแบ็กจะได้รับ POST พร้อม {"event": "batch.completed", "batch_id": "...", "status": "done", "counts": {...}} 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 โดยค่าเริ่มต้น เพิ่ม ?format=csv เพื่อรับไฟล์ CSV แต่ละแถวมีฟิลด์เหมือนกับการตรวจสอบเดี่ยว

เครดิต

GET https://bouncebell.com/api/v1/credits

{ "credits_remaining": 33420 }

ข้อผิดพลาดและขีดจำกัด

ข้อผิดพลาดจะส่งกลับเนื้อหา JSON พร้อมรหัส error และ message ที่อ่านเข้าใจได้

รหัส HTTPข้อผิดพลาดสิ่งที่ต้องทำ
400bad_requestพารามิเตอร์ขาดหายหรือไม่ถูกต้อง โปรดอ่านข้อความ
401invalid_keyตรวจสอบว่าคีย์ถูกต้องและยังไม่ถูกเพิกถอน
402no_creditsซื้อเครดิตเพิ่ม
403email_not_confirmedเปิดลิงก์ยืนยันที่เราส่งทางอีเมลตอนที่คุณสมัครสมาชิก
404not_foundไม่มีแบตช์นี้ หรือแบตช์ถูกลบไปแล้วหลังจาก 30 วัน
429rate_limitedลดความถี่ลง รอตามจำนวนวินาทีในส่วนหัว Retry-After
500server_errorลองใหม่โดยเว้นระยะสักครู่ หากยังเกิดขึ้นอีก โปรดติดต่อฝ่ายสนับสนุน

การตรวจสอบเดี่ยวจำกัดที่ 20 คำขอต่อวินาทีต่อคีย์ หากต้องการมากกว่านี้ โปรดติดต่อเรา