You need to enable JavaScript to run this app.
导航
在线服务接口
最近更新时间:2024.07.11 17:32:54首次发布时间:2023.10.08 10:43:29

1. 概述

在线服务接口:高QPS,低延迟,适合大的并发量且实时的场景,开启此接口需提前配置Redis资源,如未配置资源直接进行调用,则调用失败。
在线服务配置入口: 项目中心-在线服务-任务管理。
图片

2. 在线服务接口

2.1 获取用户属性/标签信息

注意

此接口实现了1.0版本里面的获取用户属性信息和获取用户标签信息,并增加新功能,允许查询传入非基准id的数据,前提是需要导入在线服务的待查询的id与基准id的idmapping的映射关系。
idmapping的配置可以参考 2.3 idmapping 高qps接口中的在线服务配置。

2.1.1 数据档案在线服务配置

点击“数据档案服务配置”进入该页面。在当前页面支持按照主体及业务系统筛选标签/主体属性/行为事件/业务明细。需注意,可选择的业务系统必须是已经配置在在在线服务接口中的业务系统。
图片

  • 优先级:支持对任务进行队列优先级排序(默认为P2),任务优先级P0>P1>P2。选择排序后,实际计算顺序会按照任务优先级排序进行。
  • 队列名称和集群名称:支持用户进行相关修改。

2.1.3 接口调用

基本信息

生效版本

1.18+

功能描述

通过查询用户的基准id获取其属性

接口模块

OnlineApi

接口名称

GetUserProfileWithPrivacy

请求类型

POST

请求参数

  • Query 参数

名称

数据类型

是否必选

描述

ApiAction

String

对应“基本信息”中的“接口名称”

ApiVersion

String

版本号: 2023-02-10

  • Header

名称

数据类型

是否必选

描述

Authorization

String

见《开发前必读》3.3中提到的签名

  • body

名称

数据类型

是否必选

描述

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版本新增功能
0表示不做任何的过滤
1 表示过滤没有权限的标签和未导入到在线服务的标签

响应参数

名称

数据类型

描述

code

int64

message

string

properties

map结构

属性的结果,key 是属性id, value 是属性的值

tags

map 结构

标签的结果,key 是标签id, value 是标签的值

NOTE:

  1. 如果属性/标签的值为空,则返回的结果里面不包含此属性/标签的信息

响应样例

{
    "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 对应的账号

2.2 判断用户所在的分群「是否在指定分群中」

2.2.1 分群在线服务配置

点击“分群在线服务配置”进入该页面。在当前页面支持按照主体及业务系统筛选,需注意,可选择的业务系统必须是已经配置在在在线服务接口中的业务系统。
列表页展示分群名称,分群ID,以及导入状态,支持手动删除及更新。
图片
点击列表右上角“新增分群”,可选择分群进行导入。
图片
*注意:此处可选择的分群为分群列表中的所有分群,已导入的分群不可再进行选择,且可增加的分群数量,不超过系统支持的分群数量总和。

2.2.2 接口调用

基本信息

生效版本

1.9+

功能描述

给定一个 用户id, 一系列分群id, 返回用户所在的分群id

接口模块

OnlineApi

接口名称

QueryUserSeg

请求类型

GET

请求参数

  • Query 参数

名称

数据类型

是否必选

描述

ApiAction

String

对应“基本信息”中的“接口名称”

ApiVersion

String

版本号: 2023-02-10

id

String

用于查询所在分群的用户id

segIds

String

逗号(半角符)分隔的分群ID,例如 1,2,3

  • Header

名称

数据类型

是否必选

描述

Authorization

String

见《开发前必读》3.3中提到的签名

X-Tenant

String

项目id

响应参数

名称

数据类型

描述

data

Array[String]

用户所在的分群ID

code

int

错误码

响应样例

{
    "data": [
        "1",
        "11"
    ]
    "code": 0
}

2.3 idmapping高qps接口

2.3.1 在线服务配置

点击「ID-Mapping在线服务配置」;
图片
IDMapping - ID 在线服务

说明

作用:将ID与OneID(又称基准ID BaseID)导入至高速查询引擎Tendis中,以保证高速查询能力和性能
操作:所有操作在 「IdMapping在线服务配置」页面内操作完成

  1. 点击【新增导入ID】
    图片
  2. 选择需要导入的ID对应的主体及ID类型,支持多个ID同时导入

*注:如已导入则无需重复导入

  1. 保存后返回列表,可以将ID导入逻辑手工更新,常规会每天定时更新导入

IDMapping -主体转换关系
作用:将A主体和B主体的转换关系导入至高速查询引擎Tendis中,以保证高速查询能力和性能

支持A主体的OneID到B主体的OneID直接转换,也支持关系中A主体的非OneID的ID类型转换为B主体的非OneID的ID类型,具体可以转的ID可以参考关系的配置

操作:

  1. 点击【新增导入主体转换关系】
  2. 选择需要转换的主体,然后根据主体拉出两者已经配置的关系

*注:导入转换关系时,会将主体中涉及到的ID类型也导入至告诉查询引擎Tendis中

图片

2.3.2 接口调用

基本信息

生效版本

1.9+

功能描述

查询不同的id类型之间的映射值

接口模块

OnlineApi

接口名称

GetIdMapping

请求类型

POST

请求参数

  • Query 参数

名称

数据类型

是否必选

描述

ApiAction

String

对应“基本信息”中的“接口名称”

ApiVersion

String

版本号: 2023-02-10

  • Header

名称

数据类型

是否必选

描述

Authorization

String

见《开发前必读》3.3中提到的签名

  • Body

名称

数据类型

是否必选

描述

id

string

原始id类型的用户值

source_entity_name

string

需要转换的原始id类型的code, 例如 base_id, uid
source_entiy_name和target_entiry_name两个必须有一个是baseid

target_entity_name

string

目的id类型的code, 例如 base_id, uid
source_entiy_name和target_entiry_name两个必须有一个是baseid

interentity_strategy_id

int

跨主体转换策略id (1.20.2 新增字段)
(选择哪个跨主体转换策略,去转化主体A-主体B的关系,不同的转换策略,主体A-主体B的映射关系就会不一样)

idmapping映射说明

版本号

映射和参数说明

1.19之前包含1.19

只支持同主体间的id映射
支持的映射关系:基准<->其他非基准类型 图片
source_entity_name 和target_entity_name 两个必须有一个是基准对应的code

1.20.2

支持同主体跨主体id映射

  1. 同主体查询 图片

source_entity_name 和target_entity_name 两个必须有一个是基准对应的code
interentity_strategy_id 不需要传值

  1. 跨主体查询 图片

1.21

支持同主体跨主体id映射

  1. 同主体查询 图片

interentity_strategy_id 不需要传值

  1. 跨主体查询 图片

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"
}

2.4 判断用户是否命中实时规则

2.4.1 功能

提供高qps的在线服务接口:判断某个用户是否被实时更新的数据组成的规则命中。
Tip: 目前CDP提供的分群及其相关接口相关数据为离线更新,本接口是独立于分群功能、对单点实时场景在线查询的补充。

2.4.2 操作说明

图片

Part 1 前置依赖

将需要用于规则引擎服务调用的所用标签、属性导入在线服务(tendis)。

Part2 规则配置

点击「规则引擎服务配置」,完成规则圈选设定。
图片

2.4.3 接口调用

基本信息

生效版本

1.16+(仅支持私部版本)

功能描述

判断用户的id 是否命中规则

接口模块

OnlineApi

接口名称

CheckHitRealtimeRule

请求类型

POST

请求参数

  • Query 参数

名称

数据类型

是否必选

描述

ApiAction

String

对应“基本信息”中的“接口名称”

ApiVersion

String

版本号: 2023-02-10

tenantCode

string

租户id

  • Header

名称

数据类型

是否必选

描述

Authorization

string

见《开发前必读》3.3中提到的签名

  • Body参数(json格式)

名称

数据类型

是否必选

描述

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.5 查询用户是否命中分群v2版本

与2.2相比,支持传入用户id的idType类型与分群类型不一致但必须是在相同主体下,前提是开启idmapping导入,支持的场景见如下

用户idType类型

分群类型

是否支持

是否是同主体

说明

A

A

支持

A 表示是系统的中某个IdType,用户idType类型和分群类型 是相同的IdType

基准类型

非基准类型

支持

多个分群类型可以是不同的idType

非基准类型B

基准类型
或非基准类型B

支持

所有的分群只能是基准类型 或者与用户IdType 类型相同

非基准类型C

非基准类型D

不支持

C和D 指代不同的非基准类型

基本信息

生效版本

1.19+

功能描述

根据用户是否命中分群的升级版本

接口模块

OnlineApi

接口名称

GetUserSegmentV2

请求类型

POST

请求参数

  • Query 参数

名称

数据类型

是否必选

描述

ApiAction

String

对应“基本信息”中的“接口名称”

ApiVersion

String

版本号: 2023-06-20

  • Header

名称

数据类型

是否必选

描述

Authorization

string

见《开发前必读》3.3中提到的签名

  • 请求Body参数(json格式)

名称

数据类型

是否必选

描述

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

2.6 查询用户的行为(数据源和事件)和明细

基本信息

生效版本

1.19+

功能描述

查询用户的行为和明细数据

接口模块

OnlineApi

接口名称

GetUserDetailAndEvent

请求类型

POST

请求参数

  • Query 参数

名称

数据类型

是否必选

描述

ApiAction

String

对应“基本信息”中的“接口名称”

ApiVersion

String

版本号: 2023-06-20

  • Header

名称

数据类型

是否必选

描述

Authorization

string

见《开发前必读》3.3中提到的签名

  • Body参数(json格式)

名称

数据类型

是否必填

描述

tenant_code

string

租户code

ignore_illegal

布尔类型

默认值是“false”。
含义:是否忽略未导入到在线服务的数据。
"false"代表当入参里面包含未导入的事件id或明细id,会直接报错。
"true":代表仅返回入参中导入到在线服务的事件id或明细id, 并在返回的结果中,将非法的id 放入到“illegal_input”中

data_req

结构体

定义如下2.6.1

2.6.1 data_req 结构体定义

名称

数据类型

是否必选

描述

id

string

用户id

id_type

string

用户的id类型,如baseid,uid,deviceid

event

数组类型,元素是结构体event

行为事件相关的参数,定义2.6.2

detail

数字类型,元素是结构体detail

明细相关的参数,定义2.6.3

2.6.2 event 结构体定义

名称

数据类型

是否必选

描述

datasource_id

整数

数据源id

event_ids

整数数组

事件ids

start_time

整数

起始时间戳,单位 毫秒

end_time

整数

截止时间戳,单位 毫秒

need_properties

布尔类型

默认是false,
含义: 是否显示行为上报中用户的属性值

2.6.3 detail 结构体定义

名称

数据类型

是否必选

描述

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

2.6.4 data 结构体定义

名称

数据类型

描述

event

结构体eventResp

定义 2.6.5

detail

结构体detailResp

定义 2.6.6

2.6.5 eventResp 结构体定义

名称

数据类型

描述

datasource_id

string

数据源id

id

string

行为id

name

string

行为名称

date

string

发生的时间戳,单位到 毫秒

properties

string

行为上报时用户的属性值,json 序列化后的string。如果请求参数中need_properties等于false,则此字段为空

2.6.6 detailResp 结构体定义

名称

数据类型

描述

datasource_id

string

数据源id

id

string

明细id

name

string

明细名称

value

string

明细具体的值

date

string

发生的时间戳,单位到 毫秒

2.7 获取所有在线可用的标签/属性/明细/行为事件 列表

基本信息

生效版本

1.18

功能描述

按租户获取在线可用的标签/属性/明细/行为列表,在sass环境,租户和集团关联,会自动按租户绑定的集团过滤

接口模块

LabelApi

接口名称

GetOnlineTagsProp

请求类型

GET

请求参数

  • Query参数

名称

数据类型

是否必选

描述

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

分页大小

  • Header(按照网关要求,无特殊要求)

名称

数据类型

是否必选

描述

Authorization

String

见《开发前必读》3.3中提到的签名

  • Body(无)

响应参数

名称

数据类型

描述

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
}