开发者社区> 问答> 正文

在钉钉中,如何查询机器人发送的消息已读状态?

在钉钉中,如何查询机器人发送的消息已读状态?在钉钉中,如何查询机器人发送的消息已读状态?

展开
收起
AAAOY 2023-10-27 14:13:21 420 0
6 条回答
写回答
取消 提交回答
  • 在钉钉中,目前不支持直接查询机器人发送的消息的已读状态。但是,你可以通过以下方式来间接判断消息是否被阅读:

    1. 发送回执消息:当你发送一条消息给用户时,可以同时发送一条回执消息给机器人。当用户阅读了你的消息并点击回执时,机器人会收到回执消息,这样就可以判断用户已经阅读了你的消息。

    2. 使用自定义机器人:你可以创建一个自定义机器人,然后让这个机器人在用户阅读了你的消息后进行一些操作,这样就可以判断用户是否阅读了你的消息。

    2023-10-30 16:07:02
    赞同 展开评论 打赏
  • 在钉钉中,你可以通过以下步骤查询机器人发送的消息已读状态:

    1. 当机器人批量发送消息后,你可以通过调用新版服务端API来查询各个消息接收者是否已读消息。这一操作的详细信息可以在钉钉开放平台的使用手册中找到。

    2. 对于群聊消息,你可以根据群会话的 openConversationId ,调用新版服务端API - 机器人发送群聊消息 接口,获取消息 processQueryKey 。然后,根据这个消息 processQueryKey ,你可以再次调用新版服务端API - 查询企业机器人群聊消息用户已读状态 来查询机器人发送的群聊消息对方是否已读。

    3. 如果你需要撤回机器人发送的消息,无论是群聊还是单聊,都可以通过调用新版服务端API - 企业机器人撤回内部群消息 或者类似的接口来实现。

    2023-10-28 22:25:33
    赞同 展开评论 打赏
  • 钉钉不支持查询机器人发送的消息已读状态。不过,可以在发送消息的时候,设置“已读回执”,当对方阅读消息时,钉钉会返回一个已读回执,从而知道对方已读取消息。
    具体做法是在调用钉钉消息发送接口时,添加已读回执参数notifyType,值设为read。这样当对方阅读消息时,钉钉会返回一个read回执,表明对方已读取消息。需要注意的是,有些消息类型不支持已读回执功能,如群聊消息。

    2023-10-27 17:09:08
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在钉钉中,您可以使用钉钉开放平台提供的API来查询机器人发送的消息已读状态。以下是一个简单的示例:

    const express = require('express');
    const axios = require('axios');
    
    const app = express();
    
    app.get('/checkReadStatus', async (req, res) => {
        try {
            const response = await axios.get(
                'https://oapi.dingtalk.com/user/getmessagestatus',
                {
                    params: {
                        corpId: 'your_corp_id',
                        userId: 'your_user_id',
                        msgIds: ['msg_id_1', 'msg_id_2', 'msg_id_3']
                    },
                    headers: {
                        'Authorization': 'Bearer your_access_token'
                    }
                }
            );
            res.send(response.data);
        } catch (error) {
            console.error(error);
            res.status(500).send({ error });
        }
    });
    
    app.listen(3000, () => {
        console.log('Server listening on port 3000');
    });
    

    在这个示例中,我们首先导入了Express和Axios库,然后创建了一个Express应用。我们在应用中定义了一个路由 /checkReadStatus,当这个路由被访问时,我们使用Axios发送一个GET请求到钉钉的API,用于查询指定用户收到的指定消息的已读状态。我们将corpId、userId、msgIds等参数设置为我们需要的值,然后将这个请求发送到钉钉的API。

    2023-10-27 15:13:26
    赞同 展开评论 打赏
  • 查询企业机器人群聊消息用户已读状态https://open.dingtalk.com/document/isvapp/chatbot-queries-the-read-status-of-a-message

    本文档介绍了通过机器人在企业内部群会话发送消息后,查询群内成员消息已读状态。

    调用本接口可用于获取机器人消息发送状态、消息已读成员userId等信息,例如当企业机器人在内部群会话发送群聊消息后,使用本接口是能查询到已读用户的userId,未读用户则无法查询。

    2023-10-27 14:55:03
    赞同 展开评论 打赏
  • LMM

    如何查询机器人发送的消息已读状态? 可以调用本接口 "查询机器人单聊消息已读状态" 或 "查询机器人群聊消息已读状态" 来获取机器人发送的消息已读状态。此回答来自“钉钉开发者社区(互助群)”

    2023-10-27 14:32:00
    赞同 展开评论 打赏
滑动查看更多
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载