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

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

registerDevice

Anchor link to

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

يتم استدعاؤها داخليًا من SDK. تسجل الجهاز للتطبيق.

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
push_tokenstringرمز الدفع (Push token) للجهاز.
languagestringلغة الجهاز. يجب أن يكون رمزًا من حرفين صغيرين وفقًا لمعيار ISO-639-1.
hwid*stringسلسلة فريدة لتعريف الجهاز (IDFV على iOS، قيمة يتم إنشاؤها عشوائيًا على Android). اعرف المزيد
timezoneintegerإزاحة المنطقة الزمنية بالثواني للجهاز.
device_type*integerنوع الجهاز. انظر القيم الممكنة أدناه.
emailstringعنوان البريد الإلكتروني للتسجيل (يستخدم لمستخدمي البريد الإلكتروني بدلاً من HWID ورمز الدفع).
tagsobjectقيم العلامات لتعيينها للجهاز المسجل.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // اختياري.
"hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C", // مطلوب. معرّف جهاز الهاردوير
"idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239", // اختياري.
"timezone": 3600, // اختياري. الإزاحة بالثواني
"device_type": 1, // مطلوب. انظر القيم الممكنة أدناه. بالنسبة للبريد الإلكتروني،
// استخدم معلمات "emails" كما هو موضح أدناه.
"email": "email_address@domain.com", // استخدم بدلاً من "hwid" و "push_token" لتسجيل
// عنوان البريد الإلكتروني لمشروع البريد الإلكتروني الخاص بك
"language": "en", // اختياري. رمز لغة ISO 639-1|639-2
"userId": "Alex", // اختياري.
"tags": { // اختياري. قيم العلامات لتعيينها للجهاز المسجل
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // يضبط قائمة القيم للعلامات من نوع القائمة
"DateTag": "2024-10-02 22:11", // لاحظ أن الوقت يجب أن يكون بتوقيت UTC
"BooleanTag": true // القيم الصالحة هي: true, false
},
// علامات النظام، اختيارية
"app_version": "1.2.3",
"device_model": "Samsung SM-G355H",
"os_version": "2.3",
// مفاتيح تشفير اختيارية لـ chrome/firefox
"public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
// مفاتيح FCM اختيارية لـ Chrome (لـ XMPP)
"fcm_token": "BNmDO4BTKEMJXXXXXprTf7t/XXXXXBQ/orXXXXXc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"fcm_push_set": "RlXXXXXGM/s7XXXXXjKFzoQ=="
}
}

أنواع الأجهزة الممكنة:

  • 1 – iOS
  • 3 – Android
  • 7 – Mac OS X
  • 8 – Windows
  • 9 – Amazon
  • 10 – Safari
  • 11 – Chrome
  • 12 – Firefox
  • 14 – البريد الإلكتروني
  • 17 – Huawei
  • 18 – SMS
  • 21 – WhatsApp

تسجيل أجهزة البريد الإلكتروني

Anchor link to

لتسجيل مشترك بريد إلكتروني لتطبيقك، أرسل المعلمة "email": "email_address@domain.com" في طلب /registerDevice أو /registerEmail الخاص بك كما يلي:

مثال على الطلب
Anchor link to
{
"request":{
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"email": "email_address@domain.com", // مطلوب. عنوان البريد الإلكتروني للتسجيل في مشروع البريد الإلكتروني الخاص بك
"language": "en", // اختياري. رمز لغة ISO 639-1|639-2
"userId": "Alex", // اختياري.
"tags": { // اختياري. قيم العلامات لتعيينها للجهاز المسجل
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // يضبط قائمة القيم للعلامات من نوع القائمة
"DateTag": "2024-10-02 22:11", // لاحظ أن الوقت يجب أن يكون بتوقيت UTC
"BooleanTag": true // القيم الصالحة هي: true, false
}
}
}

تسجيل أجهزة WhatsApp

Anchor link to

لتسجيل جهاز WhatsApp لتطبيقك، اتبع هذه الإرشادات:

  • hwid: تأكد من أن هذا الحقل يتضمن البادئة whatsapp: متبوعة برقم الهاتف بتنسيق E.164 (على سبيل المثال، whatsapp:+0000000000). يجب أن يكون رقم الهاتف صالحًا، وهو ما سيتحقق منه Pushwoosh.

  • Push token: رمز الدفع غير مطلوب، حيث سيعمل hwid تلقائيًا كرمز دفع.

  • device_type: اضبط هذا الحقل على 21 لتحديد WhatsApp كمنصة.

مثال على الطلب
Anchor link to
{
"request": {
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "whatsapp:+0000000000", // مطلوب. بادئة WhatsApp ورقم هاتف صالح
"timezone": 3600, // اختياري. إزاحة الوقت بالثواني
"device_type": 21, // مطلوب. نوع جهاز WhatsApp هو 21
"language": "en", // اختياري. رمز لغة ISO 639-1|639-2
"userId": "Alex", // اختياري. معرّف المستخدم
"tags": { // اختياري. قيم العلامات للتقسيم المخصص
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // تنسيق UTC
"BooleanTag": true
},
"app_version": "1.2.3", // اختياري. إصدار التطبيق
"device_model": "Samsung SM-G355H", // اختياري. طراز الجهاز
"os_version": "2.3" // اختياري. إصدار نظام التشغيل
}
}

تسجيل أجهزة SMS

Anchor link to

لتسجيل جهاز SMS لتطبيقك، اتبع هذه الإرشادات:

  • hwid: تأكد من أن هذا الحقل يتضمن رقم الهاتف بتنسيق E.164 (على سبيل المثال، +0000000000). يجب أن يكون رقم الهاتف صالحًا، وهو ما سيتحقق منه Pushwoosh.

  • Push token: رمز الدفع غير مطلوب، حيث سيعمل hwid تلقائيًا كرمز دفع.

  • device_type: اضبط هذا الحقل المطلوب على 18 لتحديد SMS كمنصة.

مثال على الطلب
Anchor link to
{
"request": {
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "+0000000000", // مطلوب. رقم هاتف صالح بتنسيق E.164
"timezone": 3600, // اختياري. إزاحة الوقت بالثواني
"device_type": 18, // مطلوب. نوع جهاز SMS هو 18
"language": "en", // اختياري. رمز لغة ISO 639-1|639-2
"userId": "Alex", // اختياري. معرّف المستخدم
"tags": { // اختياري. قيم العلامات للتقسيم المخصص
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // تنسيق UTC
"BooleanTag": true
},
"app_version": "1.2.3", // اختياري. إصدار التطبيق
"device_model": "Samsung SM-G355H", // اختياري. طراز الجهاز
"os_version": "2.3" // اختياري. إصدار نظام التشغيل
}
}

رموز الحالة:

رمز حالة HTTPstatus_codeالوصف
200200تم تسجيل الجهاز بنجاح
200210خطأ في الوسيط. انظر status_message لمزيد من المعلومات.
400N/Aسلسلة طلب غير صالحة
500500خطأ داخلي

unregisterDevice

Anchor link to

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

يزيل رمز الدفع الخاص بالجهاز. لا يزال الجهاز غير المسجل يُحتسب في إجمالي الأجهزة ويمكن الوصول إليه باستخدام In-Apps. يتم استدعاؤها داخليًا من SDK.

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرّف جهاز الهاردوير المستخدم في طلب /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2" // مطلوب. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
}
}

رموز الحالة:

رمز حالة HTTPstatus_codeالوصف
200200تم إلغاء اشتراك الجهاز بنجاح
200210خطأ في الوسيط. انظر status_message لمزيد من المعلومات.
400N/Aسلسلة طلب غير صالحة
500500خطأ داخلي

deleteDevice

Anchor link to

POST https://api.pushwoosh.com/api/v2/device-api/deleteDevice

يحذف جهازًا وجميع بياناته المرتبطة به المحددة بواسطة HWID المحدد داخل التطبيق. على عكس /unregisterDevice، الذي يزيل فقط رمز الدفع ويحتفظ بسجل الجهاز، فإن /deleteDevice يزيل الجهاز بالكامل. تتم معالجة الطلب بشكل غير متزامن، وتعيد نقطة النهاية 200 OK بمجرد قبول طلب الحذف للمعالجة.

ترويسات الطلب

Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
Content-Typeنعمapplication/json

نص الطلب

Anchor link to
الاسممطلوبالنوعالوصف
applicationنعمstringرمز تطبيق Pushwoosh
hwidنعمstringمعرّف جهاز الهاردوير للجهاز المراد حذفه.

مثال على الطلب

Anchor link to
{
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "8f65b16df378e7a6bece9614e1530fb2" // مطلوب. معرّف جهاز الهاردوير للجهاز المراد حذفه
}

مثال على الاستجابة

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": null
}
رموز الحالة
Anchor link to
رمز حالة HTTPstatus_codeالوصف
200200تم قبول طلب الحذف
200210خطأ في الوسيط. انظر status_message لمزيد من المعلومات.
400N/Aسلسلة طلب غير صالحة
401N/Aرمز Authorization مفقود أو غير صالح
500500خطأ داخلي

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

يضبط قيم العلامات للجهاز. يتم استدعاؤها من SDK.

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرّف جهاز الهاردوير المستخدم في طلب /registerDevice.
tags*objectكائن JSON للعلامات المراد تعيينها، أرسل “null” لإزالة القيمة.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request":{
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // مطلوب. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
"tags": { // مطلوب.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // يضبط قائمة القيم للعلامات من نوع القائمة
"DateTag": "2024-10-02 22:11", // لاحظ أن الوقت بتوقيت UTC
"BooleanTag": true // القيم الصالحة هي - true, false
}
}
}

زيادة قيم علامة Integer

Anchor link to

لزيادة قيمة علامة Integer، استخدم المعلمة operation مع القيمة “increment” كما يلي:

{
"request":{
"application": "12345-67890", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // مطلوب. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
"tags": { // مطلوب.
"Level": { // اسم العلامة
"operation": "increment", // يستبدل علامة العدد الصحيح بزيادات القيمة التالية
"value": 1 // الزيادة لقيمة العلامة
}
}
}
}

إنقاص قيم علامة Integer

Anchor link to

لإنقاص القيمة، استخدم الأرقام السالبة كقيمة لعملية “increment” (-1, -2, -3,-n):

{
"request":{
"application": "12345-67890", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // مطلوب. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
"tags": { // مطلوب
"Level": { // اسم العلامة
"operation": "increment", // يستبدل علامة العدد الصحيح بإنقاص القيمة التالية
"value": -1 // الإنقاص لقيمة العلامة
}
}
}
}

إلحاق قيم علامة List

Anchor link to

لتوسيع علامة القائمة بقيم جديدة، استخدم المعلمة operation مع القيمة “append” كما يلي:

مثال
{
"request": {
"hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // مطلوب. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
"application": "6XXXX-XXXX3", // مطلوب. رمز تطبيق Pushwoosh
"tags": { // مطلوب.
"ListTag": { // اسم العلامة
"operation": "append", // يلحق القيم التالية بقائمة قيم العلامة
"value": [ // القيم المراد إلحاقها
"tag2",
"tag3"
]
}
}
}
}

إزالة قيم علامة List

Anchor link to

لإزالة بعض القيم من علامة القائمة، استخدم عملية “remove” كما يلي:

{
"request":{
"application": "12345-67890", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // مطلوب. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
"tags": { // مطلوب.
"In-App Product": { // اسم العلامة
"operation": "remove", // يزيل القيم التالية من علامة القائمة
"value": "outwear_02" // القيمة أو القيم المراد إزالتها
}
}
}
}

تعيين العلامات بواسطة UserID

Anchor link to

لتعيين علامات لجميع الأجهزة المرتبطة بـ User ID معين، استخدم المعلمة “userId” بدلاً من “hwid”.

مثال
{
"request":{
"application": "AAAAA-BBBBB", // رمز تطبيق Pushwoosh
"userId": "some_user", // معرّف المستخدم الذي ترغب في تعيين علامات له
"tags": { // العلامات والقيم المراد تعيينها
"Language": "es"
}
}
}

رموز الحالة:

رمز حالة HTTPstatus_codeالوصف
200200تم تعيين العلامات بنجاح
200210خطأ في الوسيط. انظر status_message لمزيد من المعلومات.
400N/Aسلسلة طلب غير صالحة
500500خطأ داخلي

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

يسترجع قائمة بالعلامات مع القيم المقابلة للجهاز المحدد.

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
userIdstringUser ID ليتم استخدامه بدلاً من “hwid”. إذا تم استخدامه مع “hwid”، فإن “hwid” يسود.
hwidstringمعرّف جهاز الهاردوير المستخدم في طلب /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": {
"Language": "fr"
}
}
}
مثال
{
"request":{
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "HWID", // اختياري. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
"userId": "USER_ID" // اختياري. يمكن استخدامه بدلاً من "hwid" لاسترداد العلامات لمستخدم معين
}
}

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

يرسل قيمة الشارة الحالية لجهاز إلى Pushwoosh. يتم استدعاؤها داخليًا من SDK.

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرّف جهاز الهاردوير المستخدم في طلب /registerDevice.
badge*integerالشارة الحالية على التطبيق.
{
"status_code": 200,
"status_message": "OK"
}
مثال
{
"request":{
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // مطلوب. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
"badge": 4 // مطلوب. الشارة الحالية على التطبيق
}
}

يتم استدعاؤها من SDK داخليًا. ترسل قيمة الشارة الحالية لجهاز إلى Pushwoosh. يحدث هذا داخليًا عندما يغير التطبيق قيمة الشارة على جهاز iOS. يسمح للشارات ذات الزيادة التلقائية بالعمل بشكل صحيح.

applicationOpen

Anchor link to

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

يسجل حدث فتح التطبيق. يتم استدعاؤها داخليًا من SDK.

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرّف جهاز الهاردوير المستخدم في طلب /registerDevice.
{
"status_code": 200,
"status_message": "OK"
}
مثال
{
"request": {
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // مطلوب. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
}
}

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

يسجل حدث فتح إشعار دفع. يتم استدعاؤها داخليًا من SDK.

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرّف جهاز الهاردوير المستخدم في طلب /registerDevice.
userIdstringUser ID لربطه بحدث فتح إشعار الدفع.
hashstringعلامة الهاش المستلمة في إشعار الدفع (معلمة “p” في حمولة الدفع).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // مطلوب. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
"userId": "USER012345", // اختياري. معرّف المستخدم لربطه بحدث فتح إشعار الدفع
"hash": "HASH_TAG" // اختياري. علامة الهاش المستلمة في إشعار الدفع
// (معلمة "p" في حمولة الدفع)
}
}

messageDeliveryEvent

Anchor link to

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

يسجل حدث تسليم إشعار الدفع للجهاز. يتم استدعاؤها داخليًا من SDK.

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرّف جهاز الهاردوير المستخدم في طلب /registerDevice.
hashstringعلامة الهاش المستلمة في إشعار الدفع (معلمة “p” في حمولة الدفع).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"application": "XXXXX-XXXXX", // مطلوب. رمز تطبيق Pushwoosh
"hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // مطلوب. معرّف جهاز الهاردوير المستخدم في واجهة برمجة تطبيقات /registerDevice
"hash": "HASH_TAG" // اختياري. علامة الهاش المستلمة في إشعار الدفع
// (معلمة "p" في حمولة الدفع)
}
}