在线服务接口:高QPS,低延迟,适合大的并发量且实时的场景,开启此接口需提前配置Redis资源,如未配置资源直接进行调用,则调用失败。
在线服务配置入口: 项目中心-在线服务-任务管理。
注意
此接口实现了1.0版本里面的获取用户属性信息和获取用户标签信息,并增加新功能,允许查询传入非基准id的数据,前提是需要导入在线服务的待查询的id与基准id的idmapping的映射关系。
idmapping的配置可以参考 2.3 idmapping 高qps接口中的在线服务配置。
点击“数据档案服务配置”进入该页面。在当前页面支持按照主体及业务系统筛选标签/主体属性/行为事件/业务明细。需注意,可选择的业务系统必须是已经配置在在在线服务接口中的业务系统。
基本信息
生效版本 | 1.18+ |
---|---|
功能描述 | 通过查询用户的基准id获取其属性 |
接口模块 | OnlineApi |
接口名称 | GetUserProfileWithPrivacy |
请求类型 | POST |
请求参数
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
ApiAction | String | 是 | 对应“基本信息”中的“接口名称” |
ApiVersion | String | 是 | 版本号: 2023-02-10 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
Authorization | String | 是 | 见《开发前必读》3.3中提到的签名 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
project | string | 是 | 租户code |
profile_request | object | 是 | 具体的参数如下 |
profile_request 里面的字段信息
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
id | string | 是 | 用户的id |
id_type | string | 是 | 用户的id 类型,例如baseid, uid |
properties | 整数数组 | 是 | 属性id |
tags | 整数数组 | 是 | 标签id |
ignore_illegal_data | int | 否 | 1.21版本新增功能 |
响应参数
名称 | 数据类型 | 描述 |
---|---|---|
code | int64 | |
message | string | |
properties | map结构 | 属性的结果,key 是属性id, value 是属性的值 |
tags | map 结构 | 标签的结果,key 是标签id, value 是标签的值 |
NOTE:
响应样例
{ "properties":{ "1": "96", //1 代表的是属性id "2":"男" }, "tags":{ "23":"dwe", "45":"上海" } "code":0, "msg":"success" }
{ "data": "ERROR", "code": -1032 }
错误码
错误码 | 错误消息 | 描述 | 解决方案 |
---|---|---|---|
-10405 | 对应appId: XXX 不在元数据中 | / | 根据XXX文档,将使用的appId对应的账户添加到待查询的接口的配置中 |
-10800 | 包含无权限标签 | / | 需要将待查询的标签 授权给 appId 对应的账号 |
点击“分群在线服务配置”进入该页面。在当前页面支持按照主体及业务系统筛选,需注意,可选择的业务系统必须是已经配置在在在线服务接口中的业务系统。
列表页展示分群名称,分群ID,以及导入状态,支持手动删除及更新。
点击列表右上角“新增分群”,可选择分群进行导入。
*注意:此处可选择的分群为分群列表中的所有分群,已导入的分群不可再进行选择,且可增加的分群数量,不超过系统支持的分群数量总和。
基本信息
生效版本 | 1.9+ |
---|---|
功能描述 | 给定一个 用户id, 一系列分群id, 返回用户所在的分群id |
接口模块 | OnlineApi |
接口名称 | QueryUserSeg |
请求类型 | GET |
请求参数
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
ApiAction | String | 是 | 对应“基本信息”中的“接口名称” |
ApiVersion | String | 是 | 版本号: 2023-02-10 |
id | String | 是 | 用于查询所在分群的用户id |
segIds | String | 是 | 逗号(半角符)分隔的分群ID,例如 1,2,3 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
Authorization | String | 是 | 见《开发前必读》3.3中提到的签名 |
X-Tenant | String | 是 | 项目id |
响应参数
名称 | 数据类型 | 描述 |
---|---|---|
data | Array[String] | 用户所在的分群ID |
code | int | 错误码 |
响应样例
{ "data": [ "1", "11" ] "code": 0 }
点击「ID-Mapping在线服务配置」;
IDMapping - ID 在线服务
说明
作用:将ID与OneID(又称基准ID BaseID)导入至高速查询引擎Tendis中,以保证高速查询能力和性能
操作:所有操作在 「IdMapping在线服务配置」页面内操作完成
*注:如已导入则无需重复导入
IDMapping -主体转换关系
作用:将A主体和B主体的转换关系导入至高速查询引擎Tendis中,以保证高速查询能力和性能
支持A主体的OneID到B主体的OneID直接转换,也支持关系中A主体的非OneID的ID类型转换为B主体的非OneID的ID类型,具体可以转的ID可以参考关系的配置
操作:
*注:导入转换关系时,会将主体中涉及到的ID类型也导入至告诉查询引擎Tendis中
基本信息
生效版本 | 1.9+ |
---|---|
功能描述 | 查询不同的id类型之间的映射值 |
接口模块 | OnlineApi |
接口名称 | GetIdMapping |
请求类型 | POST |
请求参数
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
ApiAction | String | 是 | 对应“基本信息”中的“接口名称” |
ApiVersion | String | 是 | 版本号: 2023-02-10 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
Authorization | String | 是 | 见《开发前必读》3.3中提到的签名 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
id | string | 是 | 原始id类型的用户值 |
source_entity_name | string | 是 | 需要转换的原始id类型的code, 例如 base_id, uid |
target_entity_name | string | 是 | 目的id类型的code, 例如 base_id, uid |
interentity_strategy_id | int | 否 | 跨主体转换策略id (1.20.2 新增字段) |
idmapping映射说明
版本号 | 映射和参数说明 |
---|---|
1.19之前包含1.19 | 只支持同主体间的id映射 |
1.20.2 | 支持同主体和跨主体id映射
source_entity_name 和target_entity_name 两个必须有一个是基准对应的code
|
1.21 | 支持同主体和跨主体id映射
interentity_strategy_id 不需要传值
interentity_strategy_id是跨主体转换策略id |
请求样例
curl -v -S --location --request \ POST 'https://XXXXXX/openapi/online/v1/mapping/online/sync' \ --header 'X-BDPP-Id: XXXXXXXX' \ --header 'Authorization:Bearer XXX' \ --header 'Content-Type: application/json' \ --data ':{ "id":"12345678909", "source_entity_name":"phoneid", "target_entity_name":"baseid" }'
响应参数
名称 | 数据类型 | 描述 |
---|---|---|
code | int64 | / |
msg | string | / |
data | string | 映射后的值 |
响应样例
{ "data": "123", "code": 0, "msg": "success" }
{ "data": "", "code": -1203, "msg": "xxxx" }
提供高qps的在线服务接口:判断某个用户是否被实时更新的数据组成的规则命中。
Tip: 目前CDP提供的分群及其相关接口相关数据为离线更新,本接口是独立于分群功能、对单点实时场景在线查询的补充。
将需要用于规则引擎服务调用的所用标签、属性导入在线服务(tendis)。
点击「规则引擎服务配置」,完成规则圈选设定。
基本信息
生效版本 | 1.16+(仅支持私部版本) |
---|---|
功能描述 | 判断用户的id 是否命中规则 |
接口模块 | OnlineApi |
接口名称 | CheckHitRealtimeRule |
请求类型 | POST |
请求参数
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
ApiAction | String | 是 | 对应“基本信息”中的“接口名称” |
ApiVersion | String | 是 | 版本号: 2023-02-10 |
tenantCode | string | 是 | 租户id |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
Authorization | string | 是 | 见《开发前必读》3.3中提到的签名 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
id | string | 是 | 用户的id |
id_type | string | 是 | id类型,如base_id,device_id |
rule_ids | []int32 | 是 | 规则id |
响应参数
名称 | 数据类型 | 描述 |
---|---|---|
code | int64 | |
message | string | |
rule_ids | []int32 | 规则id, rule_ids 字段返回的是命中规则的id |
响应样例
{ "code": 0, "message": "success", "rule_ids":[1,2,3,4] }
{ "code": -1203, "message": "xxxx", "rule_ids":[] }
与2.2相比,支持传入用户id的idType类型与分群类型不一致但必须是在相同主体下,前提是开启idmapping导入,支持的场景见如下
用户idType类型 | 分群类型 | 是否支持 | 是否是同主体 | 说明 |
---|---|---|---|---|
A | A | 支持 | 是 | A 表示是系统的中某个IdType,用户idType类型和分群类型 是相同的IdType |
基准类型 | 非基准类型 | 支持 | 是 | 多个分群类型可以是不同的idType |
非基准类型B | 基准类型 | 支持 | 是 | 所有的分群只能是基准类型 或者与用户IdType 类型相同 |
非基准类型C | 非基准类型D | 不支持 | 是 | C和D 指代不同的非基准类型 |
基本信息
生效版本 | 1.19+ |
---|---|
功能描述 | 根据用户是否命中分群的升级版本 |
接口模块 | OnlineApi |
接口名称 | GetUserSegmentV2 |
请求类型 | POST |
请求参数
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
ApiAction | String | 是 | 对应“基本信息”中的“接口名称” |
ApiVersion | String | 是 | 版本号: 2023-06-20 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
Authorization | string | 是 | 见《开发前必读》3.3中提到的签名 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
tenant_code | string | 是 | 租户code |
seg_data | 结构体seg_data | 是 | 定义如下 |
seg_data结构体的定义
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
id | string | 是 | 用户id |
id_type_code | string | 是 | 用户的id类型,如baseid,uid,deviceid |
segment_ids | 整数数组 | 否 | 分群ids |
响应参数
名称 | 数据类型 | 描述 |
---|---|---|
code | int64 | 0 代表成功 |
message | string | |
data | 整数数组 | 用户命中的分群id |
基本信息
生效版本 | 1.19+ |
---|---|
功能描述 | 查询用户的行为和明细数据 |
接口模块 | OnlineApi |
接口名称 | GetUserDetailAndEvent |
请求类型 | POST |
请求参数
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
ApiAction | String | 是 | 对应“基本信息”中的“接口名称” |
ApiVersion | String | 是 | 版本号: 2023-06-20 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
Authorization | string | 是 | 见《开发前必读》3.3中提到的签名 |
名称 | 数据类型 | 是否必填 | 描述 |
---|---|---|---|
tenant_code | string | 是 | 租户code |
ignore_illegal | 布尔类型 | 否 | 默认值是“false”。 |
data_req | 结构体 | 是 | 定义如下2.6.1 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
id | string | 是 | 用户id |
id_type | string | 是 | 用户的id类型,如baseid,uid,deviceid |
event | 数组类型,元素是结构体event | 行为事件相关的参数,定义2.6.2 | |
detail | 数字类型,元素是结构体detail | 明细相关的参数,定义2.6.3 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
datasource_id | 整数 | 是 | 数据源id |
event_ids | 整数数组 | 是 | 事件ids |
start_time | 整数 | 是 | 起始时间戳,单位 毫秒 |
end_time | 整数 | 是 | 截止时间戳,单位 毫秒 |
need_properties | 布尔类型 | 否 | 默认是false, |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
datasource_id | 整数 | 是 | 数据源id |
columnId | 整数数组 | 是 | 明细ids |
start_time | 整数 | 是 | 起始时间戳,单位 毫秒 |
end_time | 整数 | 是 | 截止时间戳,单位 毫秒 |
请求参数示例
{ "tenant_code":"1", "ignore_illegal":true, //是否忽略未导入到在线服务的数据 "data_req":{ "id":"1", "id_type":"uid", "event":[{ "datasource_id":1, "event_ids":[1,2,3], "start_time":"1683880304000",//时间戳,单位到毫秒 "end_time":"1683880305000", //时间戳单位到毫秒 "need_properties":false //显示用户的属性值 }], "detail":[{ "datasource_id":1, "columnId":[12,434,54], "start_time":"1683880304000",//时间戳,单位到毫秒 "end_time":"1683880305000"//时间戳,单位到毫秒 }] } }
响应参数
名称 | 数据类型 | 描述 |
---|---|---|
code | int64 | 0 代表成功 |
message | string | |
data | 结构体data | 定义如下2.6.4 |
名称 | 数据类型 | 描述 |
---|---|---|
event | 结构体eventResp | 定义 2.6.5 |
detail | 结构体detailResp | 定义 2.6.6 |
名称 | 数据类型 | 描述 |
---|---|---|
datasource_id | string | 数据源id |
id | string | 行为id |
name | string | 行为名称 |
date | string | 发生的时间戳,单位到 毫秒 |
properties | string | 行为上报时用户的属性值,json 序列化后的string。如果请求参数中need_properties等于false,则此字段为空 |
名称 | 数据类型 | 描述 |
---|---|---|
datasource_id | string | 数据源id |
id | string | 明细id |
name | string | 明细名称 |
value | string | 明细具体的值 |
date | string | 发生的时间戳,单位到 毫秒 |
基本信息
生效版本 | 1.18 |
---|---|
功能描述 | 按租户获取在线可用的标签/属性/明细/行为列表,在sass环境,租户和集团关联,会自动按租户绑定的集团过滤 |
接口模块 | LabelApi |
接口名称 | GetOnlineTagsProp |
请求类型 | GET |
请求参数
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
ApiAction | String | 是 | 对应“基本信息”中的“接口名称” |
ApiVersion | String | 是 | 版本号: 2023-06-20 |
tenantCode | String | 是 | 租户Code (请不要填写租户ID,获取方式详见附录) |
infoType | String | 是 | 选择需要查询标签(label)还是属性(property),行为(behavior)明细(detail),取值是:label,property,behavior,detail |
idType | Int | 否 | 标签的idtype ,传每个主体下面的base id 的id。 |
current | int | 否 | 当前页 |
pageSize | int | 否 | 分页大小 |
名称 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
Authorization | String | 是 | 见《开发前必读》3.3中提到的签名 |
响应参数:
名称 | 数据类型 | 描述 |
---|---|---|
id | Int | 对应标签/属性/行为/明细资源的id |
name | String | 对应资源的名称 |
status | String | 在线资源状态,此接口只会返回succeed的资源 |
LatestSuccessDate | String | 最新可用的日期 |
dataSourceId | Int | 资源对应的数据源id |
返回示例:
{ "data": { "items": [ { "id": 2, "name": "autotest0131/autotest_guize01311730", "status": "succeed", "LatestSuccessDate": "2023-02-12" ,//最新可用的日期 "dataSourceId":1 } ], "page": 1, "pageSize": 20, "total": 1 }, "code": 0 }