واجهة برمجة التطبيقات الوثائق

واجهة برمجة تطبيقات بسيطة وسريعة ومجانية لاكتشاف البريد الإلكتروني المؤقت. لا تحتاج مصادقة، فقط تحقق من رمز حالة HTTP للحصول على نتائج فورية.

البدء السريع

ابدأ في ثوانٍ مع واجهة برمجة التطبيقات REST البسيطة. لا تحتاج مفاتيح API، لا تسجيل، لا إعداد معقد - فقط أرسل طلب GET وتحقق من رمز حالة HTTP للنتيجة.

طلب GET
https://disposableemailchecker.com/api/check?email=test@10minutemail.com
مؤقت (الحالة: 403)
يبدو أن هذا عنوان بريد إلكتروني مؤقت
شرعي (الحالة: 200)
يبدو أن هذا البريد الإلكتروني شرعي

كيف يعمل

تستخدم واجهة برمجة التطبيقات رموز حالة HTTP للإشارة إلى النتيجة، مما يجعل التكامل بسيطاً للغاية. يحتوي نص الاستجابة على رسالة قابلة للقراءة للسياق الإضافي.

منطق رموز الحالة

200
البريد الإلكتروني شرعي - السماح بالتسجيل
403
البريد الإلكتروني مؤقت - حجب التسجيل
4xx/5xx
حدث خطأ - تحقق من نص الاستجابة للتفاصيل

نقاط نهاية API

1. نقطة نهاية فحص البريد الإلكتروني

تحقق مما إذا كان عنوان البريد الإلكتروني الكامل مؤقتاً. هذا هو حالة الاستخدام الأكثر شيوعاً للتحقق من تسجيل المستخدم.

الطريقة:GET
الاستجابة:text/plain
الرابط:/api/check?email={email}

2. نقطة نهاية فحص النطاق (صديق للخصوصية)

للحصول على خصوصية أفضل، يمكنك فحص جزء النطاق فقط بدلاً من عنوان البريد الإلكتروني الكامل. هذا يمنع نقل أو تسجيل أي معلومات شخصية.

نصيحة الخصوصية

استخدام فحص النطاق فقط يعني عدم نقل عناوين البريد الإلكتروني الشخصية إلى خوادمنا، مما يوفر أقصى خصوصية مع الحصول على اكتشاف دقيق للبريد الإلكتروني المؤقت.

الطريقة:GET
الاستجابة:text/plain
الرابط:/api/check?domain={domain}

أمثلة الكود

إليك أمثلة عملية بلغات البرمجة الشائعة. ركز على رمز حالة HTTP للنتيجة، واقرأ اختيارياً نص الاستجابة للرسائل القابلة للقراءة.

JavaScript / Node.js

JAVASCRIPT
async function checkEmail(email) {
  try {
    const response = await fetch(
      `https://disposableemailchecker.com/api/check?email=${encodeURIComponent(email)}`
    );
    
    if (response.status === 200) {
      const message = await response.text();
      console.log('✅ Valid email:', message);
      return true; // Allow registration
    } else if (response.status === 403) {
      const message = await response.text();
      console.log('❌ Disposable email:', message);
      return false; // Block registration
    } else {
      const error = await response.text();
      console.log(`⚠️ Check failed (${response.status}):`, error);
      return null; // Handle error
    }
  } catch (error) {
    console.error('❌ Request failed:', error);
    return null;
  }
}

// Domain check (privacy-friendly)
async function checkDomain(domain) {
  try {
    const response = await fetch(
      `https://disposableemailchecker.com/api/check?domain=${encodeURIComponent(domain)}`
    );
    
    return response.status === 200; // true = legitimate, false = disposable
  } catch (error) {
    console.error('❌ Request failed:', error);
    return null;
  }
}

// Usage examples
checkEmail('user@gmail.com');
checkEmail('test@10minutemail.com');
checkDomain('gmail.com');

Python

PYTHON
import requests
from urllib.parse import quote

def check_email(email):
    """Check if email is disposable"""
    url = f"https://disposableemailchecker.com/api/check?email={quote(email)}"
    
    try:
        response = requests.get(url, timeout=5)
        
        if response.status_code == 200:
            print(f"✅ Valid email: {response.text}")
            return True  # Allow registration
        elif response.status_code == 403:
            print(f"❌ Disposable email: {response.text}")
            return False  # Block registration
        else:
            print(f"⚠️ Check failed ({response.status_code}): {response.text}")
            return None  # Handle error
            
    except requests.RequestException as e:
        print(f"❌ Request failed: {e}")
        return None

def check_domain(domain):
    """Check domain only (privacy-friendly)"""
    url = f"https://disposableemailchecker.com/api/check?domain={quote(domain)}"
    
    try:
        response = requests.get(url, timeout=5)
        return response.status_code == 200  # True = legitimate, False = disposable
    except requests.RequestException as e:
        print(f"❌ Request failed: {e}")
        return None

# Usage examples
check_email('user@gmail.com')
check_email('test@10minutemail.com')
check_domain('gmail.com')

PHP

PHP
<?php
function checkEmail($email) {
    $url = 'https://disposableemailchecker.com/api/check?email=' . urlencode($email);
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    if ($httpCode === 200) {
        echo "✅ Valid email: " . $response . "\n";
        return true; // Allow registration
    } elseif ($httpCode === 403) {
        echo "❌ Disposable email: " . $response . "\n";
        return false; // Block registration
    } else {
        echo "⚠️ Check failed ({$httpCode}): " . $response . "\n";
        return null; // Handle error
    }
}

function checkDomain($domain) {
    $url = 'https://disposableemailchecker.com/api/check?domain=' . urlencode($domain);
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    curl_setopt($ch, CURLOPT_NOBODY, true); // HEAD request for status only
    
    curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    return $httpCode === 200; // true = legitimate, false = disposable
}

// Usage examples
checkEmail('user@gmail.com');
checkEmail('test@10minutemail.com');
var_dump(checkDomain('gmail.com'));
?>

سطر أوامر cURL

CURL
# Check email with status code and response
curl -w "HTTP Status: %{http_code}\n" \
  "https://disposableemailchecker.com/api/check?email=test@10minutemail.com"

# Check domain only (privacy-friendly)
curl -w "HTTP Status: %{http_code}\n" \
  "https://disposableemailchecker.com/api/check?domain=10minutemail.com"

# Get only status code (for scripts)
curl -s -o /dev/null -w "%{http_code}" \
  "https://disposableemailchecker.com/api/check?email=user@gmail.com"

# Batch check multiple emails
for email in "user@gmail.com" "test@tempmail.org" "admin@yahoo.com"; do
  echo "Checking $email:"
  curl -w "Status: %{http_code}\n" \
    "https://disposableemailchecker.com/api/check?email=$email"
  echo "---"
done

أفضل الممارسات

استخدم فحص النطاق للخصوصية

عندما يكون ممكناً، استخرج النطاق من عناوين البريد الإلكتروني من جانب العميل وأرسل النطاق فقط إلى واجهة برمجة التطبيقات. هذا يمنع نقل أو تسجيل أي عناوين بريد إلكتروني شخصية، مما يوفر أقصى حماية للخصوصية.

ركز على رموز الحالة

رمز حالة HTTP يخبرك بكل ما تحتاج لمعرفته. 200 = السماح، 403 = الحجب. يمكنك اختيارياً قراءة نص الاستجابة للرسائل القابلة للقراءة، لكن رمز الحالة كافٍ لمعظم حالات الاستخدام.

تعامل مع الأخطاء بأناقة

نفذ دائماً منطق احتياطي عندما تكون واجهة برمجة التطبيقات غير متاحة. في حالة الأخطاء (رموز الحالة 4xx/5xx)، فكر في السماح للتسجيل بالمتابعة بدلاً من حجب المستخدمين الشرعيين. ضع مهلات زمنية معقولة (3-5 ثوانٍ).

نفذ التخزين المؤقت

خزن النتائج مؤقتاً للنطاقات الشائعة لتقليل استدعاءات API وتحسين الأداء. معظم نطاقات البريد الإلكتروني المؤقت لا تغير حالتها بكثرة، لذا التخزين المؤقت لـ 24-48 ساعة آمن عادة ويقلل حمل الخادم.

الحجب الذكي في الإنتاج

في بيئات الإنتاج، لا تحجب المستخدمين فوراً عند اكتشاف بريد إلكتروني مؤقت. بدلاً من ذلك، ادمج نتيجة API مع عوامل أخرى: تحقق مما إذا كان أكثر من 5 مستخدمين يستخدمون هذا النطاق بالفعل، أو إذا حدث أكثر من 3 تسجيلات من هذا النطاق في آخر 24 ساعة. عندها فقط اطلب من المستخدمين استخدام بريد إلكتروني مختلف. هذا النهج يحسن تجربة المستخدم ويقلل تأثير الإيجابيات الخاطئة.

حدود المعدل والاستخدام العادل

واجهة برمجة التطبيقات مجانية ولا تفرض حدود معدل صارمة، لكننا نطلب منك استخدامها بمسؤولية لضمان أداء جيد للجميع.

إرشادات الاستخدام العادل

  • أحجام طلبات معقولة للاستخدام العادي للتطبيق
  • نفذ التخزين المؤقت لتجنب الطلبات المتكررة لنفس النطاقات
  • لا تستخدم API لمسح النطاقات بالجملة أو لأغراض البحث
  • اتصل بنا إذا كنت تحتاج حدود أعلى لحالات الاستخدام الشرعية

الدعم والتعليقات

تحتاج مساعدة في تكامل واجهة برمجة التطبيقات أو وجدت نطاقاً مصنفاً خطأً؟ نحن هنا للمساعدة ونسعى دائماً لتحسين دقة الاكتشاف.

الدعم التقني

تواجه مشاكل في التكامل؟ تحتاج مساعدة في حالة استخدام محددة؟ تواصل مع فريقنا التقني.

احصل على المساعدة التقنية

إرسال تعليقات النطاق

وجدت إيجابية أو سلبية خاطئة؟ ساعدنا في التحسن بإرسال تعليقات النطاق. نراجع جميع الإرسالات خلال 24 ساعة.

إرسال التعليقات