# Paramètres de /createMessage

<Aside type="caution" title="Obsolète">
La méthode `/createMessage` est obsolète. Les nouvelles intégrations doivent utiliser la [Messaging API v2](/fr/developer/api-reference/messaging-api-v2/) — consultez le [guide de migration](/fr/developer/api-reference/messaging-api-v2/migration-from-v1/) pour une correspondance champ par champ des paramètres ci-dessous.
</Aside>

Vous trouverez ici les descriptions des paramètres de l'API [`/createMessage`](/fr/developer/api-reference/messages-api/#createmessage). 

- Les [paramètres obligatoires](#required-parameters) doivent être inclus pour envoyer avec succès une requête API `/createMessage` et diffuser une notification push à l'heure spécifiée.

- Les [paramètres optionnels](#optional-parameters) vous permettent de personnaliser les propriétés des notifications push.

<Aside type="note">
Si vous utilisez _/createMessage_ pour envoyer des SMS, veuillez vous référer aux [Paramètres pour l'envoi de SMS](/fr/developer/api-reference/sms/#createsmsmessage). Les autres paramètres ne seront pas transmis.
</Aside>

## Paramètres obligatoires

Les paramètres obligatoires doivent impérativement être utilisés dans les requêtes [`/createMessage`](/fr/developer/api-reference/messages-api/#createmessage). Sinon, la requête ne sera pas soumise.

### application

Code unique d'une application créée dans votre compte Pushwoosh. Le code de l'application se trouve dans le coin supérieur gauche du Panneau de Contrôle ou en réponse à une requête [`/createApplication`](/fr/developer/api-reference/applications/#createapplication). Le code de l'application est un ensemble de 10 caractères (lettres et chiffres) séparés par des tirets.

<img src="/messages-api-prerequisites-1.webp" alt="Code d'application Pushwoosh affiché dans le Panneau de Contrôle en haut à gauche"/>

Lors de la création d'une application via l'API, vous obtiendrez un code d'application en réponse à votre requête [`/createApplication`](/fr/developer/api-reference/applications/#createapplication).

Pour obtenir le code d'une application précédemment créée via l'API, appelez [`/getApplications`](/fr/developer/api-reference/applications/#getapplications). En réponse à la requête [`/getApplications`](/fr/developer/api-reference/applications/#getapplications), vous recevrez la liste de toutes les applications créées dans votre compte Pushwoosh avec leurs noms et leurs codes.

### auth

Jeton d'accès API depuis le Panneau de Contrôle Pushwoosh. Allez dans **Paramètres** → **Accès API** et copiez un jeton que vous souhaitez utiliser ou générez-en un nouveau.

<img src="/messages-api-prerequisites-2.webp" alt="Page des paramètres d'accès à l'API dans le Panneau de Contrôle Pushwoosh montrant les jetons d'accès à l'API"/>

Lors de la génération d'un jeton d'accès, spécifiez ses autorisations. Cochez les cases correspondant aux types d'activités pour lesquelles vous allez utiliser le jeton d'API. Vous pouvez créer des jetons d'API spécifiques à une application en cochant les cases des Applications.

<img src="/messages-api-prerequisites-3.webp" alt="Boîte de dialogue de génération de jeton d'API avec les autorisations et les cases à cocher des applications"/>

### content

La chaîne de caractères ou l'objet qui définit le contenu du message. Le paramètre « content » soumis avec une valeur de type chaîne de caractères enverra le même message à tous les destinataires.

```txt title="String"
"content": "Hello world!",
```

Les objets JSON sont utilisés pour spécifier le contenu en utilisant le [Contenu Dynamique](/fr/developer/guides/personalization/dynamic-content/), par exemple, pour les messages multilingues.

```txt title="Object"
"content": {
  "en": "Hello!",
  "es": "¡Hola!",
  "de": "Hallo!"
},
```

### notifications

Le tableau JSON des propriétés push. Doit inclure au moins les paramètres obligatoires `content` et `send_date`.

Paramètres optionnels à utiliser dans le tableau « notifications » :

* [campaign](#campaign)
* [capping_days](#capping_days)
* [capping_count](#capping_count)
* [conditions](#conditions)
* [data](#data)
* [devices](#devices)
* [dynamic_content](#dynamic_content)
* [filter](#filter)
* [ignore_user_timezone](#ignore_user_timezone)
* [inbox_date](#inbox_date)
* [inbox_image](#inbox_image)
* [link](#link)
* [minimize_link](#minimize_link)
* [message_type](#message_type)
* [platforms](#platforms)
* [preset](#preset)
* [rich_media](#rich_media)
* [send_rate](#send_rate)
* [timezone](#timezone)
* [template_bindings](#template_bindings)
* [transactionId](#transactionid)
* [users](#users)

### send_date

Date et heure auxquelles le message est envoyé. Peut être n'importe quelle date et heure formatée en AAAA-MM-JJ HH:mm ou 'now'. Si défini sur 'now', le message sera envoyé immédiatement après la soumission de la requête.

## Paramètres optionnels

### campaign

Le code d'une Campagne. Pour obtenir un code de Campagne, allez dans **Statistiques** → **Statistiques agrégées** et sélectionnez la Campagne que vous allez utiliser. Le code de la campagne sera visible à la fin de l'URL de la page au format `XXXXX-XXXXX`.

**Exemple :**

**URL :** `https://app.pushwoosh.com/applications/AAAAA-AAAAA/statistics/aggregated-message?campaignCode=XXXXX-XXXXX`

**Code de la campagne :** `XXXXX-XXXXX`

Pour obtenir une liste des Campagnes avec leurs codes, appelez [`/getCampaigns`](/fr/developer/api-reference/campaigns/#getcampaigns). En réponse à la requête `/getCampaigns`, vous recevrez la liste de toutes les Campagnes créées pour une application particulière dans votre compte Pushwoosh, avec leurs codes, noms et descriptions.

### capping_days

Période à appliquer pour le plafonnement de la fréquence, en jours (max 30 jours). Voir [Plafonnement de la fréquence](/fr/product/messaging-channels/global-frequency-capping/) pour plus de détails.

Le plafonnement de la fréquence n'est pas appliqué aux messages avec `message_type: transactional`. Dans tous les autres cas, le plafonnement de la fréquence est appliqué, y compris pour les requêtes où `message_type` est omis.

### capping_count

Le nombre maximum de pushes pouvant être envoyés d'une application spécifique à un appareil particulier pendant une période « capping_days ». Si le message créé dépasse la limite « capping_count » pour un appareil, il ne sera pas envoyé à cet appareil. Voir [Plafonnement de la fréquence](/fr/product/messaging-channels/global-frequency-capping/) pour plus de détails.

### conditions

Les conditions sont des tableaux comme `[tagName, operator, operand]` utilisés pour envoyer des messages ciblés basés sur les [Tags](/fr/developer/guides/audience-and-segmentation/tags/) et leurs valeurs, où :

* tagName — le nom d'un tag à appliquer,
* [operator](/fr/developer/guides/audience-and-segmentation/tags#tag-operators) — un opérateur de comparaison de valeur (« EQ » | « IN » | « NOTEQ » | « NOTIN » | « LTE » | « GTE » | « BETWEEN » | « NOTSET » | « ANY »),
* [operand](/fr/developer/guides/audience-and-segmentation/tags#tag-values) — Valeurs de Tag de l'un des types suivants : chaîne de caractères | entier | tableau | date | booléen | liste

#### Description de l'opérateur

|  |  |
| -------- | ----------- |
| **EQ** | la valeur du tag est égale à l'opérande. |
| **IN** | la valeur du tag croise l'opérande (l'opérande doit toujours être un tableau). |
| **NOTEQ** | la valeur du tag n'est pas égale à un opérande. |
| **NOTIN** | la valeur du tag ne croise pas l'opérande (l'opérande doit toujours être un tableau). |
| **GTE** | la valeur du tag est supérieure ou égale à l'opérande. |
| **LTE** | la valeur du tag est inférieure ou égale à l'opérande. |
| **BETWEEN** | la valeur du tag est supérieure ou égale à la valeur minimale de l'opérande mais inférieure ou égale à la valeur maximale de l'opérande (l'opérande doit toujours être un tableau). |
| **NOTSET** | le tag n'est pas défini. L'opérande n'est pas pris en compte. |
| **ANY** | le tag a n'importe quelle valeur. L'opérande n'est pas pris en compte. |

#### Tags de type chaîne de caractères

**Opérateurs valides** : EQ, IN, NOTEQ, NOTIN, NOTSET, ANY

**Opérandes valides :**
|  |  |
| -------- | ------- |
| **EQ, NOTEQ** | l'opérande doit être une chaîne de caractères |
| **IN, NOTIN** | l'opérande doit être un tableau de chaînes de caractères comme `["valeur 1", "valeur 2", "valeur N"]` |
| **NOTSET** | le tag n'est pas défini. L'opérande n'est pas pris en compte |
| **ANY** | le tag a n'importe quelle valeur. L'opérande n'est pas pris en compte |

#### Tags de type entier

**Opérateurs valides** : EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY

**Opérandes valides :**

|  | |
| -------- | ------- |
| **EQ, NOTEQ, GTE, LTE** | l'opérande doit être un entier |
| **IN, NOTIN** | l'opérande doit être un tableau d'entiers comme `[valeur 1, valeur 2, valeur N]` |
| **BETWEEN** | l'opérande doit être un tableau d'entiers comme `[valeur_min, valeur_max]` |
| **NOTSET** | le tag n'est pas défini. L'opérande n'est pas pris en compte |
| **ANY** | le tag a n'importe quelle valeur. L'opérande n'est pas pris en compte |

#### Tags de type date

**Opérateurs valides** : EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY

**Opérandes valides :**

* `"AAAA-MM-JJ 00:00"` (chaîne de caractères)
* timestamp unix `1234567890` (entier)
* `"Il y a N jours"` (chaîne de caractères) pour les opérateurs EQ, BETWEEN, GTE, LTE

#### Tags de type booléen

**Opérateurs valides** : EQ, NOTSET, ANY

**Opérandes valides :** `0, 1, true, false`

#### Tags de type liste

**Opérateurs valides** : IN, NOTIN, NOTSET, ANY

**Opérandes valides :** l'opérande doit être un tableau de chaînes de caractères comme `["valeur 1", "valeur 2", "valeur N"]`.

<Aside type="danger" title="Important">
N'oubliez pas que les paramètres « filter » et « conditions » ne doivent pas être utilisés ensemble.<br/>
De plus, ils **seront tous les deux ignorés** si le paramètre « devices » est utilisé dans la même requête.
</Aside>

<Aside type="note" title="Tags Pays et Langue">
La valeur du tag Langue est un code de deux lettres en minuscules conformément à la norme [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
La valeur du tag Pays est un code de deux lettres en MAJUSCULES conformément à la norme [ISO_3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).

Par exemple, pour envoyer une notification push aux abonnés lusophones au Brésil, vous devrez spécifier la condition suivante : `"conditions": [["Country", "EQ", "BR"],["Language", "EQ", "pt"]]`
</Aside>

### conditions_operator

Opérateur logique pour les tableaux de conditions. Valeurs possibles : AND | OR. AND est la valeur par défaut.

Si l'opérateur appliqué est AND (lorsqu'aucun opérateur n'est spécifié, ou que le paramètre 'conditions_operator' a la valeur 'AND'), les appareils respectant simultanément toutes les conditions recevront la notification push.

Si l'opérateur est OR, les appareils qui respectent l'une des conditions spécifiées recevront le message.

### data

Chaîne de caractères JSON ou objet JSON utilisé pour transmettre des [données personnalisées](/fr/developer/guides/messaging-channels/using-custom-data) dans la charge utile du push ; est transmis en tant que paramètre « u » dans la charge utile (converti en chaîne de caractères JSON).

### devices

Le tableau des [jetons push](/fr/developer/pushwoosh-knowledge-hub/device-identifiers/#push-token) ou des [hwids](/fr/developer/pushwoosh-knowledge-hub/device-identifiers/#hwid) pour envoyer des notifications push ciblées. S'il est défini, le message ne sera envoyé qu'aux appareils de la liste.

### dynamic_content

Espaces réservés pour le [Contenu Dynamique](/fr/product/personalization/dynamic-content) à utiliser à la place des valeurs des Tags de l'appareil. L'exemple ci-dessous enverra le message « Hello, John! » à chaque utilisateur que vous ciblez. S'il n'est pas défini, les valeurs du Contenu Dynamique sont extraites des Tags de l'appareil.

```
"content": "Hello, {firstname|CapitalizeFirst}!",
"dynamic_content_placeholders": {
  "firstname": "John",
  "lastname": "Doe"
},
```

### filter

Le nom d'un [Segment](/fr/product/audience-data-and-segmentation/segmentation/) exactement tel qu'il est créé dans le Panneau de Contrôle Pushwoosh ou via une requête API [`/createFilter`](/fr/developer/api-reference/segmentation-filters-api/#createfilter). Allez dans la section **Audience** → **Segments** et consultez la liste des Segments créés.

<img src="/messages-api-prerequisites-7.webp" alt="Liste des Segments dans la section Audience du Panneau de Contrôle Pushwoosh"/>

Pour obtenir la liste des Segments via l'API, appelez la méthode API [`/listFilters`](/fr/developer/api-reference/segmentation-filters-api/#listfilters). En réponse à la requête `/listFilters`, vous recevrez la liste de tous les Segments créés dans votre compte Pushwoosh, avec les noms, les conditions et les dates d'expiration des Segments.

### ignore_user_timezone

Si défini sur 'true', envoie le message à l'heure et à la date spécifiées dans le paramètre « send_date » selon UTC-0.

Si défini sur 'false', les utilisateurs recevront le message à l'heure locale spécifiée selon les paramètres de leur appareil.

### inbox_date

La date jusqu'à laquelle le message doit être conservé dans la [Boîte de réception](/fr/developer/guides/message-inbox/mobile-message-inbox) des utilisateurs. Si elle n'est pas spécifiée, le message sera supprimé de la Boîte de réception le lendemain de la date d'envoi.

<Aside type="note">
Pour enregistrer le message dans la Boîte de réception, utilisez au moins un des paramètres 'inbox' : « inbox_date » ou « inbox_image ».
</Aside>

<Aside type="caution">
Le message sera supprimé de la Boîte de réception à 00:00:01 de la date spécifiée, donc la date précédente est le dernier jour où un utilisateur peut voir le message dans sa Boîte de réception.
</Aside>

### inbox_image

L'URL de l'image personnalisée à afficher à côté du message dans la [Boîte de réception](/fr/developer/guides/message-inbox/mobile-message-inbox).

<Aside type="note">
Pour enregistrer le message dans la Boîte de réception, utilisez au moins un des paramètres 'inbox' : « inbox_date » ou « inbox_image ».
</Aside>

### inbox_days

La durée de vie d'un message dans la boîte de réception en jours, jusqu'à 30 jours. Après cette période, le message sera supprimé de la boîte de réception. Peut être utilisé à la place du paramètre **inbox_date**.

### link

L'URL à ouvrir une fois qu'un utilisateur ouvre une notification push.

### message_type

Spécifie le type de message push. Les valeurs disponibles sont `marketing` et `transactional`. Voir [Messages marketing vs transactionnels](/fr/product/messaging-channels/marketing-vs-transactional/) pour plus de détails.

Ce paramètre est optionnel. S'il est omis, les utilisateurs avec `PW_ControlGroup: true` ne recevront pas le message.

### minimize_link

Raccourcisseur pour minimiser l'URL soumise dans le paramètre « link ». Veuillez noter que la taille de la charge utile des notifications push est limitée, envisagez donc de créer des URL courtes pour ne pas dépasser la limite. Valeurs disponibles : 0 — ne pas minimiser, 2 — bitly. Par défaut = 2. Le raccourcisseur d'URL de Google est désactivé depuis le 30 mars 2019.

### platforms

Le tableau des codes de plateforme pour n'envoyer le message qu'à des plateformes spécifiques. 

Les codes de plateforme disponibles incluent : `1` — iOS, `3` — Android, `7` — Mac OS X, `8` — Windows, `9` — Amazon, `10` — Safari, `11` — Chrome, `12` — Firefox, `14` — E-mail, `17` — Huawei, `18` — SMS, et `21` — WhatsApp.

### preset

Le code d'un [Préréglage](/fr/product/content/push-presets/) créé dans le Panneau de Contrôle Pushwoosh ou via l'API. Pour obtenir un code de préréglage, allez dans **Contenu** → **Préréglages**, développez le préréglage que vous allez utiliser, et copiez le **Code de Préréglage** depuis les détails du préréglage.

<img src="/messages-api-prerequisites-8.webp" alt="Liste des Préréglages dans la section Contenu montrant le Code de Préréglage"/>

### rich_media

Le code d'une page [Rich Media](/fr/product/content/in-apps/) que vous allez joindre à votre message. Pour obtenir un code, allez dans **Contenu** → **Rich Media**, ouvrez une page Rich Media que vous allez utiliser, et copiez le code depuis la barre d'URL de votre navigateur. Le code est un ensemble de 10 caractères (lettres et chiffres) séparés par des tirets.

<img src="/messages-api-prerequisites-9.webp" alt="Page Rich Media dans la section Contenu avec le code Rich Media dans la barre d'URL du navigateur"/>

### send_rate

Limitation pour restreindre la vitesse d'envoi des pushes. Les valeurs valides vont de 100 à 1000 pushes/seconde.

### timezone

Fuseau horaire à prendre en compte lorsque le message est envoyé à une date et une heure particulières. S'il est défini, le fuseau horaire de l'appareil est ignoré. S'il est ignoré, le message est envoyé en UTC. Voir [https://php.net/manual/timezones.php](https://php.net/manual/timezones.php) pour les fuseaux horaires pris en charge.

### template_bindings

Espaces réservés de modèle à utiliser dans votre modèle de contenu. Voir le [guide des Modèles Liquid](/fr/developer/guides/personalization/liquid-templates/) pour plus de détails.

### transactionId

Identifiant de message unique pour éviter la duplication des messages en cas de problèmes réseau. Vous pouvez attribuer n'importe quel ID à un message créé via la requête [`/createMessage`](/fr/developer/api-reference/messages-api/#createmessage) ou [`/createTargetedMessage`](/fr/developer/api-reference/messages-api/#createtargetedmessage). Stocké du côté de Pushwoosh pendant 5 minutes.

### users

Le tableau des [userIds](/fr/developer/pushwoosh-knowledge-hub/users-userids/). L'User ID est un identifiant utilisateur unique défini par une requête API [`/registerUser`](/fr/developer/api-reference/user-centric-api/), [`/registerDevice`](/fr/developer/api-reference/device-api/#registerdevice), ou [`/registerEmail`](/fr/developer/api-reference/email-api/).