怎样开启小程序客服功能

怎样开启小程序客服功能    

开启自定义的小程序的客服功能,需要两步,

第一步:在自己的微信平台开通消息推送的功能

具体的在官方wiki里有https://developers.weixin.qq.com/min源码下载wcqh.cniprogram/introduction/custom.html#%E5%A1%AB%E5%86%99%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81%E9%85%8D%E7源码下载wcqh.cn%BD%AE

第二步:完成自己的后台

前提:你的服务器可以被微信访问。

流程:用户出发某个事件后,向微信服务器发送数据包,如果你开启消息推送服务(第一步),那么微信服务器会进行数据的处理转发,具体的格式是x源码下载wcqh.cnml还是json取决于你在微信后台的选择,我这里选择的json,微信通过主动调用你的接口将数据包返回给你,如果你想向用户响应某个信息,需要某个接口向微信服务器发送你的响应数据包,里面包含客服的open源码下载wcqh.cnid.具体的详情看代码。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

4源码下载wcqh.cn9

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

9源码下载wcqh.cn9

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132源码下载wcqh.cn

133

134

135

136

137

138

139

140

<?php

header(&#39;Content-type:text&#39;);

define(“TOKEN”, “mytoken”);

class Mi源码下载wcqh.cnni extends Controller{

private $appid = &#39;&#39;;

private $secret = &#39;&#39;;

public function check源码下载wcqh.cn(){     //校验服务器地址URL

if (isset($_GET[&#39;echostr&#39;])) {

$this->valid();

}else{

$this->responseMsg();源码下载wcqh.cn

}

}

public function valid()

{

$echoStr = $_GET[“echostr”];

if($this->checkSignature()){

header(&#39;conten源码下载wcqh.cnt-type:text&#39;);

echo $echoStr;

exit;

}else{

echo $echoStr.&#39;+++&#39;.TOKEN;

exit;

}

}

private function源码下载wcqh.cn checkSignature()

{

$signature = $_GET[“signature”];

$timestamp = $_GET[“timestamp”];

$nonce = $_GET[“no源码下载wcqh.cnnce”];

$token = TOKEN;

$tmpArr = array($token, $timestamp, $nonce);

sort($tmpArr, SORT_STRING);

$tmpStr 源码下载wcqh.cn= implode( $tmpArr );

$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature ){

return true;

}else{

return 源码下载wcqh.cnfalse;

}

}

public function responseMsg()

{

$postStr = file_get_contents(&#39;php://input&#39;);//因为我的环境是p源码下载wcqh.cnhp7

if (!empty($postStr) && is_string($postStr)){

$postArr = json_decode($postStr,true);

if(!empty($pos源码下载wcqh.cntArr[&#39;MsgType&#39;]) && $postArr[&#39;MsgType&#39;] == &#39;text&#39;){   //文本消息

$fromUsername = 源码下载wcqh.cn$postArr[&#39;FromUserName&#39;];   //发送者openid

$toUserName = $postArr[&#39;ToUserName&#39;];       /源码下载wcqh.cn/小程序id

$textTpl = array(

“ToUserName”=>$fromUsername,

“FromUserName”=>$toUserName,

“CreateTime”=>time(),源码下载wcqh.cn

“MsgType”=>”transfer_customer_service”,

);

exit(json_encode($textTpl));

}elseif(!empty($postArr[&#39;Ms源码下载wcqh.cngType&#39;]) && $postArr[&#39;MsgType&#39;] == &#39;image&#39;){ //图文消息

$fromUsername = $postArr[&#39源码下载wcqh.cn;FromUserName&#39;];   //发送者openid

$toUserName = $postArr[&#39;ToUserName&#39;];       //小程序id

$textTp源码下载wcqh.cnl = array(

“ToUserName”=>$fromUsername,

“FromUserName”=>$toUserName,

“CreateTime”=>time(),

“MsgType”=>”t源码下载wcqh.cnransfer_customer_service”,

);

exit(json_encode($textTpl));

}elseif($postArr[&#39;MsgType&#39;] == &#39;源码下载wcqh.cnevent&#39; && $postArr[&#39;Event&#39;]==&#39;user_enter_tempsession&#39;){

$fromUsername = $postArr[源码下载wcqh.cn&#39;FromUserName&#39;];

$data = array(

“touser”=>$fromUsername,

“msgtype”=>”link”,

“link”=>[

“title”=>&#源码下载wcqh.cn39;this is title&#39;,

“description”=> “Is Really A Happy Day”,

“url”:=>”URL”,

“thumb_url”=>”THUMB_URL”源码下载wcqh.cn

            ]

           );

$json = json_encode($data,JSON_UNESCAPED_UNICODE);

$access_token = $this->get_accessToken();

$url =源码下载wcqh.cn “https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=”.$access_token;

//将数据返给微信服务器进行转源码下载wcqh.cn发。

$this->curl_post($url,$json);

}else{

exit(&#39;aaa&#39;);

}

}else{

echo “”;

exit;

}

}

public function get_a源码下载wcqh.cnccessToken(){

if(cache(&#39;access_token&#39;)){

return cache(&#39;access_token&#39;);

}

/* 不在有效期,重新发送请求源码下载wcqh.cn,获取access_token */

else{

$url = “https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&源码下载wcqh.cnappid={$this->appid}&secret={$this->secret}”;

$result = curl_get_https($url);

$res = json_decode($resu源码下载wcqh.cnlt,true);   //json字符串转数组

if($res){

cache(&#39;access_token&#39;,$res[&#39;access_token&#39;],7100);

ret源码下载wcqh.cnurn cache(&#39;access_token&#39;);

}else{

return &#39;api return error&#39;;

}

}

}

/**

* @Author   callmelx源码下载wcqh.cn

* @DateTime 2018-10-06

* @return   [type]     [description]

*/

public function curl_post($url,$data=&#3源码下载wcqh.cn9;&#39;){

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_POST, 源码下载wcqh.cn1); // 发送一个常规的Post请求

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($curl, CURLOPT_SSL源码下载wcqh.cn_VERIFYHOST, FALSE);

if (!empty($data)){

curl_setopt($curl, CURLOPT_POSTFIELDS,$data);

}

curl_setopt($cu源码下载wcqh.cnrl, CURLOPT_RETURNTRANSFER, 1);

//curl_setopt($curl, CURLOPT_HTTPHEADER, $headers );

$output = curl_ex源码下载wcqh.cnec($curl);

if (curl_errno($curl)) {

echo &#39;Errno&#39;.curl_error($curl);//捕抓异常

}

curl_close($curl);

if源码下载wcqh.cn($output == 0){

echo &#39;success&#39;;exit;

}

}

}

登录后复制

有几个坑需要注意一下,如果你的token验证总是失败:

1.建议你看一下自己server服务器的to源码下载wcqh.cnken与现在的token是否相同。

2.如果你发现自己的代码绝对没有问题,token也绝对没有问题的话,而且还是报错,那么我建议检查一下自己服务器的文件的权限问题了,如果你是tp框架,检查一下啊自己的r源码下载wcqh.cnuntime是否给了777,如果你是给755的话可能还是不会起作用。

推荐学习:小程序开发

以上就是怎样开启小程序客服功能的详细内容,更多请关注php中文网其它相关文章!

© 版权声明
THE END
喜欢就支持一下吧
点赞349 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容