# API des Préréglages

## createPreset

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

Crée un nouveau préréglage.

#### Corps de la requête

| Nom                                                      | Type    | Description                                                                                                                                        |
| -------------------------------------------------------- | ------- |----------------------------------------------------------------------------------------------------------------------------------------------------|
| auth\*                   | string  | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) du Panneau de Contrôle Pushwoosh.                                                                                                     |
| name\*                   | string  | Nom du préréglage.                                                                                                                                       |
| applicationCode\*        | string  | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code)                                                                                                                      |
| campaignCode                                             | string  | [Code d'une campagne](/fr/developer/api-reference/api-identifiers/#campaign-code) à laquelle vous souhaitez assigner ce préréglage.                                                                                        |
| content\*                | object  | Paramètres du contenu du message.                                                                                                                        |
| content.message\*        | string  | Chaîne de caractères ou tableau. Contenu des messages. S'il s'agit d'une chaîne de caractères, la langue "Par défaut" sera utilisée.                                                     |
| content.action                                           | object  | Paramètres d'action personnalisée. Voir l'exemple ci-dessous.                                                                                                   |
| content.userData                                         | array   | Données utilisateur personnalisées. Sera passé comme paramètre "u" dans le payload (converti en chaîne JSON).                                                       |
| content.properties                                       | array   | Contenu spécifique pour différentes plateformes. Voir l'exemple ci-dessous.                                                                                   |
| scheduling.sendRate                                      | integer | Limitation du débit (throttling). Les valeurs valides sont de 100 à 1000 pushes/seconde.                                                                                       |
| segmentation                                             | object  | Paramètres de segmentation                                                                                                                            |
| segmentation.filter                                      | string  | [Nom du segment (filtre)](/fr/developer/api-reference/api-identifiers/#segment--filter-name)                                                                                                                                        |
| segmentation.platforms\* | array   | Tableau d'entiers. La liste des identifiants de plateformes. 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="Exemple"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",        // requis. Jeton d'accès API du Panneau de Contrôle Pushwoosh.
    "name": "PRESET_NAME",                 // requis.
    "applicationCode": "XXXXX-XXXXX",      // requis. Code d'application Pushwoosh.
    "applicationGroupCode": "AAAAA-BBBBB", // optionnel. Peut être utilisé à la place de "applicationCode".
    "campaignCode": "CCCCC-DDDDD",         // optionnel. Code de campagne.
    "content": {                           // requis. Contient les données du message.
      "message": {                         // requis. chaîne ou objet. Contenu du message. S'il s'agit
        "en": "English message",           //           d'une chaîne, la langue par défaut sera utilisée.
        "fr": "French message"             //           Contenu du message localisé pour différentes langues.
      },                                   //           Uniquement ISO 639-1:2002 pour les codes de langue.
      "title": {                           // optionnel. chaîne ou objet. Pour le multilingue, définissez le titre
        "en": "English title",             //           pour chaque langue dans l'objet. Ignoré si 
        "fr": "French title"               //           des titres spécifiques à la plateforme sont spécifiés (par ex., 
      },                                   //           'ios_title', 'android_header', etc. ; voir les 
                                           //           exemples de paramètres spécifiques à la plateforme dans
                                           //           l'API /createMessage).
      "subtitle": {                        // optionnel. chaîne ou objet. Pour le multilingue, définissez le titre
        "en": "English subtitle",          //           pour chaque langue dans l'objet. Ignoré si 
        "fr": "French subtitle"            //           des sous-titres spécifiques à la plateforme sont spécifiés (par ex.,
      },                                   //           'ios_subtitle', etc. ; voir les exemples de paramètres
                                           //           spécifiques à la plateforme dans l'API /createMessage).
      "action": {                          // optionnel. Action à effectuer une fois qu'un utilisateur ouvre un message. 
        "type": "url",                     // optionnel. Type d'action. Types disponibles : "url", "deepLink",
                                           //            "richMedia", "openApp" (par défaut).
        "options": {                       // optionnel. Options pour les types d'action. Requis pour tous les types
                                           //           d'action sauf "openApp".
          "url": "https://example.com",    // requis pour le type d'action "url", chaîne. Sera raccourci
                                           //           si un raccourcisseur est défini.
          "shortener": 2,                  // optionnel. Valeurs disponibles : 0 - ne pas minimiser, 2 - bit.ly.
                                           //           Si aucun raccourcisseur n'est spécifié, le raccourcisseur bit.ly
                                           //           sera utilisé par défaut.  
          "richMediaCode": "BBBBB-AAAAA",  // requis pour le type d'action "richMedia", chaîne.
                                           //           Code Rich Media du Panneau de Contrôle Pushwoosh.
          "id": 123,                       // requis pour le type d'action "deepLink", entier. ID du Deep Link. 
          "params": {                      // optionnel, paramètres personnalisés, requis pour le type d'action "deepLink", tableau.
            "param1": "value1",
            "param2": "value2"
          }
        }
      },
      "userData": {                        // optionnel. Données utilisateur personnalisées. Sera passé comme paramètre "u"
        "CustomData": "value"              //           dans le payload (converti en chaîne 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": {            // optionnel. Options de planification.
      "sendRate": 1000         // optionnel. Limitation du débit. Les valeurs valides sont de 100 à 1000 pushes/seconde.
    },
    "segmentation": {          // requis. Options de segmentation.
      "filter": "FILTER NAME", // optionnel. Nom du filtre depuis votre Panneau de Contrôle Pushwoosh.
      "platforms": [1, 3]      // requis. La liste des ID de plateformes : 1 — iOS ; 3 — Android ;
                               //           7 — Mac OS X ; 8 — Windows ; 9 — Amazon ; 10 — Safari ;
                               //           11 — Chrome ; 12 — Firefox ;
    }
  }
}
```

<Aside type="note">
Pour les paramètres spécifiques à la plateforme, veuillez vous référer à [`/createMessage`](/fr/developer/api-reference/messages-api/#createmessage).
</Aside>

## getPreset

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

Récupère les paramètres du préréglage de push spécifique.

#### Corps de la requête

| Nom                                           | Type   | Description                                    |
| ---------------------------------------------- | ------ | ---------------------------------------------- |
| auth\*         | string | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) du Panneau de Contrôle Pushwoosh. |
| preset\_code\* | string | [Code de préréglage](/fr/developer/api-reference/api-identifiers/#preset-code) de push pour lequel récupérer des informations.  |

<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="Exemple"
{
  "request":{
    "auth": "yxoPUlwqm…………pIyEX4H", // requis. Jeton d'accès API du Panneau de Contrôle Pushwoosh
    "preset_code": "AAAAA-BBBBB"    // requis. Code de préréglage de push pour lequel récupérer des informations
  }
}
```

## listPresets

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

Récupère la liste des préréglages créés pour l'application.

#### Corps de la requête

| Nom                                          | Type   | Description                                    |
| --------------------------------------------- | ------ | ---------------------------------------------- |
| auth\*        | string | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) du Panneau de Contrôle Pushwoosh. |
| application\* | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code)                           |

<Tabs>
<TabItem label="Aucun préréglage">
```json
{
  "status_code": 200, 
  "status_message": "OK", 
  "response": {
    "presets": []
  }
}
```
</TabItem>

<TabItem label="Liste des préréglages">
```json
{
  "status_code": 200, 
  "status_message": "OK", 
  "response": {
    "presets": [{
      "name": "test",
      "code": "AAAAA-BBBBB"
    }]
  }
}
```
</TabItem>
</Tabs>


```json
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H",  // requis. Jeton d'accès API du Panneau de Contrôle Pushwoosh
    "application": "XXXXX-XXXXX"     // requis. Code d'application Pushwoosh
  }
}
```

## deletePreset

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

Supprime un préréglage de votre compte.

#### Corps de la requête

| Nom                                           | Type   | Description                                                                      |
| ---------------------------------------------- | ------ | -------------------------------------------------------------------------------- |
| auth\*         | string | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) du Panneau de Contrôle Pushwoosh.                                   |
| preset\_code\* | string | [Code de préréglage](/fr/developer/api-reference/api-identifiers/#preset-code) récupéré depuis le Panneau de Contrôle Pushwoosh ou la réponse de l'API `/listPresets`. |

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

```json title="Exemple"
{
  "request": {
    "auth": "yxoPUlwqm…………pIyEX4H", // requis. Jeton d'accès API du Panneau de Contrôle Pushwoosh
    "preset_code": "AAAAA-BBBBB"    // requis. Code d'un préréglage à supprimer 
  } 
}
```