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

Email API

createEmailMessage

Anchor link to

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

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

Request body parameters

Anchor link to
الاسمالنوعمطلوبالوصف
authstringنعمAPI access token من لوحة تحكم Pushwoosh.
applicationstringنعمPushwoosh application code
notificationsarrayنعممصفوفة JSON تحتوي على تفاصيل رسالة البريد الإلكتروني. انظر جدول Notifications Parameters أدناه.

Notifications parameters

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

Request example

Anchor link to
{
"request": {
"auth": "API_ACCESS_TOKEN", // مطلوب. API access token من لوحة تحكم Pushwoosh
"application": "APPLICATION_CODE", // مطلوب. Pushwoosh application code.
"notifications": [{
"send_date": "now", // مطلوب. YYYY-MM-DD HH:mm أو 'now'
"preset": "ERXXX-32XXX", // مطلوب. انسخ Email preset code من شريط 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" // إذا تم تعيينه، سيتم إرسال الرسالة فقط إلى العناوين الموجودة في
], // القائمة. يتم تجاهله إذا تم استخدام Application Group.
"use_auto_registration": true, // اختياري. تسجيل رسائل البريد الإلكتروني المحددة في معلمة "devices" تلقائيًا
"users": [ // اختياري. إذا تم تعيينه، سيتم تسليم رسالة البريد الإلكتروني فقط إلى
"userId1", // User IDs المحددة (المسجلة عبر استدعاء /registerEmail).
"userId2" // لا يزيد عن 1000 معرف مستخدم في المصفوفة.
], // إذا تم تحديد المعلمة "devices"،
// سيتم تجاهل المعلمة "users".
"dynamic_content_placeholders": { // اختياري. عناصر نائبة للمحتوى الديناميكي بدلاً من قيم علامات الجهاز.
"firstname": "John",
"firstname_en": "John"
},
"conditions": [ // اختياري. شروط التقسيم، انظر الملاحظة أدناه.
["Country", "EQ", "BR"],
["Language", "EQ", "pt"]
],
"from": { // اختياري. تحديد اسم المرسل وعنوان البريد الإلكتروني للمرسل
"name": "alias from", // لاستبدال "From name" و "From email" الافتراضيين
"email": "from-email@email.com" // التي تم إعدادها في خصائص التطبيق.
},
"reply-to": { // اختياري. تحديد عنوان بريد إلكتروني لاستبدال
"name": "alias reply to ", // "Reply to" الافتراضي الذي تم إعداده في خصائص التطبيق.
"email": "reply-to@email.com"
},
"transactionId": "unique UUID", // اختياري. معرف رسالة فريد لمنع إعادة الإرسال
// في حالة مشاكل الشبكة. يتم تخزينه على جانب
// Pushwoosh لمدة 5 دقائق.
// معلمات تحديد التكرار (Frequency capping). تأكد من تكوين Global frequency capping في لوحة التحكم.
"capping_days": 30, // اختياري. عدد الأيام لتحديد التكرار (بحد أقصى 30 يومًا)
"capping_count": 10, // اختياري. الحد الأقصى لعدد رسائل البريد الإلكتروني التي يمكن إرسالها من
// تطبيق معين إلى جهاز معين خلال فترة 'capping_days'.
// في حالة تجاوز الرسالة التي تم إنشاؤها حد
// 'capping_count' لجهاز ما، فلن
// يتم إرسالها إلى ذلك الجهاز.
"capping_exclude": true, // اختياري. إذا تم تعيينه على true، فلن يتم
// احتساب هذا البريد الإلكتروني ضمن الحد الأقصى لرسائل البريد الإلكتروني المستقبلية.
"capping_avoid": true, // اختياري. إذا تم تعيينه على true، فلن يتم تطبيق الحد الأقصى على
// هذا البريد الإلكتروني المحدد.
"send_rate": 100, // اختياري. حد الاختناق (Throttling limit).
// الحد من عدد الرسائل التي يمكن إرسالها في الثانية عبر جميع المستخدمين.
// يساعد في منع التحميل الزائد على الواجهة الخلفية أثناء عمليات الإرسال كبيرة الحجم.
"send_rate_avoid": true, // اختياري. إذا تم تعيينه على true، فلن يتم تطبيق حد الاختناق على
// هذا البريد الإلكتروني المحدد.
}]
}
}

Response examples

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

Tag conditions

Anchor link to

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

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

Operand description

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

String tags

Anchor link to

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

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

Integer tags

Anchor link to

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

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

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

  • "YYYY-MM-DD 00:00" (string)
  • unix timestamp 1234567890 (integer)
  • "N days ago" (string) للمشغلات EQ, BETWEEN, GTE, LTE

Boolean tags

Anchor link to

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

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

registerEmail

Anchor link to

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

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

Request headers

Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXAPI Device Token للوصول إلى Device API. استبدل XXXX بـ Device API token الفعلي الخاص بك.

Request body

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

deleteEmail

Anchor link to

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

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

Request headers

Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXAPI Device Token للوصول إلى Device API. استبدل XXXX بـ Device API token الفعلي الخاص بك.

Request body

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

setEmailTags

Anchor link to

يعين قيم العلامات (tag values) لعنوان البريد الإلكتروني.

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

Request headers

Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXAPI Device Token للوصول إلى Device API. استبدل XXXX بـ Device API token الفعلي الخاص بك.

Request body

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

registerEmailUser

Anchor link to

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

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

يمكن استخدامه في استدعاء API /createEmailMessage (المعلمة ‘users’).

Request headers

Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXAPI Device Token للوصول إلى Device API. استبدل XXXX بـ Device API token الفعلي الخاص بك.

Request body

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