如何串接兩個LINE機器人 - 使用子場景實現無縫轉換

描述

本文將介紹如何在已有LINE機器人的基礎上,透過子場景功能實現兩個機器人的串接,讓您的業務流程更加靈活且完整。我們將詳細說明實作方法、設定步驟以及使用注意事項。

為什麼需要串接兩個LINE機器人?

在實際應用場景中,串接兩個LINE機器人具有以下優點:

  1. 功能模組化:不同機器人可以負責不同的業務邏輯,讓系統更容易維護
  2. 彈性拓展:能夠根據需求無縫整合新的機器人功能
  3. 資源優化:可以根據不同場景調用不同的機器人,提高資源使用效率

實作方法

前置準備

首先,我們需要使用子場景功能。子場景的主要目的是暫時中止當前場景,並呼叫其他HTTP方法。這與我們先前介紹的整合原生LINE客服的方法相似。

步驟1:取得加密金鑰

  1. 前往文字模板測試
  2. 將您的LINE secret填入 {{Utils.encrypt(‘xxx’)}} 中,產生的密鑰可以複製起來 文字模板生成密鑰

如果您不知道如何找到LINE secret,可以參考設置LINE Webhook的說明。

步驟2:設定資源節點

在資源節點中需要進行以下設定:

  1. 填寫第三方webhook節點
  2. 使用以下格式產生x-line-signature的value:
    {{Utils.generateSignature('{"events":['+data.conversation._message.raw_event+']}',Utils.decrypt('您的機器人加密後的文字'),'HMACSHA256')}}
    
  3. 在Body Params中設定event請求路徑為events[0]
  4. Payload設定為 {"events":[{}]}

資源節點設置

步驟3:設定流程

您需要設置兩個主要流程:

  1. 轉接流程: 要前往的流程

  2. 當前使用流程: 當前使用的流程

步驟4:設定子場景

在子場景設定中:

  1. 將情境節點(transfer_webhook)使用聆聽節點
  2. 設定子節點名稱為sub_transfer(可自訂)
  3. 聆聽節點可設定特定觸發條件,例如詢問等於[wake_up]時,他就會結束該節點

sub_transfer子場景

實際效果展示

下圖展示了轉移前後的畫面,用戶可以通過點選返回按鈕回到第一個機器人: 手機

重要注意事項

  1. channelID一致性:兩個機器人的channelID必須保持一致
  2. 功能限制
    • 目前僅支援文字及附件的轉接
    • follow、unfollow等其他event不會被傳送
  3. 使用場景:此方法主要用於回覆是否可以在原有架構上呼叫其他機器人,並非專門為串接兩個機器人所設計(不是為了這個功能設計的,而是用現有功能改造的)

結論

串接兩個LINE機器人能夠大幅提升業務流程的靈活性,讓您的服務更加完整。透過子場景的實作方式,您可以輕鬆實現機器人之間的轉換,為用戶提供更好的服務體驗。在實作過程中,請務必注意相關限制和設定要求,確保系統正常運作。

Share on:
Previous: AI聊天機器人安全的重要性:從北捷AI客服事件談起
Next: AI 前瞻電子報2024-11-23:突破與挑戰的交織