LAMPその他Webhook転送を設定したい(オプション)

Webhook転送を設定したい(オプション)

このガイドでは、以下の方法をご紹介します

  • Webhook転送オプションでできること
  • 公式アカウントごとに転送先を設定する手順
  • 転送先のシステムで必要な対応と、ご利用時の注意点

Webhook転送でできること

LINE の公式アカウントに設定できる Webhook URL は 1 つだけで、LAMP をご利用中はその 1 つを LAMP が使っています。Webhook転送オプションを使うと、LAMP が LINE から受け取った Webhook を、貴社が指定したシステムにもそのまま届けられます

友だち → LINE → LAMP ─→ Salesforce(これまでどおり)
                  └→ 貴社が指定した転送先

たとえば、友だち追加やメッセージの受信をきっかけに自社の基幹システムへ記録したり、LINE の Webhook を受け取れる別のツールと併用したりできます。

転送先に届くのは、LINE が送ってきた内容そのものです。

内容
届くものLINE の Webhook イベント(メッセージ、友だち追加・ブロック、ポストバックなど)。ユーザー ID、メッセージ本文、replyToken を含みます
届かないものSalesforce のリード・取引先責任者の情報、LAMP から送信したメッセージ、転送を始める前の過去の会話
💡

LINE Developers の Webhook URL は変更しないでください。 Webhook URL は LAMP のままにして、転送先は LAMP の画面で設定します。公式アカウントのページに表示されている「Webhook URL」は、LINE に登録する LAMP の受信用 URL で、転送先の URL ではありません。

ご利用条件

  • Webhook転送は契約オプションです。 ご契約いただいた件数までの公式アカウントで転送を有効にできます。お申し込みはお問い合わせからご連絡ください。
  • 転送先は公式アカウントごとに 1 つです。転送をオンにした公式アカウント 1 件につき、契約枠を 1 つ使います。オフにすると枠は戻ります。
  • 設定を変更できるのは、権限セット「LAMP 管理者ユーザー」を持つユーザーです。それ以外のユーザーには、転送の状態と転送先のホスト名だけが表示され、「接続テスト」ボタンは表示されません。
  • 転送先 URL は、インターネットに公開された HTTPS(443 番ポート) の URL をご用意ください。社内ネットワークのアドレスや localhost は指定できません。
  • LAMP バージョン 1.160 以降が必要です。

転送先を設定する

公式アカウント」タブから対象の公式アカウントを開き、「編集」をクリックします。

公式アカウントの「編集」ボタン(クリックで拡大)


編集画面に「Webhook転送」の欄があります。右上には契約枠の使用状況(例:0 / 1 件使用中)が表示されます。

オプションをご契約でない場合、この欄は表示されません。転送の設定は公式アカウントの詳細ページには表示されないため、確認するときもこの編集画面を開きます。

「Webhook転送」欄(クリックで拡大)


転送先URL」に、転送先のシステムから指定された URL を入力し、スイッチをオンにします。

オンにすると、転送先へ送信される内容についての注意が表示されます。この時点では、まだ保存されていません。

転送先URLを入力してオンにした状態(クリックで拡大)


接続テスト」をクリックします。入力した URL にテスト用の Webhook(イベントが空のもの)を送り、転送先が 1.5 秒以内に正常に応答するかを確認します。

成功すると、ボタンの横の表示が「テスト成功」に変わり、「接続テストに成功しました。」と表示されます。

接続テストに成功した状態(クリックで拡大)


画面下部の「保存」をクリックします。保存した時点から、この公式アカウントに届く Webhook が転送されます。

💡

転送先 URL を入力・変更したときは、接続テストに成功するまで保存できません。テストのあとで URL を書き換えた場合は、もう一度テストしてください。

画面下部の「保存」ボタン(クリックで拡大)


もう一度編集画面を開くと、転送がオンになり、契約枠の使用数が増えていることを確認できます。

ボタンの横の表示は、実際の転送の結果を示します。保存した直後は、まだ転送が行われていないため「転送実績なし」と表示されます(接続テストの結果はここには残りません)。Webhook が転送されると「直近の転送: 成功」または「直近の転送: 失敗」に変わります。

保存後の「Webhook転送」欄(クリックで拡大)

転送を止める・転送先を変える

  • 止める:スイッチをオフにして「保存」をクリックします。接続テストは不要です。転送先 URL は残るので、あとでオンに戻せます。契約枠は 1 つ戻ります。
  • 転送先を変える:「転送先URL」を書き換え、「接続テスト」に成功してから「保存」をクリックします。契約枠の使用数は変わりません。
  • 別の公式アカウントに付け替える:契約枠が上限のときは、先に不要な公式アカウントの転送をオフにして保存してから、対象の公式アカウントでオンにします。

転送先のシステムで必要な対応

転送先には、LINE から届いたリクエストの本文と x-line-signature ヘッダーが、加工されずにそのまま届きます。LINE の Webhook を直接受け取るシステムと同じ作りで受信できます。

⚠️

転送先で必ず署名を検証してください。 LAMP は、届いたリクエストを署名の検証結果にかかわらず転送します。転送先では、Messaging API チャネルのチャネルシークレットを使って x-line-signature を検証し、LINE から送られた正しいリクエストだけを処理してください。検証方法は LINE Developers の「署名を検証する」をご覧ください。

  • 1.5 秒以内に応答してください。 転送先からの応答は 1.5 秒まで待ち、それを超えると打ち切ります。時間のかかる処理は、先に 200 を返してから別に実行する作りにしてください。
  • 同じイベントが複数回届くことがあります。 LINE 側で Webhook の再送を有効にしている場合などです。webhookEventId を使って、転送先で重複を取り除いてください。
  • 接続テストで届く内容events が空の Webhook です。LINE Developers の「検証」ボタンと同じ形式で、署名も付いています。

ご利用前に知っておいていただきたいこと

  • 再送はしません。 転送は 1 回の受信につき 1 回です。転送先が応答しなかった・エラーを返した場合も、自動での再送や、あとからの送り直しはできません。
  • 一部だけの転送はできません。 イベントの種類での絞り込みや、項目の削除には対応していません。
  • 返信が二重になる場合があります。 転送先のシステムが replyToken を使って先に返信すると、LAMP の自動応答は返信用のトークンを使えなくなり、プッシュメッセージに切り替えて送信します。友だちには両方のメッセージが届き、メッセージ通数も消費されます。どちらのシステムが返信するかを決めて、もう一方の自動応答は止めてください。
  • 転送先から送ったメッセージは LAMP に残りません。 転送先のシステムが LINE へ直接送信した内容は、LAMP のチャット履歴には表示されません。
  • 送信元の IP アドレスは固定していません。 転送先で IP アドレスによる制限はかけられません。転送先ごとの認証ヘッダーの追加にも対応していません。
  • 転送先の URL は大切に管理してください。 URL に認証用の文字列が含まれる場合は、パスワードと同じように扱ってください。
  • 個別の外部ツールが、LAMP を経由した Webhook の受信に対応しているかは、そのツールの提供元にご確認ください。
💡

転送先には、友だちのメッセージ本文やユーザー ID が送られます。転送先のシステムでの取り扱いが、貴社のプライバシーポリシーや社内規程に沿っているかをご確認のうえで有効にしてください。

うまくいかないとき

接続テストに失敗すると、「Webhook転送」欄に赤字で理由が表示されます。接続テストに成功するまで「保存」はクリックできません。

接続テストに失敗した状態(クリックで拡大)

表示・症状ご確認いただくこと
「Webhook転送」の欄が表示されないオプションのご契約が必要です。お問い合わせからご連絡ください。ご契約済みの場合は、LAMP のバージョンが 1.160 以降かをご確認ください
入力欄がグレーで変更できない権限セット「LAMP 管理者ユーザー」が必要です
「契約枠の上限に達しています。」契約枠をすべて使っています。不要な公式アカウントの転送をオフにするか、枠の追加をご相談ください
「転送先URLはHTTPS・443番ポートの公開ホストを指定してください。」https:// で始まる公開 URL かをご確認ください。ポート番号の指定、社内ネットワークのアドレスは使えません
「転送先が1.5秒以内に応答しませんでした。」転送先の応答が遅れています。受信後すぐに 200 を返す作りになっているかをご確認ください
「転送先がエラーを返しました(HTTP 404)。」など転送先が 200 番台以外で応答しています。かっこ内は転送先が返した HTTP ステータスです。URL の誤り(404)、転送先側の認証や設定(401403)、転送先の障害(500 番台)、リダイレクト(301302。別の URL へ誘導されている)をご確認ください
「転送先に接続できませんでした。」ホスト名の誤り、転送先の停止、証明書の問題などで接続できていません。URL と転送先の稼働状況をご確認ください
「この転送先は指定できません。」社内ネットワークのアドレスなど、指定できない転送先です。インターネットに公開された HTTPS(443 番ポート)の URL をご指定ください
「チャネルシークレットが未保存のため署名なしで送信しました。」この公式アカウントはチャネルシークレットが LAMP に登録されていないため、接続テストに署名が付きません。実際の転送には LINE の署名がそのまま付きます
保存したあとも「転送実績なし」と表示される保存後にまだ Webhook が届いていない状態です。友だちからメッセージが届くなど、Webhook が転送されると「直近の転送: 成功」または「直近の転送: 失敗」に変わります
保存したのに転送先に届かない編集画面で転送がオンになっているか、ボタンの横の表示が「直近の転送: 失敗」になっていないか、もう一度「接続テスト」が成功するか、転送先が 1.5 秒以内に応答しているかをご確認ください