توثيق InboxWarm API
التوثيق المرجعي لواجهة REST API الخاصة بـ InboxWarm. استخدمه إلى جانب مجموعة InboxWarm API Postman.
في هذه الصفحة
حسابات البريد الإلكتروني
التسخين
قابلية التسليم
عنوان URL الأساسي#
https://app.inboxwarm.ai/api/v1المصادقة#
يستخدم InboxWarm مخطط مصادقة مختلطًا اعتمادًا على طريقة HTTP:
طلبات GET وDELETE — أرسل مفتاح API الخاص بك كمعامل استعلام api_key.
طلبات POST وPATCH — أرسل مفتاح API الخاص بك كحقل apiKey داخل نص JSON.
أنشئ المفاتيح وأدرها من Developer kit > API Integration في تطبيق InboxWarm. يمنح كل مفتاح وصولًا كاملاً إلى الحساب عبر كل نقطة نهاية أدناه.
مثال — طلب GET:
GET https://app.inboxwarm.ai/api/v1/email-accounts?api_key=YOUR_API_KEYمثال — نص طلب POST:
{
"apiKey": "YOUR_API_KEY",
...
}حدود المعدل#
GET /rate-limit — لا يُحتسب هذا الاستدعاء ضمن حصتك.الأخطاء#
تتبع الأخطاء بنية متسقة:
{
"error_code": "validation_error",
"message": "One or more fields are invalid.",
"details": {}
}قيم error_code الشائعة: validation_error (400)، not_found (404)، conflict (409)، unprocessable (422).
فهرس نقاط النهاية#
حسابات البريد الإلكتروني
/email-accountsسرد حسابات البريد الإلكترونيPOST/email-accountsربط حساب بريد إلكترونيPOST/email-accounts/bulk-connectربط مجمّع لحسابات البريد الإلكترونيPOST/email-accounts/{emailAccountId}/disconnectقطع اتصال حساب البريد الإلكترونيDELETE/email-accounts/{emailAccountId}حذف حساب البريد الإلكترونيPOST/email-accounts/bulk-deleteحذف مجمّع لحسابات البريد الإلكترونيGET/email-accounts/{emailAccountId}/statusالحصول على حالة حساب البريد الإلكترونيPOST/email-accounts/bulk-statusحالة مجمّعة لحسابات البريد الإلكترونيالتسخين
/warmup-settings/{emailAccountId}الحصول على إعدادات التسخينPATCH/warmup-settings/{emailAccountId}تحديث إعدادات التسخينGET/warmup-settings/languagesعرض لغات التسخينGET/warmup-settings/industriesعرض قطاعات التسخينPOST/warmup-settings/{emailAccountId}/startبدء التسخينPOST/warmup-settings/{emailAccountId}/stopإيقاف التسخينPOST/warmup-settings/bulk-actionإجراء تسخين مجمّعPOST/warmup-settings/bulk-updateتحديث مجمّع لإعدادات التسخينGET/warmup-status/{emailAccountId}سجل نشاط التسخينقابلية التسليم
التقارير
النظام
فحص الصحة#
https://app.inboxwarm.ai/api/v1/healthفحص أساسي لحيوية API.
api_keyالاستجابات
{
"status": "ok"
}حالة حد المعدل#
https://app.inboxwarm.ai/api/v1/rate-limitتحقق من استهلاك حد المعدل الحالي دون استنفاد طلب من حصتك.
api_keyالاستجابات
{
"limit": 20,
"remaining": 18,
"reset": 1752585600
}حسابات البريد الإلكتروني
سرد حسابات البريد الإلكتروني#
https://app.inboxwarm.ai/api/v1/email-accountsسرد حسابات البريد الإلكتروني المتصلة مع حالتها الحالية. يدعم البحث والترقيم والترتيب. استخدم البحث للعثور على emailAccountId لعنوان ما إذا احتجت في أي وقت إلى إعادة تحديده.
api_keyمعاملات الاستعلام
searchالبحث حسب عنوان البريد الإلكتروني أو الاسمstatusactive | warming | paused | error | auth-expiredsortsortByالاستجابات
{
"items": [
{
"id": "12345",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"status": "warming",
"createdAt": "2026-06-01T10:00:00.000Z"
},
{
"id": "12346",
"fromEmail": "sales@yourcompany.com",
"fromName": "Sales Team",
"type": "microsoft",
"status": "active",
"createdAt": "2026-06-03T14:20:00.000Z"
}
],
"total": 2,
"page": 1,
"limit": 20,
"totalPages": 1
}ربط حساب بريد إلكتروني#
https://app.inboxwarm.ai/api/v1/email-accountsاربط حساب Gmail أو Microsoft أو SMTP/IMAP باستخدام بيانات اعتماد SMTP/IMAP (تعمل كلمة مرور التطبيق مع كل من Gmail وMicrosoft). احفظ emailAccountId المُعاد — فكل نقطة نهاية أخرى مرتبطة به.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"smtp": {
"host": "smtp.example.com",
"port": 587,
"password": "your-password",
"encryption": "TLS",
"userName": "smtp-username"
},
"imap": {
"host": "imap.example.com",
"port": 993,
"encryption": "SSL",
"userName": "imap-username"
}
}الاستجابات
{
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"status": "active"
}ربط مجمّع لحسابات البريد الإلكتروني#
https://app.inboxwarm.ai/api/v1/email-accounts/bulk-connectاربط ما يصل إلى 20 حسابًا في استدعاء واحد. يتم التحقق من كل إدخال وربطه بشكل مستقل — فلا يوقف حساب واحد غير صالح أو مكرر باقي الحسابات — وتُبلغ الاستجابة عن نجاح أو فشل كل حساب، بنفس ترتيب المُدخلات.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"emailAccounts": [
{
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"smtp": { "host": "smtp.example.com", "port": 587, "password": "your-password", "encryption": "TLS", "userName": "smtp-username" },
"imap": { "host": "imap.example.com", "port": 993, "encryption": "SSL", "userName": "imap-username" }
},
{
"fromEmail": "sales@yourcompany.com",
"type": "microsoft",
"smtp": { "password": "app-specific-password" }
}
]
}الاستجابات
{
"results": [
{
"success": true,
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"status": "active"
},
{
"success": false,
"fromEmail": "sales@yourcompany.com",
"error_code": "already_connected",
"message": "This email address is already connected.",
"details": {}
}
]
}قطع اتصال حساب البريد الإلكتروني#
https://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/disconnectأوقف حسابًا مؤقتًا دون حذفه. يتم الحفاظ على الإعدادات والسجل لإعادة الاتصال لاحقًا.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}"
}الاستجابات
{
"emailAccountId": "12345",
"status": "disconnected"
}حذف حساب البريد الإلكتروني#
https://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}أزل حسابًا نهائيًا مع جميع بيانات التسخين والسجل المرتبطة به.
api_keyالاستجابات
لا يوجد محتوى للاستجابة
حذف مجمّع لحسابات البريد الإلكتروني#
https://app.inboxwarm.ai/api/v1/email-accounts/bulk-deleteأزل نهائيًا ما يصل إلى 20 حسابًا في استدعاء واحد.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
]
}الاستجابات
{
"results": [
{
"emailAccountId": "12345",
"deleted": true
},
{
"emailAccountId": "12346",
"deleted": true
}
]
}الحصول على حالة حساب البريد الإلكتروني#
https://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/statusحالة تفصيلية لحساب واحد — صحة الاتصال، وحالة التسخين، وحالة المصادقة، والأخطاء النشطة.
api_keyالاستجابات
{
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"type": "gmail",
"authStatus": "connected",
"warmupStatus": "active",
"healthScore": 92,
"connectionError": null,
"lastConnectedAt": "2026-07-15T08:00:00.000Z"
}حالة مجمّعة لحسابات البريد الإلكتروني#
https://app.inboxwarm.ai/api/v1/email-accounts/bulk-statusحالة ما يصل إلى 50 حسابًا في استدعاء واحد، تُعاد بنفس ترتيب المعرفات المُدخلة.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
]
}الاستجابات
{
"results": [
{
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"type": "gmail",
"authStatus": "connected",
"warmupStatus": "active",
"healthScore": 92,
"connectionError": null,
"lastConnectedAt": "2026-07-15T08:00:00.000Z"
},
{
"emailAccountId": "12346",
"fromEmail": "sales@yourcompany.com",
"type": "microsoft",
"authStatus": "connected",
"warmupStatus": "paused",
"healthScore": 81,
"connectionError": null,
"lastConnectedAt": "2026-07-14T22:10:00.000Z"
}
]
}التسخين
الحصول على إعدادات التسخين#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}جلب تكوين التسخين الحالي لحساب ما.
api_keyالاستجابات
{
"emailAccountId": "12345",
"displayName": "Ada Lovelace",
"timeZone": "America/New_York",
"sendingDays": [1, 2, 3, 4, 5],
"sendingWindowStartTime": "09:00",
"sendingWindowEndTime": "17:00",
"warmupLanguage": "en",
"targetIndustry": "saas_software",
"warmupTopics": ["Referral request", "Case study"]
}تحديث إعدادات التسخين#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}تحديث إعداد واحد أو أكثر من إعدادات التسخين لحساب ما — اسم المرسل، أو المنطقة الزمنية، أو جدول الإرسال، أو اللغة، أو الصناعة، أو المواضيع. يتم تغيير الحقول التي ترسلها فقط.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"displayName": "Ada Lovelace",
"timeZone": "America/New_York",
"sendingDays": [1, 2, 3, 4, 5],
"sendingWindowStartTime": "09:00",
"sendingWindowEndTime": "17:00",
"warmupLanguage": "en",
"targetIndustry": "saas_software",
"warmupTopics": ["Referral request", "Case study"]
}الاستجابات
{
"emailAccountId": "12345",
"displayName": "Ada Lovelace",
"timeZone": "America/New_York",
"sendingDays": [1, 2, 3, 4, 5],
"sendingWindowStartTime": "09:00",
"sendingWindowEndTime": "17:00",
"warmupLanguage": "en",
"targetIndustry": "saas_software",
"warmupTopics": ["Referral request", "Case study"]
}عرض لغات التسخين#
https://app.inboxwarm.ai/api/v1/warmup-settings/languagesعرض كل لغة يمكن توليد محتوى التسخين بها، لمعرفة القيم التي تقبلها warmupLanguage.
api_keyالاستجابات
{
"languages": [
{ "code": "en", "name": "English", "nativeName": "English", "script": "Latin" },
{ "code": "es", "name": "Spanish", "nativeName": "Español", "script": "Latin" },
{ "code": "ja", "name": "Japanese", "nativeName": "日本語", "script": "Japanese" }
]
}عرض قطاعات التسخين#
https://app.inboxwarm.ai/api/v1/warmup-settings/industriesعرض كل قطاع مستهدف والمواضيع المقترحة له، لمعرفة القيم التي تقبلها targetIndustry وwarmupTopics.
api_keyالاستجابات
{
"industries": [
{
"key": "e_commerce",
"name": "E-Commerce",
"topics": [
"Abandoned cart follow-up",
"New product launch",
"Seasonal sale announcement",
"Order and shipping update",
"Customer review request"
]
},
{
"key": "saas_software",
"name": "SaaS / Software",
"topics": ["Feature announcement", "Onboarding tip", "Case study"]
}
]
}بدء التسخين#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/startابدأ التسخين لحساب ما.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}"
}الاستجابات
{
"emailAccountId": "12345",
"warmupStatus": "active"
}إيقاف التسخين#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/stopأوقف التسخين لحساب ما.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}"
}الاستجابات
{
"emailAccountId": "12345",
"warmupStatus": "paused"
}إجراء تسخين مجمّع#
https://app.inboxwarm.ai/api/v1/warmup-settings/bulk-actionابدأ أو أوقف التسخين لما يصل إلى 50 حسابًا في استدعاء واحد.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"action": "start"
}الاستجابات
{
"results": [
{
"emailAccountId": "12345",
"status": "ok"
},
{
"emailAccountId": "12346",
"status": "ok"
}
]
}تحديث مجمّع لإعدادات التسخين#
https://app.inboxwarm.ai/api/v1/warmup-settings/bulk-updateطبّق إعدادات الجدول و/أو المحتوى على ما يصل إلى 50 حسابًا في استدعاء واحد.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"apply": ["language", "window"],
"warmupLanguage": "es",
"sendingWindowStartTime": "06:00",
"sendingWindowEndTime": "10:00"
}الاستجابات
{
"updatedCount": 2
}سجل نشاط التسخين#
https://app.inboxwarm.ai/api/v1/warmup-status/{emailAccountId}نشاط التسخين اليوم لحساب ما: المُرسَل، المُستلَم، المُردود عليه، المزعج، المرتد.
api_keyالاستجابات
{
"emailAccountId": "12345",
"date": "2026-07-15",
"current": "active",
"dailySendingLimit": 10,
"sent": 12,
"received": 10,
"replied": 7,
"spam": 1,
"bounced": 0
}قابلية التسليم
الحصول على درجة الإعداد#
https://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}درجة صحة الإعداد المخزنة مؤقتًا (فحوصات DMARC وSPF وDKIM وMX والقائمة السوداء) لحساب ما.
api_keyالاستجابات
{
"emailAccountId": "12345",
"emailAccountScore": 86,
"dmarcScore": 15,
"spfScore": 29,
"dkimScore": 18,
"mxRecordScore": 9,
"ipBlacklistScore": 5,
"domainBlacklistScore": 10,
"updatedAt": "2026-07-14T10:30:00.000Z",
"manualLastRefreshedAt": "2026-07-14T10:30:00.000Z"
}تحديث درجة الإعداد#
https://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}/refreshأعد حساب درجة الإعداد لحساب ما بشكل متزامن.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}"
}الاستجابات
{
"emailAccountId": "12345",
"emailAccountScore": 88,
"dmarcScore": 15,
"spfScore": 29,
"dkimScore": 18,
"mxRecordScore": 9,
"ipBlacklistScore": 7,
"domainBlacklistScore": 10,
"updatedAt": "2026-07-15T09:00:00.000Z",
"manualLastRefreshedAt": "2026-07-15T09:00:00.000Z"
}فحص صحة DNS#
https://app.inboxwarm.ai/api/v1/dns-health/{emailAccountId}بحث DNS مباشر لنطاق الإرسال الخاص بالحساب — نجاح/فشل لـ SPF وDKIM وDMARC وMX.
api_keyالاستجابات
{
"emailAccountId": "12345",
"spf": "pass",
"dkim": "pass",
"dmarc": "pass",
"mx": "pass",
"cachedAt": "2026-07-15T09:00:00.000Z"
}الحصول على درجة قابلية التسليم#
https://app.inboxwarm.ai/api/v1/deliverability-score/{emailAccountId}معدل قابلية تسليم صندوق الوارد مقابل الرسائل المزعجة إجماليًا ولكل ESP لنطاق تاريخي.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"startDate": "2026-06-01",
"endDate": "2026-06-30",
"esps": [
"gmail",
"outlook",
"other"
]
}الاستجابات
{
"emailAccountId": "12345",
"totalDeliverabilityRate": 88,
"totalSentCount": 1500,
"totalInboxCount": 1320,
"totalSpamInboxCount": 180,
"gmail": {
"deliverabilityRate": 92,
"sentCount": 500,
"inboxCount": 460,
"spamCount": 40
},
"outlook": {
"deliverabilityRate": 92,
"sentCount": 500,
"inboxCount": 460,
"spamCount": 40
},
"other": {
"deliverabilityRate": 92,
"sentCount": 500,
"inboxCount": 460,
"spamCount": 40
}
}التقارير
لوحة التحكم#
https://app.inboxwarm.ai/api/v1/dashboardملخص تسخين على مستوى الحساب عبر جميع صناديق البريد الوارد المتصلة.
api_keyالاستجابات
{
"totalAccounts": 42,
"activeWarmups": 30,
"pausedWarmups": 8,
"accountsWithErrors": 2,
"avgSetupScore": 78.5
}تقرير حساب واحد#
https://app.inboxwarm.ai/api/v1/reportsتقرير تسخين يومي لحساب واحد على مدى نطاق تاريخي.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"emailAccountId": "12345",
"from": "2026-06-01",
"to": "2026-06-30"
}الاستجابات
{
"emailAccountId": "12345",
"from": "2026-06-01",
"to": "2026-06-30",
"days": [
{
"date": "2026-06-15",
"sent": 25,
"inbox": 20,
"received": 22,
"spam": 3,
"bounced": 1,
"undelivered": 0,
"replied": 5,
"deliverabilityRate": 92.5
}
]
}تقرير مجمّع#
https://app.inboxwarm.ai/api/v1/reports/bulkتقارير تسخين يومية لما يصل إلى 50 حسابًا على مدى نطاق تاريخي.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"from": "2026-06-01",
"to": "2026-06-30"
}الاستجابات
{
"reports": [
{
"emailAccountId": "12345",
"from": "2026-06-01",
"to": "2026-06-30",
"days": [
{
"date": "2026-06-15",
"sent": 25,
"inbox": 20,
"received": 22,
"spam": 3,
"bounced": 1,
"undelivered": 0,
"replied": 5,
"deliverabilityRate": 92.5
}
]
}
]
}تصدير التقرير#
https://app.inboxwarm.ai/api/v1/reports/exportابدأ تصدير CSV غير متزامن لتقارير التسخين، يُسلَّم عبر البريد الإلكتروني عند جاهزيته.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"from": "2026-06-01",
"to": "2026-06-30"
}الاستجابات
{
"jobId": "a1b2c3d4",
"status": "queued"
}اختبار البريد العشوائي
بدء اختبار البريد العشوائي#
https://app.inboxwarm.ai/api/v1/spam-testsابدأ اختبار وصول الرسائل إلى البريد الوارد. يعيد testCode وصناديق البريد الاختبارية (seed) التي يجب الإرسال إليها. ألصق testCode في أي مكان داخل رسالتك — في سطر الموضوع أو في النص — وأرسل تلك الرسالة من صندوق البريد الذي تريد قياسه إلى كل عنوان في testEmails. نبحث بعد ذلك في تلك الصناديق عن الرمز لمعرفة ما إذا وصلت الرسالة إلى البريد الوارد أم إلى البريد العشوائي. تنتهي صلاحية الاختبار بعد 24 ساعة من إنشائه إذا لم تصل الرسالة أبدًا.
apiKeyنص الطلب
{
"apiKey": "{{apiKey}}"
}الاستجابات
{
"testCode": "ibxwrm-4f1c9a7b2e8d05c1",
"testEmails": [
"seed.one@gmail.com",
"seed.two@outlook.com",
"seed.three@yourseeddomain.com"
],
"status": "pending",
"expiresAt": "2026-08-19T10:00:00Z"
}عرض نتائج اختبار البريد العشوائي#
https://app.inboxwarm.ai/api/v1/spam-tests/{testCode}/resultsتفصيل كامل لمواضع الوصول لاختبار مكتمل: أين وصلت الرسالة في كل صندوق بريد اختباري، ونسب البريد الوارد/العشوائي، ودرجة البريد العشوائي. يعيد 202 not_ready إذا كان الاختبار لا يزال جاريًا، و410 expired إذا انتهت المهلة قبل وصول الرسالة، و409 test_failed إذا لم يتمكن الفحص نفسه من العمل. يحسب unreachableCount صناديق البريد الاختبارية التي لم نستطع فتحها — وهذه تُستثنى من accountsChecked ولا تُحسب ضد رسالتك.
api_keyالاستجابات
{
"testCode": "ibxwrm-4f1c9a7b2e8d05c1",
"status": "completed",
"spamScore": 80.0,
"inboxCount": 4,
"spamCount": 1,
"notFoundCount": 0,
"accountsChecked": [
{
"emailAccount": "seed.one@gmail.com",
"placement": "inbox",
"foundInInbox": true,
"foundInSpam": false
},
{
"emailAccount": "seed.two@outlook.com",
"placement": "spam",
"foundInInbox": false,
"foundInSpam": true
}
],
"unreachableCount": 0,
"placementSummary": {
"totalChecked": 5,
"totalAttempted": 5,
"unreachableCount": 0,
"inboxPlacement": { "count": 4, "percentage": 80.0 },
"spamPlacement": { "count": 1, "percentage": 20.0 },
"notFound": { "count": 0, "percentage": 0 }
},
"expiresAt": "2026-08-19T10:00:00Z"
}سرد اختبارات البريد العشوائي#
https://app.inboxwarm.ai/api/v1/spam-testsسرد اختبارات البريد العشوائي الخاصة بك، الأحدث أولًا، بنفس حقول نقطة نهاية الحالة. مع ترقيم الصفحات عبر page وlimit (الافتراضي 20، والحد الأقصى 100).
api_keyالاستجابات
{
"items": [
{
"testCode": "ibxwrm-4f1c9a7b2e8d05c1",
"status": "completed",
"spamScore": 80.0,
"inboxCount": 4,
"spamCount": 1,
"notFoundCount": 0,
"expiresAt": "2026-08-19T10:00:00Z"
}
],
"total": 1,
"page": 1,
"limit": 20,
"totalPages": 1
}