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

إشعار

POST https://api.pushwoosh.com/messaging/v2/notify

ينشئ ويجدول رسالة واحدة.

بنية الطلب

Anchor link to

نص الطلب هو NotifyRequest بنوع واحد فقط من نوعين:

  • segment: استهداف شريحة جمهور حسب رمز الشريحة، أو تعبير seglang، أو تعبير مرشح منظم.
  • transactional: الإرسال إلى قائمة صريحة من hwids، أو معرفات المستخدمين، أو رموز الإشعارات اللحظية، أو الأجهزة الاختبارية.
الشكل
{
"segment": { ... } // أو
"transactional": { ... }
}

NotifySegment

Anchor link to

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

الحقلالنوعالوصف
scheduleScheduleمتى وكيف يتم الإرسال. مطلوب.
applicationstringرمز التطبيق.
platformsarray of Platformالمنصات التي تستهدفها الرسالة.
codestringرمز الشريحة. متعارض مع expression و filter_expression.
expressionstringتعبير Seglang.
filter_expressionFilterExpressionتعبير مرشح منظم (متقدم).
payloadPayloadحمولة الإشعارات اللحظية / الرسائل النصية / تيليجرام / كاكاو. متعارض مع email_payload.
email_payloadEmailPayloadحمولة البريد الإلكتروني.
campaignstringرمز الحملة لنسب هذه الرسالة إليه.
frequency_cappingFrequencyCappingحدود التكرار لكل مستخدم.
send_rateSendRateالتحكم في سرعة الإرسال.
message_typeMessageTypeMESSAGE_TYPE_MARKETING (الافتراضي) أو MESSAGE_TYPE_TRANSACTIONAL. يتحكم في تصفية مجموعة التحكم.
dynamic_content_placeholdersmap<string, string>يستبدل العناصر النائبة في المحتوى.
meta_dataobjectبيانات وصفية حرة الشكل تُمرر إلى التحليلات النهائية.

مثال: الإرسال إلى شريحة

Anchor link to
Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/notify \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"segment": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"code": "active_users",
"payload": {
"content": {
"localized_content": {
"en": {
"ios": { "body": "Hello!" },
"android": { "body": "Hello!" }
}
}
}
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_MARKETING"
}
}'

NotifyTransactional

Anchor link to

يرسل إلى قائمة صريحة من المستلمين.

الحقلالنوعالوصف
scheduleScheduleمطلوب.
applicationstringرمز التطبيق.
platformsarray of Platformالمنصات التي تستهدفها الرسالة.
test_devicesboolإذا كان true، يتم الإرسال إلى الأجهزة الاختبارية للتطبيق فقط.
hwids{ "list": [string, ...] }الإرسال إلى هذه hwids فقط.
users{ "list": [string, ...] }الإرسال إلى معرفات المستخدمين هذه فقط.
push_tokens{ "list": [string, ...] }الإرسال إلى رموز الإشعارات اللحظية هذه فقط.
payloadPayloadحمولة الإشعارات اللحظية / الرسائل النصية / تيليجرام / كاكاو.
email_payloadEmailPayloadحمولة البريد الإلكتروني.
return_unknown_identifiersboolعندما يكون true، تعرض الاستجابة في unknown_identifiers قائمة بالمعرفات التي لم يتم العثور عليها.
use_latest_user_deviceboolينطبق فقط عند استهداف users. عندما يكون true، يتم تسليم الرسالة إلى أحدث جهاز نشط لكل مستخدم — الجهاز الذي لديه أحدث وقت لفتح التطبيق — بدلاً من جميع الأجهزة المرتبطة بمعرف المستخدم هذا. القيمة الافتراضية هي false (الإرسال إلى كل جهاز).
campaign, frequency_capping, send_rate, message_type, dynamic_content_placeholders, meta_dataانظر NotifySegment أعلاه.

test_devices، hwids، users، و push_tokens متعارضة. يجب تعيين واحد منها فقط.

مثال: رسائل المعاملات حسب معرفات المستخدمين

Anchor link to
Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/notify \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"transactional": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"users": { "list": ["user-123", "user-456"] },
"payload": {
"content": {
"localized_content": {
"en": { "ios": { "body": "Your order has shipped." } }
}
}
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_TRANSACTIONAL",
"return_unknown_identifiers": true,
"use_latest_user_device": true
}
}'

الاستجابة

Anchor link to
{
"result": {
"message_code": "XXXXX-XXXXX-XXXXX",
"unknown_identifiers": []
}
}
الحقلالنوعالوصف
message_codestringرمز الرسالة الفريد. استخدمه مع /getMessageDetails ونقاط نهاية إحصائيات الرسائل.
unknown_identifiersarray of stringالمعرفات التي لم يتم العثور عليها في الحساب. يتم ملؤها فقط عند تعيين return_unknown_identifiers: true في نوع transactional.

الأنواع المشتركة

Anchor link to

الجدول الزمني (Schedule)

Anchor link to
{
"at": "2026-05-01T12:00:00Z",
"follow_user_timezone": true,
"past_timezones_behaviour": "PAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY"
}
الحقلالنوعالوصف
attimestampوقت الإرسال المطلق (RFC 3339). إذا كان في الماضي، يتم إرسال الرسالة فورًا. بحد أقصى 14 يومًا في المستقبل.
afterdurationبديل لـ at. الإرسال بعد هذا الفاصل الزمني من “الآن” (على سبيل المثال "3600s").
follow_user_timezoneboolعندما يكون true، يستقبل كل جهاز الرسالة في وقت at حسب منطقته الزمنية المحلية.
past_timezones_behaviourenumPAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY (الافتراضي)، PAST_TIMEZONES_BEHAVIOUR_DO_NOT_SEND، أو PAST_TIMEZONES_BEHAVIOUR_NEXT_DAY. يكون ذا معنى فقط عندما يكون follow_user_timezone هو true.

تحديد معدل التكرار (FrequencyCapping)

Anchor link to

حدود التكرار لكل مستخدم للإرسالات التسويقية.

{ "days": 7, "count": 3, "exclude": false, "avoid": true }
  • days (int, 1–30): نافذة المراجعة الزمنية.
  • count (int): الحد الأقصى للرسائل المسموح بها خلال days.
  • exclude (bool): استبعاد صارم للمستخدمين الذين وصلوا بالفعل إلى الحد الأقصى.
  • avoid (bool): تجنب ناعم للمستخدمين الذين وصلوا بالفعل إلى الحد الأقصى (لا يزالون يُحتسبون في التحليلات).

معدل الإرسال (SendRate)

Anchor link to
{ "value": 500, "bucket": "1s", "avoid": false }

يتحكم في سرعة الإرسال. value هو عدد الرسائل لكل bucket؛ bucket النموذجي هو "1s".

تعداد المنصات (Platform enum)

Anchor link to

IOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, BAIDU_ANDROID, HUAWEI_ANDROID, SMS, WEB, KAKAO, TELEGRAM, LINE, WHATS_APP, VIBER.

تعداد نوع الرسالة (MessageType enum)

Anchor link to
  • MESSAGE_TYPE_UNSPECIFIED: يعادل MESSAGE_TYPE_MARKETING.
  • MESSAGE_TYPE_MARKETING: يخضع لتصفية مجموعة التحكم وتحديد معدل التكرار.
  • MESSAGE_TYPE_TRANSACTIONAL: يتخطى تصفية مجموعة التحكم وتحديد معدل التكرار. استخدمه لتأكيدات الطلبات، وكلمات المرور لمرة واحدة (OTPs)، والتدفقات الحرجة المماثلة.

مواضيع ذات صلة

Anchor link to