您现在的位置是:crmeb客服通知在线聊天收不到模板消息

crmeb客服通知在线聊天收不到模板消息

crmeb 日期:2020-05-29点击:916

不用做任何修改:

公众号后台填写服务器配置,并开启。客服人员取消再重新关注公众号。


简单办法:(不想开启服务器配置,改数据库,1分钟)

在数据库  eb_wechat_user 把 客服的  subscribe 改成 1 。


复杂办法:(用模板消息,改源码,风险比较大)务必记得重启workerman和timer

crmeb\services\WechatTemplateService

增加模板配置

    // 访客到访通知 yuli 20200529
    const CUSTOMER_CHAT = 'OPENTM418118170';

crmeb\services\workerman\chat\ChatHandle

增加模板消息发送

public function chat(TcpConnection &$connection, array $res, Response $response){
//......

        if ($online) {
            $response->connection($this->service->user()[$to_uid])->send('reply', $data);
        } else {
                // 20200529 公众号模板消息 yuli 增加代码
                $templateUrl = sys_config('site_url') . '/customer/chat/' . $uid;
                $templateId = WechatTemplateService::CUSTOMER_CHAT;
                $templateData= [
                        'first' => '有客户咨询,请及时处理',
                        'keyword1' => $data['nickname'],
                        'keyword2' => sys_config('site_name'),
                        'keyword3' => '客户咨询',
                        'keyword4' => date('Y-m-d H:i:s'),
                        'remark' => $msn
                ];
                $to_openid = WechatUser::uidToOpenid($to_uid, 'openid');
                WechatTemplateService::sendTemplate($to_openid, $templateId ,$templateData, $templateUrl);
                /* 测试发给本人 */
                // $openid = WechatUser::uidToOpenid($uid, 'openid');
                // WechatTemplateService::sendTemplate($openid, $templateId, $templateData, $templateUrl);
            // 原来代码, 在公众号对话框推送消息, 需要wechat_user标记为subscribe
            $userInfo = WechatUser::where('uid', $to_uid)->field('nickname,subscribe,openid,headimgurl')->find();
            if ($userInfo && $userInfo['subscribe'] && $userInfo['openid']) {
                $head = '客服提醒';
                $description = '您有新的消息,请注意查收!';
                $url = sys_config('site_url') . '/customer/chat/' . $uid;
                $message = WechatService::newsMessage($head, $description, $url, $_userInfo['avatar']);
                $userInfo = $userInfo->toArray();
                try {
                    WechatService::staffService()->message($message)->to($userInfo['openid'])->send();
                } catch (\Exception $e) {
                    Log::error($userInfo['nickname'] . '发送失败' . $e->getMessage());
                }
            }
        }

//.......
}

效果图

效果图.png

标签: crmeb

站长简介

姓名:喻理
微信:yuli0927
邮箱:yuli0927@126.com
不懂业务的运维工程师不是一个好程序员。

分类

最新文章

热门文章

友情链接