# API LINE

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

<Aside type="caution" title="/createLineMessage est obsolète">
Les nouvelles intégrations doivent utiliser [l'API de Messagerie v2](/fr/developer/api-reference/messaging-api-v2/) — passez `platforms: ["LINE"]` à `Notify` et utilisez le bloc `line` à l'intérieur de `payload.content.localized_content`. Consultez le [guide de migration](/fr/developer/api-reference/messaging-api-v2/migration-from-v1/#from-createlinemessage). Pour les messages enrichis avec des images, des carrousels ou des modèles Flex, pré-configurez-les en tant que modèles LINE dans votre Panneau de Contrôle Pushwoosh et référencez le code du modèle via `line.template`.
</Aside>

<Aside> Avant d'envoyer des messages LINE, assurez-vous que la plateforme Line est correctement configurée. [En savoir plus](/fr/developer/first-steps/connect-messaging-services/line-configuration/) </Aside>

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

Utilisé pour envoyer des messages LINE aux utilisateurs

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

### Envoyer un message texte

Messages LINE simples qui ne contiennent que du texte brut, sans images ni boutons. [En savoir plus](https://developers.line.biz/en/reference/messaging-api/#text-message)

> **Conseil :** Pour une mise en forme avancée et des médias enrichis, utilisez des modèles de message comme [Flex](#send-a-flex-message), [image](#send-an-image-message) ou [carrousel](#send-an-image-carousel-message).

##### Corps de la requête

| Paramètre <div style="width:180px"></div>| Type  <div style="width: 80px"></div>| Requis | Description <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | Oui | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Oui | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) pour authentifier la requête.  |
| `notifications` | array of objects | Oui | Liste des objets de message LINE à envoyer. |
| `content` | string | Oui | Texte du message LINE à envoyer. Limite maximale de caractères : 5000.<br/><strong>Remarque :</strong> Si <code>preset</code> et <code>content</code> sont tous deux inclus, la valeur de la requête remplace celle du <code>preset</code>. |
| `preset` | string | Non | Code du [preset LINE](/fr/product/content/line-presets/) que vous avez créé dans le Panneau de Contrôle Pushwoosh. **Remarque :** Si `preset` et `content` sont tous deux inclus, la valeur de la requête remplace celle du `preset`. |
| `send_date` | string | Oui | Date et heure d'envoi du message. Utilisez le format `AAAA-MM-JJ HH:mm` ou `now` pour un envoi immédiat. |
| `devices` | array of strings | Oui | Liste des codes d'appareil (ID utilisateur) auxquels envoyer le message LINE. |

```
{
    "request": {
    "application": "XXXXXX-XXXXXX",
    "auth": "**************************************",
        "notifications": [
            {
                "content": "test",
                "preset": "preset_code",
                "send_date":"now",
                "devices": ["XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]
            }
        ]
    }
}

```

### Envoyer un message image

Vous pouvez envoyer un [message image](https://developers.line.biz/en/reference/messaging-api/#image-message) aux utilisateurs de LINE en spécifiant un objet image dans le champ `template` de votre requête.

Chaque message image nécessite deux URL d'image : une pour l'**image en taille réelle (image\_url)** et une autre pour l'**aperçu (preview\_image\_url)**. Lorsque les utilisateurs appuient sur l'aperçu, l'image en taille réelle s'ouvre. Assurez-vous que les deux URL utilisent HTTPS (TLS 1.2 ou version ultérieure) et pointent vers des fichiers image accessibles au public.

Pour plus de détails, consultez la section [Message Image](https://developers.line.biz/en/reference/messaging-api/#image-message) dans la documentation de l'API de Messagerie LINE.

##### Corps de la requête

| Paramètre <div style="width:180px"></div>| Type  <div style="width: 80px"></div>| Requis | Description <div style="width:180px"></div> |
| :---- | ----- | ----- | ----- |
| `application` | string | Oui | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Oui | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) utilisé pour authentifier la requête. |
| `notifications` | array of objects | Oui | Liste des messages à envoyer. |
| `content` | string | Oui | Utilisé comme texte de repli ou d'aperçu pour le message. Code du preset LINE que vous avez créé dans le Panneau de Contrôle Pushwoosh.<br/><strong>Remarque :</strong> Si <code>preset</code> et <code>template</code> sont tous deux inclus, le <code>template</code> de la requête est utilisé.<br/>Si <code>preset</code> et <code>content</code> sont tous deux inclus, le <code>content</code> de la requête remplace celui du preset. |
| `send_date` | string | Oui | Date et heure d'envoi du message. Utilisez le format `AAAA-MM-JJ HH:mm` ou `now` pour un envoi immédiat. |
| `devices` | array of strings | Oui | Liste des codes d'appareil (ID utilisateur) auxquels envoyer le message LINE. |
| `preset` | string | Non | Code du [preset LINE](/fr/product/content/line-presets/) que vous avez créé dans le Panneau de Contrôle Pushwoosh.<br/><strong>Remarque :</strong> Si les paramètres <code>preset</code> et <code>template</code> sont tous deux inclus dans la requête, les valeurs du <code>template</code> remplaceront celles définies dans le preset.<br/>Si <code>preset</code> et <code>content</code> sont tous deux inclus dans la même requête, le <code>content</code> fourni directement dans la requête remplacera le contenu du <code>preset</code>. |
| `template` | object | Oui | Modèle de mise en page du message. Prend en charge plusieurs types de messages. Voir les détails ci-dessous.  |

##### Paramètres du modèle

**Type :** image

| Paramètre <div style="width:180px"></div>| Type  <div style="width: 80px"></div>| Requis | Description <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `image_url` | string | Oui | URL de l'image en taille réelle (doit utiliser HTTPS). **Longueur max :** 2000 caractères. **Format :** JPEG, PNG. **Taille max :** 10 Mo. |
| `preview_image_url` | string | Oui | URL de l'image d'aperçu affichée dans le chat (doit utiliser HTTPS). **Longueur max :** 2000 caractères. **Format :** JPEG, PNG. **Taille max :** 1 Mo.  |

##### Exemple de requête

```json
{
  "request": {
    "application": "XXXXXX-XXXXXX",
    "auth": "**************************************",
    "notifications": [
      {
        "content": "test",
        "send_date": "now",
        "devices": [
          "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        ],
        "preset": "preset_code",
        "template": {
          "en": {
            "image": {
              "alt_text": "some text",
              "image_url": "https://images.com/1.jpg",
              "preview_image_url": "https://images.com/1.png"
            }
          }
        }
      }
    ]
  }
}


```

### Envoyer un message carrousel d'images

Les messages carrousel d'images vous permettent d'afficher plusieurs images dans un format à défilement horizontal. Chaque image apparaît comme une colonne distincte non cliquable que les utilisateurs peuvent faire défiler dans l'interface de chat de LINE.

Ce format est idéal pour présenter des articles, des promotions ou des sélections visuelles de manière engageante.

Pour plus de détails, consultez la section [Modèle de Carrousel d'Images](https://developers.line.biz/en/reference/messaging-api/#carousel) dans la documentation de l'API de Messagerie LINE.

##### Corps de la requête

| Paramètre <div style="width:180px"></div>| Type  <div style="width: 80px"></div>| Requis | Description <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | Oui | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Oui | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) utilisé pour authentifier la requête. |
| `notifications` | array of objects | Oui | Liste des messages à envoyer. |
| `content` | string | Oui | Utilisé comme texte de repli ou d'aperçu pour le message.<br/><strong>Remarque :</strong> Si <code>content</code> et <code>template</code> sont tous deux définis, le <code>template</code> est utilisé.<br/>Si un <code>preset</code> et <code>content</code> sont tous deux inclus dans la même requête, le <code>content</code> fourni directement dans la requête remplacera le contenu du <code>preset</code>. |
| `send_date` | string | Oui | Date et heure d'envoi du message. Utilisez le format `AAAA-MM-JJ HH:mm` ou `"now"`. |
| `devices` | array of strings | Oui | Liste des codes d'appareil (ID utilisateur) auxquels envoyer le message LINE. |
| `preset` | string | Non | Code du [preset LINE](/fr/product/content/line-presets/) que vous avez créé dans le Panneau de Contrôle Pushwoosh.<br/><strong>Remarque :</strong> Si les paramètres <code>preset</code> et <code>template</code> sont tous deux inclus dans la requête, les valeurs du <code>template</code> remplaceront celles définies dans le <code>preset</code>.<br/>Si un <code>preset</code> et <code>content</code> sont tous deux inclus dans la même requête, le <code>content</code> fourni directement dans la requête remplacera le contenu du <code>preset</code>. |
| `template` | object | Oui  | Modèle de mise en page du message. Prend en charge plusieurs types de messages. Voir les détails ci-dessous. |



##### Paramètres du modèle

**Type :** image\_carousel

| Paramètre <div style="width:180px"></div>| Type  <div style="width: 80px"></div>| Requis | Description <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | Oui | Texte de repli affiché dans les aperçus de push et sur les appareils non pris en charge. Max 400 caractères. |
| `columns` | array of objects | Oui | Tableau de colonnes d'images (1 à 10 prises en charge). Chaque colonne inclut une image. |
| `image_url` | string  | Oui | URL de l'image affichée dans chaque colonne du carrousel, pointant vers un fichier JPEG ou PNG accessible au public. Doit utiliser HTTPS. |

##### Exemple de requête

```json
{
  "request": {
    "application": "XXXXXX-XXXXXX",
    "auth": "**************************************",
    "notifications": [
      {
        "content": "test",
        "send_date": "now",
        "devices": [
          "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        ],
        "preset": "preset_code",
        "template": {
          "en": {
            "image_carousel": {
              "alt_text": "some text",
              "columns": [
                { "image_url": "https://images.com/1.jpg" },
                { "image_url": "https://images.com/2.jpg" },
                { "image_url": "https://images.com/3.jpg" }
              ]
            }
          }
        }
      }
    ]
  }
}
```

### Envoyer un message Flex

Les messages Flex sont des types de messages puissants et personnalisables qui vous permettent de créer des mises en page structurées à l'aide de texte, d'images, de boutons et d'autres composants. Ils sont idéaux pour des cas d'utilisation tels que les reçus, les fiches produits, les menus ou tout contenu bénéficiant d'une structuration visuelle.

Pour envoyer un message Flex, incluez un objet `template` avec une charge utile `raw` dans votre requête. La mise en page du message doit suivre la [spécification des messages Flex de LINE](https://developers.line.biz/en/docs/messaging-api/using-flex-messages/).

**Conseil :** Vous pouvez concevoir et prévisualiser les messages Flex à l'aide du [Simulateur de messages Flex de LINE](https://developers.line.biz/flex-simulator/).

##### Corps de la requête

| Paramètre <div style="width:180px"></div>| Type  <div style="width: 80px"></div>| Requis | Description <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | Oui | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Oui | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) utilisé pour authentifier la requête. |
| `notifications` | array of objects | Oui | Liste des messages à envoyer. |
| `content` | string | Oui | Utilisé comme texte de repli ou d'aperçu pour le message.<br/><strong>Remarque :</strong> Si <code>content</code> et <code>template</code> sont tous deux définis, le modèle est utilisé.<br/>Si <code>preset</code> et <code>content</code> sont tous deux inclus, le contenu de la requête remplace celui du preset. |
| `send_date` | string | Oui | Quand envoyer le message. Utilisez `"now"` ou le format `AAAA-MM-JJ HH:mm`. |
| `devices` | array of strings | Oui | Liste des jetons d'appareil LINE (ID utilisateur) pour recevoir le message. |
| `preset` | string | Non | Code du [preset LINE](/fr/product/content/line-presets/) que vous avez créé dans le Panneau de Contrôle Pushwoosh.<br/><strong>Remarque :</strong> Si <code>preset</code> et <code>template</code> sont tous deux inclus, le modèle remplace le preset.<br/>Si <code>preset</code> et <code>content</code> sont tous deux inclus, le contenu de la requête remplace celui du preset. |
| `template` | object | Oui | Modèle de mise en page du message. Prend en charge plusieurs types de messages. Voir les détails ci-dessous. |

##### Paramètres du modèle

Pour un message Flex, utilisez la structure raw.
Type : raw (Flex)

| Paramètre <div style="width:180px"></div>| Type  <div style="width: 80px"></div>| Requis | Description <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | Oui | Texte de repli affiché dans les notifications, les aperçus de chat et les citations. Max 400 caractères. |
| `content`  | object  | Oui | Mise en page du message Flex, structurée à l'aide de `bubble`, `box`, `text` et d'autres composants conformément à la spécification Flex de LINE. |

##### Exemple de requête

```json
{
  "request": {
    "application": "XXXXXX-XXXXXX",
    "auth": "**************************************",
    "notifications": [
      {
        "content": "test",
        "send_date": "now",
        "devices": ["XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"],
        "preset": "preset_code", 
        "template": {
          "en": {
            "raw": {
              "alt_text": "My raw template",
              "content": {
                "type": "bubble",
                "body": {
                  "type": "box",
                  "layout": "vertical",
                  "contents": [
                    {
                      "type": "text",
                      "text": "RECEIPT",
                      "weight": "bold",
                      "color": "#1DB446",
                      "size": "sm"
                    }
                    // Additional components...
                  ]
                }
              }
            }
          }
        }
      }
    ]
  }
}
```