选择应用类型
企业内部应用开发
学习地图
动态与公告
应用开发平台简介(新版)
应用开发平台简介
开发应用(新版)
开发流程概述
获取开发者权限
创建应用
添加应用能力
配置应用
开发 AI 应用
开发小程序应用
开发网页应用
开发酷应用
概述
创建酷应用
开发群聊酷应用
开发单聊酷应用
概述
接入单聊酷应用
(可选)进阶功能
单聊酷应用开发参考
单聊相关跳转协议
开发消息菜单酷应用
开发链接增强酷应用
开发快捷指令酷应用
开发成员资料页酷应用
开发文档酷应用
开发机器人应用
发布应用
监控应用
开发应用
服务端API
客户端API
事件订阅
参考
常见问题
历史文档

单聊相关跳转协议

更新于 2024-01-11本文介绍单聊相关的跳转协议。

常用跳转协议

跳转页面

链接

参数

示例

PC端侧边栏

dingtalk://dingtalkclient/page/link?url=URL&pc_slide=true

  • url:跳转链接,需要进行urlencode。

  • pc_slide:固定值true

dingtalk://dingtalkclient/page/link?url=https%3A%2F%2Fwww.dingtalk.com%2F&pc_slide=true

PC端弹窗

dingtalk://dingtalkclient/page/link?url=URL&popup_wnd=true&title=TITLE&width=WIDTH&height=HEIGHT

  • url:跳转链接,需要进行urlencode。

  • popup_wnd:固定值true

  • title:弹窗的标题,需要进行urlencode。

  • width:宽。

  • height:高。

dingtalk://dingtalkclient/page/link?url=https%3A%2F%2Fwww.dingtalk.com%2F&popup_wnd=true&title=%E6%B5%8B%E8%AF%95&width=700&height=800

移动端半浮层

dingtalk://dingtalkclient/action/im_open_hybrid_panel?panelHeight=percent60&hybridType=online&pageUrl=URL

  • panelHeight:浮层高度,取值为(percent0~ percent100)。

  • hybridType:类型,固定值online

  • pageUrl:跳转链接,需要进行urlencode。

dingtalk://dingtalkclient/action/im_open_hybrid_panel?panelHeight=percent60&hybridType=online&pageUrl=https%3A%2F%2Fwww.dingtalk.com%2F

移动端全屏

dingtalk://dingtalkclient/page/link?url=URL

  • url:跳转链接,需要进行urlencode。

dingtalk://dingtalkclient/page/link?url=https%3A%2F%2Fwww.dingtalk.com%2F

开发者需要基于自己应用的实际场景和在单聊内用户使用时的具体需求来拼装一个单聊应用链接。

需要开发者通过链接参数来组装。例如从移动端页面的打开方式(推入页面、弹出页面等),到PC端的页面跳转逻辑(打开新容器或者左滑页面),都是通过链接参数的配置来实现的。

跳转到H5页面

link(侧边栏/容器划出)

示例:

Loading...

参数说明:

参数

说明

url

页面URL,必须做urlencode。

dd_mode

iOS端使用。

  • push:iOS从左向右推入一个容器

  • present:iOS从下向上弹出一个容器

pc_slide

pc_slide=true 时,PC 端会在应用内打开这个 URL。

跳转到应用

openapp(如工作台、浏览器、左划面板)

示例:

Loading...

参数说明:

参数

说明

container_type

展现的容器:

  • browser: 浏览器

  • slide_panel:左划面板

  • work_platform:工作台

corpid

企业的corpId。

app_id

  • 第三方企业应用

    应填写appId,参考基础概念

  • 企业内部应用

    应填写0_agentId,由数字0、下划线和agentId拼接组成。agentId可在应用详情中查看,参考基础概念

redirect_type

跳转类型:

  • jump:直接打开redirect_url

  • emit_params: 发射事件的方式

params

参数,首次打开要将此参数加到跳转url的参数列表内。

redirect_url

跳转url,需要urlencode。

slide_panel_option

左划面板的参数 PC版独有。

  • width:侧边栏宽度

  • showAppPage:展示页面

例如:{"width": 500,"showAppPage":true}

说明

{"width":500,"showAppPage":true}需要urlencode。

跳转到小程序

小程序 scheme支持跳转到第三方企业应用小程序、第三方个人应用小程序,请参考小程序 scheme

跳转到应用类型

小程序schema是否支持

企业内部应用

不支持

第三方企业应用

支持

第三方个人应用

支持

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

指定特殊打开方式

开发者需要基于自己应用的实际场景和在单聊内用户使用时的具体需求来拼装一个应用链接出来。需要开发者通过链接参数来组装。例如从移动端页面的打开方式(推入页面、弹出页面等),到PC端的页面跳转逻辑(打开新容器或者左滑页面),都是通过链接参数的配置来实现的。

以下以为例,详细说明一个链接是如何拼装出来的。

dingtalk://dingtalkclient/page/link?url=https%3a%2f%2fding-doc.dingtalk.com%2fdoc%23%2fpqkq0u%2feluagw%2f$CORPID$%2f$DOUBLE_ENCCID$

  • 开发者的目标页面地址:

    Loading...
    • 当你使用了钉钉统一跳转协议,这一部分将作为“钉钉统一跳转协议”地址的入参,所以需要经过urlEncode。

    • 当你没有使用钉钉统一跳转协议,可直接使用原始Url作为地址。不需要urlEncode。

  • 钉钉统一跳转协议(可选)

    Loading...
    • 这个部分决定了会以什么方式打开你指定的页面。目前支持的有“浏览器打开”、“侧边栏打开”等,每种方式对应的统一跳转协议的path不一样。

    • 部分统一跳转协议path,只在部分平台客户端可用,比如侧边栏打开只在pc和mac端可用。

  • 地址动参(可选)

    Loading...
    • 设置了这个动参,当用户点击这个访问开发者的地址时,url里的这部分动参可以替换为上下文的信息,比如corpid和openConversationId。

      目前可支持的动参如下:

      参数

      说明

      $CORPID$

      动态替换企业ID(corpId)

      $ENCCID$

      动态替换成单聊会话开放ID(openConversationId)。

      仅当不使用钉钉统一跳转协议时使用该动参。

      $DOUBLE_ENCCID$

      动态替换成单聊会话开放ID(openConversationId),区别在于二次urlencode,用于多次协议透传跳转urldecode。

      仅当使用钉钉统一跳转协议时使用该动参。

      $DOUBLE_ENCCID$二次url加解密是因为:钉钉以“dingtalk://”有一层内部协议,在解析这层协议需要加密一次;url参数后面的业务https协议透传给下游容器使用的时候也需要加解密一次;由于消费方2次解析需要,所以产生url时候也需要2次加密。

      示例产生url: urlencode(钉钉url?xxx=xxx & url = urlencode(业务url))

      示例解析url: a、urldecode(钉钉url)-> 得到业务url;b、urldecode(业务url)-> 可用参数

点击纠错