你们用easywechat开发企业微信的客服功能时,cursor和external_userid是怎样获取的呢?

我用的环境

  • PHP 版本: “php”: “^7.3|^8.0”,
  • overtrue/wechat 版本: “w7corp/easywechat”: “^5.30”
  • 是否使用了框架?框架名称:”laravel/framework”: “^8.75”,

问题及现象

  public function serve()
    {
        $config = config('wechat.work');
        $app = Factory::work($config);
        $app->server->push(function($message){
            Log::warning($message);
        });
        $response = $app->server->serve();
        return $response;
    }

执行后写入日志有这些内容

[2022-11-14 09:22:44] local.WARNING: array (
  'ToUserName' => '3771108b0',
  'CreateTime' => '1668417764',
  'MsgType' => 'event',
  'Event' => 'kf_msg_or_event',
  'Token' => 'ENC8SgHsWogZdFDom1StKe3iYBc8Sf3M7uLtgcmCJhjMjD',
)  

image

我想调用这里的接口把,拿到客户发的文字内容进行一些关键字回复,比如,回复微信,我就把个人微信号推送过去。做一些定制化的操作。
其中有一个externalUserId 参数,我没有找到在哪里获取呢?

微信的官方文档上这里和上面得到的$message是一致的。

<xml>
   <ToUserName><![CDATA[78910]]></ToUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[event]]></MsgType>
   <Event><![CDATA[kf_msg_or_event]]></Event>
   <Token><![CDATA[ENCApHxnGDNAVNY4AaSJKj4Tb5mwsEMzxhFmHVGcra996NR]]></Token>
</xml>

在微信官方文档中的读取消息接口有这样的说明。

image

但这个cursor参数又在哪获取呢?

在这里看到有这个externalUserId但就需要上一步的cusor。

{
    "errcode": 0,
    "errmsg": "ok",
    "next_cursor": "4gw7MepFLfgF2VC5npN",
    "has_more": 1,
    "msg_list": [
        {
            "msgid": "from_msgid_4622416642169452483",
            "open_kfid": "FhToWMFea0xAFfd3Q",
            "external_userid": "wmAJ2GCAAAme1XQRC-NI-q0_ZM9ukoAw",
            "send_time": 1615478585,
            "origin": 3,
            "servicer_userid": "Zhangsan",
            "msgtype": "MSG_TYPE"
        }
    ]
}
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

cursor 就是你上一次请求返回的 next_cursor,其实和我们平时对接的分页、偏移量一样的。
external_userid 有获取条件和入口场景,忘记需要不需要在后台绑定什么了,你直接在企业微信文档里面看接口介绍,很详细的,看完整个页面,有很多注意事项

1年前 评论
讨论数量: 3

cursor 就是你上一次请求返回的 next_cursor,其实和我们平时对接的分页、偏移量一样的。
external_userid 有获取条件和入口场景,忘记需要不需要在后台绑定什么了,你直接在企业微信文档里面看接口介绍,很详细的,看完整个页面,有很多注意事项

1年前 评论

file

1年前 评论
msmax (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!