外貿(mào)在線客服軟件系統(tǒng)哪家好?
這個以前聊過了,還是選國外的好,livechat這家就非常成熟,10%off的券在這里,感興趣的同學可以看看。
選它的理由和動機,這個可以翻閱我之前的文章,外貿(mào)客服軟件livechat優(yōu)惠,只需幾步就可免費使用付費功能。
怎么薅外國人livechat的羊毛,用更少的錢,獲取最多的服務?
軟件便宜報表賊貴
之前給了一個利用face book的接口回傳數(shù)據(jù)給google analtyics的方法。這回我又遇到的新的問題。
使用livechat一年以后,積累了很多客戶數(shù)據(jù),現(xiàn)在想要把他們導出來,做做分析,搞搞EDM郵件營銷,激活沉默用戶。
不要問為什么客戶詢盤后為什么不手工錄入CRM,我們銷售很強勢的,小客戶,還沒百分百把握的客戶,人家看不上,是不會錄入的。
坑爹的活兒就來了,要導出客戶列表,要導出客戶列表,要導出客戶列表。
問了livechat的客服,人家告訴我一個很蛋疼的答案。原話是這么說的。
If you would like to export the mentioned emails you would need to use our API call list_archives to pull the information about chats including the emails https://developers.livechat.com/docs/messaging/agent-chat-api#list-archives. If you would consider upgrading to the Business plan, there is a feature called "Export Raw Data" available. It allows for downloading the report about the chats in the CSV format including the list of emails from the pre-chat forms
https://www.livechat.com/help/advanced-reports-functions/#export-data-to-create-your-own-reports他們就是說可以自己用api去調(diào)取數(shù)據(jù),或者使用系統(tǒng)自帶的報告功能。我一看表報功能,我這個需求不在基礎(chǔ)報告范圍內(nèi),居然是要升級才能用。如圖,看看我們5個坐席,就要多收1500$。為了導出數(shù)據(jù)每年要多花一萬大元。有這錢升級一下網(wǎng)站服務器他不香嗎。
老外這收費策略就是坑,服務特別好,當你離不開它的時候,積累夠多數(shù)據(jù)時,就要被掏腰包了。
自力更生,艱苦奮斗,走API的道路。找別人開發(fā)自然是很貴的,只能自學,搞了幾天,還真搞出來。不得不說,人家livechat不愧是個非常成熟的客服咨詢軟件。幫助文檔非常友好,小白也能入手。
動手能力強,你就自己做。動手能力弱,你就花錢買。仔細想來,人家還是真厚道,不像某些國產(chǎn)軟件,只給你花錢一條路可走。
怎么用livechat的api導出客戶數(shù)據(jù)
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <style type="text/css"> <!-- body,td{ font-size: 14px; color: #000000; } a { color: #000066; text-decoration: none; } a:hover { color: #FF6600; text-decoration: underline; } --> #text-button { display: block; cursor: pointer; width: 160px; text-align: center; border: 1px solid #232323; } .user { display: table; width: 80%; } .user .name, .user .email, .user .num { display: table-cell; } .user .name { width: 40%; background: #CCDDFF; } .user .email { width: 50%; background: #99BBFF; } .user .num { width: 10%; background: #CCDDFF; } </style> </head> <body> <font color="#FF0000">測試獲取客戶數(shù)據(jù)</font><br> <***********lt是終止時間,gte是終止時間。采用的是沾邊就算的互動模型,所以時間選取的是最后互動時間,而不是創(chuàng)建時間。***********><br>? <!--<div id="text-button"><p id="text">點擊</p></div>--> <!--<button onclick="list_customers()">Click me</button>--> <button onclick="myFunction()">測試返回值</button> <p id="jianhuA"></p> <p id="jianhuB"></p> <p id="demo"></p> <script> async function myFunction(){ //請求參數(shù) 最多100 Default: 10, maximum: 100 //alert(點擊了); //document.getElementById("demo").innerHTML = JSON.stringify(fanhui()); //let t = await list_customers(); var html = ; var next_page_id = ""; var xunhuan_num = 0; do{ xunhuan_num = xunhuan_num +1; //let t = m; let t = await list_customers(next_page_id); next_page_id = t.next_page_id; let customers = t.customers; let total_customers = t.total_customers; if (total_customers > 5000) { alert("返回條數(shù)太多,恐怕跑不動,請縮短日期范圍,重新查詢"); break; } customers.forEach(user => { let htmlSegment = `<div class="user"> <div class = "name">${user.name}</div> <div class="email">${user.email}</div> <div class="num">${xunhuan_num}</div> </div>`; html += htmlSegment; }); document.getElementById("jianhuA").innerHTML = `嘗試請求數(shù)據(jù),當前為第 ${xunhuan_num} 次`; document.getElementById("jianhuB").innerHTML = `總共要返回 ${total_customers} 條數(shù)據(jù)請耐心等待`; } while (xunhuan_num < 20 && typeof(next_page_id) != "undefined"); document.getElementById("demo").innerHTML = html; //list_customers(); }; async function list_customers(page_id){ //console.log("page_id is "+page_id); var data = ""; var myHeaders = new Headers(); myHeaders.append("Authorization", "Basic API的token編碼"); myHeaders.append("Content-Type", "application/json"); var raw = ""; /**測試if(typeof(page_id) == "undefined" || page_id == null){alert("a is undefined");} else{alert("a is defined" + typeof(page_id)); console.log("page_id為空嗎"); console.log(page_id) }*/ if (page_id == ""){ console.log("執(zhí)行首次不分頁的帶參請求"); raw = JSON.stringify({ "filters": { "customer_last_event_created_at": { "lt": "2022-07-19T23:59:59.010200+01:00", "gte":"2022-07-01T00:00:00.010200+01:00" } }, "limit": 100, "sort_order": "asc", "sort_by": "customer_last_event" }); } else{ //console.log("page_id is "+page_id); raw = JSON.stringify({ "page_id": page_id }); } console.log(raw); var requestOptions = { method: POST, headers: myHeaders, body: raw, redirect: follow }; let res = await fetch("https://api.livechatinc.com/v3.4/agent/action/list_customers", requestOptions); //var response = await fetch("https://api.livechatinc.com/v3.4/agent/action/list_customers", requestOptions); if (res.status >= 200 && res.status < 300) { return await res.json(); //data = Promise.resolve(response.text()); } else { throw new Error(response.statusText); } }; </script> </body> </html>自學幾天js寫出來的,問題不少,僅供參考。有了這個,改改報表的時間范圍,就可以了。測了一下,5000條以下問題不大。
后記,自學筆記
live的api樣例非常詳細,按說明進行操作就可以了。對小白來說,比較難的地方就是客戶鑒權(quán)這一步。
他那個先去livechat拿token然后再跳轉(zhuǎn)到其他頁面的方法,沒空研究。我用的是最原始的用戶名密碼方式。
Basic authentication scheme.
這個就是按格式把用戶名和密碼放一起,然后64位編碼??床欢矝]關(guān)系??梢酝ㄟ^postman獲取已經(jīng)處理好的登錄信息Personal Access Tokens 。見下圖
過了用戶驗證這一關(guān),后面就簡單多了,會那種語言就用哪種寫。
post數(shù)據(jù)的代碼可以用postman獲取。只需要搞定response 數(shù)據(jù)就行了。livechat的api一次最多返回100條數(shù)據(jù),這個需要自己循環(huán)去獲取。
那些沒解決不明白的坑
1、聯(lián)系人數(shù)據(jù)有重復,按道理應該是唯一的,可以它給的結(jié)果就是有重復。
2、分頁莫名其妙的丟數(shù)據(jù)。用livechat官網(wǎng)給的postman例子做查詢,也一樣丟數(shù)據(jù)。
比如,明明返回34條結(jié)果,你要是limit = 100,就是34條。單數(shù)如果每頁限制15條,按說應該是3頁,但是他就只返回2頁。第二頁就不給next page id啦。
反復測試,都是一樣的結(jié)果。它的分頁原理很復雜,也不想研究了。
所以如果想追求所有數(shù)據(jù),那就最好不要分頁,可以縮短時間段范圍減少結(jié)果,靠循環(huán)修改查詢時間段去獲取數(shù)據(jù)。
大部分客戶資料都可以免費導出來,這已經(jīng)不錯了,還要啥自行車。換成國產(chǎn)的,能不能不花錢就把數(shù)據(jù)導出來都說不好。我不是崇洋媚外,運營外貿(mào)站點,為啥選擇livechat客服軟件,還請看選擇則它的N個理由。
拿著運營的錢,還要干程序猿的活兒,連個雞腿都不給加。大王不高興,大王不高興,大王不高興。義務給這動畫做個廣告,別的不為,就沖這名字,喊喊也開心。
以上就是【不得不看!難以置信(在線客服系統(tǒng)都選feelChat好用)在線客服系統(tǒng)聯(lián)系feelChat好用-外貿(mào)在線客服軟件系統(tǒng)livechat省錢攻略2,如何免費導出客戶列表】的全部內(nèi)容。
評論