跳至主要内容

REFERENCE

SDK 範例

@asgard-js/core 與 @asgard-js/react 的用法與可以直接操作的範例。

自訂 Payload

onBeforeSendMessage 讓你在訊息送出前自訂 payload,把當前頁面、 使用者狀態、feature flag 等 context metadata 一起送給 bot — 讓 bot 不只看到使用者打的文字,還能根據完整脈絡產生回應。

  1. 程式範例​

    const [category, setCategory] = useState<Category | null>(null);

    <Chatbot
    onBeforeSendMessage={(params) => ({
    ...params,
    payload: {
    categoryId: category?.id,
    categoryName: category?.name,
    injectedAt: new Date().toISOString(),
    },
    })}
    {...rest}
    />;
  2. SendMessageParams​

    onBeforeSendMessage 接收並回傳的參數結構:

    欄位型別說明
    textstring使用者輸入的文字
    payloadRecord<string, unknown> | (() => Record<string, unknown>)附帶的 metadata,會一起送到 bot provider
    blobIdsstring[]已上傳檔案的 blob ID 列表(可選)
    filePreviewUrlsstring[]圖片預覽 URL(可選)
    documentNamesstring[]文件名稱(可選)

    最常見的用途是注入 payload。其他欄位(例如 text 加前綴)也可以修改 — 回傳的物件會取代原始參數送出。

  3. 深入閱讀​

    payload 如何被 bot provider 接收與運用,見 Asgard 開發者文件:

準備好開始了嗎?

想知道 Asgard 怎麼用在你的團隊?跟我們聊聊。

聯絡我們