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

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

registerDevice

Anchor link to

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

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

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز (API Device Token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل 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", // required. Pushwoosh application code
"push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // optional.
"hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C", // required. Hardware device ID
"idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239", // optional.
"timezone": 3600, // optional. Offset in seconds
"device_type": 1, // required. See the possible values below. For emails,
// use the "emails" params as described below.
"email": "email_address@domain.com", // use instead of "hwid" and "push_token" to register
// the email address for your email project
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional.
"tags": { // optional. Tag values to set for the device registered
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time should be in UTC
"BooleanTag": true // valid values are: true, false
},
// system tags, optionals
"app_version": "1.2.3",
"device_model": "Samsung SM-G355H",
"os_version": "2.3",
// optional encryption keys for chrome/firefox
"public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
// optional FCM keys for Chrome (for 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 – البريد الإلكتروني (Email)
  • 17 – Huawei
  • 18 – الرسائل القصيرة (SMS)
  • 21 – واتساب (WhatsApp)

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

Anchor link to

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

مثال على الطلب
Anchor link to
{
"request":{
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"email": "email_address@domain.com", // required. Email address to register for your email project
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional.
"tags": { // optional. Tag values to set for the device registered
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time should be in UTC
"BooleanTag": true // valid values are: true, false
}
}
}

تسجيل أجهزة واتساب

Anchor link to

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

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

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

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

مثال على الطلب
Anchor link to
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "whatsapp:+0000000000", // required. WhatsApp prefix and valid phone number
"timezone": 3600, // optional. Time offset in seconds
"device_type": 21, // required. WhatsApp device type is 21
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional. User identifier
"tags": { // optional. Tag values for custom segmentation
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // UTC format
"BooleanTag": true
},
"app_version": "1.2.3", // optional. Application version
"device_model": "Samsung SM-G355H", // optional. Device model
"os_version": "2.3" // optional. Operating system version
}
}

تسجيل أجهزة الرسائل القصيرة (SMS)

Anchor link to

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

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

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

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

مثال على الطلب
Anchor link to
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "+0000000000", // required. Valid phone number in E.164 format
"timezone": 3600, // optional. Time offset in seconds
"device_type": 18, // required. SMS device type is 18
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional. User identifier
"tags": { // optional. Tag values for custom segmentation
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // UTC format
"BooleanTag": true
},
"app_version": "1.2.3", // optional. Application version
"device_model": "Samsung SM-G355H", // optional. Device model
"os_version": "2.3" // optional. Operating system version
}
}

رموز الحالة:

رمز حالة 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رمز واجهة برمجة تطبيقات الجهاز (API Device Token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرف جهاز الهاردوير (Hardware device ID) المستخدم في طلب /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2" // required. Hardware device ID used in /registerDevice API
}
}

رموز الحالة:

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

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

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

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز (API Device Token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرف جهاز الهاردوير (Hardware device ID) المستخدم في طلب /registerDevice.
tags*objectكائن JSON للعلامات المراد تعيينها، أرسل “null” لإزالة القيمة.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request":{
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // required. Hardware device ID used in /registerDevice API
"tags": { // required.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time is in UTC
"BooleanTag": true // valid values are - true, false
}
}
}

زيادة قيم علامة العدد الصحيح (Integer)

Anchor link to

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

{
"request":{
"application": "12345-67890", // required. Pushwoosh application code
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. hardware device ID used in /registerDevice API
"tags": { // required.
"Level": { // Tag name
"operation": "increment", // overwrites the integer tag in increments of the following value
"value": 1 // increment for the tag value
}
}
}
}

إنقاص قيم علامة العدد الصحيح (Integer)

Anchor link to

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

{
"request":{
"application": "12345-67890", // required. Pushwoosh application code
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. Hardware device ID used in /registerDevice API
"tags": { // required
"Level": { // Tag name
"operation": "increment", // overwrites the integer tag in decrement of the following value
"value": -1 // decrement for the tag value
}
}
}
}

إلحاق قيم علامة القائمة (List)

Anchor link to

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

مثال
{
"request": {
"hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // required. Hardware device ID used in /registerDevice API
"application": "6XXXX-XXXX3", // required. Pushwoosh application code
"tags": { // required.
"ListTag": { // Tag name
"operation": "append", // appends following values to the Tag's list of values
"value": [ // values to append
"tag2",
"tag3"
]
}
}
}
}

إزالة قيم علامة القائمة (List)

Anchor link to

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

{
"request":{
"application": "12345-67890", // required. Pushwoosh application code
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. Hardware device ID used in /registerDevice API
"tags": { // required.
"In-App Product": { // Tag name
"operation": "remove", // removes the following values from the list tag
"value": "outwear_02" // value or values to remove
}
}
}
}

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

Anchor link to

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

مثال
{
"request":{
"application": "AAAAA-BBBBB", // Pushwoosh app code
"userId": "some_user", // user ID you'd like to set tags for
"tags": { // tags and values to set
"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رمز واجهة برمجة تطبيقات الجهاز (API Device Token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
userIdstringمعرف المستخدم (User ID) ليتم استخدامه بدلاً من “hwid”. إذا تم استخدامه مع “hwid”، فإن “hwid” يسود.
hwidstringمعرف جهاز الهاردوير (Hardware device ID) المستخدم في طلب /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": {
"Language": "fr"
}
}
}
مثال
{
"request":{
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "HWID", // optional. Hardware device ID used in /registerDevice API
"userId": "USER_ID" // optional. Can be used instead of "hwid" to retrieve tags for a specific user
}
}

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

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

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز (API Device Token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرف جهاز الهاردوير (Hardware device ID) المستخدم في طلب /registerDevice.
badge*integerالشارة الحالية على التطبيق.
{
"status_code": 200,
"status_message": "OK"
}
مثال
{
"request":{
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // required. Hardware device ID used in /registerDevice API
"badge": 4 // required. Current badge on the application
}
}

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

applicationOpen

Anchor link to

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

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

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

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

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

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز (API Device Token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرف جهاز الهاردوير (Hardware device ID) المستخدم في طلب /registerDevice.
userIdstringمعرف المستخدم (User ID) لربطه بحدث فتح إشعار الدفع.
hashstringعلامة التجزئة (Hash tag) المستلمة في إشعار الدفع (المعلمة “p” في حمولة الدفع).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // required. Hardware device ID used in /registerDevice API
"userId": "USER012345", // optional. The user id to associate with the push open event
"hash": "HASH_TAG" // optional. Hash tag received in push notification
// ("p" parameter in the push payload)
}
}

messageDeliveryEvent

Anchor link to

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

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

ترويسات الطلب
Anchor link to
الاسممطلوبالقيمةالوصف
AuthorizationنعمToken XXXXرمز واجهة برمجة تطبيقات الجهاز (API Device Token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل XXXX برمز واجهة برمجة تطبيقات الجهاز الفعلي الخاص بك.
نص الطلب
Anchor link to
الاسمالنوعالوصف
application*stringرمز تطبيق Pushwoosh
hwid*stringمعرف جهاز الهاردوير (Hardware device ID) المستخدم في طلب /registerDevice.
hashstringعلامة التجزئة (Hash tag) المستلمة في إشعار الدفع (المعلمة “p” في حمولة الدفع).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
مثال
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // required. Hardware device ID used in /registerDevice API
"hash": "HASH_TAG" // optional. Hash tag received in push notification
// ("p" parameter in the push payload)
}
}