# LINE API

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

<Aside type="caution" title="/createLineMessage는 더 이상 사용되지 않습니다">
새로운 통합은 [Messaging API v2](/ko/developer/api-reference/messaging-api-v2/)를 사용해야 합니다 — `Notify`에 `platforms: ["LINE"]`을 전달하고 `payload.content.localized_content` 내에서 `line` 블록을 사용하세요. [마이그레이션 가이드](/ko/developer/api-reference/messaging-api-v2/migration-from-v1/#from-createlinemessage)를 참조하세요. 리치 이미지 / 캐러셀 / flex 메시지의 경우, Pushwoosh Control Panel에서 LINE 템플릿으로 미리 구성하고 `line.template`을 통해 템플릿 코드를 참조하세요.
</Aside>

<Aside> LINE 메시지를 보내기 전에 Line 플랫폼이 올바르게 구성되었는지 확인하세요. [자세히 알아보기](/ko/developer/first-steps/connect-messaging-services/line-configuration/) </Aside>

## createLineMessage <Badge text="사용 중단됨" variant="caution" size="small" />

사용자에게 LINE 메시지를 보내는 데 사용됩니다

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

### 텍스트 메시지 보내기

이미지나 버튼 없이 일반 텍스트로만 구성된 간단한 LINE 메시지입니다. [자세히 알아보기](https://developers.line.biz/en/reference/messaging-api/#text-message)

> **팁:** 고급 서식 및 리치 미디어를 사용하려면 [Flex](#send-a-flex-message), [이미지](#send-an-image-message) 또는 [캐러셀](#send-an-image-carousel-message)과 같은 메시지 템플릿을 사용하세요.

##### 요청 본문

| 매개변수 <div style="width:180px"></div>| 유형  <div style="width: 80px"></div>| 필수 | 설명 <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | 예 | [Pushwoosh 애플리케이션 코드](/ko/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | 예 | 요청을 인증하기 위한 [API 액세스 토큰](/ko/developer/api-reference/api-identifiers/#api-access-token)입니다.  |
| `notifications` | array of objects | 예 | 전송할 LINE 메시지 객체 목록입니다. |
| `content` | string | 예 | 전송할 LINE 메시지의 텍스트입니다. 최대 글자 수: 5000.<br/><strong>참고:</strong> <code>preset</code>과 <code>content</code>가 모두 포함된 경우, 요청의 값이 <code>preset</code>을 덮어씁니다. |
| `preset` | string | 아니요 | Pushwoosh Control Panel에서 생성한 [LINE 프리셋](/ko/product/content/line-presets/)의 코드입니다. **참고:** <code>preset</code>과 <code>content</code>가 모두 포함된 경우, 요청의 값이 <code>preset</code>을 덮어씁니다. |
| `send_date` | string | 예 | 메시지를 보낼 날짜와 시간입니다. `YYYY-MM-DD HH:mm` 형식을 사용하거나 즉시 보내려면 `now`를 사용하세요. |
| `devices` | array of strings | 예 | LINE 메시지를 보낼 장치 코드(사용자 ID) 목록입니다. |

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

```

### 이미지 메시지 보내기

요청의 템플릿 필드 내에 이미지 객체를 지정하여 LINE 사용자에게 [이미지 메시지](https://developers.line.biz/en/reference/messaging-api/#image-message)를 보낼 수 있습니다.

각 이미지 메시지에는 두 개의 이미지 URL이 필요합니다: 하나는 **전체 크기 이미지(image\_url)**용이고 다른 하나는 **미리보기(preview\_image\_url)**용입니다. 사용자가 미리보기를 탭하면 전체 크기 이미지가 열립니다. 두 URL 모두 HTTPS(TLS 1.2 이상)를 사용하고 공개적으로 접근 가능한 이미지 파일에 연결되어 있는지 확인하세요.

자세한 내용은 LINE Messaging API 문서의 [이미지 메시지 섹션](https://developers.line.biz/en/reference/messaging-api/#image-message)을 참조하세요.

##### 요청 본문

| 매개변수 <div style="width:180px"></div>| 유형  <div style="width: 80px"></div>| 필수 | 설명 <div style="width:180px"></div> |
| :---- | ----- | ----- | ----- |
| `application` | string | 예 | [Pushwoosh 애플리케이션 코드](/ko/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | 예 | 요청을 인증하는 데 사용되는 [API 액세스 토큰](/ko/developer/api-reference/api-identifiers/#api-access-token)입니다. |
| `notifications` | array of objects | 예 | 보낼 메시지 목록입니다. |
| `content` | string | 예 | 메시지의 대체 또는 미리보기 텍스트로 사용됩니다. Pushwoosh Control Panel에서 생성한 LINE 프리셋의 코드입니다.<br/><strong>참고:</strong> <code>preset</code>과 <code>template</code>이 모두 포함된 경우, 요청의 <code>template</code>이 사용됩니다.<br/><code>preset</code>과 <code>content</code>가 모두 포함된 경우, 요청의 <code>content</code>가 프리셋을 덮어씁니다. |
| `send_date` | string | 예 | 메시지를 보낼 날짜와 시간입니다. `YYYY-MM-DD HH:mm` 형식을 사용하거나 즉시 보내려면 `now`를 사용하세요. |
| `devices` | array of strings | 예 | LINE 메시지를 보낼 장치 코드(사용자 ID) 목록입니다. |
| `preset` | string | 아니요 | Pushwoosh Control Panel에서 생성한 [LINE 프리셋](/ko/product/content/line-presets/)의 코드입니다.<br/><strong>참고:</strong> <code>preset</code>과 <code>template</code> 매개변수가 모두 요청에 포함된 경우, <code>template</code>의 값이 프리셋에 정의된 값을 덮어씁니다.<br/><code>preset</code>과 <code>content</code>가 모두 동일한 요청에 포함된 경우, 요청에 직접 제공된 <code>content</code>가 <code>preset</code>의 콘텐츠를 덮어씁니다. |
| `template` | object | 예 | 메시지 레이아웃 템플릿입니다. 여러 메시지 유형을 지원합니다. 아래에서 자세한 내용을 확인하세요.  |

##### 템플릿 매개변수

**유형:** image

| 매개변수 <div style="width:180px"></div>| 유형  <div style="width: 80px"></div>| 필수 | 설명 <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `image_url` | string | 예 | 전체 크기 이미지의 URL(HTTPS 사용 필수). **최대 길이:** 2000자. **형식:** JPEG, PNG. **최대 크기:** 10MB. |
| `preview_image_url` | string | 예 | 채팅에 표시되는 미리보기 이미지의 URL(HTTPS 사용 필수). **최대 길이:** 2000자. **형식:** JPEG, PNG. **최대 크기:** 1MB.  |

##### 요청 예시

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


```

### 이미지 캐러셀 메시지 보내기

이미지 캐러셀 메시지를 사용하면 여러 이미지를 가로로 스크롤할 수 있는 형식으로 표시할 수 있습니다. 각 이미지는 사용자가 LINE 채팅 인터페이스에서 스와이프할 수 있는 별도의 클릭 불가능한 열로 나타납니다.

이 형식은 항목, 프로모션 또는 시각적 선택 사항을 매력적인 방식으로 보여주는 데 이상적입니다.

자세한 내용은 LINE Messaging API 문서의 [이미지 캐러셀 템플릿](https://developers.line.biz/en/reference/messaging-api/#carousel) 섹션을 참조하세요.

##### 요청 본문

| 매개변수 <div style="width:180px"></div>| 유형  <div style="width: 80px"></div>| 필수 | 설명 <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | 예 | [Pushwoosh 애플리케이션 코드](/ko/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | 예 | 요청을 인증하는 데 사용되는 [API 액세스 토큰](/ko/developer/api-reference/api-identifiers/#api-access-token)입니다. |
| `notifications` | array of objects | 예 | 보낼 메시지 목록입니다. |
| `content` | string | 예 | 메시지의 대체 또는 미리보기 텍스트로 사용됩니다.<br/><strong>참고:</strong> <code>content</code>와 <code>template</code>이 모두 설정된 경우, <code>template</code>이 사용됩니다.<br/><code>preset</code>과 <code>content</code>가 모두 동일한 요청에 포함된 경우, 요청에 직접 제공된 <code>content</code>가 <code>preset</code>의 콘텐츠를 덮어씁니다. |
| `send_date` | string | 예 | 메시지를 보낼 날짜와 시간입니다. `YYYY-MM-DD HH:mm` 형식 또는 `"now"`를 사용하세요. |
| `devices` | array of strings | 예 | LINE 메시지를 보낼 장치 코드(사용자 ID) 목록입니다. |
| `preset` | string | 아니요 | Pushwoosh Control Panel에서 생성한 [LINE 프리셋](/ko/product/content/line-presets/)의 코드입니다.<br/><strong>참고:</strong> <code>preset</code>과 <code>template</code> 매개변수가 모두 요청에 포함된 경우, <code>template</code>의 값이 <code>preset</code>에 정의된 값을 덮어씁니다.<br/><code>preset</code>과 <code>content</code>가 모두 동일한 요청에 포함된 경우, 요청에 직접 제공된 <code>content</code>가 <code>preset</code>의 콘텐츠를 덮어씁니다. |
| `template` | object | 예  | 메시지 레이아웃 템플릿입니다. 여러 메시지 유형을 지원합니다. 아래에서 자세한 내용을 확인하세요. |



##### 템플릿 매개변수

**유형:** image\_carousel

| 매개변수 <div style="width:180px"></div>| 유형  <div style="width: 80px"></div>| 필수 | 설명 <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | 예 | 푸시 미리보기 및 지원되지 않는 장치에 표시되는 대체 텍스트입니다. 최대 400자. |
| `columns` | array of objects | 예 | 이미지 열의 배열(1–10개 지원). 각 열에는 이미지가 포함됩니다. |
| `image_url` | string  | 예 | 각 캐러셀 열에 표시되는 이미지의 URL로, 공개적으로 접근 가능한 JPEG 또는 PNG 파일을 가리킵니다. HTTPS를 사용해야 합니다. |

##### 요청 예시

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

### Flex 메시지 보내기

Flex 메시지는 텍스트, 이미지, 버튼 및 기타 구성 요소를 사용하여 구조화된 레이아웃을 만들 수 있는 강력하고 사용자 정의 가능한 메시지 유형입니다. 영수증, 제품 카드, 메뉴 또는 시각적 구조화가 필요한 모든 콘텐츠와 같은 사용 사례에 이상적입니다.

Flex 메시지를 보내려면 요청 내에 `raw` 페이로드가 있는 `template` 객체를 포함하세요. 메시지 레이아웃은 [LINE Flex 메시지 사양](https://developers.line.biz/en/docs/messaging-api/using-flex-messages/)을 따라야 합니다.

**팁:** [LINE Flex 메시지 시뮬레이터](https://developers.line.biz/flex-simulator/)를 사용하여 Flex 메시지를 디자인하고 미리 볼 수 있습니다.

##### 요청 본문

| 매개변수 <div style="width:180px"></div>| 유형  <div style="width: 80px"></div>| 필수 | 설명 <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `application` | string | 예 | [Pushwoosh 애플리케이션 코드](/ko/developer/api-reference/api-identifiers/#application-code) |
| `auth` | string | 예 | 요청을 인증하는 데 사용되는 [API 액세스 토큰](/ko/developer/api-reference/api-identifiers/#api-access-token)입니다. |
| `notifications` | array of objects | 예 | 보낼 메시지 목록입니다. |
| `content` | string | 예 | 메시지의 대체 또는 미리보기 텍스트로 사용됩니다.<br/><strong>참고:</strong> <code>content</code>와 <code>template</code>이 모두 설정된 경우, 템플릿이 사용됩니다.<br/><code>preset</code>과 <code>content</code>가 모두 포함된 경우, 요청의 콘텐츠가 프리셋을 덮어씁니다. |
| `send_date` | string | 예 | 메시지를 보낼 시간입니다. `"now"` 또는 `YYYY-MM-DD HH:mm` 형식을 사용하세요. |
| `devices` | array of strings | 예 | 메시지를 수신할 LINE 장치 토큰(사용자 ID) 목록입니다. |
| `preset` | string | 아니요 | Pushwoosh Control Panel에서 생성한 [LINE 프리셋](/ko/product/content/line-presets/)의 코드입니다.<br/><strong>참고:</strong> <code>preset</code>과 <code>template</code>이 모두 포함된 경우, 템플릿이 프리셋을 덮어씁니다.<br/><code>preset</code>과 <code>content</code>가 모두 포함된 경우, 요청의 콘텐츠가 프리셋을 덮어씁니다. |
| `template` | object | 예 | 메시지 레이아웃 템플릿입니다. 여러 메시지 유형을 지원합니다. 아래에서 자세한 내용을 확인하세요. |

##### 템플릿 매개변수

Flex 메시지의 경우 원시 구조를 사용하세요.
유형: raw (Flex)

| 매개변수 <div style="width:180px"></div>| 유형  <div style="width: 80px"></div>| 필수 | 설명 <div style="width:180px"></div> |
| :---- | :---- | :---- | :---- |
| `alt_text` | string | 예 | 알림, 채팅 미리보기 및 인용문에 표시되는 대체 텍스트입니다. 최대 400자. |
| `content`  | object  | 예 | LINE의 Flex 사양에 따라 `bubble`, `box`, `text` 및 기타 구성 요소를 사용하여 구조화된 Flex 메시지 레이아웃입니다. |

##### 요청 예시

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