怎样开启小程序客服功能?

网友投稿 216 2024-06-11

怎样开启小程序客服功能    

怎样开启小程序客服功能?

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

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

具体的在官方wiki里有https://developers.weixin.qq.com/miniprogram/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%BD%AE

第二步:完成自己的后台

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

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

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

49

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

99

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

133

134

135

136

137

138

139

140

<?php

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

define("TOKEN", "mytoken");

class Mini extends Controller{

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

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

public function check(){     //校验服务器地址URL

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

$this->valid();

}else{

$this->responseMsg();

}

}

public function valid()

{

$echoStr = $_GET["echostr"];

if($this->checkSignature()){

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

echo $echoStr;

exit;

}else{

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

exit;

}

}

private function checkSignature()

{

$signature = $_GET["signature"];

$timestamp = $_GET["timestamp"];

$nonce = $_GET["nonce"];

$token = TOKEN;

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

sort($tmpArr, SORT_STRING);

$tmpStr = implode( $tmpArr );

$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature ){

return true;

}else{

return false;

}

}

public function responseMsg()

{

$postStr = file_get_contents(&#39;php://input&#39;);//因为我的环境是php7

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

$postArr = json_decode($postStr,true);

if(!empty($postArr[&#39;MsgType&#39;]) && $postArr[&#39;MsgType&#39;] == &#39;text&#39;){   //文本消息

$fromUsername = $postArr[&#39;FromUserName&#39;];   //发送者openid

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

$textTpl = array(

"ToUserName"=>$fromUsername,

"FromUserName"=>$toUserName,

"CreateTime"=>time(),

"MsgType"=>"transfer_customer_service",

);

exit(json_encode($textTpl));

}elseif(!empty($postArr[&#39;MsgType&#39;]) && $postArr[&#39;MsgType&#39;] == &#39;image&#39;){ //图文消息

$fromUsername = $postArr[&#39;FromUserName&#39;];   //发送者openid

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

$textTpl = array(

"ToUserName"=>$fromUsername,

"FromUserName"=>$toUserName,

"CreateTime"=>time(),

"MsgType"=>"transfer_customer_service",

);

exit(json_encode($textTpl));

}elseif($postArr[&#39;MsgType&#39;] == &#39;event&#39; && $postArr[&#39;Event&#39;]==&#39;user_enter_tempsession&#39;){

$fromUsername = $postArr[&#39;FromUserName&#39;]; 

$data = array(

"touser"=>$fromUsername,

"msgtype"=>"link",

"link"=>[

"title"=>&#39;this is title&#39;,

"description"=> "Is Really A Happy Day",

"url":=>"URL",

"thumb_url"=>"THUMB_URL"

            ]

           );

$json = json_encode($data,JSON_UNESCAPED_UNICODE);

$access_token = $this->get_accessToken();

$url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$access_token;

//将数据返给微信服务器进行转发。

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

}else{

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

}

}else

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:怎样将自己的店加入小程序?
下一篇:怎样找到自己的微信小程序?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~