如何用Serverless雲函式做免費私域運營機器人

Woody發表於2022-02-12

關於私域流量

1.png

近幾年,私域流量運營的話題被提及得越來越多。

私域流量是指從公域(internet)、它域(平臺、媒體渠道、合作伙伴等)引流到自己私域(官網、客戶名單),以及私域本身產生的流量(訪客)。 私域流量是可以進行二次以上鍊接、觸達、發售等市場營銷活動客戶資料。

而私域流量運營很重要的一點就是如何能自動化智慧化的進行客戶運營。

目前各大公司的辦公軟體都支援機器人這種應用形式,而這種機器人則是我們做私域流量運營的重要一環。

機器人能做什麼

機器人在私域流量運營中可以做包括但不限於以下事情:

  1. 訊息推送
  2. 智慧客服
  3. 客戶管理
  4. 建群引流
  5. 活動營銷
  6. 企業互聯

這些場景名詞可能有些抽象,可以舉幾個具體例子。

  • 比如,使用者進群之後會收到機器人自動傳送的歡迎儀式,裡面附帶新使用者代金券等,同時此訊息是僅他可見,不會打擾其他使用者。
  • 比如,使用者通過詢問智慧客服機器人就能得到很多常見的答案,省去了人工成本。
  • 比如,機器人自動在群裡發起某營銷活動的報名,無需人工收集。
  • 再比如,通過客戶管理,可以給客戶打標籤,針對不同的客戶,自動傳送不同的活動優惠。
  • 再再比如,通過機器人收集廣告投放獲取的商機,自動建立商機線索,並同步到群裡自動@相關銷售,閉環整個商機發現路徑。

可以想象的空間有很多很多。

為什麼是Serverless呢

為什麼選擇serverless來做呢,好處主要有以下幾點:

  • 機器人的通訊都是通過HTTP請求與企業微信通訊,而serverless按呼叫次數收費,擁有極高的價效比。
  • 機器人通常在晚上都沒有人使用,如果使用傳統的伺服器部署會有較高的閒置率,用serverless可以把利用率做到近乎百分百。
  • 機器人可能會涉及多個使用場景,可以針對不同的場景使用不同的FaaS雲函式,做到細粒度的管理和問題隔離。
  • 騰訊云云函式支援所有主流語言,無需關心伺服器,開發快,週期短,一個機器人從開發到上線最快只需要1小時。

為什麼說免費呢?

因為騰訊云云函式包含有免費額度。而機器人的使用並不是高頻呼叫,所以免費額度足以涵蓋所有的使用量。

免費的羊毛薅起來吧!
1.2.png

這篇文章將選擇企業微信作為平臺,從最基礎的場景,講解如何用serverless雲函式來完成一個企業微信機器人。

企業微信機器人原理

2.png

我們先來了解一下企業微信機器人的原理。如上圖所示,左邊表示我們的serverless雲函式機器人,右邊是企業微信。

中間的箭頭表示兩種機器人和企業微信的通訊方式:

  1. 機器人單向給企業微信傳送訊息
  2. 機器人和企業微信雙向互發訊息

從圖中可以看出,單向通訊是藍色的箭頭,因為單向通訊沒有任何限制,機器人無法獲取企業微信的相關資訊。這種模式主要適合於所有的通知類的場景。比如訊息推送,全域性群發等。

而紅色的箭頭就有諸多限制了,因為企業微信可以向外傳送資訊的話,這裡就涉及到很多安全問題了。因此企業微信對於這種情況主要做了多方面的限制:

  1. 傳送的訊息必須經過嚴格的加解密。
  2. 某些特殊訊息內容擁有一定的實效性,比如獲取會話資訊必須通過一個臨時的URL,有效期只有5分鐘,且呼叫一次後失效。
  3. 雙向通訊的回撥URL可以由企業設定一些限制,比如只支援企業內網URL。

那配合雙向通訊,就可以做到上面說的所有場景,比如智慧客服、客戶管理等。

機器人實戰

那我們就從兩個簡單的場景來講解一下如何實現一個企業微信機器人。

  1. 訊息通知 - 單向通訊
  2. 知識庫搜尋 - 雙向通訊

訊息通知

首先需要建立一個機器人,建立方式是在任何一個企業微信群裡,點選右上角,新增群機器人。
3.png

然後選擇新建立一個機器人。
4.png
建立完成之後,你就獲得了一個webhook地址。如下圖。
5.png

這個webhook地址就是你推送訊息到企業微信的地址。

推送的訊息格式有很多種,支援往群聊會話中傳送文字、markdown、圖片、圖文、檔案、模版卡片六種訊息型別。

以文字訊息為例,你只需要推送以下JSON內容到webhook地址,企業微信就會收到通知。

{
    "chatid":"CHATID1 | CHATID2",
    "msgtype":"text",
    "text":{
        "content":"廣州今日天氣:29度,大部分多雲,降雨概率:60%",
        "mentioned_list":["lisi", "@all"],
        "mentioned_mobile_list":["13800001111", "@all"]
    }
}

那麼以雲函式為例,如何建立雲函式可以參考官網文件

建立好之後,只需要幾行程式碼就能完成一個通知傳送機器人。如下圖。

注意要將url替換成你的機器人webhook地址,content必須是utf8編碼。
6.png

如果你期望每天早上8點定時推送天氣預報,你只需要修改一下上面的程式碼,從某個天氣預報API拿到天氣預報,然後設定一個定時觸發器,觸發週期用CRON表示式定義每天8點觸發,如下圖。
7.png

這樣之後,每天8點你的企業微信群就能收到如下圖的訊息了。
8.png

知識庫搜尋

上一個例子是單向通訊的例子。那這個例子則是雙向通訊的例子。

在企業中,以及在私域流量運營中,我們經常有搜尋知識庫尋找答案的場景。這裡我們就以搜尋騰訊雲文件為例,來向大家講解如何完成一個雙向通訊的知識庫搜尋機器人。

我們要做的就是當輸入關鍵字,就去騰訊雲文件搜尋結果並返回,同時高亮顯示關鍵字和文件連結。

首先,還是一樣的,你需要建立一個雲函式。但這個雲函式是需要接收企業微信發過來的訊息,因此在上一個雲函式的基礎上,我們需要新增一個API閘道器觸發器,讓雲函式能接收API請求。

建立觸發器選擇API閘道器觸發器,建立好之後如下圖,複製訪問路徑那個URL,它就是企業微信在回撥訊息的需要填的URL。
9.png

接著到企業微信,滑鼠放到你建立的機器人上,點選配置,選擇【接收訊息配置】,在URL那裡填入上面複製的URL。如下圖。

Token和EncodingAESKey可以自己寫,也可以隨機獲取,它是你用來做加密解密時用的。
10.png

? 當點選“儲存”提交以上資訊時,企業微信會傳送一條驗證訊息到填寫的URL,傳送方法為GET群機器人的接收訊息伺服器接收到驗證請求後,需要作出正確的響應才能通過URL驗證。

完成了上述設定之後,你在群聊中@機器人並輸入你想搜尋的關鍵字,你的雲函式就會收到對應的JSON訊息,msgContent就是你搜尋的關鍵字。

{
    "msgType": "text",
    "msgContent": "函式計費",
    "chatId": "XXX",
    "botKey": "XXX",
    "hookUrl": "http://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXXX",
    "botName": "騰訊雲文件搜尋助手",
    "userName": "XXX·",
    "msgId": "CAIQ4",
    "chatType": "group",
    "chatInfoUrl": "http://qyapi.weixin.qq.com/cgi-bin/webhook/get_chat_info?code=XXX"
}

這個時候你只需要拿到msgContent的內容,然後去呼叫騰訊雲的文件搜尋API,拿到JSON的結果,把JSON結果處理為如下圖中的markdown格式,並返回。

於是我們的騰訊文件搜尋助手就做好了,使用效果如下圖。
11.png

至此,我們兩個企業微信機器人都做好了。

這裡就不展示程式碼了,想看具體怎麼寫的同學可以去看我的原始碼

總結

我從兩個簡單的例子去講解了如何做企業微信機器人,而企業微信機器人是我們做私域流量運營的重要一步,同時Serverless則完美幫我們解決了實現機器人的技術選型。

  • 隨著我們對客戶體驗和服務體驗的追求,我們利用自動化的手段幫我們提高了響應速度,利用智慧化幫我們提高了服務準確度。
  • 在追求售前和售後效率的今天,機器人的使用可以節省人力成本和時間,縮短客戶等待時間。
  • Serverless作為一種彈性伸縮與按量計費的服務,完美匹配了機器人的使用場景,從成本與效率上幫助企業在私域流量運營場景中業務的快速搭建與迭代。
  • Serverless作為一種FaaS服務,通過多個雲函式的編排,獨立或混合的處理不同的業務場景,做到細粒度的管理,與業務容錯隔離。

未來,我會繼續探索Serverless做私域流量運營的更多場景和實踐,也會繼續和大家分享。

如果大家有私域流量運營相關的問題,歡迎來和我一起探討。

相關文章