Skip to main content
本文介绍如何创建快捷入口。

什么是快捷入口(群插件)

用户在群内点击插件入口时,将会带上群的相关参数,开发者将据此确定是谁在哪个群内在什么时间点击了哪个具体插件。以此,产品方案商能够实现高度智能化和指向明确的业务服务。

创建群插件

  1. 登录钉钉开发者后台
  2. 开发者后台页面,选择场景群,点击创建群插件创建群插件
  3. 新建群插件并点击新建,等待审核通过。 说明
    • 审核时效,工作日12小时内审批完成。
    设置不同的群插件链接不同,支持在钉钉工作台、侧边栏、外部浏览器等打开链接:
群插件url设置

构造快捷入口链接

快捷入口(群插件)为一个具有业务能力的钉钉链接,开发者需要基于自己微应用的实际场景和在群内用户使用时的具体需求来拼装一个快捷入口链接。 快捷入口名字最多支持4个字符,快捷入口链接所具有的能力非常多,但需要开发者通过链接参数来组装。例如从移动端页面的打开方式(推入页面、弹出页面等),到PC端的页面跳转逻辑(打开新容器或者左滑页面),都是通过链接参数的配置来实现的。
  • 跳转到H5页面 link(侧边栏/容器划出) 示例:
    参数说明:
  • 跳转到微应用 openapp(如工作台、浏览器、左划面板) 示例:
    参数说明:
  • 跳转到小程序
    1. 通用参数 (open_micro_app 和 open_mini_app 都支持)

ddMode=float 浮窗时,可支持的参数

ddMode=pop 弹层时,可支持的参数

  1. 打开微应用 scheme(企业小程序专用 scheme) scheme:dingtalk://dingtalkclient/action/open_micro_app 基本参数同通用参数列表。 灰度控制逻辑应该放在这个 scheme 的 handler 里 PC端测试case:
    • 在slide panel打开url,无title
    • 在slide panel打开url,无title
    • 在browser打开url
    • 在slide panel打开url,有title
    • 在browser打开url
  2. 开启小程序schema (个人小程序专用 scheme) scheme:dingtalk://dingtalkclient/action/open_mini_app 基本参数同通用参数列表。
  3. 小程序调试scheme scheme:dingtalk://dingtalkclient/action/dev_mini_app 主要用于调试小程序,以及appx框架开发。通过此方式打开的小程序,直接通过url启动主文档。不会进入包管理流程,也不会触发保活逻辑。miniAppId仅用于做接口校验等。

重要

参数都已经过encode,注意解码。

如何通过链接获取来源群信息

  • 指定特殊打开方式 快捷入口(群插件)为一个带有业务能力的dingtalk链接,开发者需要基于自己微应用的实际场景和在群内用户使用时的具体需求来拼装一个群插件链接出来。插件名字最多支持4个字,插件链接里面所具有的能力非常多,但需要开发者通过链接参数来组装。例如从移动端页面的打开方式(推入页面、弹出页面等),到PC端的页面跳转逻辑(打开新容器或者左滑页面),都是通过链接参数的配置来实现的。 以下以项目群的快捷入口为例,详细说明一个快捷入口链接是如何拼装出来的。 <dingtalk://dingtalkclient/page/link?url=https%3a%2f%2fding-doc.dingtalk.io%2fdoc%23%2fpqkq0u%2feluagw%2f$CORPID$%2f$DOUBLE_ENCCID$>
    • 开发者的目标页面地址:https%3a%2f%2fding-doc.dingtalk.io%2fdoc%23%2fpqkq0u%2feluagw
      • 当你使用了钉钉统一跳转协议,这一部分将作为“钉钉统一跳转协议”地址的入参,所以需要经过urlEncode。
      • 当你没有使用钉钉统一跳转协议,可直接使用原始Url作为快捷入口的地址。不需要urlEncode。
    • **钉钉统一跳转协议(可选)**dingtalk://dingtalkclient/page/link?url=
      • 这个部分决定了会以什么方式打开你指定的页面。目前支持的有“浏览器打开”、“侧边栏打开”等,每种方式对应的统一跳转协议的path不一样。
      • 部分统一跳转协议path,只在部分平台客户端可用,比如侧边栏打开只在pc和mac端可用。
    • 快捷入口地址动参(可选) CORPIDCORPID DOUBLEENCCIDDOUBLE_ENCCID
      • 设置了这个动参,当用户点击这个快捷入口访问开发者的地址时,url里的这部分动参可以替换为群上下文的信息,比如corpid和 openConversationId。 目前可支持的动参如下: DOUBLEENCCIDDOUBLE_ENCCID二次url加解密是因为:钉钉以“dingtalk://”有一层内部协议,在解析这层协议需要加密一次;url参数后面的业务https协议透传给下游容器使用的时候也需要加解密一次;由于消费方2次解析需要,所以产生url时候也需要2次加密。 示例产生url: urlencode(钉钉url?xxx=xxx & url = urlencode(业务url)) 示例解析url: a、urldecode(钉钉url)-> 得到业务url;b、urldecode(业务url)-> 可用参数