开发者社区 问答 正文

钉钉企业机器人,如何发送单聊互动卡片?(不是群模板机器人)

根据开发文档,接口为“https://api.dingtalk.com/v1.0/im/interactiveCards/send”,机器人发送单聊互动卡片,有的参数可以写有的参数可以不写,文档说conversationType可以不写,但是不写没办法进行,说openConversationId可以不写,但是不写就提示“非场景群”,填了这些,我在填robotCode,调试就会报系统繁忙,我看到有个地方说单聊情况下robotCode和chatBotId都可以不填,但不填就会返回不存在的机器人。

我目前的填的项有: outTrackId、 cardData、 cardData、robotCode、receiverUserIdList、openConversationId、openConversationId

我就想知道,机器人发送单聊互动卡片是不是用这个接口?这个接口的参数到底怎么写?还是说是其他的接口,知识文档中没有给出?

展开
收起
游客3446p3gpxf5ii 2022-01-21 17:27:01 2114 分享 版权
阿里云 AI 助理回答

根据您的描述和提供的信息,您正在尝试使用钉钉机器人发送单聊互动卡片,但遇到了参数配置的问题。针对您的疑问,以下是对您问题的详细解答:

  1. 接口确认:是的,您提到的接口“https://api.dingtalk.com/v1.0/im/interactiveCards/send”确实用于发送互动卡片,包括单聊场景。

  2. 参数说明与填写要求

    • conversationType: 单聊场景下此参数可以省略,系统默认为单聊类型。如果遇到必须填写的情况,请确保设置为1,表示单聊。
    • openConversationId: 在单聊场景中,此参数实际上并不需要填写,因为它是群聊的标识。错误地提供该参数可能导致收到“非场景群”的提示。
    • robotCode: 按照文档说明,在某些情况下,单聊时可能不需要填写robotCode,但实际操作中若不填导致返回“不存在的机器人”,则应确保提供正确的robotCode。此码关联到具体的机器人应用,是调用接口的必要凭据。
    • chatBotId: 若文档指出在单聊场景可不填,则通常意味着它不是必填项,但在具体实现中,如果省略后出现问题,建议检查是否需要根据实际情况或最新API文档要求来决定是否填写。
    • 已填写的其他参数outTrackIdcardData(疑似重复提及)、receiverUserIdList,这些参数按照您的描述似乎是正确且必要的。outTrackId用于追踪消息发送状态,cardData包含卡片内容数据,receiverUserIdList指定接收者的用户ID列表,在单聊场景即为单个用户的ID。
  3. 解决“系统繁忙”提示:遇到“系统繁忙”错误,这可能是由于网络问题、API服务器负载过高或请求格式不正确等原因造成。建议:

    • 确认所有必填参数准确无误,特别是身份验证相关的字段如robotCode
    • 检查请求体格式(JSON格式等)是否完全符合API文档要求。
    • 适当增加重试机制,并在请求头中设置合理的超时时间。
    • 查看钉钉开发者平台是否有API调用频率限制,避免因短时间内频繁调用而触发限制。
  4. 总结:请确保在单聊场景下正确处理conversationTypeopenConversationId,务必提供有效的robotCode(或按需提供chatBotId),并仔细检查请求的其他参数及格式。如果持续遇到“系统繁忙”,考虑上述解决策略或直接咨询钉钉开发者支持获取帮助。

以上解答基于提供的参考资料和通用API调用逻辑,具体实施时还需参考最新的官方API文档以获取最准确的参数要求和调用示例。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答