95992828九五至尊2

发送客服信息【九五至尊老品牌值信赖】

二月 5th, 2019  |  九五至尊老品牌值信赖

原文: http://www.cnblogs.com/imaker/p/5491433.html

一、简介

一、简介

当用户主动发信息给群众号的时候(包涵发送音信、点击自定义菜单、订阅事件、扫描二维码事件、支付成功事件、用户维权),微信将会把音讯数据推送给开发者,开发者在一段时间内(如今涂改为48钟头)可以调用客服新闻接口,通过POST一个JSON数据包来发送音讯给普通用户,在48钟头内不限制发送次数。此接口紧要用以客服等有人工信息处理环节的作用,方便开发者为用户提供尤其优质的劳务。

当用户积极发新闻给Ford号的时候(包涵发送音信、点击自定义菜单、订阅事件、扫描二维码事件、支付成功事件、用户维权),微信将会把音信数据推送给开发者,开发者在一段时间内(近日修改为48时辰)可以调用客服音讯接口,通过POST一个JSON数据包来发送音信给普通用户,在48刻钟内不限定发送次数。此接口紧要用来客服等有人工信息处理环节的机能,方便开发者为用户提供越来越优质的服务。

二、思路分析

二、思路分析

法定文档中只提供了一个发送客服信息的接口,开发者只要POST一个一定的JSON数据包即可兑现新闻回复。在那里,我们打算做成一个简短的阳台,可以记录用户音信,并且用网页表格的款式浮现出来,然后可以对音信进行复苏操作。

官方文档中只提供了一个殡葬客服音信的接口,开发者只要POST一个一定的JSON数据包即可兑现新闻回复。在此地,大家打算做成一个简短的平台,可以记下用户音信,并且用网页表格的款型显得出来,然后可以对消息举办回复操作。

先是,大家运用数据库记录用户积极发送过来的新闻,然后再领取出来显示到页面,针对该音信,进行复原。那里大家只谈谈文件音讯,关于其余类其他信息,我们自行钻研。

首先,大家应用数据库记录用户主动发送过来的信息,然后再领取出来呈现到页面,针对该音信,举行回复。那里我们只谈谈文件音信,关于任何类型的新闻,大家自行钻研。

九五至尊老品牌值信赖,三、记录用户音信

三、记录用户音讯

3.1 成立数据表

3.1 创造数据表

制造一张数据表tbl_customer
来记录用户新闻。

开创一张数据表tbl_customer 来记录用户新闻。

九五至尊老品牌值信赖 1

九五至尊老品牌值信赖 2

--
-- 表的结构 `tbl_customer`
--

CREATE TABLE `tbl_customer` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '//消息ID',
  `from_user` char(50) NOT NULL COMMENT '//消息发送者',
  `message` varchar(200) NOT NULL COMMENT '//消息体',
  `time_stamp` datetime NOT NULL COMMENT '//消息发送时间',
  PRIMARY KEY (`id`),
  KEY `from_user` (`from_user`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;
--
-- 表的结构 `tbl_customer`
--

CREATE TABLE `tbl_customer` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '//消息ID',
  `from_user` char(50) NOT NULL COMMENT '//消息发送者',
  `message` varchar(200) NOT NULL COMMENT '//消息体',
  `time_stamp` datetime NOT NULL COMMENT '//消息发送时间',
  PRIMARY KEY (`id`),
  KEY `from_user` (`from_user`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

九五至尊老品牌值信赖 3

九五至尊老品牌值信赖 4

3.2 创建sql.func.php 文件

3.2 创建sql.func.php 文件

创建 _query($_sql) {} 函数,来执行INSERT
操作。

创建 _query($_sql) {} 函数,来执行INSERT 操作。

九五至尊老品牌值信赖 5

九五至尊老品牌值信赖 6

function _query($_sql){
    if(!$_result = mysql_query($_sql)){
        exit('SQL执行失败'.mysql_error());
    }
    return $_result;
}
function _query($_sql){
    if(!$_result = mysql_query($_sql)){
        exit('SQL执行失败'.mysql_error());
    }
    return $_result;
}

九五至尊老品牌值信赖 7

九五至尊老品牌值信赖 8

3.3
创立记录音讯的函数文件record_message.func.inc.php

3.3 成立记录新闻的函数文件record_message.func.inc.php

九五至尊老品牌值信赖 9

九五至尊老品牌值信赖 10

//引入数据库处理函数
require_once 'sql.func.php';

function _record_message($fromusername,$keyword,$date_stamp){
    //调用_query()函数
    _query("INSERT INTO tbl_customer(from_user,message,time_stamp) VALUES('$fromusername','$keyword','$date_stamp')");
}
//引入数据库处理函数
require_once 'sql.func.php';

function _record_message($fromusername,$keyword,$date_stamp){
    //调用_query()函数
    _query("INSERT INTO tbl_customer(from_user,message,time_stamp) VALUES('$fromusername','$keyword','$date_stamp')");
}

九五至尊老品牌值信赖 11

九五至尊老品牌值信赖 12

3.4 处理并记下文本新闻

3.4 处理并记下文本音讯

A.
引入回复文本的函数文件,引入记录新闻的函数文件

A. 引入回复文本的函数文件,引入记录信息的函数文件

//引入回复文本的函数文件
require_once 'responseText.func.inc.php';
//引入记录消息的函数文件
require_once 'record_message.func.inc.php';
//引入回复文本的函数文件
require_once 'responseText.func.inc.php';
//引入记录消息的函数文件
require_once 'record_message.func.inc.php';

B.
记录音信入数据库,并重回给用户方才发送的音讯,在此间,你可以修改成别的的文书,比如:“你好,信息已接受,大家会赶紧恢复生机您!”
等等。

B.
记录音信入数据库,并再次来到给用户方才发送的音讯,在此地,你可以修改成别的的文本,比如:“你好,音讯已选择,大家会赶紧还原您!”
等等。

九五至尊老品牌值信赖 13

九五至尊老品牌值信赖 14

    //处理文本消息函数
    public function handleText($postObj)
    {
        //获取消息发送者,消息体,时间戳
        $fromusername = $postObj->FromUserName;
        $keyword = trim($postObj->Content);
        $date_stamp = date('Y-m-d H:i:s');

        if(!empty( $keyword ))
        {
            //调用_record_message()函数,记录消息入数据库
            _record_message($fromusername,$keyword,$date_stamp);

            $contentStr = $keyword;
            //调用_response_text()函数,回复发送者消息
            $resultStr = _response_text($postObj,$contentStr);
            echo $resultStr;
        }else{
            echo "Input something...";
        }
    }
    //处理文本消息函数
    public function handleText($postObj)
    {
        //获取消息发送者,消息体,时间戳
        $fromusername = $postObj->FromUserName;
        $keyword = trim($postObj->Content);
        $date_stamp = date('Y-m-d H:i:s');

        if(!empty( $keyword ))
        {
            //调用_record_message()函数,记录消息入数据库
            _record_message($fromusername,$keyword,$date_stamp);

            $contentStr = $keyword;
            //调用_response_text()函数,回复发送者消息
            $resultStr = _response_text($postObj,$contentStr);
            echo $resultStr;
        }else{
            echo "Input something...";
        }
    }

九五至尊老品牌值信赖 15

九五至尊老品牌值信赖 16

四、网页呈现用户音讯

四、网页显示用户音信

俺们的尾声效果大致如下所示,主要的工作在“新闻保管基本”这块,其余的页面布局等等,不在那里赘述了,只讲解信息展现那块。

我们的末梢效果大致如下所示,首要的工作在“音信保管焦点”那块,其余的页面布局等等,不在那里赘述了,只讲解音讯突显那块。

九五至尊老品牌值信赖 17

九五至尊老品牌值信赖 18

4.1 具体实施

4.1 具体实施

引入数据库操作文件,执行分页模块,执行数据库查询,将查询出来的结果赋给$_result
供下边选用。

引入数据库操作文件,执行分页模块,执行数据库查询,将查询出来的结果赋给$_result
供上面选择。

九五至尊老品牌值信赖 19

九五至尊老品牌值信赖 20

//引入数据库操作文件
require_once 'includes/sql.func.php';

//分页模块
global $_pagesize,$_pagenum;
_page("SELECT id FROM tbl_customer",15);        //第一个参数获取总条数,第二个参数,指定每页多少条
$_result = _query("SELECT * FROM tbl_customer ORDER BY id DESC LIMIT $_pagenum,$_pagesize");
//引入数据库操作文件
require_once 'includes/sql.func.php';

//分页模块
global $_pagesize,$_pagenum;
_page("SELECT id FROM tbl_customer",15);        //第一个参数获取总条数,第二个参数,指定每页多少条
$_result = _query("SELECT * FROM tbl_customer ORDER BY id DESC LIMIT $_pagenum,$_pagesize");

九五至尊老品牌值信赖 21

九五至尊老品牌值信赖 22

将$_result
遍历出来,依次插入表格中。

将$_result 遍历出来,依次插入表格中。

九五至尊老品牌值信赖 23

九五至尊老品牌值信赖 24

<form>
    <table cellspacing="1">
        <tr><th>消息ID</th><th>发送者</th><th>消息体</th><th>消息时间</th><th>操作</th></tr>
        <?php 
            while(!!$_rows = _fetch_array_list($_result)){
                $_html = array();
                $_html['id'] = $_rows['id'];
                $_html['from_user'] = $_rows['from_user'];
                $_html['message'] = $_rows['message'];
                $_html['time_stamp'] = $_rows['time_stamp'];
        ?>
        <tr><td><?php echo $_html['id']?></td><td><?php echo $_html['from_user']?></td><td><?php echo $_html['message']?></td><td><?php echo $_html['time_stamp']?></td><td><a href="reply.php?fromusername=<?php echo $_html['from_user']?>&message=<?php echo $_html['message']?>"><input type="button" value="回复" /></a></td></tr>
        <?php 
            }
            _free_result($_result);
        ?>
    </table>
</form>
<form>
    <table cellspacing="1">
        <tr><th>消息ID</th><th>发送者</th><th>消息体</th><th>消息时间</th><th>操作</th></tr>
        <?php 
            while(!!$_rows = _fetch_array_list($_result)){
                $_html = array();
                $_html['id'] = $_rows['id'];
                $_html['from_user'] = $_rows['from_user'];
                $_html['message'] = $_rows['message'];
                $_html['time_stamp'] = $_rows['time_stamp'];
        ?>
        <tr><td><?php echo $_html['id']?></td><td><?php echo $_html['from_user']?></td><td><?php echo $_html['message']?></td><td><?php echo $_html['time_stamp']?></td><td><a href="reply.php?fromusername=<?php echo $_html['from_user']?>&message=<?php echo $_html['message']?>"><input type="button" value="回复" /></a></td></tr>
        <?php 
            }
            _free_result($_result);
        ?>
    </table>
</form>

九五至尊老品牌值信赖 25

九五至尊老品牌值信赖 26

说明:在每条音讯后,都有一个“回复”操作,点击该按钮,向reply.php文件中传出fromusername和用户发送的音信,为复苏用户新闻做准备。

说明:在每条音信后,都有一个“回复”操作,点击该按钮,向reply.php文件中传唱fromusername和用户发送的新闻,为还原用户新闻做准备。

五、信息回复

五、信息回复

5.1
成立客服音讯回复函数文件customer.php

5.1 创设客服音信回复函数文件customer.php

微信发送客服信息的接口URL如下:

微信发送客服新闻的接口URL如下:

https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN

亟需POST的JSON数据包格式如下:

亟待POST的JSON数据包格式如下:

九五至尊老品牌值信赖 27

九五至尊老品牌值信赖 28

{
    "touser":"OPENID",
    "msgtype":"text",
    "text":
    {
         "content":"Hello World"
    }
}
{
    "touser":"OPENID",
    "msgtype":"text",
    "text":
    {
         "content":"Hello World"
    }
}

九五至尊老品牌值信赖 29

九五至尊老品牌值信赖 30

故而,依照地点的唤醒,大家编辑处理函数
_reply_customer($touser,$content),调用的时候,传入touser和急需还原的content,即可发送客服新闻。

就此,依照上面的提示,我们编辑处理函数
_reply_customer($touser,$content),调用的时候,传入touser和内需苏醒的content,即可发送客服音信。

九五至尊老品牌值信赖 31

九五至尊老品牌值信赖 32

function _reply_customer($touser,$content){

    //更换成自己的APPID和APPSECRET
    $APPID="wxef78f22f877db4c2";
    $APPSECRET="3f3aa6ea961b6284057b8170d50e2048";

    $TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$APPID."&secret=".$APPSECRET;

    $json=file_get_contents($TOKEN_URL);
    $result=json_decode($json);

    $ACC_TOKEN=$result->access_token;

    $data = '{
        "touser":"'.$touser.'",
        "msgtype":"text",
        "text":
        {
             "content":"'.$content.'"
        }
    }';

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

    $result = https_post($url,$data);
    $final = json_decode($result);
    return $final;
}

function https_post($url,$data)
{
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    if (curl_errno($curl)) {
       return 'Errno'.curl_error($curl);
    }
    curl_close($curl);
    return $result;
}
function _reply_customer($touser,$content){

    //更换成自己的APPID和APPSECRET
    $APPID="wxef78f22f877db4c2";
    $APPSECRET="3f3aa6ea961b6284057b8170d50e2048";

    $TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$APPID."&secret=".$APPSECRET;

    $json=file_get_contents($TOKEN_URL);
    $result=json_decode($json);

    $ACC_TOKEN=$result->access_token;

    $data = '{
        "touser":"'.$touser.'",
        "msgtype":"text",
        "text":
        {
             "content":"'.$content.'"
        }
    }';

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

    $result = https_post($url,$data);
    $final = json_decode($result);
    return $final;
}

function https_post($url,$data)
{
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    if (curl_errno($curl)) {
       return 'Errno'.curl_error($curl);
    }
    curl_close($curl);
    return $result;
}

九五至尊老品牌值信赖 33

九五至尊老品牌值信赖 34

上边,大家就将地方写好的函数引入到音信回复页面,已毕发送客服信息的效率。

上面,我们就将下边写好的函数引入到新闻回复页面,完成殡葬客服音讯的效能。

5.2
点击“回复”按钮,带上fromusername和message参数跳转到reply.php。

5.2 点击“回复”按钮,带上fromusername和message参数跳转到reply.php。

九五至尊老品牌值信赖 35

九五至尊老品牌值信赖 36

5.3 reply.php 页面呈现

5.3 reply.php 页面呈现

九五至尊老品牌值信赖 37

九五至尊老品牌值信赖 38

5.4 reply.php文件分析

5.4 reply.php文件分析

//引入回复消息的函数文件
require_once '../customer.php';
//引入回复消息的函数文件
require_once '../customer.php';

form表单提交到relpy.php本身,带有action=relpy.

form表单提交到relpy.php本身,带有action=relpy.

九五至尊老品牌值信赖 39

九五至尊老品牌值信赖 40

<form method="post" action="reply.php?action=reply">
    <dl>
        <dd><strong>收件人:</strong><input type="text" name="tousername" class="text" value="<?php echo $from_username?>" /></dd>
        <dd><strong>原消息:</strong><input type="text" name="message" class="text" value="<?php echo $message?>" /></dd>
        <dd><strong>内 容:</strong><textarea rows="5" cols="34" name="content"></textarea></dd>
        <dd><input type="submit" class="submit" value="回复消息" /></dd>
    </dl>
</form>
<form method="post" action="reply.php?action=reply">
    <dl>
        <dd><strong>收件人:</strong><input type="text" name="tousername" class="text" value="<?php echo $from_username?>" /></dd>
        <dd><strong>原消息:</strong><input type="text" name="message" class="text" value="<?php echo $message?>" /></dd>
        <dd><strong>内 容:</strong><textarea rows="5" cols="34" name="content"></textarea></dd>
        <dd><input type="submit" class="submit" value="回复消息" /></dd>
    </dl>
</form>

九五至尊老品牌值信赖 41

九五至尊老品牌值信赖 42

action=reply 动作处理。

action=reply 动作处理。

九五至尊老品牌值信赖 43

九五至尊老品牌值信赖 44

if($_GET['action'] == "reply"){
    $touser = $_POST['tousername'];
    $content = $_POST['content'];
    $result = _reply_customer($touser, $content);

    if($result->errcode == "0"){
        _location('消息回复成功!', 'index.php');
    }
}
if($_GET['action'] == "reply"){
    $touser = $_POST['tousername'];
    $content = $_POST['content'];
    $result = _reply_customer($touser, $content);

    if($result->errcode == "0"){
        _location('消息回复成功!', 'index.php');
    }
}

九五至尊老品牌值信赖 45

九五至尊老品牌值信赖 46

说明:POST方式获取touser,
content,然后调用_reply_customer($touser,
$content)方法处理,处理成功,则弹出“信息回复成功!”,然后跳转到index.php页面,完毕发送客服新闻进度。

说明:POST格局获取touser,
content,然后调用_reply_customer($touser,
$content)方法处理,处理成功,则弹出“信息回复成功!”,然后跳转到index.php页面,完毕发送客服信息进度。

六、测试

六、测试

6.1 微信用户发送新闻

6.1 微信用户发送音信

九五至尊老品牌值信赖 47

九五至尊老品牌值信赖 48

6.2 平台音信管理

6.2 平台音信管理

九五至尊老品牌值信赖 49

九五至尊老品牌值信赖 50

6.3 发送客服音讯

6.3 发送客服信息

九五至尊老品牌值信赖 51

九五至尊老品牌值信赖 52

九五至尊老品牌值信赖 53

九五至尊老品牌值信赖 54

重新发送客服信息

重复发送客服新闻

九五至尊老品牌值信赖 55

九五至尊老品牌值信赖 56

九五至尊老品牌值信赖 57 

九五至尊老品牌值信赖 58 

发送客服新闻测试成功!

发送客服信息测试成功!

七、代码获取

七、代码获取

http://files.cnblogs.com/mchina/customer.rar

http://files.cnblogs.com/mchina/customer.rar

八、总结

八、总结

微信发送客服音讯我很简单,只需POST一个JSON数据包到指定接口URL即可。这里大家举行了伸张,写成一个简约的平台,方便店家的军事管制。还有许多须要补充和革新的地点,例如,记录客服发送的音信;将一律用户的音信记录成一个会聚;完结任何格式的信息回复等,有待读者自行思考开发。

微信发送客服信息我很简短,只需POST一个JSON数据包到指定接口URL即可。那里大家举行了扩展,写成一个简便的平台,方便集团的治本。还有众多亟需补充和修正的地点,例如,记录客服发送的信息;将一如既往用户的音讯记录成一个聚众;落成其他格式的音信回复等,有待读者自行思考开发。

相关文章

Your Comments

近期评论

    功能


    网站地图xml地图