line-mini-app
LINE MINI App
Do not answer LINE MINI App questions from memory — LINE updates APIs frequently and training data is unreliable. Always consult the references below.
LINE MINI App is a web app platform built on LIFF that runs inside LINE.
Workflow
- Read references/guidelines.md first (policy rules, specs, constraints)
- Load the relevant reference for the feature being worked on
- For architecture or design choices, consult references/experts.md
- When reviewing, cross-check code against specs (token lifecycle, message limits, scope requirements, template naming, IAP order flow)
Environment Variables
LIFF_ID=LIFF app ID (LINE MINI App runs on LIFF)
LINE_CHANNEL_ACCESS_TOKEN=Stateless channel access token (Service Messages, IAP)
LINE_LOGIN_CHANNEL_ID=LINE Login Channel ID (server-side verification)
LINE_LOGIN_CHANNEL_SECRET=Channel secret (server-side only)
MINI App vs LIFF
| Feature | LIFF | MINI App |
|---|---|---|
| Service Messages | ✗ | ✅ Proactive notifications via notification token |
| Common Profile Quick Fill | ✗ | ✅ Auto-fill forms with LINE profile data |
| In-App Purchase | ✗ | ✅ App store payments (iOS/Android) |
| Submission review | Not required | Required (LINE review process) |
| Entry point | LIFF URL | LINE MINI App list + LIFF URL |
All LIFF APIs are available in MINI App context (LIFF browser). See Key Constraints for external browser limitations.
Service Messages
User opens MINI App → liff.getAccessToken() → Issue notification token → Send service messages (max 5)
- Token validity: 1 year, max 5 messages per token
- LIFF access token is revoked when user closes the MINI App — issue notification token before user leaves
Full API specs, template structure, error codes → references/service-messages.md
Common Profile Quick Fill
const result = await liff.$commonProfile.get(scopes, { formatOptions });
liff.$commonProfile.fill(result.data); // auto-fill <input data-liff-autocomplete="...">
Full API specs, scopes, dummy data → references/common-profile.md
In-App Purchase
Japan only. Consumable digital content only. Requires LIFF SDK ≥ 2.26.0, LINE ≥ 15.6.0, LIFF browser.
Purchase flow (client + server), dev guidelines, error codes → references/in-app-purchase.md
Key Constraints
- MINI App runs on LIFF — all LIFF constraints apply (Endpoint URL, init order, environment differences)
- Stateless channel access tokens only — long-lived and v2.1 tokens cannot be used for MINI App channels
- Channel consent simplification only skips
openid—profile,email,chat_message.writerequire verification screen; needs LIFF SDK v2.13.x+, verified MINI App - Custom share messages must use Bubble container (not Carousel); actions only on buttons and footer
- External browser:
liff.init()doesn't auto-login (usewithLoginOnExternalBrowser: true);sendMessages,openWindow,closeWindow,iap.*unavailable - LINE Pay terminated in Japan (April 30, 2025) — verify current availability at LINE Pay docs
- IAP auth differs by endpoint: reserve uses user token, webhook history uses channel token; webhook uses signature verification, not IP restriction
- Channel cannot be moved to another provider after creation; user IDs differ per provider
Reference Index
| File | Topic |
|---|---|
| references/guidelines.md | Read first. MINI App overview, verified vs unverified, specs, performance, migration, development rules, Quick Fill design regulations |
| references/console-setup.md | Channel creation, 3 internal channels, LIFF ID, tokens, basic auth, display mapping, localization, settings reflection, re-review |
| references/features.md | Built-in features (action button, multi-tab, consent simplification), custom features (Custom Path, shortcuts, custom action button, share messages, OA, payments), permanent links, external browser, UI components |
| references/service-messages.md | Notification token lifecycle, sending API, template structure, review lifecycle, character limits, error codes |
| references/common-profile.md | Quick Fill API, scopes, form auto-fill, plugin setup, dummy data |
| references/in-app-purchase.md | Purchase flow (client + server), reserve, webhooks, dev guidelines, application & setup, test payment, error codes |
| references/submission-review.md | Submission process, pre-review checklist, review period, approval flow, publish changes |
| references/experts.md | LINE MINI App domain experts for architecture guidance |
SDK & Tools
- LINE MINI App is built on LIFF SDK: @line/liff
- Quick Fill plugin: @line/liff-common-profile-plugin
- Scaffold:
npx @line/create-liff-app - LINE MINI App Playground: miniapp.line.me/lineminiapp_playground — online MINI App API testing
More from abgne/line-dev
messaging-api
Comprehensive reference for LINE Messaging API — webhook setup, message sending, Flex Message design, Rich Menu management, audience targeting, insights, coupons, and channel access tokens. This skill should be used when the user asks to "build a LINE Bot", "set up a webhook", "send a push message", "design a Flex Message", "create a Rich Menu", "manage audience targeting", "get messaging insights", "create a coupon campaign", "debug webhook signature verification", or mentions LINE Messaging API, LINE OA chatbot, reply/push/multicast/narrowcast/broadcast, Flex Message JSON, Rich Menu, group chat bot, channel access token, or URL schemes. Always use this skill whenever the user mentions LINE bots, chatbots, LINE OA, or any messaging-related LINE integration, even if they don't explicitly say "Messaging API".
47line-liff
Comprehensive reference for LINE Front-end Framework (LIFF) SDK — building web apps inside LINE with authentication, messaging, QR scanning, permanent links, pluggable SDK, and LIFF plugin development. This skill should be used when the user asks to "build a LIFF app", "initialize liff.init()", "send messages from LIFF", "use Share Target Picker", "scan a QR code in LIFF", "create a permanent link", "develop a LIFF plugin", or mentions LIFF SDK, LINE Front-end Framework, CDN/npm integration, pluggable SDK tree-shaking, LIFF-to-LIFF transitions, LIFF browser vs external browser, Endpoint URL configuration, or server-side ID token verification from LIFF. Always use this skill whenever the user mentions LIFF, web apps inside LINE, or LINE Front-end Framework, even if they don't explicitly say "LIFF SDK".
39line-login
Comprehensive reference for LINE Login (OAuth 2.1) — authorization code flow, PKCE, token management, ID token JWT verification, user profiles, bot linking, and login button design. This skill should be used when the user asks to "implement LINE Login", "add Log in with LINE", "set up OAuth authorization flow", "verify an ID token", "refresh an access token", "link a bot to login", "design a login button", or mentions LINE Login, OAuth 2.1, PKCE, authorization code flow, ID token JWT verification, token refresh/revocation, user profile retrieval, bot linking, SSO login, LIFF authentication, or LINE MINI App authentication. Always use this skill whenever the user mentions LINE authentication, social login with LINE, or OAuth flows involving LINE, even if they don't explicitly say "LINE Login".
27line-notification-message
Reference for LINE Notification Messages — phone-number-based messaging to non-friends, template type (premade layouts) and flexible type (custom Flex Message), delivery completion webhooks, user consent flow, SMS authentication, and billing. Use when the user asks to "send a notification message via phone number", "hash a phone number for PNP", "handle delivery completion webhook", "set up template or flexible notification", "check notification message count", "integrate LON", or mentions LINE notification messages, LINE Official Notification (LON), PNP push, phone-number-based delivery, hashed phone number, notification template, delivery completion event, consent states, or SMS authentication for notifications. Always use this skill whenever the user mentions LINE notification messages, PNP, LON, LINE Official Notification, LINE 通知型訊息, or phone-based LINE messaging to non-friends, even if they don't explicitly say "notification message".
21line-creators-market
Comprehensive reference for LINE Creators Market — sticker character design (static, animated, custom, message, big, popup, effect stickers), emoji series planning, theme creation, technical specifications, review guidelines, submission workflow, revenue model, AI usage declaration, and market strategies for Japan, Taiwan, Thailand, and global audiences. This skill should be used when the user asks to "design a LINE sticker character", "plan an emoji series", "create a LINE theme", "check sticker submission specs", "understand review guidelines", "optimize sticker SEO", "plan market strategy for LINE stickers", "calculate creator revenue", or mentions LINE stickers, LINE emoji, LINE themes, Creators Market, sticker submission, sticker review, sticker pricing, sticker rejection, APNG animated stickers, creator revenue sharing, LINE Sticker Premium, LINE Sticker Maker, custom stickers, message stickers, big stickers, popup stickers, effect stickers, or AI-generated stickers. Always use this skill whenever the user mentions LINE stickers, LINE emoji, LINE themes, sticker creation, or LINE Creators Market, even if they don't explicitly say "Creators Market".
10