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

## createPreset

`POST` `https://api.pushwoosh.com/json/1.3/createPreset`

ينشئ إعدادًا مسبقًا جديدًا.

#### نص الطلب

| الاسم | النوع | الوصف |
| -------------------------------------------------------- | ------- |----------------------------------------------------------------------------------------------------------------------------------------------------|
| auth\* | string | [رمز الوصول إلى واجهة برمجة التطبيقات (API access token)](/ar/developer/api-reference/api-identifiers/#api-access-token) من لوحة تحكم Pushwoosh. |
| name\* | string | اسم الإعداد المسبق. |
| applicationCode\* | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| campaignCode | string | [رمز الحملة](/ar/developer/api-reference/api-identifiers/#campaign-code) التي تريد تعيين هذا الإعداد المسبق لها. |
| content\* | object | معلمات محتوى الرسالة. |
| content.message\* | string | سلسلة نصية أو مصفوفة. محتوى الرسائل. في حال كانت سلسلة نصية، سيتم استخدام اللغة "الافتراضية". |
| content.action | object | معلمات الإجراء المخصص. انظر المثال أدناه. |
| content.userData | array | بيانات المستخدم المخصصة. سيتم تمريرها كمعلمة "u" في الحمولة (محولة إلى سلسلة JSON). |
| content.properties | array | محتوى محدد لمنصات مختلفة. انظر المثال أدناه. |
| scheduling.sendRate | integer | التحكم في معدل الإرسال. القيم الصالحة هي من 100 إلى 1000 إشعار دفع/ثانية. |
| segmentation | object | معلمات التجزئة |
| segmentation.filter | string | [اسم الشريحة (الفلتر)](/ar/developer/api-reference/api-identifiers/#segment--filter-name) |
| segmentation.platforms\* | array | مصفوفة من الأعداد الصحيحة. قائمة بمعرفات المنصات. 1 - iOS، 3 - Android، 7 - Mac OS X، 8 - Windows، 9 - Amazon، 10 - Safari، 11 - Chrome، 12 - Firefox. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK"
}
```
</TabItem>
</Tabs>

```json title="مثال"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",        // مطلوب. رمز الوصول إلى واجهة برمجة التطبيقات من لوحة تحكم Pushwoosh.
    "name": "PRESET_NAME",                 // مطلوب.
    "applicationCode": "XXXXX-XXXXX",      // مطلوب. رمز تطبيق Pushwoosh.
    "applicationGroupCode": "AAAAA-BBBBB", // اختياري. يمكن استخدامه بدلاً من "applicationCode".
    "campaignCode": "CCCCC-DDDDD",         // اختياري. رمز الحملة.
    "content": {                           // مطلوب. يحتوي على بيانات الرسالة.
      "message": {                         // مطلوب. سلسلة نصية أو كائن. محتوى الرسالة. في حال كان
        "en": "English message",           //           سلسلة نصية، سيتم استخدام اللغة الافتراضية.
        "fr": "French message"             //           محتوى الرسالة مترجم للغات مختلفة.
      },                                   //           فقط ISO 639-1:2002 لرموز اللغات.
      "title": {                           // اختياري. سلسلة نصية أو كائن. للغات المتعددة، قم بتعيين عنوان
        "en": "English title",             //           لكل لغة في الكائن. يتم تجاهله إذا
        "fr": "French title"               //           تم تحديد عناوين خاصة بالمنصة (على سبيل المثال،
      },                                   //           'ios_title'، 'android_header'، إلخ؛ انظر
                                           //           أمثلة المعلمات الخاصة بالمنصة في
                                           //           واجهة برمجة التطبيقات /createMessage).
      "subtitle": {                        // اختياري. سلسلة نصية أو كائن. للغات المتعددة، قم بتعيين عنوان
        "en": "English subtitle",          //           لكل لغة في الكائن. يتم تجاهله إذا
        "fr": "French subtitle"            //           تم تحديد عناوين فرعية خاصة بالمنصة (على سبيل المثال،
      },                                   //           'ios_subtitle'، إلخ؛ انظر المعلمات الخاصة
                                           //           بالمنصة في واجهة برمجة التطبيقات /createMessage).
      "action": {                          // اختياري. الإجراء الذي سيتم تنفيذه بمجرد أن يفتح المستخدم رسالة.
        "type": "url",                     // اختياري. نوع الإجراء. الأنواع المتاحة: "url"، "deepLink"،
                                           //            "richMedia"، "openApp" (افتراضي).
        "options": {                       // اختياري. خيارات لأنواع الإجراءات. مطلوب لجميع أنواع الإجراءات
                                           //           باستثناء "openApp".
          "url": "https://example.com",    // مطلوب لنوع الإجراء "url"، سلسلة نصية. سيتم تقصيره
                                           //           إذا تم تحديد أداة تقصير.
          "shortener": 2,                  // اختياري. القيم المتاحة: 0 - لا تقصر، 2 - bit.ly.
                                           //           إذا لم يتم تحديد أداة تقصير، سيتم استخدام أداة تقصير bit.ly
                                           //           بشكل افتراضي.
          "richMediaCode": "BBBBB-AAAAA",  // مطلوب لنوع الإجراء "richMedia"، سلسلة نصية.
                                           //           رمز Rich Media من لوحة تحكم Pushwoosh.
          "id": 123,                       // مطلوب لنوع الإجراء "deepLink"، عدد صحيح. معرف Deep Link.
          "params": {                      // اختياري، معلمات مخصصة، مطلوب لنوع الإجراء "deepLink"، مصفوفة.
            "param1": "value1",
            "param2": "value2"
          }
        }
      },
      "userData": {                        // اختياري. بيانات المستخدم المخصصة. سيتم تمريرها كـ "u"
        "CustomData": "value"              //           معلمة في الحمولة (محولة إلى سلسلة JSON).
      },
      "platforms": {
        "ios": {
          "sound": "default",
          "silent": 1,
          "ttl": 604800,
          "rootParams": {
            "rule_id": "12345",
            "screen_id": "34567"
          },
          "interruptionLevel": "active"
        },
        "android": {
          "rootParams": {
            "rule_id": "12345",
            "screen_id": "34567"
          }
        }
      }
    },
    "scheduling": {            // اختياري. خيارات الجدولة.
      "sendRate": 1000         // اختياري. التحكم في معدل الإرسال. القيم الصالحة هي من 100 إلى 1000 إشعار دفع/ثانية.
    },
    "segmentation": {          // مطلوب. خيارات التجزئة.
      "filter": "FILTER NAME", // اختياري. اسم الفلتر من لوحة تحكم Pushwoosh.
      "platforms": [1, 3]      // مطلوب. قائمة بمعرفات المنصات: 1 — iOS؛ 3 — Android؛
                               //           7 — Mac OS X؛ 8 — Windows؛ 9 — Amazon؛ 10 — Safari؛
                               //           11 — Chrome؛ 12 — Firefox؛
    }
  }
}
```

<Aside type="note">
للحصول على المعلمات الخاصة بالمنصة، يرجى الرجوع إلى [`/createMessage`](/ar/developer/api-reference/messages-api/#createmessage).
</Aside>

## getPreset

`POST` `https://api.pushwoosh.com/json/1.3/getPreset`

يسترد معلمات الإعداد المسبق المحدد للدفع.

#### نص الطلب

| الاسم | النوع | الوصف |
| ---------------------------------------------- | ------ | ---------------------------------------------- |
| auth\* | string | [رمز الوصول إلى واجهة برمجة التطبيقات (API access token)](/ar/developer/api-reference/api-identifiers/#api-access-token) من لوحة تحكم Pushwoosh. |
| preset\_code\* | string | [رمز الإعداد المسبق](/ar/developer/api-reference/api-identifiers/#preset-code) للدفع لاسترداد المعلومات الخاصة به. |

<Tabs>
<TabItem label="200">
```json
{ 
  "status_code": 200,
  "status_message": "OK",
  "response": { 
    "preset": { 
      "code": "XXXXX-XXXXX",
      "name": "Full preset",
      "page_id": 26,
      "url": null,
      "content": { 
        "en": "Some message",
        "de": "Eine Nachricht"
      },
      "properties": { 
        "ignore_user_timezone": 1,
        "ios_badges": "5",
        "ios_sound": "default",
        "ios_ttl": "43200",
        "android_sound": "Sound1.wav",
        "android_custom_icon": "icon.png",
        "android_header": "android_header",
        "android_gcm_ttl": "43200",
        "wns_type": "toast",
        "wns_content": { 
          "template": "ToastImageAndText02",
          "lang-en": { 
            "headlinetext": "Title",
            "bodytext": "super text"
          },
          "languages": ["en", "zh", "it", "sv", "de", "fr", "pt", "nl", "es"],
          "lang-zh": { 
            "headlinetext": "",
            "bodytext": ""
          },
          "lang-it": { 
            "headlinetext": "",
            "bodytext": ""
          },
          "lang-sv": { 
            "headlinetext": "",
            "bodytext": ""
          },
          "lang-de": { 
            "headlinetext": "",
            "bodytext": ""
          },
          "lang-fr": { 
            "headlinetext": "",
            "bodytext": ""
          },
          "lang-pt": { 
            "headlinetext": "",
            "bodytext": ""
          },
          "lang-nl": { 
            "headlinetext": "",
            "bodytext": ""
          },
          "lang-es": { 
            "headlinetext": "",
            "bodytext": ""
          },
          "imagesource": "https:\/\/image.com\/jpg"
        },
        "adm_sound": "song",
        "adm_custom_icon": "i5.bmp",
        "adm_header": "Amazon Header",
        "adm_ttl": "7200",
        "safari_title": "Safari title",
        "safari_action": "OK",
        "safari_url_args": ["hello.com", ""],
        "safari_ttl": "43200",
        "userdata": "{\"custom\":\"data\"}",
        "created_via": "CP",
        "user_id": 2,
        "filter_code": "1"
      },
      "platforms": [1, 3, 7, 10, 11]
    }
  }
}
```
</TabItem>
</Tabs>

```json title="مثال"
{
  "request":{
    "auth": "yxoPUlwqm…………pIyEX4H", // مطلوب. رمز الوصول إلى واجهة برمجة التطبيقات من لوحة تحكم Pushwoosh
    "preset_code": "AAAAA-BBBBB"    // مطلوب. رمز الإعداد المسبق للدفع لاسترداد المعلومات الخاصة به
  }
}
```

## listPresets

`POST` `https://api.pushwoosh.com/json/1.3/listPresets`

يسترد قائمة الإعدادات المسبقة التي تم إنشاؤها للتطبيق.

#### نص الطلب

| الاسم | النوع | الوصف |
| --------------------------------------------- | ------ | ---------------------------------------------- |
| auth\* | string | [رمز الوصول إلى واجهة برمجة التطبيقات (API access token)](/ar/developer/api-reference/api-identifiers/#api-access-token) من لوحة تحكم Pushwoosh. |
| application\* | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |

<Tabs>
<TabItem label="لا توجد إعدادات مسبقة">
```json
{
  "status_code": 200, 
  "status_message": "OK", 
  "response": {
    "presets": []
  }
}
```
</TabItem>

<TabItem label="قائمة الإعدادات المسبقة">
```json
{
  "status_code": 200, 
  "status_message": "OK", 
  "response": {
    "presets": [{
      "name": "test",
      "code": "AAAAA-BBBBB"
    }]
  }
}
```
</TabItem>
</Tabs>


```json
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",  // مطلوب. رمز الوصول إلى واجهة برمجة التطبيقات من لوحة تحكم Pushwoosh
    "application": "XXXXX-XXXXX"     // مطلوب. رمز تطبيق Pushwoosh
  }
}
```

## deletePreset

`POST` `https://api.pushwoosh.com/json/1.3/deletePreset`

يحذف إعدادًا مسبقًا من حسابك.

#### نص الطلب

| الاسم | النوع | الوصف |
| ---------------------------------------------- | ------ | -------------------------------------------------------------------------------- |
| auth\* | string | [رمز الوصول إلى واجهة برمجة التطبيقات (API access token)](/ar/developer/api-reference/api-identifiers/#api-access-token) من لوحة تحكم Pushwoosh. |
| preset\_code\* | string | [رمز الإعداد المسبق](/ar/developer/api-reference/api-identifiers/#preset-code) الذي تم استرداده من لوحة تحكم Pushwoosh أو استجابة واجهة برمجة التطبيقات `/listPresets`. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

```json title="مثال"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H", // مطلوب. رمز الوصول إلى واجهة برمجة التطبيقات من لوحة تحكم Pushwoosh
    "preset_code": "AAAAA-BBBBB"    // مطلوب. رمز الإعداد المسبق المراد حذفه
  } 
}
```