Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Line Bot Sdk Laravel Package

linecorp/line-bot-sdk

LINE Messaging API SDK for PHP helps you build LINE bots quickly. Install with composer require linecorp/line-bot-sdk, configure a Guzzle client and channel access token, then call APIs such as replyMessage. Requires PHP 8.2+.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Channel expansion into LINE-first markets (JP, TW, TH, ID). LINE is the dominant messaging surface in these geographies; this SDK is the fastest path to a working bot there without building a raw HTTP client, signing layer, and event parser from scratch.
  • Build vs. buy on messaging integrations. The SDK is Apache-2.0 and covers webhook verification, event parsing, and typed request/response models — the parts you'd otherwise re-implement and maintain against a moving API. In-house work should be scoped to business logic (intents, routing, fulfillment), not transport.
  • Roadmap for notification/CRM features. Typed support for text, image, location, template, and rich message types lets you ship an MVP notification channel, then layer on campaign messaging, rich menus, and audience targeting as separate roadmap items rather than blocking on infrastructure.
  • Laravel-native feature sequencing. Service provider + facade (LINE_BOT_CHANNEL_ACCESS_TOKEN, LINEMessagingApi facade) means a Laravel team can ship a first bot in a sprint; config publishing supports custom headers and multi-environment rollout without bespoke wiring.
  • Observability and support SLAs as a product requirement. ~WithHttpInfo variants and ApiException expose x-line-request-id, x-line-accepted-request-id, status codes, and response bodies — this turns "message didn't arrive" support tickets into traceable incidents, which is a support-cost decision, not just an engineering one.
  • Partner/premium tier evaluation. v12.8.0 adds templated LINE notification messages (PNP) and custom aggregation units, gated behind a partner application. This is the trigger to evaluate whether a paid/partner relationship unlocks a differentiated notification product (per-unit delivery analytics, template-driven transactional messages) before committing.
  • Compliance and vendor posture. Official LINE Corporation package, Apache-2.0, semantic versioning, active release cadence (v12.8.0, October 2026). Low legal/procurement friction versus a community fork.

When to Consider This Package

Adopt when:

  • You are on PHP 8.2+ and building (or already running) a Laravel or Symfony app that needs to send/receive LINE messages.
  • Your product needs webhook-driven conversational flows — the SDK's EventRequestParser#parseEventRequest($body, $channelSecret, $signature) handles signature validation and event iteration, which is the highest-risk code to hand-roll.
  • You want typed models over raw JSON for messages and requests, so schema drift surfaces at development time rather than in production.
  • You need auditable error handling and request-ID capture for support/debugging workflows.
  • Time-to-first-message matters — the README claims a sample bot "within minutes," and the EchoBot/KitchenSink examples make that credible.

Look elsewhere when:

  • Non-PHP stack. Sibling LINE SDKs exist for other runtimes; do not bridge through PHP.
  • You only need one HTTP call ever. A single Guzzle call against the REST endpoint may not justify a dependency — though the webhook parser usually does.
  • You need channels outside LINE (WhatsApp, Messenger, SMS) at scale. This is LINE-specific; consider a multichannel abstraction layer or aggregator, with this SDK as one adapter.
  • The templated PNP / custom aggregation features are on your roadmap. These are partner-only and require an application — validate eligibility before you promise the capability to stakeholders.
  • You cannot tolerate the versioning caveat. The project reserves the right to ship breaking removals as patch releases when a feature is discontinued for business reasons. If you need strict semver guarantees, pin versions and test upgrades.
  • You are on PHP < 8.2 or cannot upgrade; there is no supported path here.

How to Pitch It (Stakeholders)

For executives: LINE is the default messaging channel for hundreds of millions of users in Japan, Taiwan, Thailand, and Indonesia. This is LINE Corporation's own official PHP SDK, Apache-2.0 licensed, actively maintained (latest release October 2026). Adopting it converts a multi-week integration project into a few days of work, and it's the same library LINE documents publicly — so we're not betting on an unmaintained third party. The main strategic question is not technical risk but market prioritization: is a LINE channel on our roadmap for these regions? If yes, this is the low-risk default. If we later want partner-tier capabilities (templated notification messages, per-unit delivery analytics), that requires a separate partner application — worth flagging as a decision point, not a blocker.

For engineering: Composer install, PHP 8.2+, first-class Laravel support via a service provider and LINEMessagingApi facade driven by LINE_BOT_CHANNEL_ACCESS_TOKEN. It handles the two things we'd otherwise get wrong: webhook signature verification and event parsing, and typed message/request models generated from LINE's OpenAPI spec. Error handling is production-grade — ApiException and the ~WithHttpInfo methods give us x-line-request-id, accepted-request-ID, status codes, and response bodies, which we can pipe into structured logging for incident triage. Config is publishable for custom headers and environment separation. Two cautions: version pinning matters (the project may ship discontinuations as patch releases), and the PNP APIs require partner enrollment, so don't scope them into the first milestone. Recommend a thin internal wrapper around the client so the transport stays swappable and testable.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin