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

إرسال إشعار

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

إنشاء وجدولة رسالة واحدة.

هيكل الطلب

Anchor link to

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

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

NotifySegment

Anchor link to

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

الحقلالنوعالوصف
scheduleScheduleمتى وكيف يتم الإرسال. مطلوب.
applicationstringرمز التطبيق.
platformsarray of Platformالمنصات التي تستهدفها الرسالة.
codestringرمز الشريحة. متعارض مع expression و filter_expression.
expressionstringتعبير Seglang.
filter_expressionFilterExpressionتعبير فلتر منظم (متقدم).
payloadPayloadحمولة Push / SMS / Telegram / Kakao. متعارض مع 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, ...] }الإرسال إلى هذه المعرفات (user IDs) فقط.
push_tokens{ "list": [string, ...] }الإرسال إلى هذه الرموز (push tokens) فقط.
payloadPayloadحمولة Push / SMS / Telegram / Kakao.
email_payloadEmailPayloadحمولة البريد الإلكتروني.
return_unknown_identifiersboolعندما تكون true، تعرض unknown_identifiers في الاستجابة قائمة بالمعرفات التي لم يتم العثور عليها.
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
}
}'

الاستجابة

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

الجدول الزمني

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): تجنب مرن للمستخدمين الذين وصلوا بالفعل إلى الحد الأقصى (لا يزالون يُحتسبون في التحليلات).
{ "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.

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

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

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

Anchor link to