跳到主要内容

跳转电子签H5

1. App集成电子签H5兼容性适配

  1. 人脸核身兼容性适配。参考人脸核身 App 调用 H5 兼容性配置指引

  2. B2B场景或B2C填写场景,选择文件或图片上传适配。参考Android WebView选择图片、发送图片

  3. B2B场景,文件下载适配。企业认证时,用户可以下载模板文件。Android App中,需拦截 Webview 下载操作,转系统调用。调用 webview.setDownloadListener() 接口设置下载拦截,可以使用系统下载或者App自己实现。

  4. B2B场景,拦截weixin://可跳转到微信小程序创建印章。重写 Webview shouldOverrideUrlLoading 或 WKNavigationDelegate 接口,遇到weixin://开头的链接时,转系统调用。目前,H5 B2B合同签署未实现企业印章创建的流程,需引导到微信小程序中创建。

  5. (可选) 拦截返回应用的qianapp://。需要从电子签H5直接返回App原生页面时,且配置对应的JumpUrl格式之后,才需要适配。

初次使用Android Webview时,建议先参考 Android-AdvancedWebView ,了解各种适配相关的接口。Android Webview上需要各种适配之后,其功能才接近于手机浏览器。检验自己的适配是否成功,分别在手机浏览器与自己App Webview打开H5页面,两者的功能差异。

文件下载参考:

拦截 URL scheme 参考:

UniApp HTML5Plus:

使用UniApp构建App时,可以直接使用其Webview组件集成电子签H5。先配置好App所需的相机、麦克风、文件存储、文件读取、访问文件系统等权限,可参考人脸核身 App 调用 H5 兼容性配置指引使用的权限点。再配置HTML5Plus WebviewObject.overrideUrlLoading(),可以拦截 URL scheme 实现返回到UniApp本地页面。

2. 获取电子签H5链接

可参考获取H5签署链接获取H5批量签署链接 ,以及其它与H5相关的接口。

H5签署、认证等链接因涉及人脸核身,不支持在iframe中使用,请参考“3.1 腾讯电子签H5 → 集成方H5”配置JumpUrl串联业务流程。

3. 返回应用JumpUrl格式

App集成H5时,在电子签H5页面完成签署之后,一般需要返回到集成方的H5或原生页面。针对这两种不同的集成方式,集成方需要传不同的JumpUrl数据格式与兼容性适配。

3.1 腾讯电子签H5 → 集成方H5

该场景表现为:双方H5均在普通浏览器、APP Webview中。

JumpUrl格式: https://YOUR_CUSTOM_URL/xxxx,只需满足 https:// 开头的正确且合规的网址即可。

注意: 根据安全要求,浏览器或Webview可能不允许跳转到普通的http协议。

返回应用时携带的数据:当query中有appendResult=qian时,在YOUR_CUSTOM_URL后面添加query参数签署成功的参数,具体格式参考 返回应用数据格式 ,比如 https://YOUR_CUSTOM_URL?flowId=xxx&action=sign&result=success&from=tencent_ess。 否则,直接跳转到原始的JumpUrl。

3.2 腾讯电子签H5 → 集成方原生App

该场景表现为:通过原生App的Webview承载腾讯电子签H5。

JumpUrl格式: qianapp://YOUR_CUSTOM_URL,只需满足 qianapp:// 开头的URL即可。

注意: APP实现方,需要拦截Webview地址跳转,发现url是 qianapp:// 开头时跳转到原生页面。

返回应用时携带的数据:仅当query中有appendResult=qian时,在YOUR_CUSTOM_URL后面添加query参数签署成功的参数,具体格式参考 返回应用数据格式 ,比如 qianapp://YOUR_CUSTOM_URL?flowId=xxx&action=sign&result=success&from=tencent_ess。 否则,直接跳转到原始的JumpUrl。

4. 返回应用数据格式

返回到集成方应用时,每个字段的TS类型定义如下:

// 签署、填写、拒签,返回格式如下
{
flowId: string,
showStatus: number, // 注: 签署时,仅表示提交签署任务成功,showStatus 可能还是 3
action: 'fill' | 'sign' | 'reject_fill' | 'reject_sign' | 'view' | '',
result: 'success' | 'fail' | '',
from: 'tencent_ess'
}

注意: 有的场景不包含上面的所有字段。比如,批量签署或开通自动签,无flowId。

购买咨询
微信客服
4006-808-062
4006-808-062