开发前必读
关于蓝信
蓝信是一个协同办公平台,提供即时通讯、通讯录管理、工作台等基础功能。蓝信开放平台为组织内及第三方开发者提供了丰富的接口开放能力,可供集成各类应用。蓝信中的“组织”,和一般意义上的单位及公司相对应,所有的蓝信用户都必须归属于某个组织。 蓝信面向中大型组织,提供了“独立平台”和“云平台”两种部署交付方式。
蓝信开放平台基本架构
蓝信开放平台分别通过服务端API和客户端API的方式将蓝信基础能力开放给应用。服务端API接口由蓝信服务端开平网关提供服务。蓝信客户端API由蓝信客户端JSSDK提供。 其基本逻辑架构如下:
蓝信组织管理后台
蓝信组织管理后台是管理蓝信组织的平台,包括人员管理,分支管理,可见性管理,标签管理,权限中心,公众号管理,应用管理,全局设置等管理功能。其中应用管理是管理组织内应用的安装,卸载,所属分支,数据授权范围,入口可见范围,工作台入口排序,分组,快捷入口管理等功能。 因为蓝信主要以独立部署方式交付客户,不同客户的组织管理后台地址不同,请联系对应组织的组织管理员获取组织管理后台地址。

蓝信开发者中心
蓝信开发者中心是管理蓝信应用开发的平台,包括开发者管理,自建应用开发管理,开发商入住管理,第三方应用开发管理,连接器开发管理等管理功能。 因为蓝信主要以独立部署方式交付客户,不同客户的组织管理后台地址不同,请联系对应组织的组织管理员获取蓝信开发者中心地址。

蓝信组织管理后台-应用市场
组织管理后台的应用管理中心,可以打开应用市场。组织管理员可以根据需要选择应用市场中的应用安装到当前组织使用。

蓝信应用工作台入口
蓝信提供多个类型客户端:Android, iOS, Windows, Mac, Linux 等。蓝信客户端会提供一个工作台入口页面用于展示集成到蓝信的应用列表,方便用户使用。不同用户是否可以看到某个应用入口的控制,可以在蓝信管理后台的应用管理中心进行应用入口的可见性设置。 ; Android蓝信客户端的工作台如下图:;

蓝信应用快捷入口
除蓝信工作台外,蓝信客户端支持多种方式的应用快捷入口:群会话快捷入口,私聊会话快捷入口,会话列表快捷入口,用户信息管理页快捷入口等。应用开发者可根据需要添加应用到不同的入口位置,方便用户使用。 ; Android蓝信客户端群聊快捷入口,私聊快捷入口,用户信息管理页快捷入口示例如下:;

应用访问凭证
开发者在蓝信开发者中心创建应用后,可以获取AppId,AppSecret,网关地址,授权页地址:
- AppId: 应用唯一标识,创建应用时由系统生成,应用开发者需要妥善保管,和AppSecret一起用于换取应用访问蓝信开放平台的app_token。
- AppSecret: 应用永久密钥,创建应用时由系统生成,应用开发者需要妥善保管,和AppId一起用于换取应用访问蓝信开放平台的app_token。
- 网关地址:蓝信开放平台服务端开放接口网关的接入地址,因为蓝信是以独立部署为主要交付方式,所以不同客户的开平网关接入地址不同,开发者中心创建应用后获取该地址。
- 授权页地址:蓝信开放平台人员身份临时授权码获取地址,因为蓝信是以独立部署为主要交付方式,所以不同客户的授权页地址不同,开发者中心创建应用后获取该地址。
- access_token:应用访问蓝信开放平台服务端接口的接口调用凭证,使用AppId&AppSecret从开平网关接口获取,2小时有效。接口说明参考:获取应用访问TOKEN

人员身份授权凭证
蓝信支持OAuth2.0开放授权协议,应用通过该协议方式获取人员授权信息。应用首先获取人员身份临时授权码code,然后使用code和app_token获取人员身份授权凭证user_token。根据人员访问凭证user_token可以获取人员身份信息。
- code: 临时身份授权码,5分钟有效且只能使用一次。参考身份授权说明了解具体方法身份授权。
- user_token:人员授权凭证,2小时有效,使用code和app_token通过开平网关接口获取。接口说明参考:获取人员访问TOKEN,获取人员访问TOKEN V2 其中v2版本支持refresh_token。
应用获取人员授权信息接口调用关系逻辑图如下:

OpenId体系
蓝信开放接口开放的数据涉及相关的Id信息,例如人员Id,分支Id,消息Id,群Id等。为保证数据安全性,所有的Id信息都是将原始Id值经过加盐混淆处理后的值,我们称之为OpenId。
针对组织自建应用,蓝信开放平台允许应用之间的信息互通,为保证自建应用间信息互通时的便捷性,同一个实体数据的OpenId值(例如同一个人员的OpenId),对组织内所有自建应用相同。
OpenId加盐混淆后的结果只包含数字、中划线和英文字母,长度不固定且大小写敏感, 其长度一般不超过64个字符长度,例如:524288-JWuYXInB2nP3IK82KfEVaMaMHLw8。
应用权限体系
蓝信服务端开放接口通过接口权限限制不同应用对接口和数据的访问。开发者根据需要在蓝信开发者中心的应用接口权限管理页面申请开通相关的接口权限,针对组织内自建应用,权限申请后会自动开通。

蓝信组织支持分级分权的管理体系。安装到组织的应用需要组织管理员或分支管理员在组织管理后台应用管理中心设置应用运营者,应用所属分支,应用数据读取范围,应用工作台入口的可见范围等配置信息。
- 应用运营者:应用在组织内的管理员,可登陆应用提供的管理后台对应用的业务相关逻辑进行管理,比如可设置考勤应用的用户范围和考勤规则等。
- 应用所属分支:应用分级分权的归属分支。组织管理员和该分支的分支管理员可以管理该分支下的应用。
- 应用数据读取范围:限制通讯相关接口应用数据读取范围。
- 工作台入口的可见范围:限制用户对工作台入口的可见范围。
以上各个范围的关系目前不做强制性的限制,原则上工作台入口可见范围<=应用数据读取范围<=应用所属分支范围

应用类型
应用按照目标用户或部署方式的不同,分为以下两种类型:
-
组织自建应用,应用只面向某个客户组织开发,或客户组织自行开发,需进行独立部署,只有与该组织归属于同一部署环境的各个组织可使用。 某些应用由蓝信应用开发团队开发或其他应用开发商开发,以独立部署方式交付客户时,也按组织自建应用处理。
-
第三方应用(ISV): 应面向所有的蓝信客户开发,采用SAAS云部署方式,上架蓝信应用市场,所有的蓝信客户组织都可以通过蓝信应用市场安装使用的应用。
| 应用类型 | 开发人员 | 使用人员 | 应用能力 | 部署方式 |
|---|---|---|---|---|
| 组织自建应用 | 组织内部开发者 | 组织内部人员 | 网页应用,机器人 | 针对用户组织独立部署 |
| 应用市场应用 | 独立应用开发商 | 所有蓝信组织用户 | 网页应用,机器人 | SAAS部署 |
开发类型
应用按开发实现方式可分为H5网页应用,蓝信客户端集成的原生应用,独立APP原生应用。
| 开发类型 | 适合场景 | 客户端API | 服务端API | 机器人能力 |
|---|---|---|---|---|
| H5网页应用 | 大部分功能场景,支持蓝信客户端内浏览器打开和外部浏览器打开 | 端内浏览器打开时支持JSSDK接口调用 | 支持 | 支持 |
| 寄生于蓝信客户端的原生应用 | 对体验和能力由较高要求的应用 | 原生接口封装SDK | 支持 | 支持 |
| 独立原生应用 | 独立原生应用,由蓝信工作台入口打开,或通过打开蓝信客户端方式获取用户身份授权 | 不支持 | 支持 | 支持 |
功能场景类型
应用按功能场景可分为链接跳转,纯消息提醒,机器人应用,标准OAuth应用。
| 场景类型 | 应用入口 | 对接身份授权 | 存在形式 | 应用示例 |
|---|---|---|---|---|
| 链接跳转 | 有 | 无 | 浏览器页面 | 蓝信工作台打开组织门户网站,仅需配置,无开发工作 |
| 纯消息提醒 | 无 | 无 | 应用服务端仅使用蓝信应用消息通道能力 | 运维告警系统 |
| 机器人应用 | 按需 | 按需 | 按需设计应用业务逻辑,使用蓝信机器人能力 | 智能客服系统 |
| 标准的OAuth应用 | 有 | 有 | H5/原生APP | OA办公/考勤/请假等 |
应用打开方式类型
应用按打开方式可分为蓝信客户端内打开,蓝信客户端内触发端外打开,端外浏览器打开,原生APP使用蓝信用户身份登录。只有蓝信客户端内打开的应用可以使用蓝信客户端JSSDK的业务接口。
| 场景类型 | 支持应用类型 | 身份授权方式 | 是否需要二次登录 | 应用示例 |
|---|---|---|---|---|
| 蓝信客户端内打开 | H5 | 蓝信优化的OAuth | 否 | OA办公/考勤/请假等蓝信工作台H5应用 |
| 端内触发端外打开 | H5/原生 | 蓝信前置授权 | 否 | 工作台触发,PC端外部浏览器打开的web应用,或工作台触发打开的原生APP |
| 端外浏览器打开 | H5 | 标准OAuth | 是(账密/客户端扫码登录) | 纯web浏览器应用 |
| 原生APP使用蓝信用户身份登录 | 原生APP | 原生应用使用蓝信用户身份登录 | 调起蓝信客户端登录 | 直接打开原生APP时选择使用蓝信用户身份登录 |
蓝信组织人员身份体系说明
蓝信组织成员由以下几种角色组成:
-
组织普通人员 - 拥有蓝信业务功能的使用权限,可以登录蓝信客户端,使用权限和可见范围内的蓝信功能。
-
组织管理员 - 拥有组织最高管理权限,可以登录蓝信组织管理后台,对组织进行管理。 可以登录蓝信开发者中心,对开发者人员身份和应用开发相关功能进行管理。
-
分支管理员 - 分级分权模式下拥有组织内某个分支的管理权限,可以登录组织管理后台,对分支下所属功能进行管理。
-
应用开发者 - 拥有应用开发的相关权限,可以登录蓝信开发者中心,进行应用开发的相关管理工作。
-
应用运营者 - 拥有组织内已安装应用的管理权限,可以登录蓝信组织管理后台,对所管理应用的所属分支、数据读取范围、工作台入口可见范围等功能进行管理,同时可以以应用管理员身份登录应用管理后台(由具体应用提供),对组织成员在应用内的功能逻辑进行管理,例如设置考勤应用的人员范围和考勤规则等。
-
公众号运营者- 用户组织内公号的运营权限,可以登录蓝信管理后台的公众号管理中心,对所负责的公众号进行运营管理各个角色成员在管理后台和客户端的权限列表如下|角色|蓝信管理后台|蓝信开发者中心| 蓝信客户端 |
|-----------------|---------------|-------------|------------| | 组织普通人员 | 否 | 否 | 是| | 组织管理员 | 是 | 是| 是| | 分支管理员 | 部分 | 部分| 是| | 应用开发者 | 否 | 部分| 是| | 应用运营者 | 部分 | 否| 是| | 公号运营者 | 部分 | 否| 是|
成为蓝信组织成员
针对独立部署方式的客户组织,需要联系应用开发者所在组织的组织管理员添加开发者为组织成员,在蓝信组织管理后台-通讯录-人员管理页进行人员添加。

成为蓝信开发者
联系应用开发者所在组织的组织管理员添加开发者为蓝信组织开发者,在蓝信开发者中心-开发者管理页进行组织开发者添加。成为蓝信组织开发者后,可登录蓝信开发者中管理后台进行应用创建,编辑等操作。

自建应用开发接入体验
按照软件开发的特点,应用开发一般的流程:需求定义、开发、测试、上线发布、问题修复及版本迭代。 我们以打开普通链接应用为例,无须开发,快速体验应用创建,发布,和使用的过程。

成为开发者
参考成为蓝信开发者说明 成为开发者,获取蓝信开发者权限,并且获取当前开发组织的开发者中心接入地址。
创建应用
获取蓝信应用开发者身份后,打开蓝信开发者中心,创建自建应用,需开发者提供以下信息:
- 应用名称,必选
- 应用图标,建议尺寸为512 * 512px,圆角34px,以保证平台应用图标视觉风格的一致性。
- 入口地址,在蓝信客户端工作台的跳转地址(可选,若无工作台入口,则无需提供)
自建应用创建后会自动安装到本组织,组织管理员可通过蓝信组织管理后台进行权限和可见性的相关配置。

配置应用权限和可见性
请组织管理员协助,在蓝信组织管理后台的应用管理中心,将开发者设置为应用运营者。
应用创建完成自动安装到本组织时,默认状态为测试模式打开,在此状态下,只有组织管理员和应用运营者等管理角色人员可以在蓝信客户端的工作台看到该应用入口。

体验应用打开
开发者登录蓝信客户端(开发者目前是体验应用的运营者身份),可以在蓝信客户端的工作台列表中看到该体验应用,因为应用入口是个门户网站链接地址,可以直接点击打开应用。

开发说明
上述体验应用以无须开发工作的链接应用作为示例让开发者了解应用开发者在蓝信开放平台对应用的管理过程。针对需要对接蓝信身份授权和其他业务能力的应用,开发者需要完成以下的工作:
-
应用创建,应用创建完成后从开发者中心的应用详情页获取如下四个参数,一般作为应用服务端调用蓝信开放平台接口时的配置参数使用。
- AppId: 应用唯一标识,应用使用 AppId & AppSecret 通过开平接口换取AppToken
- AppSecret: 应用永久密钥,开发者需要妥善保管,应用使用 AppId & AppSecret 通过开平接口换取AppToken
- 开放平台网关地址:用户平台部署实例的开放平台网关接入地址,应用访问服蓝信开放平台服务端接口时使用
- 授权页地址:用户平台部署实例的开放平台人员身份授权地址,应用通过访问授权页地址获取人员临时授权码(一般适用于系统浏览器打开的纯web应用)
-
开发测试
- 应用开发完成后,部署应用
- 将应用实际的入口地址配置到蓝信开发者中心的应用入口地址配置参数中
- 开发者可以登录蓝信客户端,通过工作台入口打开应用进行测试
-
发布上线
- 请组织管理员协助在组织管理后台的应用管理中心将相关应用开发者设置为应用运营者(或请组织管理员安排应用运营者角色人员)
- 组织内部应用,创建后自动发布到本组织。以应用运营者身份登录蓝信组织管理后台应用管理中心,关闭应用的“测试模式”,设置入口可见范围后,应用即可正式使用。
自建应用开发流程
按照软件开发的特点,应用开发一般的流程:需求定义、开发、测试、上线发布、问题修复及版本迭代。 我们以H5应用为例,说明自建应用接入的基本流程和注意事项。

成为开发者
参考成为蓝信开发者说明 成为开发者,获取蓝信开发者权限,并且获取当前开发组织的开发者中心接入地址。
创建应用
获取蓝信应用开发者身份后,打开蓝信开发者中心,创建自建应用,需开发者提供以下信息:
- 应用名称,必选
- 应用图标,建议尺寸为512 * 512px,圆角34px,以保证平台应用图标视觉风格的一致性。
- 入口地址,在蓝信客户端工作台的跳转地址(可选,若无工作台入口,则无需提供)
自建应用创建后会自动安装到本组织,默认情况下,工作台入口为“测试模式”,此时该工作台入口只对组织管理员,分支管理员,应用开发者可见。

获取蓝信开放平台接入凭证
应用创建完成后,在应用详情页,可以获取应用凭证和平台接入地址。
- AppId: 应用唯一标识,应用使用 AppId & AppSecret 通过开平接口换取AppToken
- AppSecret: 应用永久密钥,开发者需要妥善保管,应用使用 AppId & AppSecret 通过开平接口换取AppToken
- 开放平台网关地址:用户平台部署实例的开放平台网关接入地址,应用访问服蓝信开放平台服务端接口时使用
- 授权页地址:用户平台部署实例的开放平台人员身份授权地址,应用通过访问授权页地址获取人员临时授权码(一般适用于系统浏览器打开的纯web应用)

客户端工作台查看应用
开发者登录蓝信客户端,可以在蓝信客户端的工作台列表中看到该应用。此时因为还没有应用开发还没有完成,所以无法打开。

开发说明
针对需要对接蓝信身份授权和其他业务能力的应用,开发者需要以下的工作:
-
对接蓝信开发平台身份授权。详细流程参考 蓝信身份授权。 如果应用是在蓝信客户端内打开,我们推荐使用“OAuth优化流程”。
针对前后端分离的H5应用,为了改善用户体验,建议应用在获取蓝信用户身份之后,通过cookie和session对用户在应用内的登录状态进行一定时间的缓存,例如3天。这样用户在3天内再次打开应用时,应该可以快速获取用户身份。只有当session过期后,应用才需再次和蓝信开放平台交互获取人员身份授权。 -
对接蓝信JSSDK。如应用的业务逻辑中需要用到蓝信客户端的能力,则需要对接蓝信JSSDK。JSSDK接口的调用需要对当前页面进行JSSDK签名认证,相关流程参考JSSDK签名认证。
-
应该可以根据需要对接蓝信开放平台的其他业务能力。
-
开发测试
- 应用开发完成后,部署应用
- 将应用实际的入口地址配置到蓝信开发者中心的应用入口地址配置参数中
- 开发者可以登录蓝信客户端,通过工作台入口打开应用进行测试
-
发布上线
- 组织内部应用,创建后自动发布到本组织。蓝信组织管理后台应用开发者中心,关闭应用的“测试模式”,设置入口可见范围后,应用即可正式使用。
ISV应用开发流程概述
ISV应用指的是应用开发完成后,需要上架到蓝信的应用市场的应用,用户组织可根据需要在蓝信应用市场选择应用进行安装使用。ISV应用的开发流程包括:成为开发者,开发商入驻,创建ISV应用,应用开发,应用测试,应用上架申请,完成应用上架审核,应用市场安装使用。

成为开发者
参考成为蓝信开发者说明 成为开发者,获取蓝信开发者权限,并且获取当前开发组织的开发者中心接入地址。
开发商入驻
成为蓝信开发者后,登录蓝信开发者中心,进行开发商信息填写和开发商入驻申请。

开发商入驻申请提交后,申请进入等待审核状态。

蓝信应用市场管理员完成开发商审核后,申请状态会变更为已通过。

创建应用
获取蓝信应用开发者身份后,打开蓝信开发者中心,创建ISV应用,需开发者提供以下信息:
- 应用名称,必选
- 应用图标,建议尺寸为512 * 512px,圆角34px,以保证平台应用图标视觉风格的一致性。
- 入口地址,在蓝信客户端工作台的跳转地址(可选,若无工作台入口,则无需提供)
自建应用创建后会自动安装到本组织,组织管理员可通过蓝信组织管理后台进行权限和可见性的相关配置。

体验应用打开
开发者登录蓝信客户端,可以在蓝信客户端的工作台列表中看到该体验应用,因为应用入口是个门户网站链接地址,可以直接点击打开应用。

开发说明
上述体验应用以无须开发工作的链接应用作为示例让开发者了解应用开发者在蓝信开放平台对应用的管理过程。针对需要对接蓝信身份授权和其他业务能力的应用,开发者需要完成以下的工作:
-
应用创建,应用创建完成后从开发者中心的应用详情页获取如下四个参数,一般作为应用服务端调用蓝信开放平台接口时的配置参数使用。
- AppId: 应用唯一标识,应用使用 AppId & AppSecret 通过开平接口换取AppToken
- AppSecret: 应用永久密钥,开发者需要妥善保管,应用使用 AppId & AppSecret 通过开平接口换取AppToken
- 开放平台网关地址:用户平台部署实例的开放平台网关接入地址,应用访问服蓝信开放平台服务端接口时使用
- 授权页地址:用户平台部署实例的开放平台人员身份授权地址,应用通过访问授权页地址获取人员临时授权码(一般适用于系统浏览器打开的纯web应用)
-
开发测试
- 应用开发完成后,部署应用
- 将应用实际的入口地址配置到蓝信开发者中心的应用入口地址配置参数中
- 请组织管理员协助在组织管理后台的应用管理中心将相关应用开发者设置为应用运营者
- 开发者可以登录蓝信客户端,通过工作台入口打开应用进行测试
-
发布上线
- ISV应用,测试完成后需要申请发布到蓝信应用市场。应用市场管理员审核通过后,组织用户可以在蓝信应用市场看到该应用并按需选择安装使用。
蓝信消息提醒开放能力
根据业务需求,应用需要把某些事件或待办任务提醒通知到单个或批量人员。蓝信开放平台提供了以下几种事件提醒的方式供应用选择使用。太多太频繁的消息提醒会对用户造成一定程度的打扰,应用开发者需要根据实际的业务场景合理选择消息提醒的方式。
- 应用号消息提醒
- 人员私聊消息提醒
- 人员群聊消息提醒
- 机器人私聊消息提醒
- 机器人群聊消息提醒
- 摘要消息提醒(通知方式)
- 工作台应用入口红点提醒
蓝信会话类消息支持的消息体类型
蓝信会话类消息提醒支持的消息类型参考消息体类型。 推荐使用的是appCard 消息提类型,格式灵活,样式丰富,同时支持状态的动态更新。
应用号消息提醒
应用号是绑定应用的消息通道,通过应用号消息发送接口 发送应用消息 ,应用以应用号的身份给相关人员发送提醒消息。应用号消息发送接口的接收者支持人员Id列表和分支Id列表,可以给单个人员,一组人员或一组分支下的人员进行消息提醒的发送。在会话列表中应用号消息和普通广播号消息会话相同,是以 “应用号–人员” 的消息会话方式展示。大多数的会话消息体类型都支持打开应用详情页的链接,人员收到消息后可以点击消息卡片跳转对应的应用详情页面。
针对应用到人员的单向提醒消息通知的业务场景,我们推荐应用使用应用号消息提醒方式。
应用号消息提醒在会话中的展示示例如下:

人员私聊消息提醒
蓝信开放平台提供接口能力,允许应用的业务逻辑中以当前人员的身份(自然人员)向其他人员(自然人)发送消息。例如,红包应用中,甲人员向乙人员发送红包时,会在甲乙两人的私聊会话中有个红包消息提醒。私聊消息提醒的接口参考发送人员私聊消息提醒。为保证安全性,应用使用人员私聊消息接口时,作为当前人员身份标识的user_token是必填字段,作为发送者的身份校验凭证。
针对应用中当前人员以自然人身份向其他人员发送私聊消息的场景可以使用私聊消息提醒。
私聊消息提醒在会话中的展示示例如下:

人员群聊消息提醒
有些应用可以在群聊会话的快捷入口中打开并使用,例如视频会议,可以在群聊会话的快捷入口中打开,并选择群内人员作为会议的参会人员,非常方便。蓝信开放平台提供接口允许应用中的用户以人员(自然人)身份向群内发送消息,接口参考发送人员群消息。为保证安全性,应用使用人员群聊消息接口时,作为当前人员身份标识的user_token是必填字段,作为发送者的身份校验凭证。
针对人员在应用中以人员(自然人)身份向群内发送消息的场景,可以使用人员群聊消息提醒。
人员群聊消息提醒在会话中的展示示例如下:

机器人私聊消息提醒
所谓机器人的概念是让应用具备自然人的能力,可以和自然人用户进行私聊和群聊的消息交互。应用开启机器人能力后,可以以机器人身份向自然人用户发送私聊消息。智能机器人私聊消息发送接口参考发送机器人私聊消息。应用订阅了机器人私聊消息回复事件后,蓝信开放平台会将自然人发给机器人的回复消息通过回调的方式交给应用,应用可以实现相关逻辑完成和自然人的消息交互。智能机器人应用开发的详细说明参考智能机器人开发说明。
自然人用户可以通过蓝信客户端,通讯录--->联系人--->智能机器人 查看组织内的智能机器人列表,并发起和机器人的私聊。
针对机器人客服或智能问答场景的应用可以使用机器人私聊消息提醒,完成应用和自然人的私聊消息交互。
机器人私聊消息在会话中的展示示例如下:

机器人群聊消息提醒
webhook机器人:
为了应用开发者能方便的向特定的群内发送消息提醒,蓝信开放平台提供了webhook机器人能力。该能力仅支持应用开发者向群内单向发送消息提醒,不支持群成员和机器人的双向交互。webhook机器人的使用说明参考webhook群机器人开发说明
应用智能机器人:
具有了自然人行为属性的智能机器人,可以像自然人一样被加入到群内成为群成员。应用通过接口查询机器人所在群列表可以获取机器人所在的群列表。 应用可以通过接口 发送机器人群消息向群内发送消息。群内自然人成员可以通过@机器人的方式,给群内的智能机器人发送消息。应用订阅了机器人群聊消息回复事件后,蓝信开放平台会将自然人@机器人的回复消息通过回调的方式交给应用,应用可以实现相关逻辑完成和群内自然人的交互。智能机器人应用开发的详细说明参考智能机器人开发说明。
自然人用户可以通过蓝信客户端,通讯录--->联系人--->智能机器人 查看组织内的智能机器人列表,可选择将机器人加入特定的群组,并和群成员进行互动。
针对机器人客服或智能问答场景的应用可以使用机器人群聊消息提醒,完成应用和自然人在群内的消息交互。
机器人私聊消息在会话中的展示示例如下:

摘要消息提醒(原通知消息)
该消息类型仅在会话列表中展示消息摘要,不展示会话消息详情,点击会话摘要直接跳转应用首页入口。摘要消息发送接口参考发送摘要消息。
该类消息在蓝信客户端会话中的未读数由应用自己控制,应用可以使用获取摘要消息会话状态接口查询查询通知消息会话状态,并通过更新摘要消息会话状态接口更新消息未读数状态更新通知消息会话状态
仅适用于通知,邮件等特定待办数量&摘要类型的消息场景,普通办公类卡片消息不建议使用该接口。
摘要消息提醒在会话中的展示示例如下:

工作台应用入口红点提醒
蓝信客户端第三屏是蓝信工作台应用列表。当人员在某个应用内有待办任务时,应用可以通过开放接口设置该用户的工作台红点提醒。应用工作台入口红点数据提醒开放接口参考发送应用事件 。应用对接蓝信工作台红点的详细说明参考应用入口红点开发说明。
针对人员在应用内的业务待办数量,应用可以选择使用蓝信工作应用入口红点提醒。
工作台红点提醒在蓝信工作台的示例如下:

蓝信客户端应用入口说明
为进一步提高用户的协同办公能力,蓝信支持“单应用-多入口”,每个应用可配置多个不同的入口用于在客户端业务的区分。本文将主要介绍蓝信客户端的应用入口位置有哪些,如何配置快捷入口及如何在EMC组织管理后台管控已创建的快捷入口。
蓝信客户端应用入口位置
| 入口位置 | 引入版本 |
|---|---|
| 工作台入口 | 1.0.0 |
| 群聊会话消息菜单 | 1.0.0 |
| 群聊会话快捷栏 | 1.0.0 |
| 私聊会话消息菜单 | 1.0.0 |
| 公众号会话消息菜单 | 1.0.0 |
| APP导航菜单 | 3.10.0 |
| 蓝名片快捷栏 | 1.0.0 |
| 个人中心 | 1.0.0 |
| 私聊消息快捷操作 | 3.10.0 |
| 群聊消息快捷操作 | 3.10.0 |
| 消息导航栏 | 3.10.0 |
不同入口与客户端对应示意图:








入口管理方式


开发者配置蓝信应用入口
开发者登录蓝信应用开发者中心,创建应用时和编辑应用时,可以对应用的各种入口进行添加和设置。

组织管理员管理应用入口
- 组织内工作台应用入口管理
组织管理员或分支管理员登录组织管理后台,应用中心-->应用管理-->应用详情-->入口设置, 可以设置应用工作台入口在当前组织内的可见范围。

组织管理员或分支管理员登录组织管理后台,应用中心-->工作台-->自定义工作台,可以对工作台进行管理,创建自定义工作台,设置工作台内应用分组等。

- 组织内各种快捷应用入口管理
应用开发者在开发者在开发者中心设置了除工作台外的各种快捷入口后,快捷入口在客户端会有默认的展示样式。如果组织想对组织内的各种快捷入口进行进一步的管理,例如分组,排序等管理,则需要开通组织内快捷入口管理的高级功能。快捷菜单内除应用外,还包含很多蓝信客户端内置功能的快捷入口,所以快捷菜单的管理入口不在应用管理中心的分类范围内。
全局设置-->快捷菜单配置

- 组织用户设置自己个性化的工作台
蓝信客户端用户打开工作台时会展示组织管理员配置好的工作台展示样式,这个展示样式基本能满足大多数情况下的用户使用场景。如果用户对自己工作台有个性化配置的需求,可以通过蓝信客户端的工作台配置功能进行个性化的配置。

应用入口待办红点
应用工作台和快捷入口红点
作为一款协同办公平台,蓝信客户端为集成到蓝信的各种应用提供了丰富的应用入口:工作台入口,扩展屏入口,群聊会话+号快捷入口,私聊会话+号快捷入口,个人信息详情页快捷入口等。
针对某些待办类型应用,用户在不同应用中可能会有不同数量的待办事项,为了让用户能够在蓝信客户端内方便直观的查看该用户在不同应用内的待办事项数量,蓝信开放平台提供了蓝信应用入口待办事项未读数角标,也就是应用入口红点状态更新的完整解决方案。
应用入口红点展示支持两种格式,一种是展示未读数角标,可以展示待办数量;另外一种是展示未读数红点,只展示有待办任务,不展示数量。 应用工作台未读数角标展示的示例如下图。

应用入口角标代表的是人员在应用内的待办任务数量。蓝信开放平台提供开放接口允许应用将用户在应用内的待办数据同步到蓝信客户端。
- 提供应用事件发送接口(应用事件推送),允许应用将用户红点数据同步到蓝信客户端。
- 当客户端不在线时,推送的红点数据无法送达客户端,为了解决离线客户端重新上线后对应用红点数据同步问题,提供了应用事件查询接口(应用事件查询回调接口)。 应用事件查询接口需要由应用实现,并且将接口地址注册到蓝信开发者中心-应用详情页-回调事件-动态数据拉取地址。需要说明的是,应用事件查询动作需要由应用事件发送接口触发,也就是说只有应用调用了应用事件推送接口,并且在接口中指定了需要将数据同步到离线客户端设备时,客户端上线后才会触发对应用事件的查询接口调用。应用事件推送和查询的逻辑如下图所示。

蓝信支持单应用多入口,为了支持不同入口展示不同的待办数量状态,事件发送接口和事件查询接口中都支持一个入口ID参数entryId。该参数可以在蓝信开发者中心-应用详情页-入口管理 中获取。

应用会话入口红点
蓝信会话列表支持应用会话类型作为应用入口。会话类型应用入口一般适用于通知,邮件,待办等被动接收新任务提醒类型的应用。应用会话入口同样支持用户在该应用的待办数量角标红点,示例如下图所示。

应用会话入口的生成由应用调用蓝信开放接口发送应用通知类型消息触发,详见 发送应用通知消息。该消息和应用号消息不同,不会展示消息内容详情,会话列表中只展示最后一条消息内容的摘要。点击应用会话入口会直接跳转应用首页(该地址在蓝信开发者中心创建应用时配置)。当应用中针对某个用户的消息量较大时,建议应用对用户的消息进行聚合,例如每分钟发送一条。 原因是应用会话不会展示消息详情,只在会话列表中展示最后一条消息的摘要,所以高频发送应用通知消息是没有意义的。
会话列表中应用会话的未读数角标由应用通过蓝信开放接口进行设置,详见更新通知消息会话状态。当用户在应用内的待办事项发生变更时,并且应用使用了会话入口,应用需要通过调用更新通知消息会话状态接口对未读数角标红点进行更新。该接口还可以设置用户应用会话的免打扰状态,该属性不是必须项,应用根据业务场景决定是否使用。
开放平台提供了通知消息会话状态查询接口,可以查询某个用户的应用会话的免打扰设置状态。 如果应用不对应用会话设置免打扰选项,则无须调用该查询接口。详见获取通知消息会话状态。
特别说明:用户在应用内对业务进行操作后,会触发应用调用开平接口更新蓝信客户端应用入口红点数量,同时可能还会调用开平接口发送新的消息摘要。由于红点数量更新和消息摘要的发送都会触发蓝信客户端刷新会话状态,在高并发场景下,红点数量更新接口调用和消息摘要发送接口调用两步操作的不正确的调用顺序可能会导致个别情况下的蓝信客户端应用会话红点数量展示异常。
针对以上问题,我们建议应用先进行红点数量更新的开平接口调用,等接口正确返回后再触发消息摘要发送的开平接口调用。
连续位置上报场景
某些应用的业务场景中,需要关注用户在某个时间段内的轨迹位置信息,比如外勤应用,在用户的外勤活动期间,需要记录用户的活动轨迹信息。蓝信开放平台提供用户位置信息持续上报功能,可以协助h5应用完成对用户活动轨迹的记录。
连续位置上报接入流程图

针对h5应用使用蓝信持续位置上报功能的说明:
- 当应用需要开启持续定位功能时,应用前端调用蓝信提供的JSSDK中的 “开启持续定位" 接口开启蓝信客户端的持续定位功能。开启持续定位JS接口
- 蓝信JSSDK提供接口供应用查询当前设备持续定位功能是否开启。持续定位状态查询JS接口
- 当应用前端处于激活状态(打开状态)时,蓝信客户会通过应用的JS回调接口将持续定位数据推送给应用。持续定位数据接收JS接口
- 蓝信客户端会判断开启持续定位的应用前端是否处于激活状态,如果是,则通过JS回调接口直接将持续定位数据推送给应用前端。如果应用前端处于未激活状态(应用关闭),则蓝信客户端会将数据上报蓝信服务端。
- 当应用前端处于关闭状态时,客户端没办法通过前端的JS接口将持续定位数据推送给应用,此时蓝信客户端会将持续定位数据上报蓝信服务端。
- 应用需要实现一个接收持续定位数据的服务端回调接口,并将回调地址注册到蓝信开发者中心的回调管理页面中,同时需要订阅”位置通知“事件。蓝信服务端会将持续定位数据推送给应用的服务端回调接口。应用服务端回调接口实现方式参考说明文档:事件回调
- 当应用不再需要持续定位数据时,应用需要通过调用JSSDK接口的方式关闭设备的持续定位功能。关闭持续定位JS接口
- 蓝信JSSDK提供接口供应用查询当前设备持续定位功能是否开启。

前端JSSDK回调接口
前端JSSDK接口请参考以下接口文档:参考文档
服务端持续定位回调接口
应用服务端回调接口实现说明参考文档:事件回调
服务端持续定位回调接口的位置通知事件定义如下:
位置通知 (type="report_location")
| 参数 | 类型 | 描述 |
|---|---|---|
| locationInfo | map | 需要推送的一些键值对 ; staffId - 人员id; deviceId - 设备 id; time - 时间; latitude - 纬度; longitude - 经度; accuracy - 精度; province - 省份; district - 地区; city - 城市; address - 地址; road - 道路; street - 街道; sceneId - 场景id; speed - 速度 |
{
"locationInfo":{
"staffId":"xxx",
"deviceId":"",
"time":"",
"latitude":"",
"longitude":"",
"accuracy":"",
"province":"",
"district":"",
"city":"",
"address":"",
"road":"",
"street":"",
"sceneId":"",
"speed":""
}
}
交互说明
应用首次调用持续定位JSSDK,需要经过用户授权,授权弹窗由客户端提供、在应用调用JSSDK时弹出。
首次使用定义:当前设备、当前用户、当前应用首次调用持续定位。

图标:显示应用的工作台图标
申请方:应用名称申请
标题:固定文案“持续获取你的位置信息”
描述:由应用提供,用于描述持续获取位置的用途【默认文案:需要持续获取位置信息,可在应用中或消息顶部状态栏中停止其获取位置信息。】
拒绝:点击后关闭弹窗,该应用无法调用持续获取位置。拒绝后在通知应用,应用可在需要时再次申请、申请时机由应用决定。
允许:点击后关闭弹窗,应用开始持续获取位置信息。
应用使用持续定位过程中,需要提醒用户正在使用持续定位的应用。
状态栏
在消息tab顶部,他端登陆状态栏下增加持续定位应用状态提示。
如果有持续定位的应用则显示,没有则不显示。点击后可进入位置采集列表页面。
文案规则:
(1)如果只有一个应用则显示xxx 正在使用位置信息
(2)如果多于两个应用则显示n个应用正在使用位置信息
位置采集
标题:位置采集
提示:正在使用位置信息的应用
列表:
(1)显示正在使用位置信息的应用图标、名称、停止定位操作。
(2)列表按照应用调用开始持续定位的时间倒序排列。
(3)点击停止定位弹窗确认“确定停止 应用名称 继续使用位置信息?”、“取消”、“确定停止”;点击取消关闭弹窗;点击确定停止后,停止应用该应用持续获取位置信息,应用从列表中移除。
(4)所有应用都移除后列表为空,提示“没有应用使用位置信息”,同时消息tab中的状态栏消失。

多设备登录的情况
一、同一账号不能在多设备同时登录 1、用户在A设备登录账号后,在应用中启用实时位置上报功能。 2、退出应用后,只要蓝信进程仍然存续,则持续上报位置。当蓝信进程不在时,停止位置上报。再次启动蓝信后,恢复持续上报位置,直到用户手动关闭该功能。 3、用户在B设备登录账号后,A设备该账号自动退出登录,此时停止A设备位置上报。B设备的位置上报功能需用户手动开启。
二、同一账号允许在多设备同时登录 1、用户在A设备登录账号后,在应用中启用实时位置上报功能。 2、退出应用后,只要蓝信进程仍然存续,则持续上报位置。当蓝信进程不在时,停止位置上报。再次启动蓝信后,恢复持续上报位置,直到用户手动关闭该功能。 3、用户在B设备登录账号后,B设备的位置上报功能需用户手动开启。如果用户在B设备上开启位置上报功能,则服务端通知A设备停止位置上报。
位置数据收集策略
间隔1分钟上传一次,每个应用最多60条数据 端上限制最多允许3个应用开启后台持续定位 如果有多个应用同时开始持续定位,各应用开始和结束时间段不同,则开始时间以最早开启采集位置信息的应用为准,结束时间以最晚结束采集位置信息的应用为准,客户端采集的位置信息为一套统一的数据信息。
如果有多个应用同时开始持续定位,其中任意一个应用停止持续定位后后,位置信息采集仍然继续,直到所有应用都主动停止持续定位、用户结束所有应用持续定位、蓝信进程不在后,客户端停止位置采集。