# API WhatsApp

import { Badge } from '@astrojs/starlight/components';

<Aside type="caution" title="/createWhatsAppMessage est obsolète">
Les nouvelles intégrations doivent utiliser l'[API de messagerie v2](/fr/developer/api-reference/messaging-api-v2/) — passez `platforms: ["WHATS_APP"]` à `Notify` et utilisez le bloc `whatsapp` à l'intérieur de `payload.content.localized_content`. Consultez le [guide de migration](/fr/developer/api-reference/messaging-api-v2/migration-from-v1/#from-createwhatsappmessage).
</Aside>

<Aside type="note">
Avant d'envoyer des messages WhatsApp, assurez-vous que la plateforme WhatsApp est correctement configurée. [En savoir plus](/fr/product/first-steps/start-with-your-project/configure-platforms/whatsapp-configuration/)
</Aside>

## createWhatsAppMessage <Badge text="Obsolète" variant="caution" size="small" />

Utilisé pour envoyer des messages WhatsApp aux utilisateurs

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

### Corps de la requête

| Nom <div style="width:180px"></div>   | Requis <div style="width:100px"></div> | Type | Description |
| :---- | :---- | :---- | :---- |
| auth\* | Oui | string | [Jeton d'accès à l'API](/fr/developer/api-reference/api-identifiers/#api-access-token) depuis le Panneau de contrôle Pushwoosh. |
| application\* | Oui | string | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| notifications\* | Oui | array | Paramètres de contenu. Tableau JSON des paramètres de message. Voir les détails ci-dessous. |

### Paramètres de notification

| Nom <div style="width:150px"></div>     | Requis                                  | Type    | Description                                                                                                                                                                                                                                                                                  |
|:----------------------|:------------------------------------------|:--------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| send_date*            | Oui                                       | string  | Date et heure d'envoi de la notification. Utilisez le format `AAAA-MM-JJ HH:mm` ou `'now'` pour un envoi immédiat.                                                                                                                                                                                        |
| content               | Requis si `content_id` n'est pas fourni. | string  | Contenu textuel du message WhatsApp.                                                                                                                                                                                                                                                        |
| content_id            | Requis si `content` n'est pas fourni.    | string  | Identifiant d'un modèle WhatsApp pré-approuvé de votre compte Meta.                                                                                                                                                                                                                      |
| devices*              | Oui                                       | array   | Numéro de téléphone du client (doit être associé à un [ID utilisateur](/fr/developer/api-reference/api-identifiers/#user-id) en utilisant [`/registerDevice`](/fr/developer/api-reference/device-api#registerdevice) et spécifié dans le paramètre `hwid`, ou utiliser `use_auto_registration`). Un seul numéro peut être spécifié ici. |
| use_auto_registration | Non                                        | boolean | Si défini sur `true`, le numéro de téléphone spécifié dans le paramètre `devices` sera automatiquement enregistré.                                                                                                                                                                                    |
| content_variables     | Non                                        | object  | Variables de contenu pour personnaliser le contenu du message. Chaque espace réservé sera remplacé par les valeurs dynamiques correspondantes.                                                                           |
| button_url_variables  | Non                                        | object     | Variables d'URL dynamiques pour les boutons. Chaque clé représente un index de bouton, et sa valeur est la variable dynamique à remplacer dans l'URL du bouton. **Remarque** : L'indexation des boutons commence à 0, le premier bouton étant 0, le deuxième 1, et ainsi de suite.                                                                                              |
| header_variables      | Non                                        | object  | Variables pour l'en-tête d'un message modèle WhatsApp. Spécifiez le `type` (par ex., `text`, `image`, `video`, `document`) et la valeur correspondante. **Exemple** : `"header_variables": {"image": "https://image-url.png"}`                                                                   |
| preset                | Non                                        | string  | Code de préréglage WhatsApp de votre Panneau de contrôle.                                                                                |
| language              | Non                                        | string  | Locale de langue du modèle WhatsApp (doit correspondre à la locale dans l'éditeur de modèles WhatsApp de Meta). Par défaut : `"en_US"`. Exemple : `"en_GB"`.                                                                                                            |

<Aside type="caution" title="Important">
****
Actuellement, chaque message WhatsApp doit être envoyé dans une requête distincte pour chaque client.
</Aside>

### Exemple de requête

```json
{
  "request": {
    "application": "12XXX-67XXX",           // requis. Code d'application Pushwoosh.
    "auth": "yxoPUlwqm…………pIyEX4H",         // requis. Jeton d'accès à l'API depuis le Panneau de contrôle Pushwoosh.
    "notifications": [{
      "send_date": "now",                   // requis. AAAA-MM-JJ HH:mm OU "now".
      "content": "Hello! {{1}}",            // requis si content_id n'est pas fourni. Texte du message.
      "content_id": "hello_world",          // requis si content n'est pas fourni. Identifiant du modèle WhatsApp.
      "devices": ["whatsapp:+1234567890"],  // requis. Numéro de téléphone WhatsApp du client (doit être associé
                                            //           à un UserId en utilisant /registerDevice et spécifié dans
                                            //           le paramètre "hwid" ou utiliser "use_auto_registration").
                                            //           Un seul numéro WhatsApp peut être spécifié ici.
      "preset": "XXXXX-XXXXX",              // optionnel. Code de préréglage WhatsApp de votre Panneau de contrôle.
      "content_variables": {                // optionnel. Variables de contenu pour personnaliser le contenu du message.
        "1": "John"
      },
      "header_variables": {                 // optionnel. Variables pour l'en-tête du message WhatsApp.
        "image": "https://image-url.png"
      },
      "language": "en_GB",                  // optionnel. Locale de langue pour le modèle WhatsApp (doit correspondre à la locale dans l'éditeur de modèles WhatsApp de Meta). Par défaut : "en_US".
      "use_auto_registration": true         // optionnel. Enregistre automatiquement le numéro WhatsApp spécifié
                                            //           dans le paramètre "devices".
    }]
  }
}
```

### Exemple : Envoi d'un code d'authentification à deux facteurs via WhatsApp

```json
{
    "request": {
        "application":"APP_CODE", "auth":"AUTH_TOKEN",
        "notifications":[{
            "send_date":"now",
            "content_id":"replace_with_your_meta_two_factor_template_name",
            "content_variables":{"1":"AUTH_CODE"},
            "button_url_variables":{"0":"AUTH_CODE"},
            "devices":["whatsapp:REPLACE_WITH_YOUR_PHONE_NO"]
        }]
    }
}
```

### Exemple de réponse

```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "Messages": [
      "9648-0B10EXXX-0D9F2XXX"
    ]
  }
}
```

### Réponse d'erreur

```json
{
  "status_code": 210,
  "status_message": "Invalid devices list. \"devices\" must be an array.",
  "response": {
    "Messages": []
  }
}
```