Sending messages

The Channels API supports many of the features of Line; however, due to the omni-channel nature of the API, there may be some differences between the Channels API message and the native Line API.To send a Line message, you must have an active Line channel and perform an HTTP request to the following endpoint with a valid access key

When sending outbound messages as well as setting the receiver information you must set message body field in all cases

Body

{
 "receiver": {
   "contacts": [
     {
       "identifierValue": "U82767028f6ac7935be3c631e2993212b"
     }
   ]
 },
 "body": {...}
}

You can send messages to users who have added your LINE Official Account as a friend or in group chats and multi-person chats that your LINE Official Account has joined. Additionally, you can send messages to users who have sent a message to your LINE Official Account within the past seven days.

The Channels API supports many of the features of Line; however, due to the omni-channel nature of the API, there may be some differences between the Channels API message and the native Line API. Here is an overview of the Line message types and Channels API message types:

Line API type
Channels API

text

image

audio / video

location

sticker

-

imagemap

-

template - buttons

template - confirm

-

template - carousel

template - image carousel

-

flex message

Outbound messages

Text

Text message

{
  "type": "text",
  "text": {
    "text": "Single text message"
  }
}

Text message with emoji

To include an emoji in a text message, specify the product ID and emoji ID within the text message object. Set the index, productId, and emojiId properties, as shown in the example below. These properties can be found in text.metadata.line.emoji.items. Refer to the official documentation for detailed LINE emoji definitions.

{
    "type": "text",
    "text": {
        "text": "$ line emoji",
        "metadata": {
            "line": {
                "emoji": {
                    "items": [
                        {
                            "index": 0,
                            "productId": "5ac2213e040ab15980c9b447",
                            "emojiId": "001"
                        }
                    ]
                }
            }
        }
    }
}

Text message with reply buttons

{
  "type": "text",
  "text": {
    "text": "Single text message with reply actions",
    "actions": [
      {
        "type": "reply",
        "reply": {
          "text": "Reply action 1"
        }
      },
      {
        "type": "reply",
        "reply": {
          "text": "Reply action 2"
        }
      }
    ]
  }
}

Text message with postback actions

{
  "type": "text",
  "text": {
    "text": "Single text message with postback actions",
    "actions": [
      {
        "type": "postback",
        "postback": {
          "text": "Postback action 1",
          "payload": "postback-payload-1"
        }
      },
      {
        "type": "postback",
        "postback": {
          "text": "Postback action 2",
          "payload": "postback-payload-2"
        }
      }
    ]
  }
}

Text message with reply and postback actions

{
  "type": "text",
  "text": {
    "text": "Single text message with reply and postback actions",
    "actions": [
      {
        "type": "postback",
        "postback": {
          "text": "Postback action 1",
          "payload": "postback-payload-1"
        }
      },
      {
        "type": "reply",
        "reply": {
          "text": "Reply action 1"
        }
      }
    ]
  }
}

Text message with location request

{
    "type": "text",
    "text": {
        "text": "Single text message with location request",
        "actions": [
            {
                "type": "locationRequest",
                "locationRequest": {
                    "text": "Share location"
                }
            }
        ]
    }
}

Image

Single image message

{
  "type": "image",
  "image": {
    "images": [
      {
        "altText": "Label of first image",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FrEM9zztd8SEiJS6RQuR3%2Fimage.png?alt=media"
      }
    ]
  }
}

Single image message with text

{
  "type": "image",
  "image": {
    "images": [
      {
        "altText": "Label of first image",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FrEM9zztd8SEiJS6RQuR3%2Fimage.png?alt=media"
      }
    ],
    "text": "Single image message"
  }
}

Multiple image message

{
  "type": "image",
  "image": {
    "images": [
      {
        "altText": "Label of first image",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FrEM9zztd8SEiJS6RQuR3%2Fimage.png?alt=media"
      },
      {
        "altText": "Label of second image",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FRPPgQAGyZE7rvIh3WM2Z%2Fimage2.avif?alt=media"
      }
    ],
    "text": "Multiple images message"
  }
}

Single image message with postback actions

{
  "type": "image",
  "image": {
    "images": [
      {
        "altText": "Image label",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FrEM9zztd8SEiJS6RQuR3%2Fimage.png?alt=media"
      }
    ],
    "text": "Single image message with postback actions",
    "actions": [
      {
        "type": "postback",
        "postback": {
          "payload": "postback-payload-1",
          "text": "Postback option 1"
        }
      },
      {
        "postback": {
          "payload": "postback-payload-2",
          "text": "Postback option 2"
        },
        "type": "postback"
      }
    ]
  }
}

Single image message with label and reply actions

{
    "type": "image",
    "image": {
        "images": [
            {
                "altText": "Image label",
                "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FrEM9zztd8SEiJS6RQuR3%2Fimage.png?alt=media"
            }
        ],
        "text": "Single image message with reply actions",
        "actions": [
            {
                "type": "reply",
                "reply": {
                    "text": "Reply action 1"
                }
            },
            {
                "type": "reply",
                "reply": {
                    "text": "Reply action 2"
                }
            }
        ]
    }
}

Single image message with label, postback and reply actions

{
  "type": "image",
  "image": {
    "text": "Single image message with postback and reply actions",
    "images": [
      {
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FrEM9zztd8SEiJS6RQuR3%2Fimage.png?alt=media",
        "altText": "Image label"
      }
    ],
    "actions": [
      {
        "type": "postback",
        "postback": {
          "text": "Postback action",
          "payload": "postback-payload"
        }
      },
      {
        "type": "reply",
        "reply": {
          "text": "Reply action"
        }
      }
    ]
  }
}

Multiple images message with labels and postback actions

{
  "type": "image",
  "image": {
    "images": [
      {
        "altText": "First image label",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FrEM9zztd8SEiJS6RQuR3%2Fimage.png?alt=media"
      },
      {
        "altText": "Second image label",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FRPPgQAGyZE7rvIh3WM2Z%2Fimage2.avif?alt=media"
      }
    ],
    "text": "Multiple images message with postback actions",
    "actions": [
      {
        "type": "postback",
        "postback": {
          "payload": "postback-payload-1",
          "text": "Postback action 1"
        }
      },
      {
        "postback": {
          "payload": "postback-payload-2",
          "text": "Postback action 2"
        },
        "type": "postback"
      }
    ]
  }
}

Multiple images message with reply actions

{
    "type": "image",
    "image": {
        "images": [
            {
                "altText": "First image label",
                "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FrEM9zztd8SEiJS6RQuR3%2Fimage.png?alt=media"
            },
            {
                "altText": "Second image label",
                "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FRPPgQAGyZE7rvIh3WM2Z%2Fimage2.avif?alt=media"
            }
        ],
        "text": "Multiple images message with reply actions",
        "actions": [
            {
                "type": "reply",
                "reply": {
                    "text": "Reply action 1"
                }
            },
            {
                "reply": {
                    "text": "Reply action 2"
                },
                "type": "reply"
            }
        ]
    }
}

Multiple images message with labels, postback and reply actions

{
  "type": "image",
  "image": {
    "images": [
      {
        "altText": "First image label",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FrEM9zztd8SEiJS6RQuR3%2Fimage.png?alt=media"
      },
      {
        "altText": "Second image label",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FRPPgQAGyZE7rvIh3WM2Z%2Fimage2.avif?alt=media"
      }
    ],
    "text": "Multiple images message with postback and reply actions",
    "actions": [
      {
        "type": "postback",
        "postback": {
          "payload": "postback-payload",
          "text": "Postback action"
        }
      },
      {
        "reply": {
          "text": "Reply action"
        },
        "type": "reply"
      }
    ]
  }
}

File

Single file message

{
    "type": "file",
    "file": {
        "text": "Single file message",
        "files": [
            {
                "contentType": "video/mp4",
                "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FtXMQ4lIinia9ehf4EpC4%2Fvideo.mp4?alt=media"
            }
        ]
    }
}

Multiple files message

{
  "type": "file",
  "file": {
    "text": "Multiple files message",
    "files": [
      {
        "contentType": "video/mp4",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FtXMQ4lIinia9ehf4EpC4%2Fvideo.mp4?alt=media"
      },
      {
        "contentType": "application/pdf",
        "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FbgnxOoaF4aHSHUzMFCna%2Faudio.mp3?alt=media"
      }
    ]
  }
}

Location

{
    "type": "location",
    "location": {
        "coordinates": {
            "latitude": 52.37164323041201,
            "longitude": 4.884335169232767
        },
        "location": {
            "address": "Keizersgracht 268, 1016 EV, Amsterdam",
            "label": "MessageBird Amsterdam office"
        }
    }
}

Single card with title, description and actions

{
    "type": "carousel",
    "carousel": {
        "items": [
            {
                "title": "Card 1",
                "description": "First card",
                "actions": [
                    {
                        "type": "reply",
                        "reply": {
                            "text": "reply"
                        }
                    },
                    {
                        "type": "postback",
                        "postback": {
                            "text": "postback",
                            "payload": "postback"
                        }
                    },
                    {
                        "type": "link",
                        "link": {
                            "url": "https://www.messagebird.com",
                            "text": "Visit MessageBird"
                        }
                    }
                ]
            }
        ]
    }
}

Single card with image, title, description and actions

{
    "type": "carousel",
    "carousel": {
        "items": [
            {
                "title": "Card 1",
                "description": "First card",
                "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FRPPgQAGyZE7rvIh3WM2Z%2Fimage2.avif?alt=media",
                "actions": [
                    {
                        "type": "reply",
                        "reply": {
                            "text": "reply"
                        }
                    },
                    {
                        "type": "postback",
                        "postback": {
                            "text": "postback",
                            "payload": "postback"
                        }
                    },
                    {
                        "type": "link",
                        "link": {
                            "url": "https://www.bird.com",
                            "text": "Visit Bird"
                        }
                    }
                ]
            }
        ]
    }
}

Multiple cards with title, description and actions

{
    "type": "carousel",
    "carousel": {
        "items": [
            {
                "title": "Card 1",
                "description": "First card",
                "actions": [
                    {
                        "type": "reply",
                        "reply": {
                            "text": "reply"
                        }
                    },
                    {
                        "type": "postback",
                        "postback": {
                            "text": "postback",
                            "payload": "postback"
                        }
                    },
                    {
                        "type": "link",
                        "link": {
                            "url": "https://www.bird.com",
                            "text": "Visit Bird"
                        }
                    }
                ]
            },
            {
                "title": "Card 2",
                "description": "Second card",
                "actions": [
                    {
                        "type": "reply",
                        "reply": {
                            "text": "reply"
                        }
                    },
                    {
                        "type": "postback",
                        "postback": {
                            "text": "postback",
                            "payload": "postback"
                        }
                    },
                    {
                        "type": "link",
                        "link": {
                            "url": "https://www.bird.com",
                            "text": "Visit Bird"
                        }
                    }
                ]
            },
            {
                "title": "Card 3",
                "description": "Third card",
                "actions": [
                    {
                        "type": "reply",
                        "reply": {
                            "text": "reply"
                        }
                    },
                    {
                        "type": "postback",
                        "postback": {
                            "text": "postback",
                            "payload": "postback"
                        }
                    },
                    {
                        "type": "link",
                        "link": {
                            "url": "https://www.bird.com",
                            "text": "Visit Bird"
                        }
                    }
                ]
            }
        ]
    }
}

Multiple cards with image title, description and actions

{
    "type": "carousel",
    "carousel": {
        "items": [
            {
                "title": "Card 1",
                "description": "First card",
                "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FRPPgQAGyZE7rvIh3WM2Z%2Fimage2.avif?alt=media",
                "actions": [
                    {
                        "type": "reply",
                        "reply": {
                            "text": "reply"
                        }
                    },
                    {
                        "type": "postback",
                        "postback": {
                            "text": "postback",
                            "payload": "postback"
                        }
                    },
                    {
                        "type": "link",
                        "link": {
                            "url": "https://www.bird.com",
                            "text": "Visit Bird"
                        }
                    }
                ]
            },
            {
                "title": "Card 2",
                "description": "Second card",
                "mediaUrl": "https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdnJZeZvhOMhDQA8SpjQM%2Fuploads%2FRPPgQAGyZE7rvIh3WM2Z%2Fimage2.avif?alt=media",
                "actions": [
                    {
                        "type": "reply",
                        "reply": {
                            "text": "reply"
                        }
                    },
                    {
                        "type": "postback",
                        "postback": {
                            "text": "postback",
                            "payload": "postback"
                        }
                    },
                    {
                        "type": "link",
                        "link": {
                            "url": "https://www.bird.com",
                            "text": "Visit Bird"
                        }
                    }
                ]
            }
        ]
    }
}

List

List message without sections

{
    "type": "list",
    "list": {
        "items": [
            {
                "actions": [
                    {
                        "type": "postback",
                        "postback": {
                            "payload": "postback-action-payload-1",
                            "text": "Postback action 1"
                        }
                    },
                    {
                        "type": "postback",
                        "postback": {
                            "payload": "postback-action-payload-2",
                            "text": "Postback action 2"
                        }
                    }
                ]
            }
        ],
        "title": "List title",
        "altText": "List alt text",
        "text": "List text"
    }
}

ReplyTo

You can send any outbound message as a reply to a previous message by setting the replyTo object as shown below. The replyTo.id should be set to the id of a received message and the replyTo.type should be set to "message".

{
    "body": { ... },
    "replyTo": {
        "id": "<recievedmessageid>",
        "type": "message"
    }
}

ReplyTo with a text message

{
    "body": {
        "type": "text",
        "text": {
            "text": "Single text message"
        }
    },
    "replyTo": {
        "id": "a7ff5a02-101e-437c-bfbe-b1a5f7e35dfb",
        "type": "message"
    }
}

Last updated