LINE DevelopersLINE Developers
About
News
Products
Documentation
FAQ
Glossary
More
 
[Resolved] Notice about service outage for the Messaging API
2020/12/22

We'd like to inform you about a service outage regarding the Messaging API. The issue has now been resolved.

We sincerely apologize for any inconvenience that this may have caused.

Date and time of outage

December 22, 2020 12:16 - December 22, 2020 13:31 (UTC+9)

Cause

Server failure.

Details

Some Messaging API requests weren't being processed properly.

Affected service

Some of Send narrowcast message requests (when the target is specified by audience) weren't being processed properly.

If you use Get narrowcast message status to get the status of a narrowcast message, requests may have failed if the "phase" property is failed and the "errorCode" property is 1.

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Outage ReportMessaging API

Previous post
Beacon Leave Event was deprecated at the end of 2020
Next post
The LINE Pay developer's documentation is now on the LINE Developers site
The LINE Pay developer's documentation is now on the LINE Developers site
2020/12/16

To make it easier for developers to find the information they're looking for, we moved the LINE Pay developer's documentation to the LINE Developers site. Here's the information that's now available on our site:

  • LINE Pay documentation
  • LINE Pay API reference
  • LINE Pay documentation (Offline)
  • LINE Pay API reference (Offline)

There is no change to the documentation or API reference content from before the migration.

LINE Pay developer's documentation language

Currently, we've only migrated the English content of the LINE Pay developer's documentation. We plan to migrate the other available languages in the future.

LINE will continue to improve the quality of the LINE Developers site and its documentation.

Docs

Previous post
[Resolved] Notice about service outage for the Messaging API
Next post
A list of available features added for each LINE Developers Console login account
A list of available features added for each LINE Developers Console login account
2020/12/15

As announced on October 13, 2020, you can currently use these accounts to log in to LINE Developers Console.

  • LINE account
  • Business account

Regarding the available features when you log in to LINE Developers Console using each account, we added explanations to Log in to LINE Developers. This document also explains how to link your business account with your LINE account.

For more information on LINE Developers Console, see the LINE Developers Console Overview.

LINE will continue to improve the quality of the LINE Developers site and its documentation.

LINE Developers ConsoleDocs

Previous post
The LINE Pay developer's documentation is now on the LINE Developers site
Next post
The LINE CLOVA product page has been released
The LINE CLOVA product page has been released
2020/12/15

We added a LINE CLOVA page to the Products page.

LINE CLOVA is the AI technology brand of LINE. Using high-quality AI technology cultivated through research and development in a wide range of technological areas, we support the resolution of various problems in daily life and business.

The product page introduces the technology features and services that LINE CLOVA offers. LINE CLOVA plans to expand its services in the future, starting with the SaaS offering of OCR.

A contract is required prior to using LINE CLOVA's services. Please contact us via Contact us button on the product page if you would like to use these services.

Note

The service is only available in Japanese.

CLOVA

Previous post
A list of available features added for each LINE Developers Console login account
Next post
We changed "Guides" to "Documentation" on the LINE Developers site
We changed "Guides" to "Documentation" on the LINE Developers site
2020/12/11

Since the navigation update on November 28, 2020, the LINE Developers site has placed the "Documentation" and "API Reference" categories under Guides.

To make it easier for developers to find the information they are looking for, we changed the name from Guides to Documentation.

  • Before change
    Guides changed to documentation
  • After change
    Guides changed to documentation

There is no change to the documentation or API reference content.

LINE will continue to improve the quality of the LINE Developers site and its documentation.

Docs

Previous post
The LINE CLOVA product page has been released
Next post
We've launched the LINE API Use Case site, which introduces LINE API use cases, demo apps, and more
We've launched the LINE API Use Case site, which introduces LINE API use cases, demo apps, and more
2020/12/09

Today we released the LINE API Use Case site, which introduces technical information about LINE APIs, use cases, client cases, demo apps, and more.

LINE API Use Case site language

Update (4/8): The LINE API Use Case site is now available in English.

The LINE API Use Case site is currently only available in Japanese but will be available in English soon.

  • LINE API Use Case (https://lineapiusecase.com/)
    LINE API Use Case

LINE offers a variety of APIs that let companies and external developers connect with our various services. Prior to using the LINE Developers site, which explains the API specifications and development methods for developers, you can refer to the LINE API Use Case site to discover what you can do with those APIs in the first place.

On the LINE API Use Case site, you will find use cases, client case studies, and demo apps that utilize LINE APIs in categories such as "reservations," "table orders," "membership cards," "information distribution for local governments," and "reservation phone calls." You can refer to actual use cases and experience the behavior of each API in an easy-to-understand manner.

These are the LINE APIs provided on the LINE API Use Case site:

  • Messaging API
  • LINE Login
  • LINE Front-end Framework (LIFF) / LINE MINI App
  • LINE Pay API
  • LINE Social Plugins
  • CLOVA Chatbot (Scheduled for release in March 2020)
  • CLOVA OCR (Scheduled for release in March 2020)

You can access the LINE API Use Case site by clicking Use Case in the More drop-down menu.

Use Case option in the More drop-down menu

LINE will continue to strengthen its cooperation with external companies, partners, and developers in order to create a stronger relationship and shorten the distance between users and various information, services, and goods.

LINE Platform

Previous post
We changed "Guides" to "Documentation" on the LINE Developers site
Next post
iOS support version for a LIFF browser has changed
iOS support version for a LIFF browser has changed
2020/12/07

iOS support version for the LIFF browser has been changed from iOS 11 or later to 12.0 or later. We don't support the operation of the LIFF browser when opened on iOS 11 or earlier versions.

Before the changeAfter the change
iOS 11 or lateriOS 12.0 or later

Currently, the LIFF browser supports these environments:

  • iOS: version 12.0 or later. WKWebView is used.
  • Android: version 5.0 or later
  • LINE: version 9.14.0 or later
Note

Depending on the platform and LINE version, some features may not work or the screen may not be displayed properly.

For more details on the operating environment of LIFF apps, see Operating environment in the LIFF documentation.

LIFF

Previous post
We've launched the LINE API Use Case site, which introduces LINE API use cases, demo apps, and more
Next post
Messaging API update for December 2020
Messaging API update for December 2020
2020/12/02

We added a new property to the Sticker message type of the Message webhook event object of the Messaging API.

  • keywords property

keywords property

Previously, developers were unable to understand the context of the stickers sent to the LINE Official Account by looking at the returned webhook event object. Now, with the keywords property, you can.

json
{
  "destination": "xxxxxxxxxx",
  "events": [
    {
      "replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
      "type": "message",
      "mode": "active",
      "timestamp": 1462629479859,
      "source": {
        "type": "user",
        "userId": "U4af4980629..."
      },
      "message": {
        "type": "sticker",
        "id": "1501597916",
        "stickerId": "52002738",
        "packageId": "11537",
        "stickerResourceType": "ANIMATION",
        "keywords": ["cony","sally","Staring","hi","whatsup","line","howdy","HEY","Peeking","wave","peek","Hello","yo","greetings"]
      }
    }
  ]
}
Keywords experimental phase

The keywords property is currently in an experimental phase and discontinuation or spec changes may occur in the future.

For more information, see the Sticker message type in the Messaging API reference.

Messaging API

Previous post
iOS support version for a LIFF browser has changed
Next post
Share target picker UI has been improved
Share target picker UI has been improved
2020/12/01

We've improved the share target picker UI.

These changes have been made to the Chats category on the Friend/Group Selection screen. This change makes it easier to find chats to share.

  • The display order of Chats has moved to the end of the list.
  • The category that opens by default has changed from Friends to Chats.
  • The Chats category, which used to include only chats, now includes one-on-one chats and groups.
  • The order of content in the Chats category has changed from alphabetical to most recently sent.

The order of items changes

To learn more about share target picker, see Sending messages to a user's friend (share target picker) in the LIFF documentation.

LIFF

Previous post
Messaging API update for December 2020
Next post
LIFF v2.6.0 released
LIFF v2.6.0 released
2020/12/01

We've released LIFF v2.6.0.

In this update, only the internal behavior of the SDK has been changed. There is no change in functionality.

If you're using the CDN edge path (https://static.line-scdn.net/liff/edge/2/sdk.js), it will automatically update to v2.6.0.

If you're using the npm package, you can upgrade to v2.6.0 by running npm install @line/liff@2.6.0 or yarn add @line/liff@2.6.0.

For more information on how to integrate the LIFF SDK, see Integrating the LIFF SDK with the LIFF app in the LIFF documentation.

LIFF

Previous post
Share target picker UI has been improved
Next post
[Resolved] Notice about service outage for sending webhook events
[Resolved] Notice about service outage for sending webhook events
2020/11/27

We'd like to inform you about a service outage regarding the Messaging API. The issue has now been resolved but we sincerely apologize for any inconvenience that this may have caused.

Date and time of outage

November 27, 2020 12:59 - 13:17 (UTC+9)

Cause of the outage

Server failure.

Impact

Sending webhook events

Details

During the stated date and time, webhook events couldn't be sent successfully.

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Outage ReportMessaging API

Previous post
LIFF v2.6.0 released
Next post
As of December 2020, the rate limit will change for some endpoints in the Messaging API
As of December 2020, the rate limit will change for some endpoints in the Messaging API
2020/11/27

In the Messaging API, each endpoint has a rate limit.

The rate limit will change for some endpoints starting December 1, 2020. Refer to this table for the differences between before and after changes.

EndpointBefore ChangeAfter Change
  • Send a narrowcast message
  • Send a broadcast message
  • Get number of sent messages
  • Get number of friends
  • Get friend demographics
  • Get user interaction statistics
  • Test webhook endpoint
60 requests/hourno change
  • Create audience for uploading user IDs (by JSON)
  • Create audience for uploading user IDs (by file)
  • Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by JSON)
  • Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by file)
  • Create audience for click-based retargeting
  • Create audience for impression-based retargeting
  • Rename an audience
  • Delete audience
  • Get audience data
  • Get data for multiple audiences
  • Get the authority level of the audience
  • Change the authority level of the audience
60 requests/minuteno change
  • Set webhook endpoint URL
  • Get webhook endpoint information
1,000 requests per minuteno change
Other API endpoints100,000 requests per minute
1,700 requests per seccond
2,000 requests per second *

* Before the change, there were both per-minute and per-second rate limits, but after the change, there will only be a per-second rate limit. If you send requests exceeding the rate limit, you will receive an error message saying, 429 Too Many Requests.

Expected Date of Specification Change

December 1, 2020

The details and date of this specification change are subject to change without notice.

LINE will continue to work to further improve its service to our customers. Thank you for your understanding.

Messaging API

Previous post
[Resolved] Notice about service outage for sending webhook events
Next post
Reminder: Beacon Leave Event to be deprecated at the end of 2020
Reminder: Beacon Leave Event to be deprecated at the end of 2020
2020/11/25

As announced on June 6, 2020, the leave event of Beacon event, will be deprecated at the end of 2020. Please adjust your service to use the stay event instead of the leave event for detecting when users exit the reception range of Beacon.

ScheduleDescription
End of 2020Leave event will be deprecated.
Early January of 2021Webhook transmission will cease.
Tip

We will continue supporting other Beacon events (enterevent, bannerevent, or stayevent).

Impact

Please adjust your service to use the stay event instead of the leave event for detecting when users exit the reception range of Beacon.

beacon.typeDescription
leaveTo be deprecated at the end of 2020 User left the reception range of Beacon.
stayUser is currently within the reception range of Beacon.
This event is sent repeatedly at a minimum interval of 10 seconds.

If you wish you use the stay event, contact your sales representative or contact our Sales Partners.

We are no longer accepting new applications in Japan (Added on January 7, 2021)

As of January 2021, we are no longer accepting new applications for stay events.

We apologize for any inconvenience the deprecation of the leave event may have caused. LINE will continue to improve the quality of its services to its customers. Thank you for your understanding.

Messaging API

Previous post
As of December 2020, the rate limit will change for some endpoints in the Messaging API
Next post
[Updated] On March 1, 2021, "Replace (Backward compatibility mode)" will be removed from the permanent link redirection settings for LIFF app and LINE MINI App
[Updated] On March 1, 2021, "Replace (Backward compatibility mode)" will be removed from the permanent link redirection settings for LIFF app and LINE MINI App
2020/11/20
Added on February 2, 2021

We have added a way to address cases in which the Replace (Backward compatibility mode) specification still requires a transition to a secondary redirect URL, even after migrating your LIFF app or LINE MINI App to Concatenate. For more information, see Convert URL generated by "Concatenate" to URL of "Replace (Backward compatibility mode)" (Added on February 2, 2021).

Added on January 18, 2021

The day when it will not be possible to return to Replace (Backward compatibility mode) once Method for converting additional information in the LIFF URL is set to Concatenate was announced as January 11, 2021. However, the schedule was changed to January 19, 2021. For more information about the updated schedule, see Discontinuation schedule.

On March 1, 2021, Replace (Backward compatibility mode) in Method for converting additional information in the LIFF URL on the LINE Developers Console will no longer be available. After this change, all LIFF and LINE MINI App URLs will be opened with Concatenate.

How to process additional information in the LIFF URL

Switch the setting to Concatenate for LIFF apps and LINE MINI Apps that are currently set to Replace (Backward compatibility mode) by the discontinuation date.

Continuation of "Replace (Backward compatibility mode)"

After March 1, 2021, environments that don't support Concatenate, such as LINE v10.10.0 or lower and LIFF SDK v2.2.1 or lower, can continue to use Replace (Backward compatibility mode), but the normal operation of the LIFF app and LINE MINI App isn't guaranteed. We recommend migrating to Concatenate.

Discontinuation schedule (planned)

DateDescription
January 11, 2021
January 19, 2021
  • Deprecation of Replace (Backward compatibility mode)
  • Replace (Backward compatibility mode) will no longer be available when creating new LIFF apps and LINE MINI Apps.
  • Once you change the setting to Concatenate, you can't revert to Replace (Backward compatibility mode).
March 1, 2021Replace (Backward compatibility mode) will be removed, so the setting will be switched to Concatenate in all LIFF apps and LINE MINI Apps.

Transition from "Replace (Backward compatibility mode)" to "Concatenate"

If your existing LIFF app or LINE MINI App uses Replace (Backward compatibility mode), do these three things to move to Concatenate by the discontinuation date (February 28, 2021).

  • Upgrade your LIFF SDK version to v2.3.0 or later
  • Make endpoint URL and LIFF URL correspond to "Concatenate"
  • Convert URL generated by "Concatenate" to URL of "Replace (Backward compatibility mode)" (Added February 2, 2021)

Upgrade your LIFF SDK version to v2.3.0 or later

Versions earlier than v2.3.0 don't support Concatenate, so upgrade to v2.3.0 or later.

If you're already using v2.3.0 or later, you don't need to upgrade.

Make endpoint URL and LIFF URL correspond to "Concatenate"

When the setting is switched to Concatenate, the path and query parameters (/2020campaign/?key=value) specified in Endpoint URL of the LINE Developers Console will be included in the secondary redirect destination. As a result, the same endpoint URLs and LIFF URLs that were used to set Replace (Backwards compatibility mode) may result in unintended redirects to unintended URLs.

Make Endpoint URL and LIFF URL to be compatible with Concatenate if necessary.

To learn about the difference between Replace (Backward compatibility mode) and Concatenate, see Create a secondary redirect URL in the LIFF documentation.

Verify that the LIFF app and LINE MINI App open correctly after changing the settings

Once you have migrated your existing LIFF app and LINE MINI App settings to Concatenate, verify that the app opens correctly with the new settings. If they don't open correctly, correct the LIFF SDK version, Endpoint URL, and LIFF URL to be compatible with Concatenate.

Convert URL generated by "Concatenate" to URL of "Replace (Backward compatibility mode)" (Added on July 1, 2021)

Updated on July 1, 2021

As announced on 31st May, 2021, Example code for converting URL generated by "Concatenate" to URL of "Replace (Backward compatibility mode)" specification has been removed at the end of June 2021.

Even after migrating your LIFF App or LINE MINI App to Concatenate, if the Replace (Backward compatibility mode) specification still requires a transition to a secondary redirect URL, use the function that converts URL generated by "Concatenate" to URL of "Replace (Backward compatibility mode)".

We are providing this function for a limited time only

Example code for converting URL generated by "Concatenate" to URL of "Replace (Backward compatibility mode)" specification in the LIFF documentation is intended to support the migration to Concatenate, due to the discontinuation of Replace (Backward compatibility mode). Some time after the discontinuation of Replace (Backward compatibility mode), we may delete the page. If you wish to check the conversion method even after the page is deleted, download the function that converts secondary redirect URL generated by "Concatenate", and refer to the code as necessary.

LIFFLINE MINI App

Previous post
Reminder: Beacon Leave Event to be deprecated at the end of 2020
Next post
[Updated] Introducing the new LINE Developers site navigation
[Updated] Introducing the new LINE Developers site navigation
2020/11/18
Added on December 11, 2020

On December 11, 2020, we changed the category name Guides to Documentation on the LINE Developers site.

Guides changed to documentation

For more details, see the news on December 11, 2020, We changed "Guides" to "Documentation" on the LINE Developers site.

We're excited to introduce our new, redesigned LINE Developers site navigation system. This update contains various improvements, providing a more pleasant experience and making it easier for users to find the documentation they need.

Here are the key changes in the LINE Developers site navigation update:

  • Streamlined API references and documentation
  • Updated New tag to alert users of unread announcements
  • Relocated language switch
  • General header and side navigation improvements
  • What's next?

Streamlined API references and documentation

We've combined the Documents and API reference categories into a singular Guides category.

Hover your mouse over "Guides" and select a product from the drop-down menu.

Guides drop-down menu

You'll now see the selected product's documentation in the side navigation. To access the API reference for that product, click the product name in the API reference section.

API reference in side navigation

To go back to the product's documentation, just click the Back button.

Button to go back to the documentation from the API reference

By placing the developer content of each product in a single location, users can more easily and quickly find the content they're looking for.

Updated New tag to alert users of unread announcements

We've updated the New tag algorithm to let users know when there is a new announcement that they haven't read.

Previously, the New tag would be displayed on announcements for 14 days after publication, regardless of whether the user had read them or not.

Now, the New tag will only appear on unread announcements, and will disappear once the user has seen the article. This makes it so that when users see the New tag, they know that they have a truly unread announcement.

If there is any unread news, a notification will appear next to the News option in the header...

Red dot by news in header

...and with the news itself (found in both the News section and on the home page).

New tag next to news

The notification will disappear after clicking the unread article.

Relocated language switch

LINE Developers site provides its documentation in multiple languages. We've made it easier for users to change the site language by relocating the language switch from the footer to the header.

Also, you used to have to click the language switch icon to display the drop-down menu. Now, all you have to do is hover your mouse over the icon, making it that much quicker to get where you need to go.

Language switch drop-down menu

General header and side navigation improvements

In addition to everything else, we've also made some general improvements to the look, feel, and availability of the navigation system. For starters, the header navigation used to only be available on the home page. Now, it's displayed throughout the site so you never have to backtrack to get where you want to go.

We've also improved the design and responsiveness of the side navigation. We've incorporated a more modern, structured design, and the location indicator is more responsive, showing you where you are on the site, even as you quickly scroll through the page.

Location indicator in the side navigation

What's next?

We'll continue looking for ways to make it easier for you to use the LINE Developers site. If you encounter any issues or would like to make suggestions for improvement, leave us feedback in the LINE Developers site's feedback form. We read every single feedback message.

Docs

Previous post
[Updated] On March 1, 2021, "Replace (Backward compatibility mode)" will be removed from the permanent link redirection settings for LIFF app and LINE MINI App
Next post
Social API is now part of LINE login
Social API is now part of LINE login
2020/11/12

Social API will now be treated as a part of LINE Login.

No change in functionality

There are no changes to the endpoints or functions. You can use it the same as before the merge.

See also the new documentation and API reference.

  • LINE Login documentation
  • LINE Login v2.1 API reference
About previous version

For documentation and API references for LINE Login v2.0 (formerly Social API v2.0), see:

  • Integrating LINE Login (v2.0) with your web app
  • Managing access tokens (LINE Login v2.0)
  • Managing users (LINE Login v2.0)
  • LINE Login API v2.0 reference

LINE will continue to improve our services to our customers. Thank you for your understanding and cooperation.

LINE LoginSocial API

Previous post
[Updated] Introducing the new LINE Developers site navigation
Next post
Introducing the LINE Developers Console notification center
Introducing the LINE Developers Console notification center
2020/11/11

In order to provide an overview of alerts and notifications to our users, we've added a notification center to the LINE Developers Console.

The new notification center provides real-time updates. These are the notifications you can expect to receive:

  • My activity: Your activity on the LINE Developers Console.
  • News: Announcements from the LINE Developers site.
  • Channel activity: Activity related to channels that you are an admin of.
  • Provider activity: Activity related to providers that you are an admin of.

To view the notification center, click the bell icon in the top-right corner of the LINE Developers Console. If there are any unread notifications, a green dot will appear next to the icon.

LINE Developers Console notification center icon

After clicking the icon, the notification center will appear. You can view any recent updates or activity here.

LINE Developers Console notification center drop-down menu

You also have complete control over the notifications you receive and where you receive them. Go to your profile in the LINE Developers Console and, in the Settings section, toggle the slider on (right) or off (left) next to the notification option to enable or disable that setting.

LINE Developers Console notification center settings

Email notifications

Your email address registered in your LINE Developers Console profile must be verified to receive email notifications. If the email address in your profile is labeled as Your email is not yet verified, click on Get Verification Link to verify your email address.

You will only receive email notifications for the notification settings you enabled.

We will continue to work on improving the quality of the LINE Developers Console. We look forward to your continued support.

LINE Developers Console

Previous post
Social API is now part of LINE login
Next post
[Updated] LINE Developers Console emergency maintenance has completed
[Updated] LINE Developers Console emergency maintenance has completed
2020/11/09

Emergency maintenance of the LINE Developers site was carried out on the following dates and times.

We sincerely apologize for the inconvenience.

Date and time of maintenance

  • LINE Developers site
    • November 9, 2020 around 17:15 - 18:46 (UTC+9)
  • LINE Developers Console
    • November 9, 2020 around 17:15 - 22:07 (UTC+9)

Impact of maintenance

From the time stated above, you weren't able to browse the LINE Developers site (https://developers.line.biz/) or log in to the LINE Developers Console (https://developers.line.biz/console/).

MaintenanceLINE Developers ConsoleLINE Platform

Previous post
Introducing the LINE Developers Console notification center
Next post
[Resolved] Notice about service outage for LINE Platform
[Resolved] Notice about service outage for LINE Platform
2020/11/09

We'd like to inform you about a service outage regarding the LINE Platform. The issue has now been resolved. We sincerely apologize for any inconvenience that this may have caused.

Date and time of outage

November 09, 2020 14:32 - 14:52 (UTC+9)

Regarding events that occurred due to network failures during the above hours, recovery measures were completed in stages by around 22:07 on the same day.

See Details for more information.

Cause of the outage

Network failure.

Impact

  • Messaging API
  • Social API
  • LINE Login
  • LIFF
  • Other general functions provided by the LINE Platform

Details

Date and time of occurrenceEvent
November 9, 2020 14:32 - 14:52 (UTC+9)API requests couldn't be processed and functions weren't working properly (e.g., error pages were displayed)
November 9, 2020 14:32 - 16:30 (UTC+9)Some webhook events were delayed or couldn't be sent
November 9, 2020 14:32 - 16:51 (UTC+9)For some Messaging API requests, the message wasn't delivered even though the request was successful
November 9, 2020 14:32 - 22:07 (UTC+9)Messaging API channels or Blockchain Service channels couldn't be created in the LINE Developers Console. Details can be found in the LINE Developers Console emergency maintenance announcement.

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Outage ReportLINE Platform

Previous post
[Updated] LINE Developers Console emergency maintenance has completed
Next post
LIFF v2.5.0 released
LIFF v2.5.0 released
2020/10/29

We've released LIFF v2.5.0.

These are the changes in LIFF v2.5.0.

  • Improved performance of liff.init()
  • Security enhancements

There is no change in LIFF functionality in this update.

Improved performance of liff.init()

The speed from running liff.init() to the completion of LIFF app initialization has been improved, providing a more pleasant user experience with less waiting time to open the LIFF app.

For more information on liff.init(), see liff.init() in the LIFF API Reference.

Security enhancements

We've strengthened security as a preventive measure against unknown attacks.

About updating your LIFF app

Since this is a minor security enhancement, an update is not required.

LIFF

Previous post
[Resolved] Notice about service outage for LINE Platform
Next post
Two-factor authentication has been introduced for LINE Developers Console login
Two-factor authentication has been introduced for LINE Developers Console login
2020/10/28

As of October 19, 2020, two-factor authentication has been introduced for LINE Developers Console login.

When you log in to LINE Developers Console from a browser on your computer using your LINE account, after entering the email address and password of your LINE account, you must also enter the authentication code that's then displayed on your computer screen in LINE on your mobile device.

The flow of two-factor authentication

You won't need to use two-factor authentication on the browser for one year after the first time you use it to log in.

Also, if you have already logged in to LINE Official Account Manager using two-factor authentication, when you log in to LINE Developers Console using the same account, two-factor authentication will not be prompted.

We will continue to work on improving the quality of the LINE Developers Console. We look forward to your continued support.

LINE Developers Console

Previous post
LIFF v2.5.0 released
Next post
Introducing the LINE Developers Console feedback form
Introducing the LINE Developers Console feedback form
2020/10/22

In order to improve the quality of the LINE Developers Console for our users, we've added a feedback form to the LINE Developers Console.

If you would like to report any bugs in the LINE Developers Console or would like to leave any suggestions, scroll down to the bottom of the page and click the feedback form icon.

LINE Developers Console feedback form icon

After clicking the icon, the feedback form will appear. You can then leave any feedback you may have for us.

LINE Developers Console feedback form

We read every single feedback message, but we can't respond to questions asked through the feedback form. To get technical support, use the inquiry form.

We greatly appreciate your feedback and we are committed to improving your experience using our developer products.

LINE Developers Console

Previous post
Two-factor authentication has been introduced for LINE Developers Console login
Next post
[Resolved] Notice about service outage for LINE Login and LINE Front-end Framework
[Resolved] Notice about service outage for LINE Login and LINE Front-end Framework
2020/10/19

We'd like to inform you about a service outage regarding LINE Login and LINE Front-end Framework. The issue has now been resolved but we sincerely apologize for any inconvenience that this may have caused.

Date and time of outage

October 17, 2020 11:17 - 11:22 (UTC+9)

Cause of the outage

Issue with our servers.

Impact

  • LINE Login
  • LINE Front-end Framework (LIFF)
  • Social API (v2.0, v2.1)

Details

The API returned status code 5xx for some requests.

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Outage ReportLINE LoginLIFF

Previous post
Introducing the LINE Developers Console feedback form
Next post
[Resolved] Notice about service outage for LINE Login and LINE Front-end Framework
[Resolved] Notice about service outage for LINE Login and LINE Front-end Framework
2020/10/16

We'd like to inform you about a service outage regarding LINE Login and LINE Front-end Framework. The issue has now been resolved but we sincerely apologize for any inconvenience that this may have caused.

Date and time of outage

Date: October 15, 2020 Time: Around 18:34 - 18:42 (UTC+9)

Cause of the outage

Issue with our servers.

Impact

  • LINE Login
  • LINE Front-end Framework
  • Social API (v2.0, v2.1)

Details

The API returned status code 5xx for some requests.

We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

Outage ReportLINE LoginLIFF

Previous post
[Resolved] Notice about service outage for LINE Login and LINE Front-end Framework
Next post
You can now log in to the LINE Developers Console using business accounts
You can now log in to the LINE Developers Console using business accounts
2020/10/13

You can now log in to the LINE Developers Console using business accounts.

Method of logging in to the LINE Developers ConsoleBefore updateAfter update
LINE account✅✅
Business account❌✅

You do not need to link your business account with your LINE account in order to log in to the LINE Developers Console with your business account. However, if it is not linked, there are some restrictions on the functions that can be used.

For more information on business accounts, see LINE Business ID login options in the Help center.

For more information on the LINE Developers Console, see the Overview in the LINE Developers Console documentation.

We will continue to work on improving the quality of the LINE Developers Console. We look forward to your continued support.

LINE Developers Console

Previous post
[Resolved] Notice about service outage for LINE Login and LINE Front-end Framework
Next post
Reminder: Notice of domain name change for certain endpoints (Domain names must be updated by October 30, 2020)
Reminder: Notice of domain name change for certain endpoints (Domain names must be updated by October 30, 2020)
2020/10/09

As announced on November 8, 2019, March 19, 2020, and August 12, 2020, the domain name of certain Messaging API endpoints has been changed from api.line.me to api-data.line.me.

The initial plan was to complete the transition by April 30, 2020, but was extended to October 30, 2020 based on the usage situation.

Target endpoint

  • Get content
  • Upload rich menu image
  • Download rich menu image

Influence

If you are using the above endpoints, please change your domain during the transition period.

Once the transition period ends, accessing an endpoint of the old domain name will return a 404 status code.

We apologize for any inconvenience this may cause. Thank you for your understanding.

Transition period

November 8, 2019 - October 30, 2020 14:00

Messaging API

Previous post
You can now log in to the LINE Developers Console using business accounts
Next post
[Updated] Flex Message Update 2 released
[Updated] Flex Message Update 2 released
2020/10/08
Added on December 10, 2020

Flex message's play animated images feature, which has been temporarily unavailable since October 22, 2020, is now available again. We sincerely apologize for any inconvenience this may have caused.

Flex Message Update 2 has been released for the Messaging API.

Flex Message Update 2 includes these improvements:

  • Changed the maximum number of bubbles that can be included in a carousel
  • Added more component alignment options
  • Allowed gradients to be used as a box's background image
  • Allowed an empty array to be specified as the value of a box's contents property
  • Added support for animated images
  • Changed how sizes are specified
  • Allowed text to automatically shrink to fit a component's width
  • Spacer has been discontinued
  • Added support for Update 2 in the Flex Message Simulator

Changed the maximum number of bubbles that can be included in a carousel

We changed the maximum number of bubbles that can be included as child elements of a carousel container. This table provides a side-by-side comparison of values before and after the change.

  • Carousel container
    ItemBeforeAfter
    Maximum # of bubbles1012

Added more component alignment options

We added the justifyContent and alignItems properties to Flex Message box components. These properties let you specify how child elements and free space should be arranged; for example, you can choose to evenly distribute the child elements or keep them all centered.

flex-startflex-centerflex-endspace-betweenspace-aroundspace-evenly

For more information, see Arranging a box's child elements and free space in the Messaging API documentation.

Allowed gradients to be used as a box's background image

You can use a linear gradient as the background image for a box component by setting its background.type property equal to linearGradient.

Linear gradient at 0 degreesLinear gradient at 45 degreesLinear gradient at 90 degrees

For more information, see Linear gradient backgrounds in the Messaging API documentation.

Allowed an empty array to be specified as the value of a box's contents property

You can now specify an empty array as the value of a box component's contents property.

  • Box component
    ItemBeforeAfter
    contents propertyEmpty arrays can't be specifiedEmpty arrays can be specified
    When would it be helpful to specify an empty array?

    When using box components for decoration like the four squares shown below, it used to be necessary to add filler components as child elements to each of the boxes. Starting with Flex Message Update 2, you only need to specify an empty array.

    offset property example 1

    Let's compare the JSON data for the yellow box component on the left before and after this change:

    • Before
    json
    {
        "type": "box",
        "layout": "vertical",
        "contents": [
            {
            "type": "filler"
            }
        ],
        "width": "30px",
        "height": "30px",
        "backgroundColor": "#FFFF7F"
    }
    
    • After
    json
    {
        "type": "box",
        "layout": "vertical",
        "contents": [],
        "width": "30px",
        "height": "30px",
        "backgroundColor": "#FFFF7F"
    }
    

Added support for animated images

Added on December 10, 2020

Flex message's play animated images feature, which has been temporarily unavailable since October 22, 2020, is now available again. We sincerely apologize for any inconvenience this may have caused.

It is now possible to specify animated images (APNG) in the image component of Flex Message.

For more information, see the Image component in the Messaging API Reference.

Changed how sizes are specified

We changed how you specify a component's size. This table provides a side-by-side comparison of values before and after the change.

  • Image component
    ItemBeforeAfter
    How to specify a size (the size property)
    • Keywords


    • Keywords
    • Pixels
    • Percentages
  • Icon, text, and span components
    ItemBeforeAfter
    How to specify a size (the size property)
    • Keywords

    • Keywords
    • Pixels

Allowed text to automatically shrink to fit a component's width

We added the adjustMode property to text and button components. If you specify a value of shrink-to-fit for this adjustMode property, the text's font size will automatically shrink to fit the width of the component.

Automatically shrink fonts to fit

For more information, see the Text and Button components in the Messaging API reference.

Spacer has been discontinued

The spacer component, which was previously deprecated, has been discontinued. We recommend setting the padding of the box without using a spacer from now on.

For more information, see Box padding in the Messaging API documentation.

Added support for Update 2 in the Flex Message Simulator

Flex Message Simulator now supports the new properties and objects introduced in Flex Message Update 2, as well.

Using Flex Message Simulator, you can easily generate JSON data for Flex Messages and visually examine how they're laid out.

Caveats

Flex Message Simulator doesn't make any guarantees about the layout of a Flex Message. A Flex Message's appearance may vary from one device to the next. In addition to the version of the LINE app being used, a device's operating system, resolution, language settings, and fonts may affect how messages are rendered.

Messaging APIFlex Message

Previous post
Reminder: Notice of domain name change for certain endpoints (Domain names must be updated by October 30, 2020)
Next post
[Updated] TLS 1.0 and TLS 1.1 support by the webhook notification source will be discontinued at the end of January 2021
[Updated] TLS 1.0 and TLS 1.1 support by the webhook notification source will be discontinued at the end of January 2021
2020/10/06
Added on November 5, 2020

You can now also confirm communication from the environment after migration in verification method 2.

  • Verification method 2: Use the webhook URL's "Verify" button in the LINE Developers Console

The following updates are planned for the LINE Platform, the source of webhook notifications for the Messaging API.

If you are using a webhook, please confirm communication from the new environment during the transition period.

  • Supported SSL/TLS protocol versions
  • Supported HTTP versions
  • Supported root certification authorities
What is a webhook?

A webhook is one of the features of LINE's Messaging API. It's a system in which the LINE Platform notifies the bot server of the provider (corporate or developer) of events such as adding friends and sending messages via HTTPS POST requests.

You can specify the bot server to which you want to be notified of webhooks by specifying the webhook URL in the LINE Developers Console. For more information on webhooks, see Receiving messages (webhooks) in the Messaging API documentation.

Supported SSL/TLS protocol versions

We no longer support TLS 1.0 and TLS 1.1.

See the table below for the differences before and after the transition.

Protocol versionBefore transitionAfter transition
TLS 1.3❌✅
TLS 1.2✅✅
TLS 1.1✅❌
TLS 1.0✅❌
SSL 3.0❌❌
SSL 2.0❌❌

Supported HTTP versions

See the table below for differences before and after the transition.

HTTP versionBefore transitionAfter transition
HTTP/2❌✅
HTTP/1.1✅✅
HTTP/1.0✅✅

Supported root certification authorities

Webhook URLs (the bot server to which webhooks are notified) must be configured with an SSL/TLS certificate issued by a trusted certification authority. Self-signed certificates aren't allowed.

See the table below for differences before and after the transition.

Before transitionAfter transition
Available SSL/TLS CertificatesAn SSL/TLS certificate issued by a "Certificate authority trusted by LINE"SSL/TLS certificates issued by a root certification authority that's widely trusted by most browsers

The "Certificate authority trusted by LINE" list will be removed at the end of the transition period.

Transition period

October 6, 2020 - January 31, 2021

Impact

If you're using Messaging API webhooks, we recommend that you use one of the following methods during the migration period to verify that the new LINE Platform can be used to communicate with the bot server.

Verification method 1: Verify with an endpoint for webhook URL validation

Please verify the connection by using the endpoint for webhook URL test.

  • Webhook URL Test webhook endpoint
Return status code 200 for the communication request
  • The LINE Platform sends an HTTP POST request that doesn't include a webhook event to the webhook URL (bot server) to confirm communication. Design your bot server to return status code 200.
    Example HTTP POST request without a webhook event:
    json
    {
        "destination": "xxxxxxxxxx",
        "events": []
    }
    

Verification method 2: Use the webhook URL's "Verify" button in the LINE Developers Console

In the LINE Developers Console, click the Webhook URL's "Verify" button to perform the verification.

send target

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Messaging APISSL/TLS

Previous post
[Updated] Flex Message Update 2 released
Next post
Messaging API update for October 2020
Messaging API update for October 2020
2020/10/06

We added new endpoints to the Messaging API.

  • Get bot info
  • Get webhook endpoint information
  • Set webhook endpoint URL
  • Test webhook endpoint

This is a summary of each new endpoint. For details, see each endpoint in the Messaging API reference.

Get bot info

Gets basic information about the bot, such as:

  • Bot's user ID
  • Bot's basic ID
  • Bot's premium ID
  • Bot's display name
  • Profile image URL
  • Bot response mode ("Chat" or "Bot")
  • If the bot is set to automatically read messages

For more information, see Get bot info in the Messaging API reference.

Get webhook endpoint information

Gets this information about the webhook endpoint:

  • Webhook URL
  • Webhook usage status (enabled or disabled)

For more information, see Get webhook endpoint information in the Messaging API reference.

Set webhook endpoint URL

Sets the webhook endpoint URL. It may take up to 1 minute for changes to take place due to caching.

For more information, see Set webhook endpoint URL in the Messaging API reference.

Test webhook endpoint

Checks if the configured webhook endpoint can receive a test webhook event.

For more information, see Test webhook endpoint in the Messaging API reference.

Messaging API

Previous post
[Updated] TLS 1.0 and TLS 1.1 support by the webhook notification source will be discontinued at the end of January 2021
Next post
LIFF v2.3.3 released
LIFF v2.3.3 released
2020/09/28

We've released LIFF v2.3.3.
This bug has been fixed in LIFF v2.3.3:

  • Fixed a bug that redirects users to unintended URLs when the endpoint URL ends with /

There are no feature updates in this release.

Fixed a bug that redirects users to unintended URLs when the endpoint URL ends with /

Under these conditions, accessing a LIFF URL causes a redirect to an unintended URL with a double path separator (//).

  • The URL specified in Endpoint URL contains a path and ends in /. e.g. https://example.com/campaign/
  • Methods for converting additional information in the LIFF URL is set to Concatenate.
  • The LIFF URL contains a path (/path). e.g. https://liff.line.me/{liffId}/path

In LIFF v2.3.3, the bug has been fixed so that the user is redirected to the correct URL even under the above conditions.

ItemLIFF URLPrimary redirect URLSecondary redirect URL
Before spec changehttps://liff.line.me/{liffId}/pathhttps://example.com/campaign/?liff.state={urlEncode(/path)}https://example.com/campaign//path
After spec changehttps://liff.line.me/{liffId}/pathhttps://example.com/campaign?liff.state={urlEncode(path)}https://example.com/campaign/path
Impact on other versions
  • If you are using LIFF v2.3.x, we recommend that you update to this patch version.
  • This bug has already been fixed in LIFF v2.4.1.

For more information on what happens when accessing LIFF URLs, see Operation from accessing LIFF URL to opening LIFF App in the LIFF documentation.

LIFF

Previous post
Messaging API update for October 2020
Next post
LIFF v2.4.1 released
LIFF v2.4.1 released
2020/09/24

We have released LIFF v2.4.1.
The changes in LIFF v2.4.1 are as follows:

  • Fixed an issue with the feature to open another LIFF app without closing a LIFF app
  • Added a feature to liff.isApiAvailable() to check whether the transition between LIFF apps is possible
  • Fixed behavior of liff.init() being called twice

Fixed an issue with the feature to open another LIFF app without closing a LIFF app

We've found that the feature to open another LIFF app without closing the LIFF app, which we announced on August 31, 2020, has a bug and didn't work correctly even if the operating conditions were met.

In LIFF v2.4.1, the operating conditions have been changed as follows and the bug has been fixed.

ItemsBefore the changesAfter the changes
LIFF SDK2.4.02.4.1
LINE10.16.010.18.0
The use of LIFF v2.4.0 is no longer recommended

Due to the above bug, the use of LIFF v2.4.0 is no longer recommended. If you are using LIFF v2.4.0, we recommend that you update to v2.4.1.

For more information, see Opening a LIFF app from another LIFF app in the LIFF document.

Added a feature to liff.isApiAvailable() to check whether the transition between LIFF apps is possible

liff.isApiAvailable(), a method which checks if an API is available, can now be used to check if transitioning between LIFF apps is possible.

You can now execute liff.isApiAvailable('multipleLiffTransition') to confirm whether transitioning between LIFF apps is possible before opening another LIFF app. By using this feature, you can prevent an error when opening another app.

js
if (liff.isApiAvailable('multipleLiffTransition')) {
  window.location.href = "https://line.me/{liffId}", // URL for another LIFF app
}
Get information about transitioning between LIFF apps with liff.getContext()

You can now also use liff.getContext(), a method which obtains information about a LIFF app, to obtain information such as whether transitioning between LIFF app is possible, and the executable LINE version.

  • availability.multipleLiffTransition.permission: Indicates whether transitioning between LIFF apps is possible.
  • availability.multipleLiffTransition.minVer: Indicates the minimum LINE version that supports the transition between LIFF apps.

Below is an example of the return value of liff.getContext().

json
{
    "type": "utou",
    "utouId": "UU29e6eb36812f484fd275d41b5af4e760926c516d8c9faa35…b1e8de8fbb6ecb263ee8724e48118565e3368d39778fe648d",
    "userId": "U70e153189a29f1188b045366285346bc",
    "viewType": "full",
    "accessTokenHash": "ArIXhlwQMAZyW7SDHm7L2g",
    "availability": {
        "shareTargetPicker": {
            "permission": true,
            "minVer": "10.3.0"
        },
        "multipleLiffTransition": {
            "permission": true,
            "minVer": "10.18.0"
        }
    }
}

For more information, see liff.isApiAvailable() or liff.getContext() in the LIFF API reference.

Fixed behavior of liff.init() being called twice

If you execute liff.init() more than once under the condition that the LIFF App is successfully initialized, a rejected Promise object was returned with an error message.

In LIFF v2.4.1, the error has been fixed so that if you execute liff.init() more than once under the condition that liff.init() succeeds, a resolved Promise object will be returned, and a warning message will be displayed.

For more information on initializing your LIFF App, see the LIFF document Initializing LIFF App.

LIFF

Previous post
LIFF v2.3.3 released
Next post
[Resolved] Notice about service outage for LINE Login
[Resolved] Notice about service outage for LINE Login
2020/09/24

We'd like to inform you about a service outage regarding the LINE Login. We've released a version of LINE that resolved the issue.

We sincerely apologize for any inconvenience that this may have caused.

Date and time of outage

August 20, 2020 - September, 21, 2020

Cause

Issue with LINE for iOS and iPadOS.

Details

When LINE Login was integrated into an iOS app with LINE SDK for iOS, some LINE Login processes didn't work properly.

Normally, in iOS apps with the LINE Login feature, these processes launch LINE.

  1. A user presses the LINE Login button on the iOS app.
  2. LINE is launched with a universal link.
  3. If step 2 fails, LINE is launched with a custom URL scheme.

Although LINE supports universal links, LINE may not be able to be launched with some universal links on certain devices or operating systems.

If you proceeded to step 3 in the above situation, LINE Login didn't work properly on some versions of LINE, and an alert saying Unable to connect. Update to the latest version of LINE or recheck the URL. was displayed on LINE.

Affected services

If all of these conditions are met, the LINE Login process didn't work properly and an error message was displayed.

  • A user uses LINE for iOS or iPadOS.
  • A user uses LINE version 10.14.0 or 10.14.1.
  • LINE isn't launched with a universal link on a user's environment.
  • LINE Login was integrated into an iOS app with the LINE SDK for iOS Swift or LINE SDK for iOS Objective-C 5.0.0 or later.

If all of the above conditions are met, updating user's LINE version to 10.15.0 or later will resolve the issue.

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Outage ReportLINE Login

Previous post
LIFF v2.4.1 released
Next post
Redelivery object has been added to the criteria for narrowing down the narrowcast message target
Redelivery object has been added to the criteria for narrowing down the narrowcast message target
2020/09/15
Content not found
Messaging API

Previous post
[Resolved] Notice about service outage for LINE Login
Next post
[Resolved] Notice about service outage for the Messaging API
[Resolved] Notice about service outage for the Messaging API
2020/09/15

We'd like to inform you about a service outage regarding the Messaging API. All functions provided by the Messaging API may have been affected by this outage.

The issue has now been resolved. We apologize for any inconvenience that this may have caused.

Date and time of outage

Date: September 15, 2020 Time: 11:37 - 11:53 (UTC+9)

Cause

Issue with our servers

Details

The Messaging API call returned a status code 403 even if the request was correct.

Affected services

All Messaging API endpoints (https://api.line.me/v2/bot/*)

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Outage ReportMessaging API

Previous post
Redelivery object has been added to the criteria for narrowing down the narrowcast message target
Next post
LIFF v2.1.14, v2.2.1, v2.3.2 released
LIFF v2.1.14, v2.2.1, v2.3.2 released
2020/09/14

LIFF v2.1.14, v2.2.1, v2.3.2 were released. The changes are as follows:

  • Fixed error in which the URL fragment entered in the LIFF endpoint URL was not correctly handled by liff.permanentLink.createUrl() (v2.3.2)
  • Fixed error in which the query parameter entered in the LIFF endpoint URL was not correctly handled by liff.permanentLink.createUrl() (v2.3.2)
  • Fixed error in which the path entered in the LIFF endpoint URL was not correctly handled by liff.permanentLink.createUrl() (v2.3.2)
  • Fixed error in which fragment was not included in the secondary redirect URL (v2.3.2)
  • Fixed bug in which LIFF URLs were redirected to unintended URLs (v2.1.14, v2.2.1, v2.3.2)

Fixed error in which the URL fragment entered in the LIFF endpoint URL was not correctly handled by liff.permanentLink.createUrl()


Affected version

  • LIFF v2.3.2

Changes

When the LIFF endpoint URL contained a URL fragment (#URL-fragment), despite the Methods for converting additional information in the LIFF URL being set to Replace (Backward compatibility mode), the URL fragment was included in the permanent link returned after executing liff.permanentLink.createUrl().

Conditions under which this problem occurs
  • A URL fragment is included in the LIFF endpoint URL
  • Methods for converting additional information in the LIFF URL is set to Replace (Backward compatibility mode)

For example, when the Endpoint URL is set to https://example.com/path#section and liff.permanentLink.createUrl() is executed, https://liff.line.me/{liffId}/path?liff.state=#section would be returned as the permanent link. In LIFF v.2.3.2, the bug is fixed so that https://liff.line.me/{liffId} would be correctly returned.

Fixed error in which the query parameter entered in the LIFF endpoint URL was not correctly handled by liff.permanentLink.createUrl()


Affected version

  • LIFF v2.3.2

Changes

When the LIFF endpoint URL contained a query parameter (?key=value), the query parameter would infinitely multiply in the permanent link returned after executing liff.permanentLink.createUrl().

Conditions under which this problem occurs
  • The query parameter in the LIFF endpoint URL matches the query parameter in the LIFF URL when executing liff.permanentLink.createUrl().
  • Methods for converting additional information in the LIFF URL is set to Concatenate

For example, when the Endpoint URL is set to https://example.com/path1/?q1=v1&q2=v2 and liff.permanentLink.createUrl() is executed in https://liff.line.me/{liffid}/?q1=v1&q2=v2, a permanent link with the query parameter infinitely multiplied such as https://liff.line.me/{liffid}/?q1=v1&q1=v1&q2=v2&q2=v2 would be returned.

In LIFF v.2.3.2, the bug is fixed so that https://liff.line.me/{liffid}/?q1=v1&q2=v2 would be correctly returned.

Fixed error in which the path entered in the LIFF Endpoint URL was not correctly handled by liff.permanentLink.createUrl()


Affected versions

  • LIFF v2.3.2

Changes

When path is included in the LIFF endpoint URL and a slash (/) is used at the end of the path, the permanent link obtained by executing liff.permanentLink.createUrl() would redirect you to URL without the ending slash as shown below.

Conditions under which this problem occurs
  • Path (/path/) is included in the LIFF endpoint URL, and a slash (/) is used at the end of the path
  • Query parameter (?key=value) or URL fragment (#URL-fragment) is included in the LIFF endpoint URL
  • Methods for converting additional information in the LIFF URL is set to Concatenate

For example, if Endpoint URL is set tohttps://example.com/path/?id=xxxxxxx, accessing a permanent link obtained by executing liff.permanentLink.createUrl() would redirect you to a URL without the ending slash, such as https://example.com/path?id=xxxxxxx.

In LIFF v2.3.2, the error has been fixed so that you are correctly redirected to https://example.com/path/?id=xxxxxxx.

LIFF v2.4.0 has already been fixed

As announced on August 31, 2020, this bug fix has already been reflected in LIFF v2.4.0.

Fixed error in which fragment was not included in the secondary redirect URL


Affected version

  • LIFF v2.3.2

Changes

When a fragment was included in the LIFF endpoint URL or LIFF URL, regardless of settings based on Methods for converting additional information in the LIFF URL, the secondary redirect URL would not include a fragment. This error has been fixed.

For more details on the secondary redirect URL or how it is affected by settings based on Methods for converting additional information in the LIFF URL, see the LIFF document Operation from accessing LIFF URL to opening LIFF App.

Fixed bug in which LIFF URLs were redirected to unintended URLs


Affected versions

  • LIFF v2.1.14
  • LIFF v2.2.1
  • LIFF v2.3.2

Changes

In the primary redirect destination URL, additional information specified in the LIFF URL (e.g. path/?key=value) is included in the liff.state query parameter. When additional information was included in the liff.state query parameter, there was bug in which you were redirected to unintended URLs as shown below.

Conditions under which this problem occurs
  • There is no / at the beginning of the liff.state query parameter
  • Methods for converting additional information in the LIFF URL is set to Replace (Backward compatibility mode)

For example, when Endpoint URL is set to https://example.com, and the liff.state query parameter was path, the domain name and path would not be separated by /, resulting in being redirected to https://example.compath.
In LIFF v2.1.14, v2.2.1, v2.3.2, the bug has been fixed so that you are correctly redirected to https://example.com/path.

Regarding vulnerability caused by unintended redirects

There is a possibility that users are redirected to malicious websites due to this bug. If you are using a LIFF SDK version before v2.4.0, we recommend that you update it.

For more information on what happens when accessing LIFF URLs, see the LIFF document Operation from accessing LIFF URL to opening LIFF App.

LIFF

Previous post
[Resolved] Notice about service outage for the Messaging API
Next post
[Resolved] Notice about service outage for LINE Notify
[Resolved] Notice about service outage for LINE Notify
2020/09/11

We'd like to inform you about a service outage regarding LINE Notify. The issue has now been resolved but we sincerely apologize for any inconvenience that this may have caused.

Date and time of outage

September 11, 2020 15:16 - 16:42 (UTC+9)

Cause of the outage

Issues with our operations.

Affected services

LINE Notify

Details

During the date and time stated above, LINE Notify was unable to send messages. It has been resolved and messages are now being sent properly.

We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

Outage Report

Previous post
LIFF v2.1.14, v2.2.1, v2.3.2 released
Next post
Messaging API update for September 2020
Messaging API update for September 2020
2020/09/01

We've added new features to the Messaging API.

These are the features added in this update:

  • Narrowcast messages can now be sent within the maximum number of messages that can be delivered
  • The maximum size of JSON data that defines a bubble is 30 KB

Narrowcast messages can now be sent within the maximum number of messages that can be delivered

The limit.upToRemainingQuota property has been added to narrowcast messages.

By specifying this property when delivering a narrowcast message, you can send the message within the maximum number of messages that can be delivered.

What is the benefit of using the limit.upToRemainingQuota property?

If you try to send narrowcast messages that exceed the maximum number of messages that can be delivered, the delivery will fail.

For this reason, it was necessary to specify the maximum number of messages to send before sending narrowcast messages.

For example, if you can send up to 750 messages in a month, you'll send them with the limit.max property set to 750.

However, if you set the limit.upToRemainingQuota property to true, even if the number of messages to be sent exceeds the maximum number of messages that can be sent, the message won't fail and will automatically be sent within the limit.

The advantage of this property is that it automatically delivers within the maximum number of targets without having to check how many messages you can still send.

The distribution targets will be randomly selected.

For more information, see the limit.upToRemainingQuota property in the Send narrowcast message section of the Messaging API reference.

For more information on the maximum number of messages that can be delivered, see Messaging API pricing.

The maximum size of JSON data that defines a bubble is 30 KB

The maximum size of JSON data that defines a bubble in Flex Messages has changed.

SubjectBefore changeAfter change
Maximum size10KB30KB

For more information about Flex Message bubble containers, see Bubble in the Messaging API reference.

Messaging API

Previous post
[Resolved] Notice about service outage for LINE Notify
Next post
[Updated] LIFF v2.4.0 released
[Updated] LIFF v2.4.0 released
2020/08/31
Added on September 24, 2020

LIFF v2.4.0 is no longer recommended due to a bug in the transition to another LIFF app without closing your current LIFF app feature.

ItemsBefore the changesAfter the changes
LIFF SDK2.4.02.4.1
LINE10.16.010.18.0

If you are using LIFF v2.4.0, we recommend that you update to v2.4.1.

We have released LIFF v2.4.0. The changes in LIFF v2.4.0 are as follows:

  • You can now use liff.closeWindow() before the LIFF app is initialized
  • You can now transition to another LIFF app without closing your current LIFF app
  • The error that LIFF URLs are redirected to unexpected URLs was fixed
  • liff.permanentLink.createUrl() error was fixed
  • The error of fragment not being included in the secondary redirect URL was fixed

You can now use liff.closeWindow() before the LIFF app is initialized

You can now use the liff.closeWindow() method before the initialization of the LIFF app, even before the initialization of the LIFF app by liff.init() has finished.

Condition to execute the liff.closeWindow() method before initializing the LIFF app

To use the liff.closeWindow() method before the initialization of the LIFF app by liff.init() has finished, your LIFF SDK version must be v2.4.0 or later, and the user's LINE version must be 10.15.0 or later.

You can close the LIFF app with the liff.closeWindow() method if the LIFF app fails to initialize due to a network error, the user's LINE version, etc., as shown below.

js
liff
  .init({
    liffId: "123456-abcedfg" // Use own liffId
  })
  .then(() => {
    // Start to use liff's api
  })
  .catch((err) => {
    // Error happens during initialization
    console.log(err.code, err.message);
    liff.closeWindow();
  });

For more information, see liff.closeWindow() in the LIFF API Reference.

You can now transition to another LIFF app without closing your current LIFF app

If you click the link to another LIFF app within a LIFF app whose screen is on Full display, you can display the other app while still having the LIFF browser open.
The LIFF browser doesn't close, so you can return to the original LIFF app with the return button from the LIFF browser.

Conditions for moving to another LIFF app without closing the current LIFF app (added on September 24, 2020)

There was a bug in LIFF v2.4.0 that prevented the feature from working properly. These changes have been made to the operating conditions for this feature:

  • LIFF SDK v2.4.1 or later and LINE 10.18.0 or later
  • The original LIFF app screen is set to Full display
  • The LIFF app to which you are moving is correctly initialized by liff.init()

LIFF-apps-transition

For more information, see Opening a LIFF app from another LIFF app in the LIFF Document.

The error that LIFF URLs are redirected to unexpected URLs was fixed

An additional information (path/?key=value) specified in a LIFF URL is included in the liff.state query parameter for the primary redirected URL. When the liff.state query parameter contains an additional information, it might be redirected to an unexpected secondary redirected URL as follows.

Conditions that cause this error
  • When the liff.state query parameter doesn't begin with /
  • When setting Methods for converting additional information in the LIFF URL to Replace (Backward compatibility mode)

For example, if Endpoint URL is set to https://example.com and the liff.state query parameter is assigned to path, it was redirected to https://example.compath because the domain name and the path were not separated by /.
In the LIFF v2.4.0, this error has been fixed so that the URL above is now correctly redirected to https://example.com/path.

For more information on behaviors when accessing a LIFF URL, see Behaviors from accessing the LIFF URL to opening the LIFF app.

liff.permanentLink.createUrl() error was fixed

When information, such as query parameter (?key=value) or URL fragment (#URL-fragment), was included in the LIFF endpoint URL, on occasion, the additional information section was not accurately reflected in the permanent link when liff.permanentLink.createUrl() was executed. This error has been fixed.

The error of fragment not being included in the secondary redirct URL was fixed

When a fragment was included in the LIFF endpoint URL or LIFF URL, regardless of settings based on Methods for converting additional information in the LIFF URL, the secondary redirect URL would not include a fragment. This error has been fixed.

For more details on the secondary redirect URL or how it is affected by settings based on Methods for converting additional information in the LIFF URL, see the LIFF document Operation from accessing LIFF URL to opening LIFF App.

LIFF

Previous post
Messaging API update for September 2020
Next post
Certificate authority that can be used in the Webhook URL added
Certificate authority that can be used in the Webhook URL added
2020/08/26

The webhook URL must use HTTPS and have an SSL certificate issued by a certificate authority trusted by LINE.

The following certificate authorities have been added to the list of certificate authorities trusted by LINE.

text
CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW

For more information on configuring Webhook URL settings, see Webhook URL settings.

LINE PlatformMaintenanceSSL/TLS

Previous post
[Updated] LIFF v2.4.0 released
Next post
LINE Blockchain Platform is now available
LINE Blockchain Platform is now available
2020/08/26

The LINE Blockchain Platform, which consists of these three components, is now available.

  • LINE Blockchain
  • LINE Blockchain Developers
  • BITMAX Wallet

LINE Blockchain

LINE Blockchain is a blockchain platform developed and operated by LINE with performance and reliability designed to serve and withstand hundreds of millions of LINE users.

Learn more about LINE Blockchain.

LINE Blockchain Developers

LINE Blockchain Developers provides the console and APIs for services using LINE Blockchain. Using this service, developers can easily navigate through the console and develop in a familiar environment.

Learn more about LINE Blockchain Developers.

BITMAX Wallet

BITMAX Wallet is an integrated wallet that allows users to store and transfer digital assets of LINE Blockchain services. Users can retrieve information on their assets on LINE Blockchain or send assets to others. Service providers must integrate BITMAX Wallet to their own services to let the users access or transfer their assets within the services.

As BITMAX Wallet uses LINE accounts, the assigned user wallets are mapped on a one on one basis to the user’s LINE account. Once registered to BITMAX Wallet, users can select a chain and browse either Cashew based tokens or Daphne based tokens.

Learn more about BITMAX Wallet.

LINE Blockchain Platform

Previous post
Certificate authority that can be used in the Webhook URL added
Next post
[Resolved] Notice about service outage for LINE Developers site
[Resolved] Notice about service outage for LINE Developers site
2020/08/17

We'd like to inform you about a service outage regarding the LINE Developers site. The issue has now been resolved but we sincerely apologize for any inconvenience that this may have caused.

Date and time of outage

From: August 4, 2020 around 11:00 (UTC+9) Until: August 14, 2020 around 13:00 (UTC+9)

Cause

Issue with our servers.

Details

During the specified time, the statistics graph in the Statistics tab for Messaging API channels in the LINE Developers Console was not displayed as intended. It is resolved now and the graph is being displayed properly.

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Outage ReportLINE Platform

Previous post
LINE Blockchain Platform is now available
Next post
Reminder: Notice of domain name change for certain endpoints (Domain names must be updated by October 30, 2020)
Reminder: Notice of domain name change for certain endpoints (Domain names must be updated by October 30, 2020)
2020/08/12

As announced on November 8, 2019 and March 19, 2020, the domain name of certain Messaging API endpoints has been changed from api.line.me to api-data.line.me.

The initial plan was to complete the transition by April 30, 2020, but we extended the transition period to October 30, 2020, based on the usage situation.

Target endpoint

  • Get content
  • Upload rich menu image
  • Download rich menu image

Influence

If you are using the above endpoints, please change your domain during the transition period.

Once the transition period ends, accessing an endpoint of the old domain name will return a 404 status code.

We apologize for any inconvenience this may cause. Thank you for your understanding.

Transition period

November 8, 2019 - October 30, 2020 14:00

Messaging API

Previous post
[Resolved] Notice about service outage for LINE Developers site
Next post
The endpoint to get statistics is now available in Indonesia (ID)
The endpoint to get statistics is now available in Indonesia (ID)
2020/08/05
Content not found
Messaging API

Previous post
Reminder: Notice of domain name change for certain endpoints (Domain names must be updated by October 30, 2020)
Next post
[Updated] Messaging API update for August 2020
[Updated] Messaging API update for August 2020
2020/08/04
Added on August 6, 2020

As previously announced, these endpoints are now available.

  • Create audience for uploading user IDs (by file)
  • Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by file)

We've added new webhook events and an API endpoint to the Messaging API.

These are the features added in this update:

  • Unsend event has been added
  • Video viewing complete event has been added
  • The audiences property is now optional instead of required for a certain endpoint
  • Recipients of an audience can be now specified by file

Unsend event has been added

In addition to existing webhook events, such as join, leave, and send messages, a new "Unsend event" has been added, which indicates that the message has been cancelled.

  • Unsend event

Video viewing complete event has been added

A new "Video viewing complete event" has been added. This event occurs when a user finishes watching a video with a trackingId property for video identification.

  • Video viewing complete

The audiences property is now optional instead of required for a certain endpoint

The audiences property has been changed from required to optional for the following endpoint.

  • Create audience for uploading user IDs (by JSON)

This spec change allows you to prepare an audience by creating an audience with no recipient specified first, and then adding user IDs or IFAs to the audience later.

Recipients of an audience can be now specified by file

You can now specify the recipients of an audience by file.

  • Create audience for uploading user IDs (by file)
  • Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by file)
Messaging API

Previous post
The endpoint to get statistics is now available in Indonesia (ID)
Next post
LINE's APIs will support HTTP/2
LINE's APIs will support HTTP/2
2020/07/30
Content not found
LINE PlatformMaintenanceSSL/TLS

Previous post
[Updated] Messaging API update for August 2020
Next post
Service message template tab of the LINE MINI App channel updated
Service message template tab of the LINE MINI App channel updated
2020/07/29

The Service message template tab of the LINE MINI App channel has been updated.

You can select a template and add it to your LINE MINI App channel while viewing the preview of the service message.

Service message template

You can also enter a JSON object to see the preview or send a test message.

Send Test Message

For more information, see Sending service messages.

LINE MINI App

Previous post
LINE's APIs will support HTTP/2
Next post
Get all valid channel access tokens v2.1 endpoint and content removed
Get all valid channel access tokens v2.1 endpoint and content removed
2020/07/29
Content not found
Messaging APIDocs

Previous post
Service message template tab of the LINE MINI App channel updated
Next post
[Partially resolved] Notice of failure of some analytics APIs
[Partially resolved] Notice of failure of some analytics APIs
2020/07/29

These problems occurred in the Messaging API, but it has been partially resolved. We apologize for any inconvenience caused to our customers.

Date and time of outage

Issue 1: July 21, 2020 around 7:00 - 17:00 (UTC+9)

Issue 2: July 16, 2020 onwards (UTC+9)

Situation

(Resolved) Issue 1

When premium and verified account users called the Get number of followers API endpoint, the endpoint returned an incorrect number of followers for July 21, 2020.

This issue is now resolved and you can get the correct number for July 21, 2020.

(Limitation) Issue 2

Some LINE Official Accounts (less than 0.5%) that used the Get number of followers API endpoint from July 16, 2020 to July 20, 2020 may have gotten incorrect numbers returned for followers, targetedReaches, and blocks.

The affected LINE Official Accounts may have had these issues:

  • If you added friends during this period, they aren't added to the total amount of friends.
  • The number of followers during this period is returned with less than the actual value.

For issue 2, the correct value can't be restored.

Note

Neither issue has any effect on the total message delivery count.

We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

Outage ReportMessaging API

Previous post
Get all valid channel access tokens v2.1 endpoint and content removed
Next post
LINE API's SSL root certificate authority has been changed
LINE API's SSL root certificate authority has been changed
2020/07/21
Added on July 30, 2020

For access to the APIs from outside of Japan, the root certification authority will be changed after August 4, 2020. For more information, see the news on July 30, 2020, LINE's APIs will support HTTP/2.

We've changed the SSL certificate used in LINE's API servers. As a result, we've changed the root certificate authority from DigiCert to GlobalSign.

Domain names subject to this change

  • api.line.me
  • api-data.line.me
  • access.line.me

Date and time of change

  • For access from Japan: July 10, 2020 17:17 - 17:54 (UTC+9)
  • For access from outside Japan: August 4, 2020 12:00 - 16:00 (UTC+9)

Impact

Due to this update, if an SSL communication problem occurs on the client side using the LINE API, it is possible that the corresponding root certificate (GlobalSign Root R3) does not exist.

If you observe this problem, please update the root certificate to the latest version on the client side using the API.

  • GlobalSign Root Certificates :: GlobalSign Support

We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

LINE PlatformMaintenanceSSL/TLS

Previous post
[Partially resolved] Notice of failure of some analytics APIs
Next post
LIFF v2.3.1 released
LIFF v2.3.1 released
2020/07/16

We've now released LIFF v2.3.1. The changes in LIFF v2.3.1 are as follows:

  • Problems with the LIFF SDK npm package documentation were fixed
  • Installation and usage instructions of the LIFF SDK npm package were moved from the npm official website to LINE Developers site

There are no feature updates in this release.

Problems with the LIFF SDK npm package documentation were fixed

We fixed an issue with the npm official site documentation for the LIFF SDK npm package that was experimentally released.

Installation and usage instructions of the LIFF SDK npm package were moved

We moved the installation and usage instructions of the LIFF SDK npm package from the npm official website to the LINE Developers site. For more information, see Use the npm package.

LIFF

Previous post
LINE API's SSL root certificate authority has been changed
Next post
[Resolved] Notice about service outage for sending webhook events
[Resolved] Notice about service outage for sending webhook events
2020/07/15

We'd like to inform you about a service outage regarding the Messaging API. The issue has now been resolved but we sincerely apologize for any inconvenience that this may have caused.

Date and time of outage

June 29, 2020 13:20 - July 14, 2020 17:42 (UTC+9)

Cause of the outage

Due to the detection of unauthorized communications in our network, we've blocked some communications as a preventive measure.

Details

During the date and time stated above, webhook events couldn't be sent to some bot servers (Webhook URLs) using ngrok.

We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

Outage ReportMessaging API

Previous post
LIFF v2.3.1 released
Next post
New feature has been added to the LIFF header
New feature has been added to the LIFF header
2020/07/15

As announced on July 6, 2020, a new feature has been added to the LIFF header.

LIFF header design to be improved

  • The LIFF app icon is no longer displayed
  • The share button has been added

The LIFF app icon is no longer displayed

The icon in the upper left corner of the LIFF app is no longer displayed.

The share button has been added

LIFF apps with the size of the LIFF app view set to Full include a share button in the header. When a user taps the share button, the following options appear:

Share: description: | Shares the URL of the current page via a LINE message. Refresh: description: | Reloads the current page.

Enable Module mode of the LIFF app in the LINE Developers Console to hide the share button. For more information, see Adding a LIFF app to your channel.

Operating environment

The share button will be available on LINE versions 10.12.0 or later for iOS and Android.

We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

LIFF

Previous post
[Resolved] Notice about service outage for sending webhook events
Next post
[Resolved] Notice about service outage for LINE Front-end Framework
[Resolved] Notice about service outage for LINE Front-end Framework
2020/07/13

We'd like to inform you about a service outage regarding LINE Front-end Framework. The issue has now been resolved but we sincerely apologize for any inconvenience that this may have caused.

Date and time

Date: July 13, 2020 Time: 11:44 - 17:26 (UTC+9)

Cause of the outage

Issue with our servers.

Details

During the date and time stated above, there was an issue with our server that caused an error message to display when creating a new LIFF app. Although an error message was displayed, new LIFF apps were being created. We have already completed the recovery process.

We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

Outage ReportLIFF

Previous post
New feature has been added to the LIFF header
Next post
Improved Messaging API reference and side menu
Improved Messaging API reference and side menu
2020/07/08

The LINE Developers site's Messaging API reference page, due to the large amount of endpoints, was long and difficult to navigate.

We received feedback about the navigation pain points developers faced while navigating the Messaging API reference page. In response, we've made these improvements to provide a better user experience.

You only see the categories you select

All endpoints are divided into categories such as Webhooks and OAuth.

You can see the overview for each category and select Show to display the category's endpoints.

Messaging API Webhooks overview

Side menu shows current page location

When you scroll through the page, the highlighted location on the side menu automatically reflects your current location in green.

For example, when you scroll through the page and see the "response" section under the "Webhooks" category, "response" under "Webhooks" is also highlighted in the side menu.

Webhook location on page is reflected in side menu

If you're lost on the page, you can now refer to the side menu to find your location.

Search for endpoints by title search or full-text search

Developers who use the browser's in-page search should use the built-in search function to find the endpoint. You can search endpoints by title search or full-text search.

Search for an endpoint

Tell us your thoughts about the LINE Developers site

If you use the new Messaging API Reference and notice issues or find it difficult to use, select "Was this page helpful?" in the bottom right corner and let us know.

Feedback form title

Thanks to everyone for their valuable feedback. We read each message we receive.

We will continue to improve the quality of the services we provide to our developers. Thank you for your understanding.

Messaging API

Previous post
[Resolved] Notice about service outage for LINE Front-end Framework
Next post
New feature will be added to the LIFF header
New feature will be added to the LIFF header
2020/07/06

We plan to make changes to the LIFF header specifications after mid-July 2020.

LIFF header design to be improved

  • The LIFF app icon will no longer be displayed
  • The share button will be added

The LIFF app icon will no longer be displayed

The icon in the upper left corner of the LIFF app will no longer be displayed.

The share button will be added

LIFF apps with the size of the LIFF app view set to Full will include a share button in the header. When a user taps the share button, the following options will appear:

ItemsDescription
ShareShares the URL of the current page via a LINE message.
RefreshReloads the current page.

You can hide the share button by changing the settings of the LIFF app in the LINE Developers Console. This option will be added in the future.

Operating environment

The share button will be available on LINE versions 10.12.0 or later for iOS and Android.

Scheduled date of specification change

The specification change is scheduled to take place in mid-July 2020 or later.

The content and date of the specification change is subject to change without notice. We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

LIFF

Previous post
Improved Messaging API reference and side menu
Next post
LINE MINI App docs and entry point of contact opened
LINE MINI App docs and entry point of contact opened
2020/07/02

LINE MINI App opened its documents and entry point of contact.

What is LINE MINI App?

LINE MINI App is a web application that runs on LINE.

With LINE MINI App, users can use various services without having to install separate apps.

LINE MINI App provides even more features than the existing LINE Front-end Framework (LIFF) App, including the ability to send a message called a "service message" to a special chat room.

Service Message

For details, see Discover LINE MINI App.

How to develop LINE MINI App

In order to develop a LINE MINI App and provide it to your users, you must create a LINE MINI App Channel in the LINE Developers Console.

Currently, only developers of services that have applied to Enroll in the LINE MINI App Development Program and have passed the pre-examination are allowed to create a LINE MINI App Channel.

Please take this opportunity to Enroll in the LINE MINI App Development Program.

LINE MINI App Development Documents

Please see the below information necessary for LINE MINI App development.

  • LINE MINI App Documents
  • LINE MINI App API Reference
LINE MINI App

Previous post
New feature will be added to the LIFF header
Next post
Get all valid channel access tokens 2.1 is deprecated
Get all valid channel access tokens 2.1 is deprecated
2020/07/01

As announced on June 22, 2020, the Get all valid channel access tokens v2.1 API endpoint is now deprecated and will be permanently removed on July 29, 2020.

If you're using this endpoint, change your bot to use the newly added Get all valid channel access token key IDs v2.1 endpoint by the specified EOL date.

Learn more about Issue channel access token v2.1 in the Messaging API documentation.

Messaging API

Previous post
LINE MINI App docs and entry point of contact opened
Next post
LIFF SDK released as an npm package
LIFF SDK released as an npm package
2020/07/01

Until now, to include the LIFF SDK in a LIFF app, it was necessary to Specify the CDN path.

Today, we released the LIFF SDK npm package on a trial basis. Now you can use npm and Yarn to install the LIFF SDK.

For more information on the LIFF SDK npm package, see https://www.npmjs.com/package/@line/liff.

The available LIFF SDK versions as an npm package is v2.3.0 or later. The features of future LIFF SDK versions will be announced in Release Notes in the LIFF Documentation.

npm package trial

The npm package is available on a trial basis. It may be changed or deleted in the future without notice.

LIFF

Previous post
Get all valid channel access tokens 2.1 is deprecated
Next post
LINE's APIs now support TLS 1.3
LINE's APIs now support TLS 1.3
2020/07/01
Added on July 30, 2020

For access to the APIs from outside Japan, TLS 1.3 will be available after August 4, 2020. For more information, see the news on July 30, 2020, LINE's APIs will support HTTP/2.

LINE's APIs now support TLS 1.3.

Domain names subject to the update

  • api.line.me
  • api-data.line.me
  • access.line.me

SSL/TLS supported protocol versions

See this table for the differences before and after the update:

Protocol versionBefore updateAfter update
TLS 1.3❌✅
TLS 1.2✅✅
TLS 1.1✅✅
TLS 1.0✅✅
SSL 3.0❌❌
SSL 2.0❌❌

Impact

If you are using any of the above APIs, please confirm that your app can communicate using the updated supported protocol versions.

Transition period

  • For access from Japan: TLS 1.3 is available after July 1, 2020.
  • For access from outside Japan: TLS 1.3 is available after August 4, 2020.

Support for TLS 1.0 and TLS 1.1 will be discontinued in the future. The discontinuation schedule is undecided. We will make an announcement as soon as it is decided.

We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

Messaging APILINE LoginLIFFSSL/TLS

Previous post
LIFF SDK released as an npm package
Next post
Beacon Leave Event to be deprecated at the end of 2020
Beacon Leave Event to be deprecated at the end of 2020
2020/06/30
July 8, 2020

We clarified the contact information. We apologize for any inconvenience this may have caused you.

As announced previously, the leave event of Beacon Event, will be deprecated. Please refer to the following schedule:

ScheduleDescription
End of 2020Leave event will be deprecated.
Early January of 2021Webhook transmission will cease
Tip

We will continue supporting other Beacon events (enterevent, bannerevent, or stayevent).

Impact

Please adjust your service to use the stay event instead of the leave event for detecting when users exit the reception range of Beacon.

beacon.typeDescription
leaveTo be deprecated at the end of 2020 User left the reception range of Beacon.
stayUser is currently within the reception range of Beacon.
This event is sent repeatedly at a minimum interval of 10 seconds.

If you wish you use the stay event, contact your sales representative or contact our Sales partners.

We are no longer accepting new applications in Japan (Added on January 7, 2021)

As of January 2021, we are no longer accepting new applications for stay events.

We apologize for any inconvenience the deprecation of the leave event may have caused. LINE will continue to improve the quality of its services to its customers. Thank you for your understanding.

Messaging API

Previous post
LINE's APIs now support TLS 1.3
Next post
LIFF v2.3.0 released
LIFF v2.3.0 released
2020/06/29

We've now released LIFF v2.3.0. The changes in LIFF v2.3.0 are as follows:

  • You can now use paths and query parameters in the LIFF endpoint URL
  • A condition for the liff.permanentLink.createUrl() method to throw an exception added
  • You can now get the send results of liff.shareTargetPicker()
  • An error code returned by liff.sendMessages() added

You can now use paths and query parameters in the LIFF endpoint URL

As announced before, you can now use paths (/path) and query parameters (?key=value) added to the LIFF endpoint URL in the LIFF tab of the LINE Developers Console.

Existing LIFF apps aren't effected until the setting is changed

It's necessary to change the setting in LINE Developers Console to use the new specs in existing LIFF apps. Existing LIFF apps aren't affected by the new spec until the setting is changed.

Methods for converting additional information in the LIFF URL

To use the new specs, set Methods for converting additional information in the LIFF URL to Concatenate.
Don't change the setting if your existing LIFF app doesn't support the new specs. If setting to Replace (Backward compatibility mode), the LIFF app isn't affected by the new specs.

For more information, see Opening a LIFF app in the LIFF documentation.

A condition for the liff.permanentLink.createUrl() method to throw an exception added

When executing the liff.permanentLink.createUrl() method, an exception is thrown if the current page URL doesn't start with the URL specified in Endpoint URL.

javascript
try {
    const myLink = liff.permanentLink.createUrl()
}
catch (err) {
    console.log(err.code + ':' + err.message);
}

Especially when setting Methods for converting additional information in the LIFF URL to Replace (Backward compatibility mode), the paths and query parameters (/2020campaign/?key=value) specified in Endpoint URL may not be included in the secondary redirect URL. In this case, you can't get a permanent link because the liff.permanentLink.createUrl() method meets the above conditions.

For more information, see liff.permanentLink.createUrl() in the LIFF v2 API reference.

You can now get the send results of liff.shareTargetPicker()

As announced on April 21, 2020, you can now get the send results of liff.shareTargetPicker().

Before the spec change, the LIFF app was able to confirm whether the target picker was displayed, but not whether the message was sent after that.

After the change, the LIFF app is able to check whether the message has been sent, so you can change the behavior of the LIFF app depending on the user's situation.

Note
  • The return value of liff.shareTargetPicker() is changed due to this spec change.
  • This spec change doesn't affect users using LINE 10.3.0 - 10.10.0.

Sample code for this spec change

We recommend you to handle the return value according to the LINE versions that users are using as shown below:

javascript
if (liff.isApiAvailable('shareTargetPicker')) {
  liff.shareTargetPicker([
    {
      'type': 'text',
      'text': 'Hello, World!'
    }
  ])
    .then(function (res) {
      if (res) {
        // succeeded in sending a message through TargetPicker
        console.log(`[${res.status}] Message sent!`)
      } else {
        const [majorVer, minorVer] = (liff.getLineVersion() || "").split('.');
        if (parseInt(majorVer) == 10 && parseInt(minorVer) < 11) {
          // LINE 10.3.0 - 10.10.0
          // Old LINE will access here regardless of user's action
          console.log('TargetPicker was opened at least. Whether succeeded to send message is unclear')
        } else {
          // LINE 10.11.0 -
          // sending message canceled
          console.log('TargetPicker was closed!')
        }
      }
    }).catch(function (error) {
      // something went wrong before sending a message
      console.log('something wrong happen')
    })
}

For more information, see liff.shareTargetPicker() in the LIFF v2 API reference.

An error code returned by liff.sendMessages() added

Previously, if passing the wrong parameters to liff.sendMessages(), 400 was returned as the error code of LiffError. After the spec change, INVALID_ARGUMENT is returned instead.

As long as the processing isn't split by error codes, this spec change doesn't effect your LIFF app.

Before the spec change:

javascript
liff.sendMessages([
  {
    type: 'text',
    text: 'Hello, World!'
  }
])
  .then(() => {
    console.log('message sent');
  })
  .catch((err) => {
    // Returns "400" if invalid arguments are passed
    if (err.code === "400") {
      console.log("message format error!");
    }
  });

After the spec change:

javascript
liff.sendMessages([
  {
    type: 'text',
    text: 'Hello, World!'
  }
])
  .then(() => {
    console.log('message sent');
  })
  .catch((err) => {
    // Returns "INVALID_ARGUMENT" if invalid arguments are passed
    if (err.code === "INVALID_ARGUMENT") {
      console.log("message format error!");
    }
  });

For more information, see Error details in the LIFF v2 API reference.

LIFF

Previous post
Beacon Leave Event to be deprecated at the end of 2020
Next post
[Resolved] Notice about service outage for LINE Login
[Resolved] Notice about service outage for LINE Login
2020/06/24

We want to inform you about a service outage regarding LINE Login. The issue has now been resolved. We apologize for any inconvenience this may have caused.

Date and time of outage

Date: June 24, 2020 Time: 15:30 - 16:14 (UTC+9)

Cause

Issues with our servers.

Details

The LINE Login process did not work properly in some cases.

Auto login and LINE login with Single Sign On (SSO) were not affected.

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Outage ReportLINE Login

Previous post
LIFF v2.3.0 released
Next post
The key IDs to identify Channel Access Tokens have been added
The key IDs to identify Channel Access Tokens have been added
2020/06/22

The endpoint to Get all valid channel access tokens v2.1 returns re-encrypted channel access tokens for security reasons. Even for the same channel access token, the value changes when issuing and getting it, making it difficult to manage and identify the token.

With this update, when Issuing the channel access token v2.1, a unique key ID (key_id) paired with the token is also returned. You can use the newly added Get all valid channel access token key IDs v2.1 endpoint to identify paired channel access tokens.

Plan to deprecate endpoint

Due to this update, we'll soon deprecate the Get all valid channel access tokens v2.1 endpoint (early July). If you are using this endpoint, change your bot to use the newly added Get all valid channel access token key IDs v2.1 endpoint instead.

Learn more about Issue channel access token v2.1 in the Messaging API documentation.

Messaging API

Previous post
[Resolved] Notice about service outage for LINE Login
Next post
The location of the "Linked OA" setting was moved within the LINE Developers Console
The location of the "Linked OA" setting was moved within the LINE Developers Console
2020/06/15

The location of the Linked OA setting in specific channel types was moved within the LINE Developers Console.

ItemsBefore the changeAfter the change
Location of Linked OAUnder the LINE Login tab in a channelUnder the Basic settings tab in a channel

Affected channel types

  • LINE Login
  • BETA Blockchain Service

Impact

The behavior of existing LINE Login or Blockchain service channels will not be impacted by this update.

New channel types added after this update on the LINE Developers Console which include the Linked OA setting will have the updated location applied.

For information on how to configure Linked OA, see Link a LINE Official Account with your channel.

LINE Developers Console

Previous post
The key IDs to identify Channel Access Tokens have been added
Next post
LIFF v2.2.0 released: LIFF error codes added
LIFF v2.2.0 released: LIFF error codes added
2020/06/15

The LiffError codes passed when Promise is rejected in the following methods have been made more detailed, making the cause of the problem easier to understand.

For more information, view the Error Response descriptions for these methods:

  • liff.init()
  • liff.getProfile()
  • liff.getFriendship()
LIFF

Previous post
The location of the "Linked OA" setting was moved within the LINE Developers Console
Next post
Messaging API update for June 2020
Messaging API update for June 2020
2020/06/10

We added new endpoints to the Messaging API. These are the new features added to this update:

Endpoints

  • Get group summary
  • Get number of users in a group
  • Get number of users in a room

This is a summary of each new feature. For details, see each new feature in the Messaging API reference.

Get group summary

Gets the group ID, group name, and group icon URL of a group where the LINE Official Account is a member.

For more information, see Get group summary in the Messaging API reference.

Get number of users in a group

Gets the count of users in a group. You can get the user in group count even if the user hasn't added the LINE Official Account as a friend or has blocked the LINE Official Account.

For more information, see Get number of users in a group in the Messaging API reference.

Get number of users in a room

Gets the count of users in a room. You can get the users in room count even if the user hasn't added the LINE Official Account as a friend or has blocked the LINE Official Account.

For more information, see Get number of users in a room in the Messaging API reference.

Messaging API

Previous post
LIFF v2.2.0 released: LIFF error codes added
Next post
Flex Message Simulator tutorial now available
Flex Message Simulator tutorial now available
2020/06/09

We published our first tutorial about using the Flex Message Simulator.

  • Using Flex Message Simulator to create a digital business card

Following this tutorial, you will obtain hands-on experience and knowledge about how to use the Flex Message Simulator. By the end of the tutorial, you will have created this digital business card using Flex Message:

Final Output

We encourage you to take this opportunity to learn to use the Flex Message Simulator and create your own unique Flex Message.

Messaging APIFlex Message

Previous post
Messaging API update for June 2020
Next post
[Updated] Publish API documentation to get a permanent link
[Updated] Publish API documentation to get a permanent link
2020/05/21
Added on July 15, 2020

There was a mistake in the API method name. We've corrected the mistake and apologize for any inconvenience caused by this error.

Incorrect:

liff.permanentLink.setExtraQueryParams()

Correct:

liff.permanentLink.setExtraQueryParam()

The LIFF SDK keeps a permanent link for the current page. We'll publish the documentation of the API that handles this permanent link.

  • liff.permanentLink.createUrl()
  • liff.permanentLink.setExtraQueryParam()

These APIs are already included in the latest LIFF SDK, so the LIFF SDK version doesn't change.

For more information on how to get a permanent link, see Get a permanent link for the current page in the LIFF documentation.

LIFF

Previous post
Flex Message Simulator tutorial now available
Next post
[Updated] You can soon add and use paths to your LIFF endpoint URL
[Updated] You can soon add and use paths to your LIFF endpoint URL
2020/05/20
Added on May 29, 2020

This specification change was scheduled to take place in the last week of May, 2020, but in consideration of the impact on existing LIFF applications, we will apply the following changes:

  • As announced on May 20, 2020, we will add the functionality to allow paths in endpoint URLs.
  • We plan to change specifications in such a way that existing LIFF apps will not be affected.
  • Specification change is scheduled for the second half of June 2020.

We apologize again for the inconvenience caused by the repeated specification changes.

Currently, developers are able to enter the path (/path), query parameters (?key=value), and URL fragments (#URL-fragment) in the URL in the LIFF tab of the LINE Developers Console, but only the domain name and query parameters of the URL string are used.

With the upcoming update, these improvements will be made to the LIFF endpoint URL:

  • The path (/path) can be used.
  • The URL fragments (#URL-fragment) can no longer be entered.

For example, if you're deploying the LIFF app on Heroku, you can enter https://{Heroku app name}.herokuapp.com/path/?key=value as the Endpoint URL in the Basic information section of the LINE Developers Console.

LIFF URL with paths appended in the LINE Developers Console

The URL scheme must use https.

Being able to use the paths you entered in the LINE Developers Console means less time is required to publish new web pages. For example, when publishing a page for a campaign, you can register the campaign page such as https://example.com/2020campaign directly in the endpoint URL.

Note

The endpoint URLs registered in the LINE Developers Console and the URL scheme for opening a LIFF app differ in the use of URL fragments. Be careful not to confuse them.

Endpoint URL:
https://example.com/2020campaign or https://example.com/2020campaign/?key=value
You can't add URL fragments.

URL scheme for opening a LIFF app:
https://liff.line.me/{liffId}/path_A/path_B/#URL-fragment
You can add URL fragments.

Learn more about Adding a LIFF app to your channel in the LIFF documentation.

We apologize for the confusion caused by the previous specification. We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

Scheduled date of specification change

Second half of June, 2020

LIFF

Previous post
[Updated] Publish API documentation to get a permanent link
Next post
OGP tags are now available in the LIFF app
OGP tags are now available in the LIFF app
2020/05/19

By setting an OGP tag for each page of your LIFF app, for example, you can display any title, description, or thumbnail image when sharing the URL of your LIFF app (https://liff.line.me/{liffId}) in the LINE chat room, and so on.

These are the OGP tags supported by LIFF. For more information on OGP tags, see The Open Graph protocol.

html
<html lang="ja" prefix="og: http://ogp.me/ns#">
<meta property="og:title" content="The title">
<meta property="og:type" content="`website`, `blog`, or `article`">
<meta property="og:description" content="A one to two sentence description">
<meta property="og:url" content="The URL">
<meta property="og:site_name" content="The name that represents the overall site">
<meta property="og:image" content="An image URL">
Note

When sharing the URL of the LIFF app in the format of line://app/{liffId} (deprecated), the OGP tag will be ignored.

LIFF

Previous post
[Updated] You can soon add and use paths to your LIFF endpoint URL
Next post
[Updated] Messaging API update for May 2020
[Updated] Messaging API update for May 2020
2020/05/12
Added on December 12, 2020

There was a mistake in the current file size of the Rich menu object (Image). We've corrected the mistake and apologize for any inconvenience caused by this error.

Incorrect:

800px or more x 2500px or less

Correct:

Width 800px or more to 2500px or less, Height 250px or more

We made several improvements to the Messaging API.

Message character limit and media file usage conditions have been changed

The character limit for text messages and the conditions for media files that can be used have changed. See this table for a comparison of the previous and current situation:

  • Text message
    ItemsPreviousCurrent
    Max character limit20005000
  • Rich menu object (Image)
    ItemsPreviousCurrent
    Image size2500px × 1686px
    2500px × 843px
    1200px × 810px
    1200px × 405px
    800px × 540px
    800px × 270px
    (width x height)
    Width 800px or more to 2500px or less, Height 250px or more *

* The width/height aspect ratio should be at least 1.45.

  • Image message (Image)
    ItemsPreviousCurrent
    File formatJPEGJPEG, PNG
    Max image size4096px × 4096px
    (width x height)
    No limit
    Max file size1MB10MB
  • Video message (Video)
    ItemsPreviousCurrent
    Max length1 minuteNo limit
    Max file size10MB200MB
  • Audio message (Audio)
    ItemsPreviousCurrent
    Max length1 minuteNo limit
    Max file size10MB200MB
  • Imagemap message (Image)
    ItemsPreviousCurrent
    Max file size1MB10MB
  • Imagemap message (Video)
    ItemsPreviousCurrent
    Max length1 minuteNo limit
    Max file size10MB200MB
  • Image message / Video message / Imagemap message (Preview image)
    ItemsPreviousCurrent
    File formatJPEGJPEG, PNG
    Max image size240px x 240px
    (width x height)
    No limit

Getting LINE emoji information from the text object of a webhook event

If the text sent by users contains a LINE emoji, the emojis property of the text message object received by webhook contains information about the used LINE emoji as a LINE Emoji object.

LINE emoji information has been added to the webhook message event object. If the text containing a LINE emoji is sent by users, the emojis property will contain information about the used LINE emoji as a LINE emoji object.

LINE emoji are identified by a productId and emojiId:

json
{
  "replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
  "type": "message",
  "mode": "active",
  "timestamp": 1462629479859,
  "source": {
    "type": "user",
    "userId": "U4af4980629..."
  },
  "message": {
    "id": "325708",
    "type": "text",
    "text": "Hello, world! (love)",
    "emojis": [
      {
        "index": 14,
        "length": 6,
        "productId": "5ac1bfd5040ab15980c9b435",
        "emojiId": "001"
      }
    ]
  }
}

For details, see the Text section in the Messaging API reference.

Safely retrying a failed API request

If an error occurs when sending a message using the Messaging API, or if the request times out, you may not know if the message was correctly delivered to users. Executing the same request causes users to receive the same message twice if the first request was received correctly.

You can safely retry the same request by adding a retry key (X-Line-Retry-Key) to the HTTP request header.

An arbitrarily generated UUID in hexadecimal notation (e.g. 123e4567-e89b-12d3-a456-426614174000) is specified as the value of a retry key. No matter how many times the API request containing the same UUID value of a retry key is executed, it is always accepted only once, preventing the same process from being duplicated. The retry key can now be used to design a secure API request retry.

sh
curl -v -X POST https://api.line.me/v2/bot/message/push \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {CHANNEL_ACCESS_TOKEN}' \
-H 'X-Line-Retry-Key: {UUID}' \
-d '{
    "messages": [
        {
            "type": "text",
            "text": "Hello, user"
        }
    ]
}'

For details, see Retrying a failed API request.

Messaging API

Previous post
OGP tags are now available in the LIFF app
Next post
LIFF Versioning policy and life cycle have been released
LIFF Versioning policy and life cycle have been released
2020/05/08

We released the LIFF Versioning policy to clarify the purpose of each version of LIFF. We've also released the life cycle of each MAJOR version so that developers can make appropriate preparations for the version upgrade of LIFF.

Use the latest version of LIFF SDK

As announced on October 16, 2019, LIFF v1 will be discontinued. After discontinuation, you cannot open LIFF apps that used LIFF v1.

For more information about the MAJOR version life cycle and the dates when LIFF v1 will be discontinued, see Life cycle of the LIFF SDK in the LIFF documentation.

The LIFF Versioning policy

Beginning with LIFF v2.2.0, the version number of LIFF will follow the rules set by Semantic Versioning (SemVer).

SemVer defines this version format:

MAJOR.MINOR.PATCH

For example, in v1.2.3, 1 is the MAJOR version, 2 is the MINOR version, and 3 is the PATCH version.

The LIFF Versioning policy also explains the life cycle of the MAJOR version and provides an explanation for what each version (MAJOR, MINOR, PATCH) means for developers.

LIFF SDK (sdk.js) update policy

Since the LIFF v2.1.13 release, we prepare these two types of CDN paths. When Integrating the LIFF SDK into LIFF app, specify the CDN path that suits your purpose.

CDN pathDescription
CDN edge pathThis is a method to specify only the MAJOR version. You can always use the new version of the LIFF SDK without updating your LIFF app.
e.g.: https://static.line-scdn.net/liff/edge/2/sdk.js
CDN fixed pathThis is a method to specify up to the PATCH version. You can continue to use the specified PATCH version as long as you don't update the LIFF app. It is not updated automatically and is not affected by the LIFF SDK update.
e.g.: https://static.line-scdn.net/liff/edge/versions/2.1.13/sdk.js

Example of specifying a CDN edge path:

html
<script charset="utf-8" src="https://static.line-scdn.net/liff/edge/2/sdk.js"></script>
The CDN path to maintain backwards compatibility

In order to certify the behavior of the created LIFF app, we will continue to provide the LIFF SDK with the following CDN path. The LIFF SDK available with this CDN path is the same version as the LIFF SDK available with the CDN edge path.

CDN path for backwards compatibility:
https://static.line-scdn.net/liff/edge/2.1/sdk.js

Note

The CDN path to maintain backwards compatibility may be discontinued regardless of Life Cycle Schedule of the LIFF SDK. We recommend changing the CDN path specified in your LIFF app to the CDN edge path.

We will inform you as soon as the policy is decided.

Learn more about the LIFF Versioning policy in the LIFF documentation.

LIFF

Previous post
[Updated] Messaging API update for May 2020
Next post
Notice about resumption of service for some APIs for 'Audience' and 'Insight'
Notice about resumption of service for some APIs for 'Audience' and 'Insight'
2020/05/01

We announced the outage of APIs for "Audience" and "Insight" on April 22, 2020. The APIs are now available with a limit.

Please note that depending on the delivery date and time of the message, the creation of impression-based regargeting audience may be limited, and a reference value may be returned.

  • Delivery date of the message subject to the limit (JST) : Until March 29, 2020 23:59:59
    There are no limits.
    • You can create an audience.
    • Normal statistics will be returned.

  • Delivery date of the message subject to the limit (JST) : Between March 30, 2020 00:00:00 and April 29, 2020 23:59:59
    There are limits.
    • You can't create an audience.
    • Reference values will be returned for overview.uniqueImpression and messages[].impression.

  • Delivery date of the message subject to the limit (JST) : From April 30, 2020 00:00:00
    There are limits.
    • You can create an audience. However, if a user opens a message during this time period in a LINE app with a version subject to this limit, the user will not receive a new message sent using the audience.
    • Normal statistics will be returned. However, the statistics will not include the number of times the user with a LINE version subject to the limit opened the messages sent during this period.

For more information, see the following pages:

  • Create audience for impression-based retargeting
  • Get user interaction statistics

We will continue to improve the quality of the services we provide to our developers and we greatly appreciate your understanding.

Messaging API

Previous post
LIFF Versioning policy and life cycle have been released
Next post
[Resolved] Notice about service outage for the Messaging API
[Resolved] Notice about service outage for the Messaging API
2020/05/01

We'd like to inform you about a service outage regarding the Messaging API. All functions provided by the Messaging API may have been affected by this outage.

The issue has now been resolved. The Messaging API has been operating normally since the following date and time. We apologize for the delayed announcement and any inconvenience that this may have caused.

Date and time of outage

Date: April 24, 2020 Time: 14:41 - 17:46 (UTC+9)

Cause

Network failure

Affected services

All functions provided by the Messaging API may have been affected by this outage.

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Outage ReportMessaging API

Previous post
Notice about resumption of service for some APIs for 'Audience' and 'Insight'
Next post
liff.getLineVersion() and liff.id added to LIFF v2
liff.getLineVersion() and liff.id added to LIFF v2
2020/04/30

We added the liff.getLineVersion() method and the liff.id property to LIFF v2.

liff.getLineVersion() allows you to get the user's LINE version.

If a user opens the LIFF app using the LIFF browser, the LINE version of the user is returned as a string. If a user opens the LIFF app using an external browser, null is returned.

liff.id is the property that holds the LIFF app ID (String type) passed to liff.init().

Learn more about liff.getLineVersion() and liff.id in the LIFF v2 API reference.

LIFF

Previous post
[Resolved] Notice about service outage for the Messaging API
Next post
[Recovered/Updated] Notice about service outage in the aggregation of some APIs for 'Audience' and 'Insight'
[Recovered/Updated] Notice about service outage in the aggregation of some APIs for 'Audience' and 'Insight'
2020/04/22
Updated November 5, 2021

All API restrictions that we had announced on May 1, 2020 have been lifted and accordingly, Date and time of outage and Details have been updated.

Updated on May 1, 2020

The API we reported on April 22, 2020 is now available with a limit.

For more information, see the following pages:

  • Create audience for impression-based retargeting
  • Get user interaction statistics

We'd like to inform you about the following service outage regarding our Messaging API that has already been recovered. We apologize for any inconvenience this may have caused.

Date and time of outage

April 13, 2020 around 15:30 - May 1, 2020 around 14:30 (UTC+9)

Details

After the time above, you may not have been able to count impressions correctly in an audience for impression-based retargeting.

Therefore, we temporarily restricted the use of some features, but the restrictions have been lifted.

  • Stopping the API to create audience for impression-based retargeting (restriction lifted)
  • Stopping the API to get user interaction statistics (restriction lifted)
  • Disabling audiences for impression-based retargeting created based on messages delivered between March 30, 2020 00:00 and April 22, 2020 21:30 (disabled)
Outage ReportMessaging API

Previous post
liff.getLineVersion() and liff.id added to LIFF v2
Next post
Notice about the return value of liff.shareTargetPicker()
Notice about the return value of liff.shareTargetPicker()
2020/04/21

We will change the return value of liff.shareTargetPicker() on LIFF v2 in the future. If you are developing an app that uses the current specification, change the implementation.

Note

The specification for the return value of liff.shareTargetPicker() after the change isn't currently fixed.

Summary

Before the specification change, the LIFF app could check whether the target picker could be displayed but couldn't check whether the message could be sent.

After the specification change, the LIFF app can check whether a message has been sent or not, so you can implement a change in LIFF app behavior to suit the user's situation.

Before the specification change

Sample

javascript
if (liff.isApiAvailable('shareTargetPicker')) {
  liff.shareTargetPicker([
    {
      type: "text",
      text: "Hello, World!"
    }
  ])
    .then(
      console.log("ShareTargetPicker was launched")
    ).catch(function(res) {
      console.log("Failed to launch ShareTargetPicker")
    })
}

Syntax

liff.shareTargetPicker(messages)

Return value

Returns a Promise object.

When the target picker is displayed, the Promise resolves.

If a problem occurs before the target picker is displayed, the Promise is rejected and a LiffError is passed. For more information on the LiffError object, see LIFF SDK errors.

Note
  • Situations after the target picker is displayed can't be detected, such as when the user doesn't select a destination in the displayed target picker.
  • In the callback function where the Promise has been resolved and rejected, the LIFF app won't work on some devices if the developer uses alert().

After the specification change

Sample

javascript
if (liff.isApiAvailable('shareTargetPicker')) {
  liff.shareTargetPicker([
    {
      type: "text",
      text: "Hello, World!"
    }
  ])
  .then(function(res) {
    if (res) {
      // succeeded to send message in TargetPicker
      console.log(`[${res.status}] Message [${this.msgType}] is sent!`)
    } else {
      // canceled to send message
      console.log('TargetPicker was closed!')
    }
  }).catch(function(error) {
    // something wrong happened before sending message properly
    console.log('something wrong happen')
  })
}

Syntax

liff.shareTargetPicker(messages)

Return value

Returns a Promise object.

If the message is sent correctly, the Promise is resolved and a success is passed.

If the user cancels and closes the target picker before sending the message, the Promise is resolved, but no success is passed.

If a problem occurs before the target picker is displayed, the Promise is rejected and a LiffError is passed. For more information on the LiffError object, see LIFF SDK errors.

We plan to change the error definition as the specification changes in the future.

Note

In the callback function where the Promise has been resolved and rejected, the LIFF app won't work on some devices if the developer uses alert().

Scheduled date of specification change

TBD

LIFF

Previous post
[Recovered/Updated] Notice about service outage in the aggregation of some APIs for 'Audience' and 'Insight'
Next post
[Updated] Messaging API update for April 2020
[Updated] Messaging API update for April 2020
2020/04/14
Updated on April 16, 2020

We've changed the following property names, which were announced on April 14 2020.

Before changesAfter changes
sticonemojis
sticon.sticonIdemojis.emojiId

We made several improvements to the Messaging API.

Use LINE emoji in messages

In addition to standard unicode emoji and (deprecated) LINE original emoji, you can now include LINE emoji when you send a text message with the Messaging API.

LINE emoji are identified by a productId and emojiId:

json
// Text message example with LINE emoji
{
    "type": "text",
    "text": "Look at this: $ It's a LINE emoji!",
    "emojis": [
        {
            "index": 14,
            "productId": "5ac1bfd5040ab15980c9b435",
            "emojiId": "001"
        }
    ]
}

For details, see the Text message section in the Messaging API reference.

Get user's language

The Get profile endpoint now returns a language property in addition to other user profile information, provided one of these situations applies:

  • User has a LINE account created in Japan and has agreed to the Privacy Policy of LINE version 8.0.0 or later
  • User has a LINE account created in Taiwan, Thailand, or Indonesia and has agreed to the Privacy Policy of LINE version 8.9.0 or later

Multicast recipient limit removed

Previously, messages sent with the Send multicast message endpoint were limited to a maximum number of recipients. This limit has been removed. Other rate limits remain in place. See this table for a comparison of the previous and current situation:

Bot typePrevious limitationsCurrent limitations
Bots associated with LINE Official Accounts100,000 requests per minute
1,700 requests per second*
2,000,000 recipients per minute
100,000 requests per minute
1,700 requests per second*
Bots associated with LINE@ accounts10,000 requests per minute
170 requests per second*
200,000 recipients per minute
10,000 requests per minute
170 requests per second*

* The rate limit in seconds is a guideline for mass transmission.

In addition, you can now target up to 500 user IDs (increased from 150) with a single multicast message.

For more details, see the Rate limits section of the Messaging API reference.

Messaging API

Previous post
Notice about the return value of liff.shareTargetPicker()
Next post
Full-text search is back
Full-text search is back
2020/04/13

In the LINE Developers site redesign, announced January 27, 2020, we improved the speed of the site search by implementing title search instead of a full-text search.

We listened to the feedback and have reimplemented full-text search.

When you want to use the full-text search, enter the query in the search bar and select Full-text search from the menu.

Full-text search

Once selected, the full-text search results will appear.

Full-text search result

Thank you for the valuable feedback. LINE will continue to improve the LINE Developers site to offer a smoother experience for its users.

Docs

Previous post
[Updated] Messaging API update for April 2020
Next post
Channel access token v2.1 released
Channel access token v2.1 released
2020/04/06

We released the latest version of the channel access token. This new version lets the user specify the expiration date and also provides security enhancements by switching to using a JSON Web Token (JWT) instead of the channel secret.

We recommend using the latest version of the channel access token.

Generate a JWT

You can use any JWT library or write your own code from scratch to Generate a JWT from your Assertion Signing Key. This is a necessary step in the Issue channel access token v2.1 API.

New APIs

  • Issue channel access token v2.1
  • Get all valid channel access tokens v2.1 (Updated on July 29, 2020: This endpoint is no longer available)
  • Revoke channel access token v2.1

To learn the difference between the currently available channel access tokens, read Channel access tokens in the Messaging API documentation.

Messaging API

Previous post
Full-text search is back
Next post
liff.isApiAvailable() added to LIFF v2
liff.isApiAvailable() added to LIFF v2
2020/04/03

We added the method liff.isApiAvailable() to LIFF v2. This method checks whether a specified API can be used in the environment where the LIFF app was launched.

Note

The number of APIs you can specify is limited. Currently, you can only specify liff.shareTargetPicker(). We'll notify you when more APIs can be checked with liff.isApiAvailable() in the future.

Check if share target picker is available

By executing liff.isApiAvailable() before you execute liff.shareTargetPicker(), you can avoid the user getting an error message on their screen if the share target picker isn't available in their device environment.

javascript
if (liff.isApiAvailable('shareTargetPicker')) {
  liff.shareTargetPicker([
    {
      type: "text",
      text: "Hello, World!"
    }
  ])
    .then(
      alert("ShareTargetPicker was launched")
    ).catch(function(res) {
      alert("Failed to launch ShareTargetPicker")
    })
}

Learn more from liff.isApiAvailable() in the LIFF v2 API reference.

LIFF

Previous post
Channel access token v2.1 released
Next post
The consent screen for LINE Login authorization has changed
The consent screen for LINE Login authorization has changed
2020/04/02

We've revised some of the design and text to make the consent screen of LINE Login easier to see and use.

Changes

  • To make it easier for users to understand what to do on this screen, we've removed the screen title Grant permission? and changed the screen description statement to This service's provider is requesting the following permissions..
  • You can show or hide the description of each item by clicking on the Arrow icon icon in the Required permissions section.
  • We've enlarged the Allow button to improve visibility.

Improved LINE Login Consent Screen

The changed consent screen appears in the process of requesting the user to grant permissions to the app. For more information, see Authorization process.

LINE Login

Previous post
liff.isApiAvailable() added to LIFF v2
Next post
New "message sticker" resource type added to sticker message webhook event
New "message sticker" resource type added to sticker message webhook event
2020/03/30

Following the release of message stickers (stickers with a customizable text), we have added PER_STICKER_TEXT to the stickerResourceType property of the webhook event that notifies you when a sticker message is sent.

If a LINE user sends a message sticker to your LINE Official Account, you will receive a webhook event object containing stickerResourceType of PER_STICKER_TEXT.

For more information, see the Sticker section of the Messaging API reference.

Messaging API

Previous post
The consent screen for LINE Login authorization has changed
Next post
LINE Beacon no longer supported on several LINE versions
LINE Beacon no longer supported on several LINE versions
2020/03/26

As announced on March 10, 2020, LINE Beacon is no longer supported on the following LINE versions:

  • Japan: Any version before LINE 8.17.0
  • Taiwan: Any version before LINE 9.14.0
  • Thailand: Any version before LINE 9.8.0
  • Indonesia: Any version before LINE 9.8.0 (no change)

Influence

Users that use these versions of LINE will not be detected when they enter or exit the reception area of a beacon.

  • Webhook beacon events are not sent to bot apps.
  • The beacon banner is not displayed for the corresponding user.

For more information about LINE Beacon, see Using Beacons.

We apologize for any inconvenience this may have caused. LINE will continue to improve the quality of its services to its customers. Thank you for your understanding.

Messaging API

Previous post
New "message sticker" resource type added to sticker message webhook event
Next post
LINE URL scheme of 'line://' is deprecated
LINE URL scheme of 'line://' is deprecated
2020/03/25

line:// is deprecated because it allows a takeover attack of the LINE URL scheme. Use https://line.me/R/ or https://liff.line.me/ instead.

A line:// takeover attack is an attack in which a user clicks on a URL following line://, a non-LINE app may start regardless of the intention of the LINE user. This attack is only established under certain conditions.

line:// may be discontinued in the future. If this is decided, an announcement will be made here.

For more information on LINE URL scheme, see "Using LINE features with the LINE URL scheme".

LINE LoginMessaging API

Previous post
LINE Beacon no longer supported on several LINE versions
Next post
Reminder: Notice of domain name change for certain endpoints (Domain names must be updated by April 30, 2020)
Reminder: Notice of domain name change for certain endpoints (Domain names must be updated by April 30, 2020)
2020/03/19

As announced on November 8, 2019, the domain name of certain Messaging API endpoints has been changed from api.line.me to api-data.line.me.

Target endpoint

  • Get content
  • Upload rich menu image
  • Download rich menu image

Influence

If you are using the above endpoints, please change your domain during the transition period.

Once the transition period ends, accessing an endpoint of the old domain name will return a 404 status code.

We apologize for any inconvenience this may case. Thank you for your understanding.

Transition period

November 8, 2019 - April 30, 2020

Messaging API

Previous post
LINE URL scheme of 'line://' is deprecated
Next post
You can now change the icon and display name of your LINE Official Account
You can now change the icon and display name of your LINE Official Account
2020/03/17

The push/reply API request extension of the Messaging API to change icon and display name of LINE Official Account is now generally available. This was previously an optional feature for corporate users.

As shown by a green frame, you can specify icon or display name when sending a message from LINE Official Account.

Change icon and display name

For more information, see Change icon and display name.

Properties added to Messaging API

sender.iconUrl for specifying icon and sender.name for specifying display name have been added to Messaging API. The properties can be specified in all the message objects.

For more information about each property, see "Change icon and display name" section of the Messaging API reference documentation.

Messaging API

Previous post
Reminder: Notice of domain name change for certain endpoints (Domain names must be updated by April 30, 2020)
Next post
LINE Beacon no longer supported on several LINE versions from March 25, 2020
LINE Beacon no longer supported on several LINE versions from March 25, 2020
2020/03/10

LINE Beacon will no longer be supported on the following LINE versions:

  • Japan: Any version before LINE 8.17.0
  • Taiwan: Any version before LINE 9.14.0
  • Thailand: Any version before LINE 9.8.0
  • Indonesia: Any version before LINE 9.8.0 (no change)

This change will take effect from March 25, 2020 to March 26, 2020.

Influence

Users that use these versions of LINE will not be detected when they enter or exit the reception area of a beacon.

  • Webhook beacon events are not sent to bot apps.
  • The beacon banner is not displayed for the corresponding user.

For more information about LINE Beacon, see Using Beacons.

We apologize for any inconvenience this may have caused. LINE will continue to improve the quality of its services to its customers. Thank you for your understanding.

Messaging API

Previous post
You can now change the icon and display name of your LINE Official Account
Next post
All Narrowcast and Audience Management documentation now available in English
All Narrowcast and Audience Management documentation now available in English
2020/03/04

All documentation about sending narrowcast messages and managing audiences with Messaging API is now available in English.

Newly translated content:

  • Using audiences
  • Change the authority level of the audience
  • Get the authority level of the audience

Previously translated content (see news for February 19, 2020):

  • Sending messages to multiple users via attribute data or retargeting (narrowcast messages)
  • Managing audiences

For previous announcements about the Narrowcast and Audience Management features, see these past news posts:

  • New Messaging API endpoint for sending narrowcast messages (January 15, 2020)
  • Audience sharing now available (February 3, 2020)
Messaging API

Previous post
LINE Beacon no longer supported on several LINE versions from March 25, 2020
Next post
liff.shareTargetPicker() and liff.ready added to LIFF v2
liff.shareTargetPicker() and liff.ready added to LIFF v2
2020/03/03

We added liff.shareTargetPicker() and liff.ready to LIFF v2.

liff.shareTargetPicker()

Execute the liff.shareTargetPicker() method to display the target picker (screen for selecting a group or friend) and send the message created by the developer to the selected target. This message appears to your group or friends as if you had sent it.

target picker

For more information, see Sending messages to a user's friend (share target picker) in the LIFF documentation.

Target picker operating environment

Target picker is supported by LINE 10.3.0 for iOS and Android.

liff.ready

With liff.ready, you can get the Promise object that resolves when you run liff.init() for the first time after starting the LIFF app. If you use liff.ready, you can execute any process after the completion of liff.init().

For more information, see liff.ready in the LIFF v2 API reference.

LIFF

Previous post
All Narrowcast and Audience Management documentation now available in English
Next post
English documentation for Messaging API narrowcast features published
English documentation for Messaging API narrowcast features published
2020/02/19

The documentation about sending narrowcast messages and managing audiences with Messaging API is now (partially) available in English:

  • Sending messages to multiple users via attribute data or retargeting (narrowcast messages)
  • Managing audiences

Some content still remains in Japanese, but will be translated to English soon:

  • Using audiences

For the original announcements of the above Messaging API features, see these past news posts:

  • New Messaging API endpoint for sending narrowcast messages (January 15, 2020)
  • Audience sharing now available (February 3, 2020)
Messaging API

Previous post
liff.shareTargetPicker() and liff.ready added to LIFF v2
Next post
BLE functions for LIFF apps on LINE Things no longer provided when creating a new app
BLE functions for LIFF apps on LINE Things no longer provided when creating a new app
2020/02/17

As of February 10, 2020, the new BLE function of the LIFF app will no longer be provided in the LINE Things Developer Trial when creating a new app.

Now, the LINE Things Developer Trial will only offer automatic communication.

The LINE Things Developer Trial does not plan to provide the BLE function of the LIFF app again.

We apologize for any inconvenience this may have caused. LINE will continue to improve the quality of its services to its customers. Thank you for your understanding.

LINE Things

Previous post
English documentation for Messaging API narrowcast features published
Next post
Notice about LIFF v1 APIs and discontinuation schedule change
Notice about LIFF v1 APIs and discontinuation schedule change
2020/02/07

We announced that the end-of-life of LINE Front-end Framework (LIFF) server API was scheduled for March 31, 2020. Due to feedback received, we will continue to provide the API.

As for LIFF v1, we will announce the discontinuation schedule as soon as it is decided. In the meantime, we recommend that you migrate from v1 to v2 as soon as possible.

FeatureSchedule before this updateSchedule after this update
LIFF v1 Client APIScheduled for discontinuationScheduled for discontinuation (This has not changed)
LIFF v1 Server APIScheduled for discontinuation on March 31, 2020Support continues
LIFF v1 will still be discontinued

As announced on October 16, 2019, LIFF v1 will be discontinued. Use the latest version of LIFF.

LIFF

Previous post
BLE functions for LIFF apps on LINE Things no longer provided when creating a new app
Next post
Users can no longer add LIFF apps to Messaging API channels
Users can no longer add LIFF apps to Messaging API channels
2020/02/05

As announced on November 11, 2019, due to a function enhancement with LIFF v2, users can no longer add LIFF apps to Messaging API channels.

To find out about restrictions on LIFF apps already added to the Messaging API channel, and how to transition to the LINE Login channel, see the above news article.

LIFF

Previous post
Notice about LIFF v1 APIs and discontinuation schedule change
Next post
Audience sharing now available
Audience sharing now available
2020/02/03

You can now use audiences created with the Messaging API in LINE Official Account Manager and LINE Ads.

Audiences help with advanced advertisement targeting. By using audiences, you can send messages to users who have opened a previous message or clicked on a message URL.

Audiences created earlier now automatically appear in LINE Official Account Manager and LINE Ads. You don't need to change any settings.

For more information about audiences, see Using audiences in the Messaging API documentation (English version coming soon).

Messaging API

Previous post
Users can no longer add LIFF apps to Messaging API channels
Next post
Introducing the redesigned LINE Developers site
Introducing the redesigned LINE Developers site
2020/01/27

We're excited to introduce our new, redesigned LINE Developers site. We believe this update makes it easier to use the LINE Platform products and find the documentation you need.

Here are the key changes to the site:

Pages load faster

The site is now a single-page application running on VuePress, resulting in much shorter page load times than before.

Better readability

We've improved the responsive design of the API reference. The layout adapts to the size of your screen, making it easier to read API arguments and sample code.

Simpler search

As you type your search terms, suggestions appear instantly, helping you find the information you need more quickly.

Search Results

Note: Although the new search is faster, it only returns results based on page titles and headings. We'll collect internal feedback over the coming weeks to see if people are satisfied with this new search, or we need to adjust it.

(We're working hard to bring the user feedback form from the old site to the new site.)

What's next?

In addition to bringing back the user feedback form, we'll continue looking for ways to make it easier for you to use the LINE Developers site and documentation.

Keep up-to-date with the latest developments by adding the LINE Developers Official Account as a friend with the QR code or button below.

QR code for the LINE Developers account

Add friend

Docs

Previous post
Audience sharing now available
Next post
[Resolved] Notice about Flex Message Simulator outage
[Resolved] Notice about Flex Message Simulator outage
2020/01/22

We'd like to inform you about a service outage regarding Flex Message Simulator. The issue has now been resolved but we sincerely apologize for any inconvenience that this may have caused.

Date and time of outage

January 21, 2020 13:03 - January 22, 2020 11:59 (UTC+9)

Cause

Issues with our servers.

Affected services

Flex Message Simulator (https://developers.line.biz/flex-simulator/)

Details

During the specified time, Flex Message Simulator was inaccessible.

LINE will continue to improve the quality of its services to prevent future outages. Thank you for your understanding.

Outage ReportFlex Message Simulator

Previous post
Introducing the redesigned LINE Developers site
Next post
LIFF v1 Server API end-of-life on March 31, 2020
LIFF v1 Server API end-of-life on March 31, 2020
2020/01/21

March 31, 2020 marks the end-of-life date for LINE Front-end Framework (LIFF) v1 Server API. On that date, these features will be removed:

  • Server API
    • Adding the LIFF app to a channel
    • Update LIFF app settings
    • Get all LIFF apps
    • Delete LIFF app from a channel
Use the latest version of LIFF

As announced on October 16, 2019, LIFF v1 will be discontinued.

Use LIFF v2

All discontinued Server API functions can be used in the LINE Developers Console. For more information on how to add a LIFF app to a channel, read this:

  • Adding a LIFF app to your channel

You can use other features with the same process.

LINE will continue to improve the quality of its services. Thank you for your understanding.

LIFF

Previous post
[Resolved] Notice about Flex Message Simulator outage
Next post
New Messaging API endpoint for sending narrowcast messages
New Messaging API endpoint for sending narrowcast messages
2020/01/15

An endpoint for sending narrowcast messages has been added to the Messaging API.

This endpoint lets you send push messages to multiple users at any time.

You can specify the recipient using certain attributes (gender, age, OS type, region, etc.) and retargeting (audience).

For more information, see Send messages to multiple users using attribute information and retargeting.

Documentation available in Japanese only. English coming soon.

Messaging API

Previous post
LIFF v1 Server API end-of-life on March 31, 2020
Next post
Update your code that uses the suspended LIFF SDK API
Update your code that uses the suspended LIFF SDK API
2020/01/14

As announced on November 29, 2019, these APIs on LINE v9.19.0 and later for iOS were temporarily suspended due to technical issues.

  • liff.scanCode()
  • liff.bluetooth.*

Starting today, for end users using the LIFF app on LINE v9.19.0 and later for iOS, each API works as follows.

APIFunction
liff.scanCode()API is undefined
liff.bluetooth.*If the Bluetooth plug-in fails to initialize when calling liff.initPlugins(['bluetooth']), a FORBIDDEN error is returned.

If you use liff.scanCode(), we recommend that you also consider the above case and verify that the function exists.

Before modification:

text
liff.scanCode().then(result => {
  // result = { value: '' }
});

Modified:

text
if (liff.scanCode) {
    liff.scanCode().then(result => {
      // result = { value: '' }
    });
}

For more information, see LIFF v2 API reference.

LINE will continue to improve the quality of its services. Thank you for your understanding.

LIFF

Previous post
New Messaging API endpoint for sending narrowcast messages
Next post
[Updated] Make sure the provider name is correct
[Updated] Make sure the provider name is correct
2020/01/08
Added on January 9, 2020

This specification change was scheduled to take place on January 9, 2020, but has been postponed to January 16, 2020.

Starting January 16, 2020, LINE Official Accounts using the Messaging API will display the provider name registered by the developer at the bottom of the profile.

Corporate LINE Official Accounts may also have personal names registered as provider names. Make sure that the correct name is registered. The provider name can be changed from the LINE Developers Console.

Profile

*The provider name is displayed in the red frame

Messaging API

Previous post
Update your code that uses the suspended LIFF SDK API
Next post
[Resolved] Notice about service outage for LINE Login

Filter by
news tag

AndroidBot DesignerChannel access tokenCLOVACLOVA Extensions KitDevelopers CommunityLINE Developers ConsoleDeprecatedDocsEnd of lifeFlex MessageFlex Message SimulatorFlutterGroupImagemap messageiOSLife cycleLIFFLINE AdsLINE API ExpertLINE Blockchain PlatformLINE Developers siteLINE LoginLINE MINI AppLINE Official AccountLINE PlatformLINE Login SDKLINE ThingsLINE TVMaintenanceMessaging APIOptions for corporate customersOutage ReportRich menuSocial APILINE Social PluginsSSL/TLSTemplate messageUnity

LINE Developers Official Account

Subscribe for the latest information on the LINE Platform
LINE Developers QR Code
© LY Corporation
  • About LINE Developers site
  • Terms and Policies
  • About trademarks
  • LINE API Status