終結客服爆量:AI 智能 Chatbot 訂單查詢實戰
您的電商客服還在被訂單查詢塞爆嗎?告別傳統關鍵字機器人!本文教您運用 OpenAI Function Calling,將 WordPress 網站深度整合 CRM 系統,實現「理解意圖、執行查詢」的智慧客服。這不僅釋放人力,更能提供秒級的專業服務,同時確保資安滴水不漏。別再觀望,立即聯繫我們,打造您專屬的 24H 智慧業務助理!
客服不再崩潰!用 OpenAI Function Calling 打造能『查訂單』的 WordPress 智慧 Chatbot 實戰
嗨,我是 Eric,浪花科技的資深工程師。如果你跟我們一樣,經手過大流量的電商或企業網站,你一定遇過這種狀況:明明網站上有「我的帳戶」頁面,明明 Email 都寄出出貨通知了,但客服信箱和 LINE 官方帳號還是每天被「請問我的貨到了嗎?」、「訂單編號 #123456 現在狀態是什麼?」這類問題塞爆。
這不是使用者的錯,人性就是懶得登入查網站,他們想要的是「問了就有答案」。
過去,我們可能會設定一些關鍵字自動回覆(Keyword-based chatbot),但那種體驗通常很災難。客人問「貨哪時候到?」,機器人回「請輸入訂單編號」,客人輸入後,機器人可能還看不懂。但現在,時代不同了。我們可以利用 OpenAI 的 Function Calling (函數呼叫) 技術,結合 WordPress REST API 與你的 CRM 系統,打造 24H 業務助理:用 AI 讓 Chatbot 查詢 CRM 訂單狀態。這不再是生硬的腳本,而是真正能「理解意圖」並「執行查詢」的智慧大腦。
今天這篇文章,不講空泛的概念,我們來談談技術實作的架構與核心程式碼。
為什麼傳統 Chatbot 查不到訂單?
傳統的 Chatbot 大多是「封閉式」的。它們的邏輯是:
- 如果使用者輸入 A,則回覆 B。
- 如果使用者輸入「查詢訂單」,則丟出查詢連結。
這最大的問題在於「資料孤島」。Chatbot 不知道你的 WooCommerce 裡有什麼資料,也不知道 HubSpot 或 Salesforce 裡的 CRM 狀態。它只是一個會說話的佈告欄。
而導入 LLM (大型語言模型) 加上 Function Calling 後,AI 變成了「中控官」。它能聽懂自然語言(例如:「幫我查一下昨天買的那雙鞋子出貨沒?」),然後判斷:「喔!這個用戶想查訂單,我需要去呼叫『查詢訂單 API』,但我缺訂單編號或 Email,所以我先問他要這些資訊。」
這就是本質的區別:從「關鍵字匹配」進化到「意圖識別與工具使用」。
技術架構:如何讓 AI 伸手進 CRM 撈資料?
要實現這個功能,我們不需要把整個 CRM 資料庫餵給 AI(千萬別這麼做,這是資安自殺行為)。我們採用的是 RAG (Retrieval-Augmented Generation) 的變體思路,具體流程如下:
- 前端對話介面:使用者在 WordPress 網站上的 Chat Widget 提問。
- 中介層 (Middleware):將對話傳送給 OpenAI Assistants API。
- 意圖識別:OpenAI 判斷需要執行
get_order_status這個 Function。 - 執行查詢:WordPress (作為後端) 接收到 AI 的指令,透過 PHP 執行 SQL 或打 API 去查詢 CRM/WooCommerce。
- 回傳結果:WordPress 將「訂單 #999 狀態:已出貨,物流單號:TW123」回傳給 OpenAI。
- 生成回應:OpenAI 將生硬的數據轉化為親切的口語:「Eric 您好,您購買的鞋子已經出貨囉!物流單號是 TW123,預計明天送達。」
核心實作:定義 Function 與 WordPress 處理邏輯
作為工程師,我們最關心的就是 Code 怎麼寫。這裡我示範如何在 WordPress 環境下,定義一個讓 AI 呼叫的「工具」,以及後端該如何回應。
1. 定義 OpenAI 的 Tools (Function Definition)
在發送請求給 OpenAI API 時,我們需要在 JSON body 中告訴它:「嘿,我這裡有個工具可以用喔。」
{
"tools": [
{
"type": "function",
"function": {
"name": "get_order_status",
"description": "根據訂單編號或 Email 查詢訂單目前的物流狀態與詳細資訊",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "使用者的訂單編號,例如:WC-12345"
},
"email": {
"type": "string",
"description": "下單時使用的電子郵件信箱,用於驗證身份"
}
},
"required": ["order_id"]
}
}
}
]
}
2. WordPress 後端處理 (PHP)
當 OpenAI 回傳 requires_action 狀態時,代表它想呼叫我們上面定義的 get_order_status。這時,我們需要在 WordPress 寫一個處理函數。
這裡我用一個簡化的 PHP 範例,示範如何從 WooCommerce 撈資料:
function handle_ai_function_call($function_name, $arguments) {
$args = json_decode($arguments, true);
if ($function_name === 'get_order_status') {
$order_id = isset($args['order_id']) ? sanitize_text_field($args['order_id']) : 0;
// 在實際應用中,務必加上 Email 驗證邏輯以確保資安
// $email = sanitize_email($args['email']);
// 檢查是不是 WooCommerce 訂單
$order = wc_get_order($order_id);
if (!$order) {
return json_encode(['status' => 'error', 'message' => '找不到此訂單編號']);
}
// 獲取訂單狀態與物流資訊 (假設有用外掛紀錄物流單號)
$status = $order->get_status_label();
$tracking_number = $order->get_meta('_shipping_tracking_number', true) ?: '尚無物流單號';
$items = [];
foreach ($order->get_items() as $item) {
$items[] = $item->get_name();
}
return json_encode([
'status' => 'success',
'order_status' => $status,
'tracking_number' => $tracking_number,
'products' => implode(', ', $items),
'updated_at' => $order->get_date_modified()->date('Y-m-d H:i')
], JSON_UNESCAPED_UNICODE);
}
return json_encode(['status' => 'error', 'message' => '未知的函數']);
}
這段程式碼的關鍵在於:它不是直接吐 HTML 給使用者看,而是吐 JSON 數據 給 AI 看。AI 看到 JSON 後,會幫你「翻譯」成人話。
資安關鍵:別讓 API 變成個資外洩的破口
這是我在輔導企業導入 AI 時最常碎念的一點。絕對不能只靠「訂單編號」就吐出所有資料!
如果我隨便猜一個號碼 #10001,Chatbot 就告訴我這是「王小明買的 iPhone 15,地址在台北市…」,那你的網站大概離被告不遠了。
在實作 打造 24H 業務助理:用 AI 讓 Chatbot 查詢 CRM 訂單狀態 的過程中,務必加入以下安全機制:
- 雙重驗證 (2FA) 邏輯:除了訂單編號,一定要要求使用者提供 Email 或手機號碼末四碼,並在程式端比對兩者是否吻合。
- Rate Limiting (頻率限制):限制同一個 IP 或 Session 在短時間內的查詢次數,防止暴力猜測訂單號。
- 敏感資料遮罩:回傳給 AI 的資料中,地址、電話等個資應進行遮罩處理 (Masking),只讓 AI 知道「已出貨至 台北市信義區」,而不是完整地址。
結論:從「被動查詢」到「主動服務」
導入這套架構後,你會發現客服 Loading 會顯著下降。更棒的是,因為我們已經打通了 WordPress 與 CRM 的 API,未來甚至可以做更進階的應用。例如,當 AI 發現訂單狀態是「配送失敗」時,可以主動在對話中詢問使用者:「我看物流顯示配送失敗,您要不要更改配送時間?」
這才是一個 2025 年合格的現代化網站該有的樣子。不再是冷冰冰的表單,而是能解決問題的智慧助理。
延伸閱讀
如果你對 AI 與 WordPress 的整合有興趣,或是想深入了解 API 串接的細節,這裡有幾篇我之前寫的技術筆記,強烈建議你搭配服用:
- 客服半夜裝睡?OpenAI Assistants API 終極實戰,打造永不關機的 WordPress 智慧大腦
- 客服回覆到手軟?教你用 Gemini API 打造 WordPress 自動讀心術,一秒看懂客戶在想啥!
- 告別陽春同步!Laravel x HubSpot 進階戰術:打造企業級雙向、容錯、高效率的資料流引擎
覺得 AI 串接太複雜,不知道從何下手?或者是擔心串接後的資安問題?
別讓技術門檻阻礙了你的業務成長。浪花科技專注於高難度的 WordPress 客製化開發與系統整合。
常見問題 (FAQ)
Q1: 用 AI 查訂單會不會很貴?OpenAI API 費用如何計算?
這取決於你的對話量。使用 gpt-3.5-turbo 模型其實非常便宜,每筆查詢的成本通常不到台幣 0.1 元。除非你的流量極大,否則相較於聘請真人客服的薪資,AI 的成本幾乎可以忽略不計。但若使用 gpt-4o,成本會較高,建議在一般查詢使用輕量模型即可。
Q2: 除了 WooCommerce,這套系統能串接其他的 CRM 嗎?
當然可以。只要你的 CRM (如 HubSpot, Salesforce, Zoho) 或是 ERP 系統有提供 REST API 或 Webhook,我們就能透過中介程式碼(PHP/Python/Node.js)去撈取資料。Function Calling 的核心在於「邏輯」,後端要連線到哪個資料庫都是可以客製化的。
Q3: 如果 AI 回答錯誤的資訊怎麼辦?(AI 幻覺問題)
這就是為什麼我們要用 Function Calling 而不是讓 AI 自己生成答案。在 Function Calling 架構下,AI 的回答是基於我們從資料庫撈出來的「真實數據」去組織語言的,大大降低了胡說八道的機率。同時,我們可以在 System Prompt 中嚴格限制 AI:「如果不確定,請回答無法查詢,不要捏造數據。」





