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

واجهة برمجة تطبيقات التجزئة (الفلاتر)

createFilter

Anchor link to

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

تُنشئ فلترًا جديدًا.

نص الطلب

الاسممطلوبالنوعالوصف
auth*نعمstringرمز الوصول إلى API من لوحة تحكم Pushwoosh.
name*نعمstringاسم الفلتر.
filter_expression*نعمstring

تعبير تم إنشاؤه وفقًا لقواعد لغة التجزئة.
مثال: T(“City”, eq, “Madrid”) لتجزئة المستخدمين الذين مدينتهم هي مدريد.

applicationلاstringرمز تطبيق Pushwoosh. هذا المعامل قابل للاستخدام فقط مع الإعداد عالي السرعة؛ تجاهله في الحالات الأخرى.
expiration_dateلاstringانتهاء صلاحية الفلتر. سيتم حذف الفلتر تلقائيًا في تاريخ محدد، ما لم يتم استخدامه في إعداد مسبق أو موجز RSS.

200

{
"status_code": 200,
"status_message": "OK",
"response": {
"name": "filter name"
}
}

مثال

{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H",
"name": "City = Madrid",
"filter_expression": "T(\"City\", eq, \"Madrid\")",
"application": "B18XX-XXXXX",
"expiration_date": "2025-01-01"
}
}
// إنشاء فلاتر للمناطق الزمنية
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // رمز الوصول إلى API من لوحة تحكم Pushwoosh
"name": "Timezone Filter",
"filter_expression": "T(\"Timezone\", BETWEEN, [\"UTC-12:00\", \"UTC+14:00\"])"
}
}

listFilters

Anchor link to

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

تُرجع قائمة بالشرائح (الفلاتر) المتاحة مع شروطها.

نص الطلب

الاسممطلوبالنوعالوصف
auth*نعمstringرمز الوصول إلى API من لوحة تحكم Pushwoosh.
application*نعمstringرمز تطبيق Pushwoosh

200

{
"status_code": 200,
"status_message": "OK",
"response": {
"filters": [{
"code": "52551-F2F42",
"name": "City = Madrid",
"filter_expression": "T(\"City\", eq, \"madrid\")",
"expiration_date": "2025-01-01",
"application": "B18XX-XXXXX"
}]
}
}

مثال

{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H",
"application": "B18XX-XXXXX"
}
}

deleteFilter

Anchor link to

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

تحذف فلترًا موجودًا.

نص الطلب

الاسمالنوعالوصف
auth*stringرمز الوصول إلى API من لوحة تحكم Pushwoosh.
name*stringاسم الفلتر.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // رمز الوصول إلى API من لوحة تحكم Pushwoosh
"name": "filter name"
}
}

exportSegment

Anchor link to

POST https://api.pushwoosh.com/api/v2/audience/exportSegment

طلب مجدول. يُصدّر قائمة المشتركين الذين يندرجون تحت شروط الفلتر المحددة.

نص الطلب

الاسم
مطلوب
النوعالوصف
auth*نعمstringرمز الوصول إلى API من لوحة تحكم Pushwoosh.
filterExpression*نعمstringشروط الفلتر
exportDataلاarrayالبيانات المراد تصديرها. القيم الممكنة: "hwids", "push_tokens", "users", "tags", "location". إضافة "location" يضيف عمودي Latitude و Longitude إلى ملف CSV المُصدَّر. إذا تم حذف exportData، يتم تضمين Latitude و Longitude في التصدير افتراضيًا.
filterCodeلاstringرمز الفلتر مُعد مسبقًا، يمكن استخدامه بدلاً من filterExpression. يمكن الحصول عليه من واجهة برمجة التطبيقات /listFilters أو شريط عنوان متصفحك عند عرض الفلتر في لوحة التحكم.
applicationCodeمطلوب إذا كنت تستخدم filterExpression أو filterCode.stringرمز تطبيق Pushwoosh
generateExportلاbooleanافتراضيًا يتم تعيينه على true، وتحتوي الاستجابة على رابط لتنزيل الملف. إذا كان false، فسيتم إرسال عدد الأجهزة فقط في الاستجابة.
formatلاstringيحدد تنسيق الملف المُصدَّر: “csv” أو “json_each_line”. إذا تم حذفه، يتم إنشاء ملف CSV.
tagsListلاarrayيحدد العلامات (Tags) المراد تصديرها. للحصول على علامات محددة فقط، يجب أن تحتوي مصفوفة “exportData” على القيمة “tags”.
includeWithoutTokensلاbooleanاضبطه على true لتضمين المستخدمين الذين ليس لديهم رموز إشعارات في الملف المُصدَّر. القيمة الافتراضية هي false.
{
"task_id": "177458"
}
مثال
{
"auth": "yxoPUlwqm…………pIyEX4H", // مطلوب. رمز الوصول إلى API من لوحة تحكم Pushwoosh
"filterExpression": "AT(\"12345-67890\", \"Name\", any)", // شروط الفلتر، ارجع إلى دليل لغة التجزئة للصيغة
"filterCode": "12345-67890", // رمز الفلتر المُعد مسبقًا، يمكن استخدامه بدلاً من filterExpression
"applicationCode": "00000-AAAAA", // مطلوب إذا كنت تستخدم `filterExpression` أو `filterCode`. رمز تطبيق Pushwoosh. يمكن الحصول عليه من طلب API /listFilters أو شريط عنوان متصفحك أثناء عرض الفلتر في لوحة التحكم.
"generateExport": true, // إذا كان false، سيتم إرسال عدد الأجهزة فقط في الاستجابة؛ افتراضيًا، تحتوي الاستجابة على رابط لتنزيل ملف CSV
"format": "json_each_line", // تنسيق الملف لتقديم البيانات فيه: "csv" – يتم تنزيل ملف .csv؛ "json" – ملف JSON مع جميع الأجهزة المصدرة؛ أو "json_each_line" – سطر JSON لكل جهاز. إذا لم يتم تحديده، فإن CSV هو التنسيق الافتراضي.
"exportData": ["hwids", "tags"], // اختياري. البيانات المراد تصديرها. القيم الممكنة: "hwids", "push_tokens", "users", "tags", "location", "fcm_keys", "web keys"
"tagsList": ["Name", "Level"], // اختياري. يحدد العلامات المراد تصديرها. للحصول على العلامات المحددة فقط، يجب إرسال القيمة "tags" داخل مصفوفة "exportData" أو أن تكون "exportData" فارغة.
"includeWithoutTokens": true // اختياري. اضبطه على true لتضمين المستخدمين الذين ليس لديهم رموز إشعارات في الملف المُصدَّر. الافتراضي هو false.
}

على سبيل المثال، لتصدير جميع المشتركين في تطبيق معين، استخدم شروط الفلتر التالية:

{
"auth": "yxoPUlwqm…………pIyEX4H", // رمز الوصول إلى API من لوحة تحكم Pushwoosh
"filterExpression": "A(\"AAAAA-BBBBB\")", // تعبير الفلتر يشير إلى شريحة التطبيق
"applicationCode": "AAAAA-BBBBB" // رمز تطبيق Pushwoosh المطلوب
}

exportSegment results

Anchor link to

POST https://api.pushwoosh.com/api/v2/audience/exportSegment/result

يسترد الرابط إلى ملف CSV مع نتائج /exportSegment.

نص الطلب

الاسمالنوعالوصف
auth*Stringرمز الوصول إلى API من لوحة تحكم Pushwoosh.
task_id*Stringالمعرف الذي تم استلامه في استجابة /exportSegment الخاصة بك.
{
"devicesCount": "24735",
"csvFilename": "https://static.pushwoosh.com/segment-export/export_segment_XXXXX_XXXXX_xxxxxxxxxxxxxxxxx.csv.zip",
"status": "completed"
}

مرر “task_id” الذي تلقيته في استجابة /exportSegment في نص طلب /exportSegment/result.

في استجابة /exportSegment/result، ستتلقى المعامل “filename”. اتبع الرابط الموجود في قيمة هذا المعامل لتنزيل أرشيف ZIP تلقائيًا. قم بفك ضغط الأرشيف لاسترداد ملف CSV أو JSON (حسب “format” المحدد في طلبك) الذي يحتوي على بيانات الأجهزة.

بدءًا من 3 أبريل 2025، يلزم الحصول على إذن لتنزيل الملف:

  • إذا كنت تقوم بالتنزيل عبر متصفح، فما عليك سوى تسجيل الدخول إلى لوحة تحكم Pushwoosh للوصول.
  • إذا كنت تقوم بالتنزيل عبر برنامج خادم، فقم بتضمين الترويسة التالية في طلبك: Authorization: Token YOUR_API_TOKEN

إذا حددت “exportData” في طلب /exportSegment الخاص بك، فسيحتوي الملف الذي تم تنزيله على البيانات المطلوبة فقط. بشكل افتراضي، يحتوي الملف على بيانات المستخدم التالية:

الحقلالوصفمثال على القيمة
Hwidمعرف الجهاز (Hardware ID)01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8
User IDمعرف المستخدم (User ID) الذي يربط جهازًا بمستخدم معين. إذا لم يتم تعيين معرف مستخدم، يتم استخدام HWID.user8192
Push Tokenمعرف فريد يتم تعيينه لجهاز بواسطة بوابات الرسائل السحابية. اعرف المزيدeeeb2fd7…0fc3547
Typeنوع المنصة (عدد صحيح).1
Type (humanized)نوع المنصة (نص).iOS
Ageقيمة علامة العمر الافتراضية.29
ApplicationVersionقيمة علامة إصدار التطبيق الافتراضية.1.12.0.0
Cityقيمة علامة المدينة الافتراضية.us, boston
TagNameقيمة علامة تم إنشاؤها في حسابك.TagValue