# API de LINE

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

<Aside type="caution" title="/createLineMessage está obsoleto">
Las nuevas integraciones deben usar la [API de Mensajería v2](/es/developer/api-reference/messaging-api-v2/) — pasa `platforms: ["LINE"]` a `Notify` y usa el bloque `line` dentro de `payload.content.localized_content`. Consulta la [guía de migración](/es/developer/api-reference/messaging-api-v2/migration-from-v1/#from-createlinemessage). Para mensajes enriquecidos con imágenes, carruseles o flex, preconfigúralos como plantillas de LINE en tu Panel de Control de Pushwoosh y haz referencia al código de la plantilla a través de `line.template`.
</Aside>

<Aside> Antes de enviar mensajes de LINE, asegúrate de que la plataforma Line esté configurada correctamente. [Aprende más](/es/developer/first-steps/connect-messaging-services/line-configuration/) </Aside>

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

Se utiliza para enviar mensajes de LINE a los usuarios

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

### Enviar un mensaje de texto

Mensajes de LINE simples que consisten solo en texto plano, sin imágenes ni botones. [Aprende más](https://developers.line.biz/en/reference/messaging-api/#text-message)

> **Consejo:** Para formato avanzado y medios enriquecidos, utiliza plantillas de mensajes como [Flex](#enviar-un-mensaje-flex), [imagen](#enviar-un-mensaje-de-imagen), o [carrusel](#enviar-un-mensaje-de-carrusel-de-imágenes).

##### Cuerpo de la solicitud

| Parámetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Requerido | Descripción <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | Sí | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Sí | [Token de acceso a la API](/es/developer/api-reference/api-identifiers/#api-access-token) para autenticar la solicitud.  |
| `notifications` | array de objetos | Sí | Lista de objetos de mensaje de LINE a enviar. |
| `content` | string | Sí | Texto del mensaje de LINE a enviar. Límite máximo de caracteres: 5000.<br/><strong>Nota:</strong> Si se incluyen tanto <code>preset</code> como <code>content</code>, el valor de la solicitud anula el <code>preset</code>. |
| `preset` | string | No | Código del [preset de LINE](/es/product/content/line-presets/) que creaste en el Panel de Control de Pushwoosh. **Nota:** Si se incluyen tanto `preset` como `content`, el valor de la solicitud anula el `preset`. |
| `send_date` | string | Sí | Fecha y hora para enviar el mensaje. Usa el formato `YYYY-MM-DD HH:mm` o `now` para enviar inmediatamente. |
| `devices` | array de strings | Sí | Lista de códigos de dispositivo (ID de usuario) a los que se enviará el mensaje de LINE. |

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

```

### Enviar un mensaje de imagen

Puedes enviar un [mensaje de imagen](https://developers.line.biz/en/reference/messaging-api/#image-message) a los usuarios de LINE especificando un objeto de imagen dentro del campo de plantilla de tu solicitud.

Cada mensaje de imagen requiere dos URL de imagen: una para la **imagen a tamaño completo (image\_url)** y otra para la **vista previa (preview\_image\_url)**. Cuando los usuarios tocan la vista previa, se abre la imagen a tamaño completo. Asegúrate de que ambas URL usen HTTPS (TLS 1.2 o posterior) y enlacen a archivos de imagen de acceso público.

Para más detalles, consulta la sección [Mensaje de Imagen](https://developers.line.biz/en/reference/messaging-api/#image-message) en la documentación de la API de Mensajería de LINE.

##### Cuerpo de la solicitud

| Parámetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Requerido | Descripción <div style="width:180px"></div> |
| :---- | ----- | ----- | ----- |
| `application` | string | Sí | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Sí | [Token de acceso a la API](/es/developer/api-reference/api-identifiers/#api-access-token) utilizado para autenticar la solicitud. |
| `notifications` | array de objetos | Sí | Lista de mensajes a enviar. |
| `content` | string | Sí | Se utiliza como texto alternativo o de vista previa para el mensaje. Código del preset de LINE que creaste en el Panel de Control de Pushwoosh.<br/><strong>Nota:</strong> Si se incluyen tanto <code>preset</code> como <code>template</code>, se utiliza el <code>template</code> de la solicitud.<br/>Si se incluyen tanto <code>preset</code> como <code>content</code>, el <code>content</code> de la solicitud anula el preset. |
| `send_date` | string | Sí | Fecha y hora para enviar el mensaje. Usa el formato `YYYY-MM-DD HH:mm` o `now` para enviar inmediatamente. |
| `devices` | array de strings | Sí | Lista de códigos de dispositivo (ID de usuario) a los que se enviará el mensaje de LINE. |
| `preset` | string | No | Código del [preset de LINE](/es/product/content/line-presets/) que creaste en el Panel de Control de Pushwoosh.<br/><strong>Nota:</strong> Si se incluyen los parámetros <code>preset</code> y <code>template</code> en la solicitud, los valores del <code>template</code> anularán los definidos en el preset.<br/>Si se incluyen tanto <code>preset</code> como <code>content</code> en la misma solicitud, el <code>content</code> proporcionado directamente en la solicitud anulará el contenido del <code>preset</code>. |
| `template` | object | Sí | Plantilla de diseño del mensaje. Admite múltiples tipos de mensajes. Consulta los detalles a continuación.  |

##### Parámetros de la plantilla

**Tipo:** image

| Parámetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Requerido | Descripción <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `image_url` | string | Sí | URL de la imagen a tamaño completo (debe usar HTTPS). **Longitud máxima:** 2000 caracteres. **Formato:** JPEG, PNG. **Tamaño máximo:** 10 MB. |
| `preview_image_url` | string | Sí | URL de la imagen de vista previa que se muestra en el chat (debe usar HTTPS). **Longitud máxima:** 2000 caracteres. **Formato:** JPEG, PNG. **Tamaño máximo:** 1 MB.  |

##### Solicitud de ejemplo

```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 un mensaje de carrusel de imágenes

Los mensajes de carrusel de imágenes te permiten mostrar múltiples imágenes en un formato desplazable horizontalmente. Cada imagen aparece como una columna separada y no clicable que los usuarios pueden deslizar en la interfaz de chat de LINE.

Este formato es ideal para mostrar artículos, promociones o selecciones visuales de una manera atractiva.

Para más detalles, consulta la sección [Plantilla de Carrusel de Imágenes](https://developers.line.biz/en/reference/messaging-api/#carousel) en la documentación de la API de Mensajería de LINE.

##### Cuerpo de la solicitud

| Parámetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Requerido | Descripción <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | Sí | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Sí | [Token de acceso a la API](/es/developer/api-reference/api-identifiers/#api-access-token) utilizado para autenticar la solicitud. |
| `notifications` | array de objetos | Sí | Lista de mensajes a enviar. |
| `content` | string | Sí | Se utiliza como texto alternativo o de vista previa para el mensaje.<br/><strong>Nota:</strong> Si se establecen tanto <code>content</code> como <code>template</code>, se utiliza el <code>template</code>.<br/>Si se incluyen tanto un <code>preset</code> como <code>content</code> en la misma solicitud, el <code>content</code> proporcionado directamente en la solicitud anulará el contenido del <code>preset</code>. |
| `send_date` | string | Sí | Fecha y hora para enviar el mensaje. Usa el formato `YYYY-MM-DD HH:mm` o `"now"`. |
| `devices` | array de strings | Sí | Lista de códigos de dispositivo (ID de usuario) a los que se enviará el mensaje de LINE. |
| `preset` | string | No | Código del [preset de LINE](/es/product/content/line-presets/) que creaste en el Panel de Control de Pushwoosh.<br/><strong>Nota:</strong> Si se incluyen los parámetros <code>preset</code> y <code>template</code> en la solicitud, los valores del <code>template</code> anularán los definidos en el <code>preset</code>.<br/>Si se incluyen tanto un <code>preset</code> como <code>content</code> en la misma solicitud, el <code>content</code> proporcionado directamente en la solicitud anulará el contenido del <code>preset</code>. |
| `template` | object | Sí  | Plantilla de diseño del mensaje. Admite múltiples tipos de mensajes. Consulta los detalles a continuación. |



##### Parámetros de la plantilla

**Tipo:** image\_carousel

| Parámetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Requerido | Descripción <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | Sí | Texto alternativo que se muestra en las vistas previas de las notificaciones push y en dispositivos no compatibles. Máximo 400 caracteres. |
| `columns` | array de objetos | Sí | Array de columnas de imágenes (se admiten de 1 a 10). Cada columna incluye una imagen. |
| `image_url` | string  | Sí | URL de la imagen que se muestra en cada columna del carrusel, apuntando a un archivo JPEG o PNG de acceso público. Debe usar HTTPS. |

##### Solicitud de ejemplo

```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 un mensaje Flex

Los Mensajes Flex son tipos de mensajes potentes y personalizables que te permiten crear diseños estructurados utilizando texto, imágenes, botones y otros componentes. Son ideales para casos de uso como recibos, tarjetas de productos, menús o cualquier contenido que se beneficie de una estructuración visual.

Para enviar un Mensaje Flex, incluye un objeto `template` con una carga útil `raw` dentro de tu solicitud. El diseño del mensaje debe seguir la [especificación de Mensajes Flex de LINE](https://developers.line.biz/en/docs/messaging-api/using-flex-messages/).

**Consejo:** Puedes diseñar y previsualizar Mensajes Flex utilizando el [Simulador de Mensajes Flex de LINE](https://developers.line.biz/flex-simulator/).

##### Cuerpo de la solicitud

| Parámetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Requerido | Descripción <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | Sí | [Código de aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | Sí | [Token de acceso a la API](/es/developer/api-reference/api-identifiers/#api-access-token) utilizado para autenticar la solicitud. |
| `notifications` | array de objetos | Sí | Lista de mensajes a enviar. |
| `content` | string | Sí | Se utiliza como texto alternativo o de vista previa para el mensaje.<br/><strong>Nota:</strong> Si se establecen tanto <code>content</code> como <code>template</code>, se utiliza la plantilla.<br/>Si se incluyen tanto <code>preset</code> como <code>content</code>, el contenido de la solicitud anula el preset. |
| `send_date` | string | Sí | Cuándo enviar el mensaje. Usa el formato `"now"` o `YYYY-MM-DD HH:mm`. |
| `devices` | array de strings | Sí | Lista de tokens de dispositivo de LINE (ID de usuario) que recibirán el mensaje. |
| `preset` | string | No | Código del [preset de LINE](/es/product/content/line-presets/) que creaste en el Panel de Control de Pushwoosh.<br/><strong>Nota:</strong> Si se incluyen tanto <code>preset</code> como <code>template</code>, la plantilla anula el preset.<br/>Si se incluyen tanto <code>preset</code> como <code>content</code>, el contenido de la solicitud anula el preset. |
| `template` | object | Sí | Plantilla de diseño del mensaje. Admite múltiples tipos de mensajes. Consulta los detalles a continuación. |

##### Parámetros de la plantilla

Para un Mensaje Flex, utiliza la estructura raw.  
Tipo: raw (Flex)

| Parámetro <div style="width:180px"></div>| Tipo  <div style="width: 80px"></div>| Requerido | Descripción <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | Sí | Texto alternativo que se muestra en notificaciones, vistas previas de chat y citas. Máximo 400 caracteres. |
| `content`  | object  | Sí | Diseño del Mensaje Flex, estructurado usando `bubble`, `box`, `text` y otros componentes según la especificación Flex de LINE. |

##### Solicitud de ejemplo

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