LINEメッセージから実行する(LINE Hook)
LINE 連携 でサービス利用者からのメッセージ送信 (Messaging API利用) をトリガーにファンクションを実行します。
主な用途として「Messaging APIのWebhookメッセージ送信先をCraft Functionsで分岐する」があります。
制限
- Craft LINE Hookのトリガーで起動できるファンクションは1つのKARTEプロジェクトあたり1個までです。
設定手順
- [すべてのプロダクト]>[Craft]>[設定]を開きます
- LINEの欄で[編集]をクリック後、以下を設定し[保存]を選択します。
有効にする
: チェックを入れる起動ファンクション
: このトリガーで起動するファンクションを指定する
Craft Functionsが受け取るデータ
dataのフォーマットは イベント駆動タイプのファンクションが受け取るデータ をご確認ください。
kind
は `“karte/track-hook” が入ります。jsonPayload
のフォーマットは次の通りです。
Key | 説明 |
---|---|
jsonPayload.name | "craft-hook" が入ります。 |
jsonPayload.data.plugin_name | "line" が入ります。 |
jsonPayload.data.headers | LINE Messaging API で送られたリクエストのヘッダー情報が Object 型で入ります。 |
jsonPayload.data.body | LINE Messaging API で送られたリクエストの Body が Object 型で入ります。 |
例
以下はdataの例です。
注意点
LINE Hookを利用する際の注意点を説明します。
Webhookメッセージを分岐した場合、応答メッセージが競合して失敗することがある
「Messaging APIのWebhookメッセージ送信先をCraft Functionsで分岐する」用途でLINE Hookを利用する際は、メッセージの replyToken
が共通になります。
LINE Messaging APIの応答メッセージを送る機能では、Webhookメッセージの replyToken
が必要になります。この値は一度利用すると無効になります。LINE HookでWebhook分岐をする場合、元のメッセージが持つ replyToken
をそのまま分岐先に送信します。したがって、1つのWebhookメッセージに対して、複数サービスから応答メッセージを送ることはできません。