[Go to site: main page, start]

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

واجهة برمجة تطبيقات الإعدادات المسبقة (Presets API)

الإعداد المسبق للدفع (push preset) هو قالب إشعار دفع قابل لإعادة الاستخدام — وهو نفس الكائن الذي تقوم بإنشائه في محرر الدفع في لوحة التحكم. تدير واجهة برمجة التطبيقات هذه الإعدادات المسبقة للدفع فقط؛ فكل من إعدادات SMS و WhatsApp و Kakao و LINE و Viber المسبقة لها خدمة إعداد مسبق مخصصة خاصة بها، والتي لا يتم تغطيتها هنا.

استخدم code الخاص بالإعداد المسبق لإرساله من خلال Notify (حمولة preset) أو نقطة إرسال الدفع (Send push point) في Customer Journey.

عنوان URL الأساسي

Anchor link to
https://rpc-api.svc-nue.pushwoosh.com

يتم تقديم جميع نقاط النهاية عبر HTTPS. تستخدم الطلبات والاستجابات application/json ما لم يُذكر خلاف ذلك.

المصادقة

Anchor link to

يجب أن يتضمن كل طلب ترويسة Authorization مع رمز واجهة برمجة تطبيقات الخادم (Server API token) الخاص بك:

Authorization: Api YOUR_API_TOKEN

الاصطلاحات

Anchor link to
  • تسمية الحقول: تقبل هياكل الطلبات ومعلمات الاستعلام/المسار lowerCamelCase (على سبيل المثال، sendType، localizedProperties، searchByName) — يقوم الخادم بفك تجميع أي من الحالتين. يتم دائمًا تجميع الاستجابات باستخدام أسماء حقول proto، في snake_case (localized_properties، platform_properties، per_page، وهكذا). تستخدم أمثلة الاستجابة ومرجع كائن الإعداد المسبق (Preset object) أدناه تلك الحالة.
  • code: تحمل كل استجابة إعداد مسبق رمزها الخاص، الذي يتم إنشاؤه عند Create. قم بتمرير هذا الرمز إلى Get، Update، UpdatePartial، Delete، Clone، وإلى واجهات برمجة تطبيقات المراسلة/الرحلة المذكورة أعلاه.
  • مفاتيح المنصة: يتم ترميز خرائط platforms و open_actions برمز نوع الجهاز الرقمي (1 لـ iOS، 3 لـ Android، وهكذا). يتم ترميز platform_properties باسم enum الخاص بالمنصة بدلاً من ذلك (IOS، ANDROID، BAIDU_ANDROID، HUAWEI_ANDROID، OSX — المنصات الخمس الوحيدة التي يغطيها).
  • الحقول غير المعبأة: تتضمن استجابات Get و Create و Clone كل حقل من كائن الإعداد المسبق (Preset object)، حتى عندما تكون فارغة أو قيمتها صفر. تُرجع List مجموعة حقول مخفضة — انظر List أدناه. لا تُرجع Update و UpdatePartial أي حقول إعداد مسبق على الإطلاق — انظر التنبيه في أقسامهما.

استجابات الخطأ

Anchor link to
حالة HTTPالمعنى
400 Bad Requestوسيطة غير صالحة — حقل مطلوب مفقود أو مشوه، أو فشل شرط مسبق (على سبيل المثال، الاستنساخ بدون name).
401 Unauthorizedترويسة Authorization مفقودة أو غير صالحة.
403 Forbiddenالتطبيق أو الإعداد المسبق لا ينتمي إلى حساب المتصل.
404 Not Foundلم يتم العثور على الإعداد المسبق أو التطبيق.
500 Internal Server Errorفشل غير متوقع من جانب الخادم.

Delete على إعداد مسبق لا يزال مستخدمًا بواسطة نقطة Send push في رحلة قيد التشغيل أو متوقفة مؤقتًا يُرجع أيضًا 400 Bad Request (a FailedPrecondition على السلك) — وليس 409. قم بإزالة الإعداد المسبق من الرحلة أولاً.

نقاط النهاية

Anchor link to
الطريقةالمسارالوصف
POST/api/presetsإنشاء إعداد مسبق جديد للدفع
GET/api/presetsسرد الإعدادات المسبقة للدفع لتطبيق ما
GET/api/presets/{code}الحصول على إعداد مسبق واحد للدفع
PUT/api/presets/{code}تحديث إعداد مسبق للدفع (الكتابة فوق بالكامل)
PUT/api/presets/{code}:partialتحديث إعداد مسبق للدفع (جزئي)
POST/api/presets/{code}:cloneاستنساخ إعداد مسبق للدفع
DELETE/api/presets/{code}حذف إعداد مسبق للدفع

إنشاء

Anchor link to

ينشئ إعدادًا مسبقًا جديدًا للدفع في تطبيق ويعيده مع رمزه الذي تم إنشاؤه.

POST /api/presets

هيكل الطلب

Anchor link to
المعلمةالنوعمطلوبالوصف
applicationstringنعمرمز التطبيق لإنشاء الإعداد المسبق فيه.
namestringنعماسم الإعداد المسبق.
sendTypestringلاقناة الإعداد المسبق (على سبيل المثال push).
isV2booleanلايثبت علامة أصل الإعداد المسبق. احذفه ليكون الافتراضي true (v2)؛ اضبطه على false فقط عند إعادة إنتاج إعداد مسبق قديم v1.

جميع الحقول الأخرى — المحتوى المترجم، والمنصات، والرابط العميق، وصندوق الوارد، والفئات، وما إلى ذلك — مشتركة مع Update وموثقة مرة واحدة في مرجع كائن الإعداد المسبق (Preset object) أدناه.

مثال على الطلب
Anchor link to
{
"application": "XXXXX-XXXXX",
"name": "20% discount",
"platforms": { "1": true, "3": true },
"localizedContent": {
"default": "Get your 20% discount right now",
"es": "Consigue tu 20% de descuento ahora mismo"
},
"localizedTitle": { "default": "Hi there" },
"openAction": { "link": { "url": "https://example.com" } },
"categories": ["promo"]
}

الاستجابة

Anchor link to

تُرجع { "preset": { ... } }، وهو كائن الإعداد المسبق (Preset object) الذي تم إنشاؤه.

يسرد الإعدادات المسبقة للدفع لتطبيق ما — مجموعة حقول مخفضة، وليس الكائن الكامل — مع ترقيم الصفحات والترتيب والتصفية حسب الاسم أو الفئة.

GET /api/presets

معلمات الاستعلام

Anchor link to
المعلمةالنوعمطلوبالوصف
applicationstringنعمرمز التطبيق لسرد الإعدادات المسبقة له.
orderBystringلاNAME (افتراضي)، CREATED، أو UPDATED.
orderDirectionstringلاASC (افتراضي) أو DESC.
pageintegerلافهرس الصفحة المستند إلى الصفر.
perPageintegerلاحجم الصفحة. الافتراضي 100 عند حذفه أو 0.
searchByNamestringلامطابقة سلسلة فرعية غير حساسة لحالة الأحرف على اسم الإعداد المسبق أو الرمز (ILIKE %value%).
searchByCategoryarray of stringsلاكرر المعلمة للتصفية حسب أي من الفئات المتعددة، على سبيل المثال ?searchByCategory=promo&searchByCategory=lifecycle.
showHiddenbooleanلاتضمين الإعدادات المسبقة المميزة بـ hidden.

الاستجابة

Anchor link to

يحمل كل عنصر فقط: name، code، platforms، localized_content (نص عادي لكل لغة — ليس localized_propertieslocalized_title، localized_subtitle، banner، icon، categories، journey_uuid، custom_data، is_v2، created، updated. يتم حذف كل حقل آخر من كائن الإعداد المسبق (Preset object)localized_properties، platform_properties، deeplink، richmedia، url، وما إلى ذلك — حتى لو تم تعيينه في الإعداد المسبق.

الحقلالنوعالوصف
presetsarray of objectsالصفحة الحالية من الإعدادات المسبقة، بالشكل المخفض الموضح أعلاه.
pageintegerفهرس الصفحة المُرجعة.
per_pageintegerحجم الصفحة المستخدم لهذه الاستجابة.
totalintegerالعدد الإجمالي للإعدادات المسبقة التي تطابق المرشحات، عبر جميع الصفحات.
مثال على الاستجابة
Anchor link to
{
"presets": [
{ "name": "20% discount", "code": "AAAAA-BBBBB", "platforms": { "1": true, "3": true }, "categories": ["promo"] }
],
"page": 0,
"per_page": 100,
"total": 1
}

الحصول على

Anchor link to

يُرجع إعدادًا مسبقًا واحدًا للدفع برمزه، مع تعبئة كل حقل من كائن الإعداد المسبق (Preset object).

GET /api/presets/{code}

معلمات المسار

Anchor link to
المعلمةالنوعالوصف
codestringرمز الإعداد المسبق.

الاستجابة

Anchor link to

تُرجع { "preset": { ... } }، وهو كائن الإعداد المسبق (Preset object) الكامل.

تحديث

Anchor link to

يكتب فوق إعداد مسبق موجود للدفع بالرمز مع الحقول المرفقة.

PUT /api/presets/{code}

معلمات المسار

Anchor link to
المعلمةالنوعالوصف
codestringرمز الإعداد المسبق للكتابة فوقه.

هيكل الطلب

Anchor link to

نفس حقول إنشاء (ناقص application)، بالإضافة إلى بقية حقول كائن الإعداد المسبق (Preset object). يتم قبول sendType ولكن يتم تجاهله — لا يمكن تغيير قناة الإعداد المسبق بعد الإنشاء.

الاستجابة

Anchor link to

كائن فارغ عند النجاح: {}.

UpdatePartial

Anchor link to

يحدّث فقط الحقول المرفقة لإعداد مسبق موجود للدفع بالرمز، مع ترك الحقول غير المعينة دون تغيير.

PUT /api/presets/{code}:partial

معلمات المسار

Anchor link to
المعلمةالنوعالوصف
codestringرمز الإعداد المسبق لتصحيحه.

هيكل الطلب

Anchor link to

نفس حقول تحديث، ناقص application. على عكس Update، كل حقل هنا — بما في ذلك localizedProperties، platformProperties، categories، وبقية مجموعة خصائص المحتوى المدرجة في تنبيه التحديث — يترك دون تغيير عند حذفه، ويتم لمسه فقط عند إرساله (حقل خريطة/مصفوفة ترسله لا يزال يحل محل القيمة الحالية لذلك الحقل بالكامل، ولكنه لا يؤثر على أي شيء لم تقم بتضمينه). يتم قبول sendType بالمثل ولكن يتم تجاهله.

مثال على الطلب
Anchor link to
{
"sendRate": 500,
"cappingCount": 3,
"cappingDays": 7
}

الاستجابة

Anchor link to

أيضًا كائن فارغ — انظر التنبيه أعلاه.

استنساخ

Anchor link to

ينسخ إعدادًا مسبقًا موجودًا للدفع، تحت اسم جديد، في نفس التطبيق.

POST /api/presets/{code}:clone

هيكل الطلب

Anchor link to
المعلمةالنوعمطلوبالوصف
codestringنعمرمز الإعداد المسبق المصدر لنسخه.
namestringنعماسم للإعداد المسبق الجديد.
مثال على الطلب
Anchor link to
{ "code": "AAAAA-BBBBB", "name": "20% discount (copy)" }

الاستجابة

Anchor link to

تُرجع { "preset": { ... } }، وهو كائن الإعداد المسبق (Preset object) الجديد.

يحذف بشكل دائم إعدادًا مسبقًا للدفع بالرمز.

DELETE /api/presets/{code}

معلمات المسار

Anchor link to
المعلمةالنوعالوصف
codestringرمز الإعداد المسبق لحذفه.

الاستجابة

Anchor link to

كائن فارغ عند النجاح: {}.

مرجع الكائن

Anchor link to

تتطابق أسماء الحقول أدناه مع ما تُرجعه Get و Create و Update و Clone بالفعل — أسماء حقول proto snake_case (انظر الاصطلاحات). يعمل نموذج lowerCamelCase المستخدم في أمثلة الطلب أعلاه بنفس الطريقة عند الإدخال.

كائن الإعداد المسبق (Preset object)

Anchor link to

الهوية

Anchor link to
الحقلالنوعالوصف
codestringيتم إنشاؤه عند Create. يحدد هذا الإعداد المسبق في كل مكان آخر في واجهة برمجة التطبيقات.
namestringاسم الإعداد المسبق.
send_typestringقناة الإعداد المسبق (على سبيل المثال push).
is_v2booleantrue للإعدادات المسبقة التي تم إنشاؤها أو ترحيلها إلى نموذج المحتوى v2.
systembooleanيميز الإعداد المسبق كإعداد مسبق للنظام/داخلي.
hiddenbooleanيخفي الإعداد المسبق من نتائج List (أرسل showHidden: true لتضمينه).
createdstring (RFC 3339)الطابع الزمني للإنشاء.
updatedstring (RFC 3339)الطابع الزمني لآخر تحديث.

الاستهداف والمحتوى

Anchor link to
الحقلالنوعالوصف
platformsmap<string, boolean>المنصات التي يستهدفها الإعداد المسبق، مرمزة بـ رمز نوع الجهاز (على سبيل المثال "1" لـ iOS).
localized_propertiesmap<string, object>اللغة ← محتوى غني لكل منصة. نفس شكل LocalizedContent على حمولة Notify — إدخال واحد لكل كتلة منصة (ios، android، وهكذا). هذه هي الطريقة الأساسية لتعيين محتوى دفع خاص بالمنصة.
localized_title / localized_subtitle / localized_contentmap<string, string>اللغة ← نص عادي. بديل أبسط لـ localized_properties للعنوان والعنوان الفرعي والنص الأساسي عندما لا تحتاج إلى تجاوزات لكل منصة.
platform_propertiesmap<string, object>تجاوزات قديمة لكل منصة، مرمزة باسم enum المنصة (IOS، ANDROID، BAIDU_ANDROID، HUAWEI_ANDROID، OSX). انظر كائن PlatformProperties أدناه.
open_actionOpenActionالإجراء الذي يتم تشغيله عندما يفتح المستخدم الإشعار، ويتم تطبيقه على كل منصة. حصري بشكل متبادل مع open_actions — تحدد الاستجابة واحدًا بالضبط.
open_actionsmap<string, OpenAction>تجاوز open_action لكل منصة، مرمّز بـ رمز نوع الجهاز.
deeplinkstringرمز الرابط العميق (Deep Link).
deeplink_paramsmap<string, string>المعلمات التي يتم تمريرها إلى الرابط العميق.
richmediastringرمز الوسائط الغنية (Rich Media) الذي يفتحه الإشعار.
urlstringعنوان URL الذي يفتحه الإشعار، إذا لم يتم استخدام رابط عميق أو وسائط غنية.

صندوق الوارد (Inbox)

Anchor link to
الحقلالنوعالوصف
inbox_imagestringعنوان URL للصورة المعروضة في إدخال صندوق الوارد للرسائل (Message Inbox).
inbox_iconstringعنوان URL للرمز المعروض في إدخال صندوق الوارد للرسائل.
inbox_daysintegerعدد الأيام التي يبقى فيها الإدخال في صندوق الوارد للرسائل.
inbox_datestring (RFC 3339)تاريخ انتهاء صلاحية صريح لإدخال صندوق الوارد للرسائل، كبديل لـ inbox_days.

التنظيم والبيانات الوصفية

Anchor link to
الحقلالنوعالوصف
categoriesarray of stringsأسماء الفئات التي تم وسم الإعداد المسبق بها.
campaign_codestringرمز الحملة الذي يُنسب إليه هذا الإعداد المسبق.
filter_codestringرمز الشريحة / المرشح الذي يستهدفه هذا الإعداد المسبق افتراضيًا.
geo_zonesstringاستهداف المناطق الجغرافية (Geozone)، إذا كان الإعداد المسبق يتم تشغيله جغرافيًا.
journey_uuidstringUUID الخاص بـ Customer Journey التي تمتلك هذا الإعداد المسبق، إذا تم إنشاؤه من نقطة Send push في رحلة.
custom_dataobjectJSON حر الشكل يتم توجيهه إلى SDK العميل كمعلمة u.
bannerstringعنوان URL لصورة كبيرة / مرفق.
iconstringعنوان URL لرمز إشعار مخصص.

حدود التسليم

Anchor link to
الحقلالنوعالوصف
send_rateintegerتقييد الإرسال باستخدام هذا الإعداد المسبق، بالرسائل/ثانية — المكافئ على مستوى الإعداد المسبق لـ SendRate الخاص بـ Notify.
capping_count / capping_daysintegerحد التكرار لكل مستخدم لهذا الإعداد المسبق — المكافئ على مستوى الإعداد المسبق لـ count / days الخاص بـ FrequencyCapping الخاص بـ Notify.
الحقلالنوعالوصف
notification_sent_urlstringعنوان URL للاستدعاء المطلوب عند إرسال إشعار يستخدم هذا الإعداد المسبق.
notification_delivered_urlstringعنوان URL للاستدعاء المطلوب عند تسليم إشعار يستخدم هذا الإعداد المسبق.
notification_click_urlstringعنوان URL للاستدعاء المطلوب عند النقر على إشعار يستخدم هذا الإعداد المسبق.

الحقول القديمة

Anchor link to

هذه الحقول موروثة من نموذج الإعداد المسبق v1. يتم ملؤها للتوافق مع لوحة التحكم بدلاً من التكاملات الجديدة.

الحقلالنوعالوصف
remote_pagestringمرجع صفحة بعيدة قديم.
wns_contentstringJSON قالب إشعار Windows القديم، كما هو مقبول بواسطة طرق createPreset/getPreset v1.
original_urlstringقيمة url قبل التقصير، عندما تم استبدال url برابط مختصر.
ios_silent / android_silent / baidu_android_silent / huawei_android_silentbooleanعلامات دفع صامتة (بيانات فقط) لكل منصة.

كائن PlatformProperties

Anchor link to

الحقول المتاحة في كل إدخال platform_properties (IOS، ANDROID، BAIDU_ANDROID، HUAWEI_ANDROID، OSX):

الحقلالنوعالوصف
badgestringتجاوز عدد الشارة.
soundstringاسم ملف الصوت.
sound_offbooleanكتم صوت الإشعار.
prioritystringأولوية في درج الإشعارات (Android/Baidu/Huawei فقط).
delivery_prioritystringأولوية التسليم NORMAL أو HIGH (Android/Baidu/Huawei فقط).
ios_interruption_levelstringpassive، active، time-sensitive، أو critical (iOS فقط).

ذات صلة

Anchor link to