Bカート × LINE連携|受注通知をGASで自動化する手順
2026.03.11
BtoB取引の連絡手段といえばメールが定番だ。だが現実には、メールを見ない取引先が増えている。LINEなら担当者のスマホにプッシュで届く。受注通知や出荷連絡をLINEで送れば、メールより早く目に留まる可能性がある。
確認時点で、Bカート公式が案内するLINE公式アカウント向けの標準ネイティブ連携は確認できなかった。しかしBカートのWebhook機能とLINE Messaging APIを組み合わせ、Google Apps Script(GAS)を中継すれば、受注・出荷・在庫の通知を低コストで自動化できる。本記事では低コストで構築できる実装手順と段階的な導入ロードマップを解説する。
BtoB ECにLINEが必要な理由
BtoB取引の連絡手段といえばメールが定番だ。だが現実には、メールを見ない取引先が増えている。建設現場の職人、美容サロンのオーナー、飲食店の店長。彼らは日中ほぼスマホしか触らない。メールの受注通知を送っても、開封が夕方や翌朝になることがある。
LINEを業務連絡に使えるかは、取引先の利用状況と通知への同意を確認して判断する。スマホで業務をこなす担当者が多い取引先なら、受注通知や出荷連絡をLINEで送る選択肢が生まれる。
ただし、確認時点で、Bカート公式が案内するLINE公式アカウント向けの標準ネイティブ連携は確認できなかった。では連携は不可能かというと、そうではない。BカートにはWebhook機能が標準搭載されており、これとLINE Messaging APIを組み合わせれば、受注通知、出荷通知、在庫アラートまで自動化できる。中間サーバーにはGoogle Apps Script(GAS)を使う。小規模な社内通知であれば、GASの無償枠内で構築できる場合がある。
LINE公式アカウントの準備
まずLINE側の環境を整える。LINE公式アカウントの開設からMessaging APIの有効化まで、順を追って説明する。
LINE公式アカウントの料金・無料メッセージ通数は改定されるため、導入時点で公式料金ページを確認してほしい。
社内の担当者3人に受注通知を送るだけなら、月50件の注文で150通。取引先100社に出荷通知も送るなら通数が大きく増えるため、月間の送信通数を見積もったうえでプランを選ぶ。
LINE公式アカウントを開設したら、LINE Developersコンソールでチャンネルを作成する。「Messaging API」を選択し、先ほど開設した公式アカウントに紐付ける。チャンネル設定画面で「チャンネルアクセストークン(長期)」を発行する。このトークンがAPIからメッセージを送信する際の認証情報になる。
自分のLINE User IDはチャンネル設定画面の「あなたのユーザーID」から確認できる。社内通知の場合、通知を受け取る全員にLINE Developersでの確認をお願いするか、ボットを友だち追加してもらい、follow Webhookイベントから取得する方法もある。
補足: LINE Notifyは2025年3月に終了
検索すると古い記事がヒットするが、LINE NotifyはすでにEOLでサービス終了している。プログラムから個人LINEへプッシュ通知する用途では、Messaging APIが代表的な選択肢だ。Flex Message(カード型レイアウト)や画像の送信、リッチメニューの設置まで可能になる。
BカートのWebhook機能を理解する
BカートのWebhook機能は、特定のイベントが発生したときに指定のURLへHTTPリクエストを自動送信する仕組みだ。設定は「各種設定」から「外部連携」、「Webhook」の順に進む。マスター管理者のみ新規登録できる。
対応イベントは6種類ある。新規受注(order.created)、受注情報更新(order.updated)、新規会員登録(customer.created)、会員情報更新(customer.updated)、新規配送先登録(other_address.created)、配送先情報更新(other_address.updated)だ。
LINE連携で使うのは主に2つ。受注通知ならorder.created、出荷通知ならorder.updated(受注情報更新。出荷状態への変更かどうかは受信側で判定する)だ。
Webhookの送信データはJSON形式で、イベント種別、タイムスタンプ、受注データ本体が含まれる。セキュリティのため、リクエストヘッダーにHMAC-SHA256で生成された署名が付与される。本番運用では署名検証を実装して、正規のBカートからのリクエストであることを確認する。
注意点として、Webhookの配信は「ベストエフォート」だ。ネットワーク障害などで配信が失われる可能性がゼロではない。重要な受注データはWebhookだけに頼らず、BカートのAPIで定期的に確認するバックアップ運用を入れておくと安全だ。
GASで受注通知を実装する
ここからが実装の本題だ。BカートのWebhookを受け取り、LINEに受注通知を送るGoogle Apps Scriptを作る。小規模な社内通知ならGASの無償枠内で動かせる場合がある。実装量と構築期間は、通知対象、顧客IDとの紐付け、署名検証、再送・重複防止、運用テストの範囲によって異なる。
GASのスクリプトエディタを開き、doPost関数を作成する。この関数がWebhookのエンドポイントになる。BカートからPOSTリクエストが届くと、JSONを解析してイベント種別を判定する。order.createdイベントの場合、受注データから注文番号、顧客名、合計金額、注文日時を取り出してメッセージを組み立てる。
組み立てたメッセージは、LINE Messaging APIのプッシュメッセージエンドポイントに送信する。宛先はスクリプトプロパティに保存したLINE User IDだ。チャンネルアクセストークンもスクリプトプロパティに保存しておく。ソースコードにトークンを直書きしないこと。
GASをWebアプリとしてデプロイする。「デプロイ」メニューから「新しいデプロイ」を選び、種類を「ウェブアプリ」にする。実行ユーザーは「自分」、アクセス権限は「全員(匿名ユーザーを含む)」に設定する。デプロイ後に発行されるURLが、BカートのWebhookに登録するエンドポイントだ。
BカートのWebhook設定画面で新規登録する。名称を「LINE受注通知」など分かりやすい名前にし、URLにGASのデプロイURLを入力する。イベントはorder.createdを選択。シークレットはBカートの現行仕様を満たすランダムな値を設定する。本番で有効化する前に、採用した受信構成で署名を取得・検証できることを確認し、不正なリクエストを拒否する処理を実装する。テスト注文で通知先と送信結果を確認してから、状態を「有効」にして運用を開始する。
テキストメッセージだけでなく、Flex Messageを使えば注文情報をカード型で表示できる。注文番号、顧客名、金額をカードのbody部分に並べ、フッターに「Bカートで確認」ボタンを配置する。ボタンのURIにBカートの管理画面URLを指定しておけば、スマホでLINE通知を見た瞬間にBカートの受注詳細へ飛べる。LINE DevelopersのFlex Message Simulatorでレイアウトを事前に確認できるので活用するといい。
出荷通知を顧客のLINEに送る
社内への受注通知ができたら、次は取引先への出荷通知だ。ただし、これには一つ前提条件がある。取引先のLINE User IDを事前に取得し、Bカートの顧客IDと紐付けておく仕組みが必要になる。
やり方はこうだ。Bカートの注文完了画面やマイページに「LINE友だち追加ボタン」を設置する。QRコードでもいい。取引先の担当者がボットを友だち追加すると、LINE側でfollowイベントが発生する。このイベントのWebhookからLINE User IDを取得する。次に、LINE User IDとBカートの顧客IDを本人確認できる手順で紐付け、Googleスプレッドシートなどに保存する。出荷通知は、紐付けを確認できた宛先に限って送る。
order.updatedは受注情報の更新全般で送られるため、出荷以外の変更でも届く。GASで受注情報更新を受けたら、対象注文が通知対象の出荷状態へ変わったことを確認する。同じ出荷の通知済み記録も確認し、未通知の場合だけ、受注データの顧客IDからスプレッドシートを検索してLINE User IDを取得し、出荷通知のプッシュメッセージを送信する。見つからなければ(LINEを友だち追加していない取引先)、通常のメール通知にフォールバックすればいい。
この構成なら、LINE登録済みの取引先にはLINEで、未登録の取引先にはメールで出荷通知が届く。取引先に強制することなく、段階的にLINE通知率を上げていける。
在庫アラートを自動通知する
BカートのWebhookには在庫変更イベントが存在しない。在庫が閾値を下回ったことを検知するには、GASのタイムドリガーでBカートのAPIを定期的に呼び出す方式を取る。
GASに在庫チェック関数を作成し、BカートのAPIで全商品の在庫数を取得する。あらかじめスプレッドシートに商品ごとの閾値(「残り10個以下で通知」等)を設定しておき、閾値以下の商品が見つかったらLINEに通知する。タイムドリガーは1時間ごと、または毎朝9時などスケジュールを自由に設定できる。
在庫切れで受注を逃すのはBtoB ECで最も痛い機会損失だ。メールの在庫レポートは見落とされやすいが、LINEなら担当者のスマホにプッシュで届く。通知を確認して対応する運用が定着すれば、在庫確認や出荷判断までの待ち時間を短縮できる可能性がある。
リッチメニューで発注導線を作る
LINE公式アカウントのリッチメニューは、トーク画面の下部に常時表示されるカスタムメニューだ。各ボタン(操作領域)にURLを設定できる。操作領域の数は、管理画面とAPIそれぞれの仕様を確認して設計する。
BtoB ECの取引先向けに効果的なメニュー構成は以下の通り。「注文する」ボタンにBカートの商品一覧URL、「注文履歴」ボタンにマイページの注文履歴URL、「在庫確認」ボタンに特定カテゴリの商品一覧URL、「問い合わせ」ボタンにBカートの問い合わせフォームURLを設定する。
取引先の担当者がLINEを開いてリッチメニューの「注文する」をタップすれば、Bカートの商品一覧がブラウザで開く。スマホからの発注導線が一気に短くなる。特に飲食店の店長や美容サロンのオーナーのように、パソコンよりスマホで業務をこなす取引先には刺さる。
リッチメニューの画像はLINE Official Account Managerの管理画面で作成できる。テンプレートが用意されているので、デザインツールがなくても設定可能だ。
Yoomを使うノーコード連携という選択肢
コーディングに抵抗がある場合は、ノーコードiPaaSのYoomを使う方法もある。Yoom上にBカートとLINE WORKSを組み合わせるテンプレートがある場合は、対象アプリ・トリガー・料金・サポート範囲をYoom側で確認したい。ポーリング間隔(Bカートの新規注文をチェックする頻度)もプランによって異なる。
注意点は、LINE WORKSは個人のLINEアプリとは別のサービスである点だ。社内メンバーがLINE WORKSを使っていれば問題ないが、取引先の個人LINEに通知を送りたい場合は、LINE Messaging APIに対応した構成を選ぶ。本記事ではGASで実装する方法を紹介している。
GAS方式とYoom方式の使い分けはシンプルだ。社内チームへの通知でLINE WORKSを使っているならYoom。取引先の個人LINEに通知を送りたい、またはFlex Messageで見た目にこだわりたいならGAS。両方を併用してもいい。
セキュリティの注意点
BtoB取引のデータをLINEで扱う以上、セキュリティへの配慮は欠かせない。
LINE Messaging APIの通信はHTTPSで暗号化されており、BカートのWebhookもHTTPS以外のURLを受け付けない。通信経路の盗聴リスクは低い。ただし、LINEのサーバーにメッセージ内容が保存される点は認識しておくべきだ。与信情報や契約書など高度な機密情報はLINEで送信しない。受注通知に含める情報は注文番号、顧客名、金額程度に留めるのが賢明だ。
LINE Official Account Managerの管理者アカウントには二段階認証を必ず有効化する。管理者権限は会社のメールアドレスで管理し、個人のメールアカウントには紐付けない。退職者が出た際にアカウントを無効化できなくなるリスクを避けるためだ。
顧客のLINE User IDは個人情報に該当する。プライバシーポリシーにLINE連携でUser IDを取得・利用する旨を明記すること。保管先のスプレッドシートやデータベースへのアクセス権限も最小化しておく。
注意: Webhook署名検証は省略しない
BカートのWebhook署名検証(HMAC-SHA256)は、本番環境では省略しないこと。署名検証を省くと、第三者がWebhookエンドポイントに偽のリクエストを送り、虚偽の受注通知をLINEに流せてしまう。
段階的な導入ロードマップ
最初から全機能を作り込む必要はない。3つのフェーズに分けて段階的に導入するのが現実的だ。
- 第1フェーズ: 社内への受注通知。LINE公式アカウントを開設し、GASでWebhookを受けてMessaging APIで通知する。
- 第2フェーズ: 取引先への出荷通知。Bカートのマイページに友だち追加ボタンを設置し、LINE User IDと顧客IDの紐付けを構築する。出荷状態への変更を確認できた注文だけLINEで通知する。構築期間は紐付け方法、重複防止、テスト範囲によって異なる。月の出荷通知数に応じてLINEプランを選択。
- 第3フェーズ: リッチメニューと発注導線の整備。トーク画面に注文・注文履歴・問い合わせのメニューを設置し、LINEをフロントエンドとした受発注体験を完成させる。
最も費用対効果が高いのは第1フェーズだ。利用量が小さければGASの無償枠内で構築できる場合があり、受注が入ると担当者のスマホにプッシュ通知が届く。通知を確認して対応する運用が定着すれば、出荷判断までの待ち時間を短縮できる可能性がある。同じGASでkintone連携も組み合わせることができる。
よくある質問
LINE Notifyは使えますか
LINE Notifyは2025年3月に終了しています。LINE Notify終了後、プログラムから個人LINEへプッシュ通知する用途ではMessaging APIが代表的な選択肢です。Flex Message(カード型)、画像送信、リッチメニュー設置などNotifyにはない機能も使えます。
サーバー費用はいくらかかりますか
小規模な社内通知であれば、GASの無償枠内で構築できる場合があります。GASにはアカウント種別ごとの実行時間・呼出回数の上限があり、LINE公式アカウントの料金・無料メッセージ通数も改定されるため、利用量・LINE料金・保守工数を見積もってください。
取引先のLINEに通知できますか
可能です。Bカートのマイページに友だち追加ボタンを設置し、取引先がボットを友だち追加するとLINE User IDを取得できます。このLINE User IDとBカートの顧客IDを本人確認できる手順で紐付け、紐付けを確認できた宛先に限って出荷通知などをLINEで送ります。
ノーコードで構築する方法はありますか
Yoom上にBカートとLINE WORKSを組み合わせるテンプレートがある場合は、対象アプリ・トリガー・料金・サポート範囲をYoom側で確認してください。個人LINEへの通知では、LINE Messaging APIに対応した構成を選びます。本記事ではGASで実装する方法を紹介しています。
セキュリティ上の注意点は?
アクセストークンをソースコードに直書きせず、GASのスクリプトプロパティで管理してください。BカートのWebhookは本番でHMAC-SHA256の署名検証を必ず実装してください。検証を省くと第三者からの偽リクエストでLINEに虚偽の受注通知を流せてしまいます。
Bカート × LINE連携の構築はCravalへ
GAS実装からWebhook設計、リッチメニュー作成まで一気通貫で支援します。受注通知だけのスモールスタートから、取引先LINE連携・在庫アラートまで段階的に拡張可能。無料相談を承っています。
無料で相談する