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の国内月間アクティブユーザーは9,700万人を超える。法人の担当者であっても、個人のLINEアカウントは毎日開く。受注通知や出荷連絡をLINEで送れば、メールより格段に早く届く。食品卸業界ではLINEへの問い合わせ移行で応答時間が24時間から2時間に短縮した事例も報告されている。
ただし、BカートにはLINEとの公式ネイティブ連携機能が存在しない。アプリストアにもLINE公式アカウントと直接繋がる専用アプリはない。では連携は不可能かというと、そうではない。BカートにはWebhook機能が標準搭載されており、これとLINE Messaging APIを組み合わせれば、受注通知、出荷通知、在庫アラートまで自動化できる。中間サーバーにはGoogle Apps Script(GAS)を使えばコストゼロだ。
LINE公式アカウントの準備
まずLINE側の環境を整える。LINE公式アカウントの開設からMessaging APIの有効化まで、順を追って説明する。
LINE公式アカウントは3つの料金プランがある。コミュニケーションプラン(月額0円、月200通まで)、ライトプラン(月額5,500円、月5,000通まで)、スタンダードプラン(月額16,500円、月30,000通まで)の3種類だ。
社内の担当者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でサービス終了している。現在は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を作る。サーバー費用はゼロ、コーディング量も30行程度で済む。
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を選択。シークレットには36文字以上のランダム文字列を設定する。状態を「有効」にして保存すれば、次の注文からLINEに通知が届く。
テキストメッセージだけでなく、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を取得し、Googleスプレッドシートに顧客名やメールアドレスと紐付けて保存する。
Bカートで出荷処理(ステータス変更)が行われると、order.updatedのWebhookが飛ぶ。GASでこのイベントを受け取り、受注データの顧客情報からスプレッドシートを検索してLINE User IDを取得する。User IDが見つかれば、出荷通知のプッシュメッセージを送信する。見つからなければ(LINEを友だち追加していない取引先)、通常のメール通知にフォールバックすればいい。
この構成なら、LINE登録済みの取引先にはLINEで、未登録の取引先にはメールで出荷通知が届く。取引先に強制することなく、段階的にLINE通知率を上げていける。
在庫アラートを自動通知する
BカートのWebhookには在庫変更イベントが存在しない。在庫が閾値を下回ったことを検知するには、GASのタイムドリガーでBカートのAPIを定期的に呼び出す方式を取る。
GASに在庫チェック関数を作成し、BカートのAPIで全商品の在庫数を取得する。あらかじめスプレッドシートに商品ごとの閾値(「残り10個以下で通知」等)を設定しておき、閾値以下の商品が見つかったらLINEに通知する。タイムドリガーは1時間ごと、または毎朝9時などスケジュールを自由に設定できる。
在庫切れで受注を逃すのはBtoB ECで最も痛い機会損失だ。メールの在庫レポートは見落とされやすいが、LINEなら担当者のスマホにプッシュで届く。朝の出勤前に在庫状況を把握できるだけで、発注の判断が半日早くなる。
リッチメニューで発注導線を作る
LINE公式アカウントのリッチメニューは、トーク画面の下部に常時表示されるカスタムメニューだ。6つまでのボタンを配置でき、各ボタンにURLを設定できる。
BtoB ECの取引先向けに効果的なメニュー構成は以下の通り。「注文する」ボタンにBカートの商品一覧URL、「注文履歴」ボタンにマイページの注文履歴URL、「在庫確認」ボタンに特定カテゴリの商品一覧URL、「問い合わせ」ボタンにBカートの問い合わせフォームURLを設定する。
取引先の担当者がLINEを開いてリッチメニューの「注文する」をタップすれば、Bカートの商品一覧がブラウザで開く。スマホからの発注導線が一気に短くなる。特に飲食店の店長や美容サロンのオーナーのように、パソコンよりスマホで業務をこなす取引先には刺さる。
リッチメニューの画像はLINE Official Account Managerの管理画面で作成できる。テンプレートが用意されているので、デザインツールがなくても設定可能だ。
Yoomを使うノーコード連携という選択肢
コーディングに抵抗がある場合は、ノーコードiPaaSのYoomを使う方法もある。2024年11月にBカートとYoomがAPI連携を正式開始しており、「Bカートで注文が発生したらLINE WORKSに通知する」テンプレートが公式に用意されている。
Yoomのフリープランは月200タスクまで無料だ。ポーリング間隔(Bカートの新規注文をチェックする頻度)はプランによって異なり、最短5分間隔から60分間隔まで選べる。
注意点は、YoomのLINE連携テンプレートはLINE WORKSが対象であり、個人のLINEアプリではない点だ。社内メンバーがLINE WORKSを使っていれば問題ないが、取引先の個人LINEに通知を送りたい場合はGAS+Messaging APIの自作連携が必要になる。
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公式アカウントをコミュニケーションプラン(月額0円)で開設し、GASでWebhookを受けてMessaging APIで通知する。実装は1日で完了、費用ゼロ。
- 第2フェーズ: 取引先への出荷通知。Bカートのマイページに友だち追加ボタンを設置し、LINE User IDと顧客IDの紐付けを構築する。出荷ステータス変更時にLINEで通知を飛ばす。構築期間1〜2週間。月の出荷通知数に応じてLINEプランを選択。
- 第3フェーズ: リッチメニューと発注導線の整備。トーク画面に注文・注文履歴・問い合わせのメニューを設置し、LINEをフロントエンドとした受発注体験を完成させる。
最も費用対効果が高いのは第1フェーズだ。GASの無料枠とLINEのコミュニケーションプランだけで、受注が入った瞬間に担当者のスマホにプッシュ通知が届く。メールを開くまでの空白時間がなくなるだけで、出荷の初動が確実に早くなる。同じGASでkintone連携も組み合わせることができる。
よくある質問
LINE Notifyは使えますか
LINE Notifyは2025年3月に終了しています。現在はMessaging API一択です。Flex Message(カード型)、画像送信、リッチメニュー設置などNotifyにはない機能が使えるため上位互換と考えてください。
サーバー費用はいくらかかりますか
GASを使えば実質ゼロ円です。LINE公式アカウントもコミュニケーションプラン(月額0円、月200通まで)から始められるため、社内通知だけならランニングコストはかかりません。
取引先のLINEに通知できますか
可能です。Bカートのマイページに友だち追加ボタンを設置し、取引先がボットを友だち追加するとLINE User IDを取得できます。これをBカートの顧客IDと紐付けて保存しておけば、出荷通知などをLINEで送れます。
ノーコードで構築する方法はありますか
YoomがBカート公式の連携テンプレートを提供しています。ただし対象はLINE WORKSで、個人LINEへの通知にはGAS+Messaging APIの自作が必要です。社内通知ならYoom、取引先の個人LINEならGASと使い分けてください。
セキュリティ上の注意点は?
アクセストークンをソースコードに直書きせず、GASのスクリプトプロパティで管理してください。BカートのWebhookは本番でHMAC-SHA256の署名検証を必ず実装してください。検証を省くと第三者からの偽リクエストでLINEに虚偽の受注通知を流せてしまいます。
Bカート × LINE連携の構築はCravalへ
GAS実装からWebhook設計、リッチメニュー作成まで一気通貫で支援します。受注通知だけのスモールスタートから、取引先LINE連携・在庫アラートまで段階的に拡張可能。無料相談を承っています。
無料で相談する