外贸在线客服软件系统livechat省钱攻略2,如何免费导出客户列表

2022年7月25日10:24:20 评论 28

外贸在线客服软件系统哪家好?

这个以前聊过了,还是选国外的好,livechat这家就非常成熟,10%off的券在这里,感兴趣的同学可以看看。

选它的理由和动机,这个可以翻阅我之前的文章,外贸客服软件livechat优惠,只需几步就可免费使用付费功能

怎么薅外国人livechat的羊毛,用更少的钱,获取最多的服务?

软件便宜报表贼贵

之前给了一个利用face book的接口回传数据给google analtyics的方法。这回我又遇到的新的问题。

使用livechat一年以后,积累了很多客户数据,现在想要把他们导出来,做做分析,搞搞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去调取数据,或者使用系统自带的报告功能。我一看表报功能,我这个需求不在基础报告范围内,居然是要升级才能用。如图,看看我们5个坐席,就要多收1500$。为了导出数据每年要多花一万大元。有这钱升级一下网站服务器他不香吗。

外贸在线客服软件系统livechat省钱攻略2,如何免费导出客户列表

外贸在线客服软件系统livechat省钱攻略2,如何免费导出客户列表

老外这收费策略就是坑,服务特别好,当你离不开它的时候积累够多数据时,就要被掏腰包了。

自力更生,艰苦奋斗,走API的道路。找别人开发自然是很贵的,只能自学,搞了几天,还真搞出来。不得不说,人家livechat不愧是个非常成熟的客服咨询软件。帮助文档非常友好,小白也能入手。

动手能力强,你就自己做。动手能力弱,你就花钱买。仔细想来,人家还是真厚道,不像某些国产软件,只给你花钱一条路可走。

怎么用livechat的api导出客户数据

<!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">测试获取客户数据</font><br>
<***********lt是终止时间,gte是终止时间。采用的是沾边就算的互动模型,所以时间选取的是最后互动时间,而不是创建时间。***********><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(){
		//请求参数 最多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("返回条数太多,恐怕跑不动,请缩短日期范围,重新查询");
				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 = `尝试请求数据,当前为第 ${xunhuan_num} 次`;
		document.getElementById("jianhuB").innerHTML = `总共要返回 ${total_customers} 条数据请耐心等待`;
		}
		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("执行首次不分页的带参请求");
			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样例非常详细,按说明进行操作就可以了。对小白来说,比较难的地方就是客户鉴权这一步。

他那个先去livechat拿token然后再跳转到其他页面的方法,没空研究。我用的是最原始的用户名密码方式。

Basic authentication scheme.

这个就是按格式把用户名和密码放一起,然后64位编码。看不懂也没关系。可以通过postman获取已经处理好的登录信息Personal Access Tokens 。见下图

外贸在线客服软件系统livechat省钱攻略2,如何免费导出客户列表 外贸在线客服软件系统livechat省钱攻略2,如何免费导出客户列表 外贸在线客服软件系统livechat省钱攻略2,如何免费导出客户列表

过了用户验证这一关,后面就简单多了,会那种语言就用哪种写。

post数据的代码可以用postman获取。只需要搞定response 数据就行了。livechat的api一次最多返回100条数据,这个需要自己循环去获取。

那些没解决不明白的坑

1、联系人数据有重复,按道理应该是唯一的,可以它给的结果就是有重复。
2、分页莫名其妙的丢数据。用livechat官网给的postman例子做查询,也一样丢数据。
比如,明明返回34条结果,你要是limit = 100,就是34条。单数如果每页限制15条,按说应该是3页,但是他就只返回2页。第二页就不给next page id啦。
反复测试,都是一样的结果。它的分页原理很复杂,也不想研究了。
所以如果想追求所有数据,那就最好不要分页,可以缩短时间段范围减少结果,靠循环修改查询时间段去获取数据。
大部分客户资料都可以免费导出来,这已经不错了,还要啥自行车。换成国产的,能不能不花钱就把数据导出来都说不好。

我不是崇洋媚外,运营外贸站点,为啥选择livechat客服软件,还请看选择则它的N个理由

拿着运营的钱,还要干程序猿的活儿,连个鸡腿都不给加。大王不高兴,大王不高兴,大王不高兴。义务给这动画做个广告,别的不为,就冲这名字,喊喊也开心。

后来看了这篇保姆式教学,

Developer Console Tutorials #5 | LiveChat Agent Chat API authorization

终于把那个高级点的登录方式搞明白了。

先把agent导到他们的页面去登录,然后他们在url里返回一段token/code。弄段程序把token提取出来,存好,然后就随便post获取其他数据了。再安全点的code还需要再去他们的页面post一下,然后给你个短期的token。

这帮助系统真是良心制作。

  • 君子仁爱:取之有道。刷新有惊喜,看头像。
  • 原创不易,转载注明出处和链接:https://acg.92ylq.com/anime/livechat2/
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: