# API do LINE

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

<Aside type="caution" title="/createLineMessage está obsoleto">
Novas integrações devem usar a [API de Mensagens v2](/pt/developer/api-reference/messaging-api-v2/) — passe `platforms: ["LINE"]` para `Notify` e use o bloco `line` dentro de `payload.content.localized_content`. Veja o [guia de migração](/pt/developer/api-reference/messaging-api-v2/migration-from-v1/#from-createlinemessage). Para mensagens ricas com imagens / carrosséis / flex, pré-configure-as como modelos do LINE no seu Painel de Controle do Pushwoosh e referencie o código do modelo através de `line.template`.
</Aside>

<Aside> Antes de enviar mensagens do LINE, certifique-se de que a plataforma Line está configurada corretamente. [Saiba mais](/pt/developer/first-steps/connect-messaging-services/line-configuration/) </Aside>

## createLineMessage <Badge text="Obsoleto" variant="caution" size="small" />

Usado para enviar mensagens do LINE para os usuários

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

### Enviar uma mensagem de texto

Mensagens simples do LINE que consistem apenas em texto simples, sem imagens ou botões. [Saiba mais](https://developers.line.biz/en/reference/messaging-api/#text-message)

> **Dica:** Para formatação avançada e rich media, use modelos de mensagem como [Flex](#send-a-flex-message), [imagem](#send-an-image-message) ou [carrossel](#send-an-image-carousel-message).

##### Corpo da solicitação

| Parâmetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Obrigatório | Descrição <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | Sim | [Código da aplicação Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Sim | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) para autenticar a solicitação.  |
| `notifications` | array de objetos | Sim | Lista de objetos de mensagem do LINE a serem enviados. |
| `content` | string | Sim | Texto da mensagem do LINE a ser enviada. Limite máximo de caracteres: 5000.<br/><strong>Nota:</strong> Se ambos <code>preset</code> e <code>content</code> forem incluídos, o valor da solicitação substitui o <code>preset</code>. |
| `preset` | string | Não | Código do [preset do LINE](/pt/product/content/line-presets/) que você criou no Painel de Controle do Pushwoosh. **Nota:** Se ambos `preset` e `content` forem incluídos, o valor da solicitação substitui o `preset`. |
| `send_date` | string | Sim | Data e hora para enviar a mensagem. Use o formato `AAAA-MM-DD HH:mm` ou `now` para enviar imediatamente. |
| `devices` | array de strings | Sim | Lista de códigos de dispositivo (IDs de usuário) para os quais a mensagem do LINE será enviada. |

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

```

### Enviar uma mensagem de imagem

Você pode enviar uma [mensagem de imagem](https://developers.line.biz/en/reference/messaging-api/#image-message) para usuários do LINE especificando um objeto de imagem no campo de modelo da sua solicitação.

Cada mensagem de imagem requer duas URLs de imagem: uma para a **imagem em tamanho real (image\_url)** e outra para a **pré-visualização (preview\_image\_url)**. Quando os usuários tocam na pré-visualização, a imagem em tamanho real é aberta. Certifique-se de que ambas as URLs usem HTTPS (TLS 1.2 ou posterior) e apontem para arquivos de imagem acessíveis publicamente.

Para detalhes, consulte a [seção de Mensagem de Imagem](https://developers.line.biz/en/reference/messaging-api/#image-message) na documentação da API de Mensagens do LINE.

##### Corpo da solicitação

| Parâmetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Obrigatório | Descrição <div style="width:180px"></div> |
| :---- | ----- | ----- | ----- |
| `application` | string | Sim | [Código da aplicação Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Sim | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) usado para autenticar a solicitação. |
| `notifications` | array de objetos | Sim | Lista de mensagens a serem enviadas. |
| `content` | string | Sim | Usado como texto de fallback ou de pré-visualização para a mensagem. Código do preset do LINE que você criou no Painel de Controle do Pushwoosh.<br/><strong>Nota:</strong> Se ambos <code>preset</code> e <code>template</code> forem incluídos, o <code>template</code> da solicitação é usado.<br/>Se ambos <code>preset</code> e <code>content</code> forem incluídos, o <code>content</code> da solicitação substitui o preset. |
| `send_date` | string | Sim | Data e hora para enviar a mensagem. Use o formato `AAAA-MM-DD HH:mm` ou `now` para enviar imediatamente. |
| `devices` | array de strings | Sim | Lista de códigos de dispositivo (IDs de usuário) para os quais a mensagem do LINE será enviada. |
| `preset` | string | Não | Código do [preset do LINE](/pt/product/content/line-presets/) que você criou no Painel de Controle do Pushwoosh.<br/><strong>Nota:</strong> Se ambos os parâmetros <code>preset</code> e <code>template</code> forem incluídos na solicitação, os valores do <code>template</code> substituirão os definidos no preset.<br/>Se ambos <code>preset</code> e <code>content</code> forem incluídos na mesma solicitação, o <code>content</code> fornecido diretamente na solicitação substituirá o conteúdo do <code>preset</code>. |
| `template` | object | Sim | Modelo de layout da mensagem. Suporta múltiplos tipos de mensagem. Veja detalhes abaixo.  |

##### Parâmetros do modelo

**Tipo:** image

| Parâmetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Obrigatório | Descrição <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `image_url` | string | Sim | URL para a imagem em tamanho real (deve usar HTTPS). **Comprimento máximo:** 2000 caracteres. **Formato:** JPEG, PNG. **Tamanho máximo:** 10 MB. |
| `preview_image_url` | string | Sim | URL para a imagem de pré-visualização exibida no chat (deve usar HTTPS). **Comprimento máximo:** 2000 caracteres. **Formato:** JPEG, PNG. **Tamanho máximo:** 1 MB.  |

##### Exemplo de solicitação

```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"
            }
          }
        }
      }
    ]
  }
}


```

### Enviar uma mensagem de carrossel de imagens

Mensagens de carrossel de imagens permitem que você exiba várias imagens em um formato rolável horizontalmente. Cada imagem aparece como uma coluna separada e não clicável que os usuários podem deslizar na interface de chat do LINE.

Este formato é ideal para exibir itens, promoções ou seleções visuais de forma envolvente.

Para detalhes, consulte a seção [Modelo de Carrossel de Imagens](https://developers.line.biz/en/reference/messaging-api/#carousel) na documentação da API de Mensagens do LINE.

##### Corpo da solicitação

| Parâmetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Obrigatório | Descrição <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | Sim | [Código da aplicação Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Sim | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) usado para autenticar a solicitação. |
| `notifications` | array de objetos | Sim | Lista de mensagens a serem enviadas. |
| `content` | string | Sim | Usado como texto de fallback ou de pré-visualização para a mensagem.<br/><strong>Nota:</strong> Se ambos <code>content</code> e <code>template</code> forem definidos, o <code>template</code> é usado.<br/>Se um <code>preset</code> e <code>content</code> forem incluídos na mesma solicitação, o <code>content</code> fornecido diretamente na solicitação substituirá o conteúdo do <code>preset</code>. |
| `send_date` | string | Sim | Data e hora para enviar a mensagem. Use o formato `AAAA-MM-DD HH:mm` ou `"now"`. |
| `devices` | array de strings | Sim | Lista de códigos de dispositivo (IDs de usuário) para os quais a mensagem do LINE será enviada. |
| `preset` | string | Não | Código do [preset do LINE](/pt/product/content/line-presets/) que você criou no Painel de Controle do Pushwoosh.<br/><strong>Nota:</strong> Se ambos os parâmetros <code>preset</code> e <code>template</code> forem incluídos na solicitação, os valores do <code>template</code> substituirão os definidos no <code>preset</code>.<br/>Se um <code>preset</code> e <code>content</code> forem incluídos na mesma solicitação, o <code>content</code> fornecido diretamente na solicitação substituirá o conteúdo do <code>preset</code>. |
| `template` | object | Sim  | Modelo de layout da mensagem. Suporta múltiplos tipos de mensagem. Veja detalhes abaixo. |



##### Parâmetros do modelo

**Tipo:** image\_carousel

| Parâmetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Obrigatório | Descrição <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | Sim | Texto de fallback exibido em pré-visualizações de push e em dispositivos não suportados. Máximo de 400 caracteres. |
| `columns` | array de objetos | Sim | Array de colunas de imagem (suporta de 1 a 10). Cada coluna inclui uma imagem. |
| `image_url` | string  | Sim | URL para a imagem exibida em cada coluna do carrossel, apontando para um arquivo JPEG ou PNG acessível publicamente. Deve usar HTTPS. |

##### Exemplo de solicitação

```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" }
              ]
            }
          }
        }
      }
    ]
  }
}
```

### Enviar uma Flex message

As Flex Messages são tipos de mensagem poderosos e personalizáveis que permitem criar layouts estruturados usando texto, imagens, botões e outros componentes. Elas são ideais para casos de uso como recibos, cartões de produtos, menus ou qualquer conteúdo que se beneficie de uma estruturação visual.

Para enviar uma Flex Message, inclua um objeto `template` com um payload `raw` dentro da sua solicitação. O layout da mensagem deve seguir a [especificação de Flex Message do LINE](https://developers.line.biz/en/docs/messaging-api/using-flex-messages/).

**Dica:** Você pode projetar e pré-visualizar Flex Messages usando o [Simulador de Flex Message do LINE](https://developers.line.biz/flex-simulator/).

##### Corpo da solicitação

| Parâmetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Obrigatório | Descrição <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | Sim | [Código da aplicação Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Sim | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) usado para autenticar a solicitação. |
| `notifications` | array de objetos | Sim | Lista de mensagens a serem enviadas. |
| `content` | string | Sim | Usado como texto de fallback ou de pré-visualização para a mensagem.<br/><strong>Nota:</strong> Se ambos <code>content</code> e <code>template</code> forem definidos, o template é usado.<br/>Se ambos <code>preset</code> e <code>content</code> forem incluídos, o conteúdo da solicitação substitui o preset. |
| `send_date` | string | Sim | Quando enviar a mensagem. Use `"now"` ou o formato `AAAA-MM-DD HH:mm`. |
| `devices` | array de strings | Sim | Lista de tokens de dispositivo do LINE (IDs de usuário) que receberão a mensagem. |
| `preset` | string | Não | Código do [preset do LINE](/pt/product/content/line-presets/) que você criou no Painel de Controle do Pushwoosh.<br/><strong>Nota:</strong> Se ambos <code>preset</code> e <code>template</code> forem incluídos, o template substitui o preset.<br/>Se ambos <code>preset</code> e <code>content</code> forem incluídos, o conteúdo da solicitação substitui o preset. |
| `template` | object | Sim | Modelo de layout da mensagem. Suporta múltiplos tipos de mensagem. Veja detalhes abaixo. |

##### Parâmetros do modelo

Para uma Flex Message, use a estrutura raw.
Tipo: raw (Flex)

| Parâmetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Obrigatório | Descrição <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | Sim | Texto de fallback exibido em notificações, pré-visualizações de chat e citações. Máximo de 400 caracteres. |
| `content`  | object  | Sim | Layout da Flex Message, estruturado usando `bubble`, `box`, `text` e outros componentes conforme a especificação Flex do LINE. |

##### Exemplo de solicitação

```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...
                  ]
                }
              }
            }
          }
        }
      }
    ]
  }
}
```