انتقل إلى المحتوى

واجهة برمجة تطبيقات البريد الإلكتروني

createEmailMessage مهمل

Anchor link to

ينشئ رسالة بريد إلكتروني.

POST https://api.pushwoosh.com/json/1.3/createEmailMessage

معلمات نص الطلب

Anchor link to
الاسمالنوع
مطلوبالوصف
authstringنعمرمز الوصول إلى API من لوحة تحكم Pushwoosh.
applicationstringنعمرمز تطبيق Pushwoosh
notificationsarrayنعممصفوفة JSON تحتوي على تفاصيل رسالة البريد الإلكتروني. انظر جدول معلمات الإشعارات أدناه.

معلمات الإشعارات

Anchor link to
الاسمالنوع
مطلوبالوصف
send_datestringنعميحدد متى يتم إرسال البريد الإلكتروني. التنسيق: YYYY-MM-DD HH:mm أو "now".
presetstringنعمرمز إعداد البريد الإلكتروني المسبق. انسخ من شريط URL في محرر محتوى البريد الإلكتروني في لوحة تحكم Pushwoosh.
subjectstring أو objectلاسطر موضوع البريد الإلكتروني. سيكون البريد الإلكتروني دائمًا بلغة المحتوى. إذا لم يحتوي subject على لغة مطابقة لـ content، فسيكون الموضوع فارغًا.
contentstring أو objectلامحتوى نص البريد الإلكتروني. يمكن أن يكون سلسلة نصية لمحتوى HTML عادي أو كائنًا للإصدارات المترجمة.
attachmentsarrayلامرفقات البريد الإلكتروني. يتوفر مرفقان فقط. يجب ألا يتجاوز كل مرفق 1 ميجابايت (بترميز base64).
list_unsubscribestringلايسمح بتعيين عنوان URL مخصص لرأس “Link-Unsubscribe”.
campaignstringلارمز الحملة لربط البريد الإلكتروني بحملة معينة.
ignore_user_timezonebooleanلاإذا كانت القيمة true، يرسل البريد الإلكتروني فورًا، متجاهلاً المناطق الزمنية للمستخدم.
timezonestringلايرسل البريد الإلكتروني وفقًا للمنطقة الزمنية للمستخدم. مثال: "America/New_York".
filterstringلايرسل البريد الإلكتروني للمستخدمين الذين يطابقون شرط مرشح معين.
devicesarrayلاقائمة بعناوين البريد الإلكتروني (بحد أقصى 1000) لإرسال رسائل بريد إلكتروني مستهدفة. إذا تم استخدامها، يتم إرسال الرسالة فقط إلى هذه العناوين. يتم تجاهلها إذا تم استخدام مجموعة التطبيقات.
use_auto_registrationbooleanلاإذا كانت القيمة true، يتم تسجيل رسائل البريد الإلكتروني من معلمة devices تلقائيًا.
usersarrayلاإذا تم تعيينها، سيتم تسليم رسالة البريد الإلكتروني فقط إلى معرفات المستخدم المحددة (المسجلة عبر استدعاء /registerEmail). لا يزيد عن 1000 معرف مستخدم في مصفوفة. إذا تم تحديد معلمة “devices”، فسيتم تجاهل معلمة “users”.
dynamic_content_placeholdersobjectلاعناصر نائبة للمحتوى الديناميكي بدلاً من قيم علامات الجهاز.
conditionsarrayلاشروط التجزئة باستخدام العلامات. مثال: [["Country", "EQ", "BR"]].
fromobjectلاحدد اسم مرسل وبريد إلكتروني مخصصين، متجاوزًا الإعداد الافتراضي في خصائص التطبيق.
reply-toobjectلاحدد بريدًا إلكترونيًا مخصصًا للرد، متجاوزًا الإعداد الافتراضي في خصائص التطبيق.
bccarrayلاBCC (نسخة كربونية عمياء): مصفوفة من عناوين البريد الإلكتروني التي تتلقى نسخة من البريد الإلكتروني دون أن يراها المستلمون الآخرون.
email_typestringلاحدد نوع البريد الإلكتروني: "marketing" أو "transactional". إذا تم حذفه، يتم التعامل مع الرسالة على أنها معاملات ويتم تسليمها للجميع، بما في ذلك المجموعة الضابطة. لا يتم تسليم الرسائل التسويقية لأعضاء المجموعة الضابطة.
email_categorystringمطلوب عندما يكون email_type هو "marketing".حدد أحد أسماء الفئات التي تم تكوينها في مركز تفضيلات الاشتراك (على سبيل المثال، النشرة الإخبارية، العروض الترويجية، تحديثات المنتج).
transactionIdstringلامعرف رسالة فريد لمنع إعادة الإرسال في حالة وجود مشاكل في الشبكة. يتم تخزينه على جانب Pushwoosh لمدة 5 دقائق.
capping_daysintegerلاعدد الأيام (بحد أقصى 30) لتطبيق تحديد التكرار لكل جهاز. ملاحظة: تأكد من تكوين تحديد التكرار العالمي في لوحة التحكم.
capping_countintegerلاالحد الأقصى لعدد رسائل البريد الإلكتروني التي يمكن إرسالها من تطبيق معين إلى جهاز معين خلال فترة capping_days. في حالة تجاوز الرسالة التي تم إنشاؤها حد capping_count لجهاز ما، فلن يتم إرسالها إلى ذلك الجهاز.
capping_excludebooleanلاإذا تم تعيينها على true، فلن يتم احتساب هذا البريد الإلكتروني ضمن تحديد التكرار للرسائل المستقبلية.
capping_avoidbooleanلاإذا تم تعيينها على true، فلن يتم تطبيق تحديد التكرار على هذا البريد الإلكتروني المحدد.
send_rateintegerلاحدد عدد الرسائل التي يمكن إرسالها في الثانية عبر جميع المستخدمين. يساعد على منع الحمل الزائد على الواجهة الخلفية أثناء عمليات الإرسال الكبيرة.
send_rate_avoidbooleanلاإذا تم تعيينها على true، فلن يتم تطبيق حد التقييد على هذا البريد الإلكتروني المحدد.

مثال على الطلب

Anchor link to
{
"request": {
"auth": "API_ACCESS_TOKEN", // مطلوب. رمز الوصول إلى API من لوحة تحكم Pushwoosh
"application": "APPLICATION_CODE", // مطلوب. رمز تطبيق Pushwoosh.
"notifications": [{
"send_date": "now", // مطلوب. YYYY-MM-DD HH:mm أو 'now'
"preset": "ERXXX-32XXX", // مطلوب. انسخ رمز إعداد البريد الإلكتروني المسبق من شريط URL
// في صفحة محرر محتوى البريد الإلكتروني في لوحة تحكم Pushwoosh.
"subject": { // اختياري. سطر موضوع رسالة البريد الإلكتروني.
"de": "subject de",
"en": "subject en"
},
"content": { // اختياري. محتوى نص البريد الإلكتروني.
"de": "<html><body>de Hello, moto</body></html>",
"default": "<html><body>default Hello, moto</body></html>"
},
"attachments": [{ // اختياري. مرفقات البريد الإلكتروني
"name": "image.png", // "name" - اسم الملف
"content": "iVBANA...AFTkuQmwC" // "content" - محتوى الملف بترميز base64
}, {
"name": "file.pdf",
"content": "JVBERi...AFTarEGC"
}],
"list_unsubscribe": "URL", // اختياري. السماح بتعيين عنوان URL مخصص لرأس "Link-Unsubscribe"
"campaign": "CAMPAIGN_CODE", // اختياري. لتعيين رسالة البريد الإلكتروني هذه إلى حملة معينة،
// أضف رمز الحملة هنا.
"ignore_user_timezone": true, // اختياري.
"timezone": "America/New_York", // اختياري. حدد لإرسال الرسالة وفقًا
// للمنطقة الزمنية المحددة على جهاز المستخدم.
"filter": "FILTER_NAME", // اختياري. أرسل الرسالة إلى مستخدمين محددين يستوفون شروط المرشح.
"devices": [ // اختياري. حدد عناوين البريد الإلكتروني لإرسال رسائل بريد إلكتروني مستهدفة.
"email_address1", // لا يزيد عن 1000 عنوان في مصفوفة.
"email_address2" // إذا تم تعيينها، سيتم إرسال الرسالة فقط إلى العناوين الموجودة
], // في القائمة. يتم تجاهلها إذا تم استخدام مجموعة التطبيقات.
"use_auto_registration": true, // اختياري. تسجيل رسائل البريد الإلكتروني المحددة في معلمة "devices" تلقائيًا
"users": [ // اختياري. إذا تم تعيينها، سيتم تسليم رسالة البريد الإلكتروني فقط إلى
"userId1", // معرفات المستخدم المحددة (المسجلة عبر استدعاء /registerEmail).
"userId2" // لا يزيد عن 1000 معرف مستخدم في مصفوفة.
], // إذا تم تحديد معلمة "devices"،
// فسيتم تجاهل معلمة "users".
"dynamic_content_placeholders": { // اختياري. عناصر نائبة للمحتوى الديناميكي بدلاً من قيم علامات الجهاز.
"firstname": "John",
"firstname_en": "John"
},
"conditions": [ // اختياري. شروط التجزئة، انظر الملاحظة أدناه.
["Country", "EQ", "BR"],
["Language", "EQ", "pt"]
],
"from": { // اختياري. حدد اسم مرسل وعنوان بريد إلكتروني للمرسل
"name": "alias from", // لاستبدال "اسم المرسل" و "بريد المرسل" الافتراضيين
"email": "from-email@email.com" // المحددين في خصائص التطبيق.
},
"reply-to": { // اختياري. حدد عنوان بريد إلكتروني لاستبدال
"name": "alias reply to ", // "الرد على" الافتراضي المحدد في خصائص التطبيق.
"email": "reply-to@email.com"
},
"bcc": [ // اختياري. BCC: مصفوفة من عناوين البريد الإلكتروني التي تتلقى نسخة دون أن يراها المستلمون الآخرون.
"bcc1@example.com",
"bcc2@example.com"
],
"email_type": "marketing", // اختياري. "marketing" أو "transactional".
// إذا تم حذفه، يتم التعامل معه على أنه معاملات: يتم تسليمه للجميع.
// لا يتم تسليم الرسائل التسويقية لأعضاء المجموعة الضابطة.
"email_category": "category name",// مطلوب عندما يكون email_type هو "marketing". اسم الفئة.
"transactionId": "unique UUID", // اختياري. معرف رسالة فريد لمنع إعادة الإرسال
// في حالة وجود مشاكل في الشبكة. يتم تخزينه على جانب
// Pushwoosh لمدة 5 دقائق.
// معلمات تحديد التكرار. تأكد من تكوين تحديد التكرار العالمي في لوحة التحكم.
// لا ينطبق تحديد التكرار على الرسائل المتعلقة بالمعاملات.
// في جميع الحالات الأخرى، بما في ذلك "email_type" المحذوف، ينطبق تحديد التكرار.
"capping_days": 30, // اختياري. عدد الأيام لتحديد التكرار (بحد أقصى 30 يومًا)
"capping_count": 10, // اختياري. الحد الأقصى لعدد رسائل البريد الإلكتروني التي يمكن إرسالها من
// تطبيق معين إلى جهاز معين خلال فترة 'capping_days'
// . في حالة تجاوز الرسالة التي تم إنشاؤها
// حد 'capping_count' لجهاز ما، فلن
// يتم إرسالها إلى ذلك الجهاز.
"capping_exclude": true, // اختياري. إذا تم تعيينها على true، فلن يتم
// احتساب هذا البريد الإلكتروني ضمن تحديد التكرار للرسائل المستقبلية.
"capping_avoid": true, // اختياري. إذا تم تعيينها على true، فلن يتم تطبيق تحديد التكرار على
// هذا البريد الإلكتروني المحدد.
"send_rate": 100, // اختياري. حد التقييد.
// حدد عدد الرسائل التي يمكن إرسالها في الثانية عبر جميع المستخدمين.
// يساعد على منع الحمل الزائد على الواجهة الخلفية أثناء عمليات الإرسال الكبيرة.
"send_rate_avoid": true, // اختياري. إذا تم تعيينها على true، فلن يتم تطبيق حد التقييد على
// هذا البريد الإلكتروني المحدد.
}]
}
}

أمثلة على الاستجابة

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": null
}

شروط العلامة

Anchor link to

كل شرط علامة هو مصفوفة مثل [tagName, operator, operand] حيث

  • tagName: اسم العلامة
  • operator: “EQ” | “IN” | “NOTEQ” | “NOTIN” | “LTE” | “GTE” | “BETWEEN”
  • operand: string | integer | array | date

وصف المعامل

Anchor link to
  • EQ: قيمة العلامة تساوي المعامل؛
  • IN: قيمة العلامة تتقاطع مع المعامل (يجب أن يكون المعامل دائمًا مصفوفة)؛
  • NOTEQ: قيمة العلامة لا تساوي المعامل؛
  • NOTIN: قيمة العلامة لا تتقاطع مع المعامل (يجب أن يكون المعامل دائمًا مصفوفة)؛
  • GTE: قيمة العلامة أكبر من أو تساوي المعامل؛
  • LTE: قيمة العلامة أقل من أو تساوي المعامل؛
  • BETWEEN: قيمة العلامة أكبر من أو تساوي قيمة المعامل الدنيا ولكنها أقل من أو تساوي قيمة المعامل القصوى (يجب أن يكون المعامل دائمًا مصفوفة).

علامات السلسلة النصية

Anchor link to

العوامل الصالحة: EQ, IN, NOTEQ, NOTIN
المعاملات الصالحة:

  • EQ, NOTEQ: يجب أن يكون المعامل سلسلة نصية؛
  • IN, NOTIN: يجب أن يكون المعامل مصفوفة من السلاسل النصية مثل ["value 1", "value 2", "value N"]؛

علامات الأعداد الصحيحة

Anchor link to

العوامل الصالحة: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
المعاملات الصالحة:

  • EQ, NOTEQ, GTE, LTE: يجب أن يكون المعامل عددًا صحيحًا؛
  • IN, NOTIN: يجب أن يكون المعامل مصفوفة من الأعداد الصحيحة مثل [value 1, value 2, value N]؛
  • BETWEEN: يجب أن يكون المعامل مصفوفة من الأعداد الصحيحة مثل [min_value, max_value].

علامات التاريخ

Anchor link to

العوامل الصالحة: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
المعاملات الصالحة:

  • "YYYY-MM-DD 00:00" (سلسلة نصية)
  • طابع زمني يونكس 1234567890 (عدد صحيح)
  • "N days ago" (سلسلة نصية) للعوامل EQ, BETWEEN, GTE, LTE

علامات القيم المنطقية

Anchor link to

العوامل الصالحة: EQ
المعاملات الصالحة: 0, 1, true, false

علامات القائمة

Anchor link to

العوامل الصالحة: IN
المعاملات الصالحة: يجب أن يكون المعامل مصفوفة من السلاسل النصية مثل ["value 1", "value 2", "value N"].

registerEmail

Anchor link to

يسجل عنوان البريد الإلكتروني للتطبيق.

POST https://api.pushwoosh.com/json/1.3/registerEmail

رؤوس الطلب

Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز جهاز API للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز جهاز API الفعلي الخاص بك.

نص الطلب

Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
email*stringعنوان البريد الإلكتروني.
languagestringلغة الجهاز. يجب أن يكون رمزًا من حرفين صغيرين وفقًا لمعيار ISO-639-1.
userIdstringمعرف المستخدم لربطه بعنوان البريد الإلكتروني.
tz_offsetintegerإزاحة المنطقة الزمنية بالثواني.
tagsobjectقيم العلامات لتعيينها للجهاز المسجل.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"application": "APPLICATION_CODE", // مطلوب. رمز تطبيق Pushwoosh.
"email":"email@domain.com", // مطلوب. عنوان البريد الإلكتروني المراد تسجيله.
"language": "en", // اختياري. لغة الجهاز.
"userId": "userId", // اختياري. معرف المستخدم لربطه بعنوان البريد الإلكتروني.
"tz_offset": 3600, // اختياري. إزاحة المنطقة الزمنية بالثواني.
"tags": { // اختياري. قيم العلامات لتعيينها للجهاز المسجل.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1","string2"], // يعين قائمة القيم لعلامات من نوع القائمة
"DateTag": "2024-10-02 22:11", // لاحظ أن الوقت يجب أن يكون بتوقيت UTC
"BooleanTag": true // القيم الصالحة هي: true, false
}
}
}

رموز الاستجابة

Anchor link to

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

status_codeالمعنىإعادة المحاولة؟
200نجاح — تم تسجيل عنوان البريد الإلكتروني.لا — تم.
210خطأ في الوسيطة/التحقق — تم فهم الطلب ولكن تم رفضه (عنوان مدرج في القائمة السوداء، بريد إلكتروني غير صالح أو يمكن التخلص منه، منصة خاطئة لخطة الحساب). انظر رسائل الخطأ 210 أدناه.لا — نفس الطلب يعيد نفس 210. سجل العنوان وتخطاه.
400طلب غير صحيح — JSON غير صالح أو حقل مطلوب مفقود.لا — أصلح الطلب، لا تكرره.
403محظور — رمز جهاز API غير صالح أو مقيد.لا — أصلح التفويض.
500خطأ داخلي في الخادم — مشكلة مؤقتة في البنية التحتية أو مهلة.نعم، مع تراجع أسي — الحالة العابرة الوحيدة.

رسائل الخطأ 210

Anchor link to

تحمل استجابة 210 السبب المحدد في status_message.

status_messageالمعنى
this hwid (email) is blacklistedالعنوان موجود في قائمة الحظر بعد ارتداد دائم (صلب) ولن يتم إعادة تسجيله.
hwid (email) is invalid / has invalid semanticفشل التحقق من صحة العنوان.
hwid (email) is emptyلم يتم تقديم أي عنوان.
hwid (email) has invalid count of parts@ مفقود أو إضافي.
hwid (email) has invalid local partالجزء قبل @ غير صالح.
hwid (email) has invalid domain partجزء النطاق غير صالح.
hwid (email) has disposable domainيستخدم العنوان نطاق بريد إلكتروني مؤقت/يمكن التخلص منه (مثل 10minutemail).
hwid is not validhwid نفسه غير صحيح.
only email platform allowed for Email Only subscriptionالحساب على خطة بريد إلكتروني فقط ولا يمكنه تسجيل أجهزة غير بريد إلكتروني.

deleteEmail

Anchor link to

يزيل عنوان البريد الإلكتروني من قاعدة المستخدمين الخاصة بك.

POST https://api.pushwoosh.com/json/1.3/deleteEmail

رؤوس الطلب

Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز جهاز API للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز جهاز API الفعلي الخاص بك.

نص الطلب

Anchor link to
الاسمالنوعالوصف
applicationstringرمز تطبيق Pushwoosh
emailstringعنوان البريد الإلكتروني المستخدم في طلب /registerEmail.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"application": "APPLICATION_CODE", // مطلوب. رمز تطبيق Pushwoosh
"email": "email@domain.com" // مطلوب. البريد الإلكتروني المراد حذفه من مشتركي التطبيق.
}
}

setEmailTags

Anchor link to

يعين قيم العلامات لعنوان البريد الإلكتروني.

POST https://api.pushwoosh.com/json/1.3/setEmailTags

رؤوس الطلب

Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز جهاز API للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز جهاز API الفعلي الخاص بك.

نص الطلب

Anchor link to
الاسمالنوعالوصف
applicationstringرمز تطبيق Pushwoosh
emailstringعنوان البريد الإلكتروني.
tagsobjectكائن JSON للعلامات المراد تعيينها، أرسل ‘null’ لإزالة القيمة.
userIdstringمعرف المستخدم المرتبط بعنوان البريد الإلكتروني.
{
"status_code": 200,
"status_message": "OK",
"response": {
"skipped": []
}
}
مثال
{
"request": {
"email": "email@domain.com", // مطلوب. عنوان البريد الإلكتروني لتعيين العلامات له.
"application": "APPLICATION_CODE", // مطلوب. رمز تطبيق Pushwoosh.
"tags": {
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // الوقت بتوقيت UTC
"BooleanTag": true // القيم الصالحة هي: true, false
},
"userId": "userId" // اختياري. معرف المستخدم المرتبط بعنوان البريد الإلكتروني.
}
}

registerEmailUser

Anchor link to

يربط معرف مستخدم خارجي بعنوان بريد إلكتروني محدد.

POST https://api.pushwoosh.com/json/1.3/registerEmailUser

يمكن استخدامها في استدعاء واجهة برمجة التطبيقات /createEmailMessage (معلمة ‘users’).

رؤوس الطلب

Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز جهاز API للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز جهاز API الفعلي الخاص بك.

نص الطلب

Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
email*stringعنوان البريد الإلكتروني.
userId*stringمعرف المستخدم لربطه بعنوان البريد الإلكتروني.
tz_offsetintegerإزاحة المنطقة الزمنية بالثواني.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"application": "APPLICATION_CODE", // مطلوب. رمز تطبيق Pushwoosh.
"email": "email@domain.com", // مطلوب. عنوان بريد المستخدم الإلكتروني.
"userId": "userId", // مطلوب. معرف المستخدم لربطه بعنوان البريد الإلكتروني.
"tz_offset": 3600 // اختياري. إزاحة المنطقة الزمنية بالثواني.
}
}