# Overview of Quick-fill
Only certain corporate customers who have been contacted by us can use the Quick-fill feature described on this page. This feature is only available for verified MINI Apps.
# What is Quick-fill
Quick-fill is a feature that automatically fills in the necessary profile information by tapping the Auto-fill button on the LINE MINI App. You can easily use the Common Profile information that a user has set in the Account Center in the LINE MINI App.
By integrating Quick-fill into your LINE MINI App, users can automatically enter an address or phone number with a single tap. For example, when making a reservation at a restaurant or ordering from an online store, users can save themselves the hassle of entering the information manually.
This page explains how to integrate Quick-fill into your LINE MINI App.
For information on how to use Quick-fill on the LINE MINI App, see Set Common Profile to use Quick-fill (opens new window) (only available in Japanese) in the LINE user's guide.
# Languages that support Quick-fill
Quick-fill currently supports Japanese only. Therefore, the Quick-fill screen will be displayed in Japanese regardless of the language setting in the LINE app.
# How to integrate Quick-fill into the LINE MINI App
To integrate Quick-fill into the LINE MINI App, follow the steps below:
- Apply to use Quick-fill
- Specify the scope of Quick-fill in the LINE Developers Console
- Submit a review request for your LINE MINI App
- Develop your LINE MINI App
# 1. Apply to use Quick-fill
Only certain corporate customers who have been contacted by us can use the Quick-fill feature. To use this feature, corporate customers who have been contacted by us must apply to use Quick-fill. Our sales representative will provide details on how to apply and any points to note.
# 2. Specify the scope of Quick-fill in the LINE Developers Console
After your application has been accepted, specify the scope of the information you want to use. In the LINE Developers Console, select the target LINE MINI App channel, and in the Scope section of the Web app settings tab, check the box for the scope you want to use.
For more information about the types of scope that you can use with Quick-fill, see Types of scope that can be selected in the LINE Developers Console.
If you enable both Quick-fill and Channel consent simplification at the same time, users won't be able to disable the toggle button for the Common Profile on the Verification screen. We plan to make a fix for this behavior in the future. For more information about the Verification screen, see Detailed workflow of "Channel consent simplification" in the LINE MINI App documentation.
# 3. Submit a review request for your LINE MINI App
Once you have specified the scope, request LINE MINI App review from the Review request tab on the LINE MINI App channel. Once the LINE MINI App has passed the review, you will be able to develop within the specified scope.
# 4. Develop your LINE MINI App
You can develop your LINE MINI App that integrates Quick-fill. For information on how to develop, see Integrate Quick-fill with the LIFF Plugin.
When developing a LINE MINI App that integrates Quick-fill, follow the instructions below:
- Quick-fill design regulations
- LINE MINI App development guidelines
- LIFF app development guidelines
- LINE Login development guidelines
# Integrate Quick-fill with the LIFF Plugin
To develop Quick-fill, you need to use the LIFF SDK and the LIFF plugin. For information about the LIFF SDK version that the LIFF plugin works with, see LIFF SDK version.
You can integrate the LIFF SDK into your LINE MINI App in one of two ways:
Once you've integrated the LIFF SDK into your LINE MINI App, you can enable the Quick-fill LIFF plugin by passing the Quick-fill LIFF plugin to the liff.use()
method as shown below:
liff.use(new LiffCommonProfilePlugin());
await liff.init({ liffId: "xxx" });
const profile = await liff.$commonProfile.get();
liff.$commonProfile.fill(profile);
The $commonProfile
property is added to the liff
object, and the following Quick-fill client API can be used:
# Specify a CDN path to integrate Quick-fill
When specifying a CDN path, by loading the package with the script
tag, the liffCommonProfile
property is added to the window object. An instance of the LiffCommonProfilePlugin
class that exists within liffCommonProfile
is passed as an argument to liff.use()
.
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="https://static.line-scdn.net/liff/edge/2/sdk.js"></script>
<script src="https://static.line-scdn.net/5/liff-common-profile/edge/production/0.1.0/index.umd.cjs"></script>
<title>LIFF App</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/index.js"></script>
</body>
</html>
liff.use(new liffCommonProfile.LiffCommonProfilePlugin());
const profile = await liff.$commonProfile.get();
liff.$commonProfile.fill(profile);
For more information, see Specify the CDN path in the LIFF documentation.
# Use the npm package to integrate Quick-fill
When using the npm package, import the LiffCommonProfilePlugin
class from the package and pass an instance of it as an argument to liff.use()
.
$ npm install @line/liff-common-profile-plugin
import liff from "@line/liff";
import { LiffCommonProfilePlugin } from "@line/liff-common-profile-plugin";
liff.use(new LiffCommonProfilePlugin());
const profile = await liff.$commonProfile.get();
liff.$commonProfile.fill(profile);
For more information, see Use the npm package in the LIFF documentation.
# Quick-fill operating environment
Quick-fill only works when the user is using LINE for iOS or LINE for Android.
The following is the operating environment for Quick-fill on your system:
LINE MINI Apps use the LINE Front-end Framework (LIFF). For more information about the recommended environment for Quick-fill, see the Recommended operating environment section of the LIFF documentation.
LIFF apps will only work if the URL is exactly the same as the endpoint URL (e.g. https://example.com/path
) or is at a lower level than the endpoint URL (e.g. https://example.com/path/to/lower?key1=value1#URL-fragment
). If you transition the LIFF app to something other than the above, the operation of the LIFF app isn't guaranteed.
# LIFF SDK version
Use LIFF SDK v2.19.0 or later, as the LIFF plugin is used in the development of Quick-fill. For more information on LIFF plugin, see LIFF plugin in the LIFF documentation.
# Node.js version
When installing the LIFF SDK using npm, use Node.js version 18.15.0 or later. Note that Node.js isn't required when using the LIFF SDK with a specified CDN path.
For more information on integrating the LIFF SDK into your LIFF app, see Integrating the LIFF SDK with the LIFF app in the LIFF documentation.
# Types of scope that can be selected in the LINE Developers Console
You can select the following types of Quick-fill scopes in the LINE Developers Console.
Scope | Description |
---|---|
commonprofile.name | Permission to obtain the name registered by the user |
commonprofile.email | Permission to obtain the email address registered by the user |
commonprofile.address | Permission to obtain the address registered by the user |
commonprofile.gender | Permission to obtain the gender registered by the user |
commonprofile.birthday | Permission to obtain the birthday registered by the user |
commonprofile.phone | Permission to obtain the phone number registered by the user |
If these scopes don't display on the LINE Developers Console, see 1. Apply to use Quick-fill.
Users cannot select and allow some scopes on the channel consent screen. They can either allow or disallow these scopes as "Management Information (Common Profile) in the Account Center" in bulk.
# The scopes
parameters that can be specified and its return value
The scopes
parameters that can be specified for liff.$commonProfile.get()
and liff.$commonProfile.getDummy()
and the return values for each are as follows:
Number | scopes | Description | Data type | Max chars (half-width) | Max chars (Hiragana and kanji) | Explanation of the return value |
---|---|---|---|---|---|---|
1 | family-name | Family name | string | 100 | 50 | |
2 | given-name | Given name | string | 100 | 50 | |
3 | family-name-kana | Phonetic family name | string | 100 | 50 | |
4 | given-name-kana | Phonetic given name | string | 100 | 50 | |
5 | sex-enum | Gender | number | 1 (fixed length) | N/A |
|
6 | bday-day | Day of birth | number | 2 | N/A | |
7 | bday-month | Month of birth | number | 2 | N/A | |
8 | bday-year | Month of birth of year | number | 4 | N/A | |
9 | tel | Phone number | string | 200 | N/A | |
10 | email | Email address | string | 200 | N/A | |
11 | postal-code | Postal code | string | 47 | N/A | |
12 | address-level1 | Address 1 | string | 53 | 53 | |
13 | address-level2 | Address 2 | string | 53 | 53 | |
14 | address-level3 | Address 3 | string | 100 | 69 | |
15 | address-level4 | Address 4 | string | 100 | 69 |
The Common Profile for the Account Center is created by combining the profile registered with LINE and Yahoo! JAPAN. If the user doesn't use the Account Center, the profile information from LINE will be filled in automatically.
# Dummy data for Common Profile that can be obtained
You can use liff.$commonProfile.getDummy()
to get dummy data for Common Profile. You can specify the dummy data to get with caseId
from the 10 types provided.
caseId | family-name | given-name | family-name-kana | given-name-kana | sex-enum | bday-day | bday-month | bday-year | tel | email | postal-code | address-level1 | address-level2 | address-level3 | address-level4 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 見本田 | 見本夫 | ダミータ | ダミーオ | 0 | 12 | 3 | 1998 | 09001234567 | dummy_39@yahoo.co.jp | 1020094 | 東京都 | 千代田区 | 紀尾井町1-2 | 東京ガーデンテラス紀尾井町 |
2 | 1 | 12 | 3 | 1998 | 09001234567 | dummy_39@yahoo.co.jp | N5X 1N7 | 東京都 | 紀尾井町1-2 | 東京ガーデンテラス紀尾井町 | |||||
3 | 見本田 | ダミータ | 2 | 09001234567 | dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dummy_39dumm@yahoo.co.jp | 102-0094 | 東京都 | 千代田区 | 東京ガーデンテラス紀尾井町 | ||||||
4 | 見本夫 | ダミーオ | 3 | 12 | 3 | 1998 | 0901234567 | dummy_39@yahoo.co.jp | 1077 AA2 15000N5X 1N7107715000X 1077 AA2 15000N5X 1N71 | 東京都 | 千代田区 | 紀尾井町1-2 | |||
5 | Daimta | Damio | ダミータ | ダミーオ | 0 | 12 | 3 | 1998 | 09001234567 | 1020094 | Tokyo | Chiyoda-ku | Kioi-cho,1-2 | Tokyo Garden terrace Kioi-cho, | |
6 | 1234 | 4321 | ダミータ | ダミーオ | 1 | 1998 | 090-1234-5678 | dummy_39@yahoo.co.jp | トウキョウト | チヨダク | キオイチョウ1-2 | トウキョウガーデンテラスキオイチョウ | |||
7 | ダミータ | ダミオ | ダミータ | ダミーオ | 2 | 3 | 09001234567090012345670900123456709001234567090012345670900123456709001234567090012345670900123456709001234567090012345670900123456709001234567090012345670900123456709001234567090012345670900123456709 | dummy_39@yahoo.co.jp | 1020094 | ||||||
8 | ダミ!? | ダミ夫@ | ダミータ | ダミーオ | 3 | 12 | 1998 | 09001234567 | dummy_39@yahoo.co.jp | 1020094 | 🍀 | 🍀🍀 | 🍀🍀🍀 | 🍀🍀🍀🍀 | |
9 | 🐶🐶🐶 | ダミ💚 | ダミータ | ダミーオ | 0 | 12 | 3 | 1998 | dummy_39@yahoo.co.jp | 102-0094 | 東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都東京都 | 千代田区千代田区千代田区千代田区千代田区千代田区千代田区千代田区千代田区千代田区千代田区千代田区千代田区千 | 紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2紀尾井町1-2 | 東京ガーデンテラス紀尾井町東京ガーデンテラス紀尾井町東京ガーデンテラス紀尾井町東京ガーデンテラス紀尾井町東京ガーデンテラス紀尾井町東京ガーデンテラス紀尾井町東京ガーデンテラス紀尾井町 | |
10 | ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田ダミー田 | ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫ダミー夫 | ダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータダミータ | ダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオダミーオ | 1 | 12 | 3 | 1998 | 09001234567 | dummy_39@yahoo.co.jp | N5X 1N7 | 千代田区 | 紀尾井町1-2 | 東京ガーデンテラス紀尾井町 |
# API reference
For more information about the client API used for Quick-fill, see Quick-fill in the options for corporate customers API reference.