如何在 LINE 查詢 WooCommerce 訂單資訊


Neuron AI 是市面上少數以 PHP 為主的 AI 框架,整合 WordPress 後可以透過自然語言管理網站或是讓顧客直接在 LINE 進行下單、預約、填寫表單,這篇文章分享我利用它做了一支名為「 WP 網站助手」的外掛,成功實現了查詢文章以及查詢訂單這兩個功能。

前陣子 OrderNotify 訂單推播外掛的更新中加入了 LINE 多官方帳號來接收訂單通知的功能,我自己也開始這樣用了之後發現,當訂單進來時我是傳送後台的訂單連結去查看詳細資訊,但在手機上看不太方便,就想說如果可以直接在 LINE 裡面問不就更快?

於是思考了這樣的解決方案:

  1. 使用 WooCommerce MCP server 取得訂單資料
  2. 使用 n8n 的 MCP node 作為 client 來呼叫 WooCommerce MCP server
  3. 透過 n8n 的 API 作為 webhook 提供給 LINE Messaging API 呼叫

這樣的解法理論上應該是可行,但查詢的速度想必不會快到哪裡去,中間卡一層 n8n 主機才能跟網站 API 溝通,萬一這主機不夠力或是剛好遇到網站主機變慢的情況,這使用體驗一定不會太好。但秉持著實驗精神還是實際走了一次,結論是:MCP server 根本跑不動 > <

Github 上面的 WooCommerce MCP server 完全不知道該怎麼用,載回來後 build 就噴錯,叫 AI 修一下雖然搞定,但要透過 npx 就能執行又是另外一回事,矇著眼叫 AI 改,丟上 n8n 還是不行,於是改用 Cursor、Claude 來呼叫一樣抓不到。

在一整個早上持續把錯誤訊息餵給 AI 的過程中,我看不懂半行它寫的程式碼,雖然它每次修改都解釋的頭頭是道,但我實際使用就是不行,透過 AI 解決問題的過程就是不停的點點點,有一種在玩吃角子老虎機的感覺,解決了就是運氣好,沒解決只能一直投幣進去賭它下一回合會解決…

最後我放棄這條路,想說自幹 MCP server,但官方沒出 PHP SDK,社群版本有但需要另外自己弄語言模型的整合,光想想就覺得工程浩大,幸好老天爺幫了一把,讓我找到 Neuron AI 這款開源的 AI 框架。

LINE 查詢文章與訂單內容

Neuron AI 是一家專門做 AI 服務監控軟體的廠商 Inspector 所釋出的開源框架,重點是這個框架採用 PHP 撰寫,在這 AI 爆發世代卻被忽視的 PHP 有了一絲曙光 🥳,裡面整合了現在熱門的 AI 技術,像是 Tool、Function call、RAG、MCP Server 等等,更能搭配他們的監控服務來查看 AI 應用的使用狀況。

有了這框架後我的解決方案變成這樣:

  1. 弄一支 WordPress 外掛叫做 WP 網站助手
  2. 開好 API 提供給 LINE Messaging API 呼叫

這方案比起 n8n 單純了許多,基本上就是直接從網站主機提供語言模型的回答結果,實作後覺得速度還算 OK,最終完成的功能有兩個,第一個是根據文章 ID 回答文章內容,我拿「Vibe coding 入門:開發 WordPress 外掛」這篇來測試,結果如下:

第二個是根據訂單 ID 取得訂單內容:

Neuron AI 的基本邏輯

Agent 類別是實現所有語言模型互動的基礎,裡面可以設定模型供應商、提示詞以及要呼叫的工具,Agent 建立好之後能使用 chat 方法傳入要問的問題,就能取得模型的回答結果,安裝的部分透過 composer 即可:

composer require inspector-apm/neuron-ai

建立 Agent 以及設定提示詞,我是用 OpenAI API,帶入 API Key 跟要使用的模型即可:

Tool 的部分就是跟網站互動的環節,首先是根據文章 ID 取得內容:

這邊會使用 Tool 類別的 make 方法來製作工具,裡面的參數就是要給語言模型看的提示詞,接下來告訴語言模型需要什麼資料才能跟網站互動,這邊用的是文章 ID,有四個參數要指定,分別是資料名稱、型別、描述以及是否必填。

因為我們是要用文章 ID 來作為傳送的資料,因此這邊用的是 article_id,在接下來的 setCallable 方法中就能把 article_id 當做參數傳入函式裡面,剩下的就可以用我們熟悉的 get_post 帶入 post_id 來取得文章內容後回傳,語言模型拿到資料後就可以進行回答。

第二個部分是查詢 WooCommerce 的訂單資料:

基本上跟用文章 ID 取得內容一樣,只是這次換成用訂單 ID 取得訂單內容,這邊遇到一個小問題是我本來是直接用 order 物件回傳,但發現到有太多沒必要的資料,覺得訂單格式能應該精簡一點會比較好。

懶得自己整理的我於是想到了 WC REST API,我去翻它取得訂單資料的 API,格式整齊多了,於是就把程式碼貼過來用,上面的 get_order_data 方法就是取得訂單資料的部分,將來要新增或刪減回傳的訂單資料都可以再自行處理。

而且我覺得 AI 很聰明的地方在於我一律都是回傳完整的遞單資料,而它會根據我的問題進行精準的回答,像是我問訂單狀態,它只會回「處理中」,問訂單金額只會回答「1,000 元」,這在使用感受上很不錯,不會有多餘的廢話。

搞定 Agent 後接下來就是要實作如何呼叫它,由於我這邊是使用 LINE Messaging API 進行串接,之後要換成其他聊天軟體都行,實作如下:

參數 $question 是 LINE Messaging API 接收到的問題,然後使用 Agent 的 chat 方法傳入一個陣列,裡面是 UserMessage 物件,帶有一個使用者問題的參數,最後就能用 getContent 取得語言模型回答的內容,只要把問題丟進去,Agent 就會自動從 Tool 尋找對應的資料。

Neuron AI 技術文件:https://docs.neuron-ai.dev/

各種有潛力的應用場景

透過 Neuron AI 我覺得最棒的地方就是 Tool 裡面的呼叫方式、回傳格式全部都可以由開發者自行設計,再也不會受限於既有的自動化工具或是別人寫好的 MCP server 來取得,只要你會使用 WordPress API 就能在 LINE 裡面做到網站的基本操作:

  • 新增/更新文章
  • 新增/刪除訂單
  • 啟用/停用外掛
  • 安裝佈景主題

比較進階的話還可以用 WP CLI 去操作更底層的行為,最無敵的應用我覺得是配合各種外掛,像是:

  • 搭配預約外掛完成預約流程
  • 搭配 WooCommerce 瀏覽商品&下單
  • 搭配表單外掛填寫報名資料
  • 搭配網站分析外掛詢問網站瀏覽狀況

繼續寫我可以寫上三天三夜都寫不完XD,雖然在實作上一定還會遇到不少問題,但重點它是 PHP 啊,自己能看得懂的程式碼一定都有辦法改,不想再叫 AI 去寫自己不會的程式語言了,連要怎麼問都不知道…

WP 網站助手的下一步

首先要做身份認證的機制,不然不小心加入這個官方帳號的陌生人也都能查看訂單資訊,目前的想法是後台先弄個 LINE 登入來取得 user ID,之後可以用 LIFF 在 LINE 裡面做會員註冊,註冊後再檢查他的會員權限可以請求哪些 Agent Tool。

其次是記憶上下文的功能,這部分 Neuron AI 已有內建,只要修改一下把對話紀錄儲存起來,就能針對同一張訂單繼續問下去。我應該會先把 WooCommerce 的部分整合完成,尤其是分析那一塊,希望能做到用問的查詢上個月的業績、最熱賣的商品是什麼等這些報表資訊。

你對於這個技術有什麼想法嗎?有任何好點子歡迎加 LINE 跟我一起腦力激盪吧,我們下週見~

WordPress 開發日常

Read more from WordPress 開發日常

在使用 LINE 作為客服工具時,常遇到一個棘手問題:顧客在 LINE 上詢問「我的訂單什麼時候到?」但打開 LINE 官方帳號後台,看到的只是陌生的使用者名稱,完全無法得知對方是誰、買了什麼、訂單狀態如何。 由於 LINE 後台看不到好友的電子郵件,而 LINE 顯示名稱又常與顧客下單時填寫的姓名不一致,只能先向顧客詢問購買時使用的電子郵件。若顧客記錯或忘記,再加上同一電子郵件可能有多筆訂單,還得進一步詢問訂單編號或購買日期。 因此,一位顧客詢問訂單資訊的客服流程,通常需要經過以下步驟: 詢問顧客電子郵件 詢問訂單編號或購買日期 登入 WooCommerce 後台 在訂單列表中使用電子郵件搜尋訂單 確認所屬訂單並記下相關資訊 回到 LINE 聊天介面回覆顧客 假設顧客即時回覆且訂單搜尋一次就成功,每個步驟約花 30 秒,整個流程至少要 3 分鐘。若同時有 10 位顧客詢問,就需耗時 30 分鐘,這還不包含等待回覆、網站後台讀取速度,以及在不同平台之間切換的時間。難道沒有更便利的方法嗎? OrderChatz - WooCommerce LINE 客服外掛 OrderChatz...

三個月前,我曾寫過一篇關於 AI 開發工作流程的文章。沒想到短短幾個月,因為 AI 技術的快速進展,我的工作流程又有了天翻地覆的改變。這篇文章紀錄了這段期間的變化,並分享針對不同開發情境可採用的方法。 根據我自己的實務經驗與今年的開發心得,我將 AI 協助開發的方式分成四種: Tab Auto Completion(自動補齊) Chat Coding(聊天開發) Vibe Coding(直覺開發) Spec Coding(規格開發) 這四種方法沒有絕對的優劣,差別主要在於使用情境、開發者的技術程度,以及對 AI 成本的控管。以下分別說明適用場景、對象、成本與工具選擇。 1. 自動補齊 適用對象:會去 Google 找語法複製貼上,且對語法具有基礎認識者 適用場景:一個或是數個函式能完成的功能 花費成本:0 元 工具選擇:VSCode + GitHub Copilot 自動補齊是最簡單的方式。在編輯器中輸入註解或函式名稱後,AI 會根據提示自動產生程式碼建議,按下 Tab 就能直接完成程式碼。這對於經常撰寫小功能或快速測試語法的人非常實用。 例如在 WordPress...

對我來說,學習新東西最好的方法就是從做中學,為此我暫時離開了 PHP,投入自己完全不熟悉的領域,使用 AI 開發了一個社群平台,技術採用了 React、Vite、Shadcn、Vercel 以及 Supabase,實驗看看全面交由 AI 進行開發會發生什麼事。 剛開始的第一週衝擊實在太大,以前大概要花一個月弄的東西 AI 一天就搞定,但也因此陷入了多巴胺中毒的危機之中,幸好即時清醒避免越陷越深。命令 AI 執行的過程中,也逐漸理解到它的可能性、限制與風險,更重要的是可以分辨出網路上瘋傳的最新模型、AI 工具是否適合自己,也慢慢知道這些工具該應用在什麼地方,如果沒有從做中學,這些資訊真的會讓人焦慮。 工作佔比 六月份我開始捨棄紀錄工作時數這件事了,一方面是因為事情都是 AI 在做,它執行的速度太快,我根本沒辦法依照每個工作事項記錄時數,另一方面因為暫時沒在接案,也就沒有跟客戶回報工作時數的流程,所以就沒有再繼續計時,取而代之的是用開發日誌來記錄,這樣工作起來反而更自在些。 六月工作時間安排基本上就是週一到週五早上 3 小時,下午 1~2...