- 微信客服用户发送消息,通过cursor获取到的msg_list为空,下一条才是有用的记录
$cursor = $enterprise_info->cursor; $data = [ 'token' => $token, 'cursor' => $cursor, 'limit'=>1 ]; $url = "https://qyapi.weixin.qq.com/cgi-bin/kf/sync_msg?access_token={$access_token}"; $res = $this->curl_post($url, json_encode($data)); $res = json_decode($res, 1); if (isset($res['errcode']) && $res['errcode'] != 0) { throw new SwarmTipsException(get_tips_data('获取用户发送信息失败,错误码:' . $res['errcode'], __FILE__, __LINE__)); } WechatModel::query()->where('wechat_id', $enterprise_info->wechat_id)->update(['cursor' => $res['next_cursor']]); Log::info('cursor:'.$enterprise_info->cursor); $enterprise_info->cursor = $res['next_cursor']; if (empty($res['msg_list'])) { $this->getMessage($access_token,$token,$enterprise_info); } return $res; 目前改成这样了 但是为什么用户发送过来的消息会存在这种数据呢-> [图片]这是这条数据的cursor:HHFq49uYHoiCuZRv9S9X ,目前因为这种数据就导致队列报错,使用户发送的消息一直都会延迟一条,每存在一条这种消息就会多延迟一条消息,请问下这种数据是怎么产生的呢? 该信息是第三方代理的微信客服, 授权的企业id:wpYLziDwAAm8QLpxuqnncfYYeiyF7-bQ
2021-12-04 - 企业微信微信客服 用户发送消息后数据回调接收到了很多次完全一样的消息
[图片] public function eventByThirdCallbackChat(Request $request) { Log::info('用户发送消息:',$request->input()); $easywechat = EasyWechatEnterpriseService::getInstance(0, false); $app = $easywechat->app; $server = $app->server; $server->push(function ($message) use ($app) { //数据回调 Log::info('数据回调:',$message); //发给谁 $corpid = $message['ToUserName']; $enterprise_info = WechatModel::query()->where('app_id', $corpid)->first(); if (empty($enterprise_info)) { throw new SwarmTipsException(get_tips_data('数据库没有查到该企业!', __FILE__, __LINE__)); } $token = $message['Token']; //获取access_token $access_token = $this->getAccessToken($enterprise_info, $app); //获取消息类型 发送的消息 $message_info = $this->getMessage($access_token, $token); $message = array_pop($message_info['msg_list']); if ($message['msgtype'] == 'event') { //用户扫码进入消息页面 $external_userid = $message['event']['external_userid']; $open_kfid = $message['event']['open_kfid']; } else { //用户发送消息 $external_userid = $message['external_userid']; $open_kfid = $message['open_kfid']; } //查询用户 $user_info = $this->getUserInfo($external_userid, $access_token, $open_kfid, $enterprise_info); Log::info('看看是谁发的消息:' . $user_info->username); //保存最新的消息 $this->getNewMessage($access_token, $token, $user_info); }); $response = $server->serve(); $response->send(); } 我给微信客服发送了一次消息,就收到了这么多条数据回调 不知道是什么情况...上面是我数据回调的代码
2021-12-02 - 为什么我两个微信号对微信客服发送消息,消息解析后的external_userid是完全一致的?
$url = "https://qyapi.weixin.qq.com/cgi-bin/kf/sync_msg?access_token={$access_token}"; $data = [ 'token' => $token, 'limit' => $limit, ]; $res = $this->curl_post($url, json_encode($data)); $res = json_decode($res, 1); if (isset($res['errcode']) && $res['errcode'] != 0) { throw new SwarmTipsException(get_tips_data('获取用户发送信息失败,错误码:' . $res['errcode'], __FILE__, __LINE__)); } 通过上面代码获取的external_userid //查询用户信息 $url = "https://qyapi.weixin.qq.com/cgi-bin/kf/customer/batchget?access_token={$access_token}"; $post_data = [ 'access_token'=>$access_token, 'external_userid_list'=>$external_userid, ]; $res = $this->curl_post($url,json_encode($post_data)); $res = json_decode($res, 1); if (isset($res['errcode']) && $res['errcode'] != 0) { throw new SwarmTipsException(get_tips_data('获取用户信息失败,错误码:' . $res['errcode'], __FILE__, __LINE__)); } Log::info('查询出来的用户信息:',$res);; 查询出来的external_userid完全一致,获取的用户信息也是一模一样的
2021-12-02 - 企业微信的微信客服获取了聊天消息的media_id后,用哪个接口转化图片或者视频语音的链接呢
["msgtype"]=> string(5) "image" ["image"]=> array(1) { ["media_id"]=> string(65) "1oKYdtmZhqkrHsK-6oPLdGjaZOJPGz7l4eWo7KmEsUykwoHKC-GEBflHDYM_jlgvu" } 上面是我接收到的消息记录 现在拿到了media_id,但是使用素材管理中的获取临时素材的接口时候,返回的是个null,目前想知道如何把这个media_id转化成用户发送的图片或者其他的
2021-12-01 - 微信客服怎么获取用户发送的最新的消息呢
我这边通过授权帮助其他企业微信管理微信客服,但是用户在微信上向企业微信发送消息,数据回调的接口中没有消息的信息, 通过官方的获取消息接口获取的消息相当于是聊天记录,而且我通过取消授权再进行授权的话还是能拿到之前的消息记录,这样很不便于获取用户最新发送的消息, 而且我只想获取到用户给我发送的最近的消息,请问下有相关的接口吗
2021-11-29 - 企业微信服务商如何对企业微信用户进行扫码授权进行聊天
想做成芝麻小客服的扫码授权[图片]但是具体的文档没有找到在哪里 我这边通过创建应用后安装的应用只能收到消息是什么格式的。而不能获取到具体的聊天内容,请问下像微信客服扫码授权的文档在哪里呢
2021-11-24