接口文档列表
使用流程
在实际使用实时标签 open api 时,需要按照一定的流程使用,确保使用的流程正确才能达到想要的效果。
实时标签状态流转过程:
常规的使用流程是:
iframe 创建实时标签 → 接口调用启用标签 → 标签计算完成后 → 根据用户调用结果查询结果查询实时标签的值。
实时标签的创建
实时标签的创建可以使用前端 H5 接入。
业务系统需要在业务前端嵌入神策 H5 的方式来进行实时标签的创建,流程如下:
通过前端 H5 iframe 接入
业务系统内嵌入的 iframe 的 url 格式为:
http://{host-domain}/sf/h5/iframe-app/sf/realtime-tag?project=default&mode=create&language=zh-cn
在请求 url 时还需要一些参数:
参数 |
是否必传 |
参数说明 |
---|---|---|
project | 必传 |
需要调用的项目英文名称,如 default /production |
mode | 非必传 | 标识是创建、编辑还是查看配置,创建时传入 create,查看受众配置时传入 view,编辑受众传入 edit,默认为 create |
tag_name | 非必传 | 实时标签的名称,当 mode 是编辑或者查看的时候必传 |
language | 非必传 | 多语言设置,支持中文简体(zh-cn)、中文繁体(zh-tw)、英语(en-us)、日语(ja)和泰语(th),默认为 zh-cn |
使用 iframe 的时候有一些注意事项:
- 受 Cookie Same-Site Lax 限制,需要业务系统的主域名与神策接口(神策系统)的 host 保持一致,比如:
- 神策系统的域名为 xxx.example.com,则需要业务系统与神策的 example.com 的部分与神策保持一致,否则可能会出现跨域问题等报错。
- 如果业务系统内嵌的 iframe 需要对接业务系统的 OAuth 认证,则在打开 iframe 的时候需要在 iframe 内部弹出 OAuth 登录,这种情况下也需要如上保持 host 配置一致。
前端 H5 接收创建成功通知
创建成功后会使用 postMessage 向业务系统前端发送创建成功通知,业务系统可使用 window.addEventListener ('message', event => {}) 方法接收消息。
发送数据示例:
{
"key": "SENSORS_SF_REALTIME_TAG_SEND", // 消息来源标识
"value": {
"type": "CREATE_SUCCESS", // 创建成功标识,编辑保存成功后此处数据为 EDIT_SUCCESS
"data": {
"tag_name": "user_rt_tag_a232", // 实时标签名称
"tag_cname": "2323" // 实时标签显示名
}
}
}
业务员系统接收消息代码示例:
window.addEventListener('message', event => {
const data = event.data;
if (data?.key === 'SENSORS_SF_REALTIME_TAG_SEND') { // 触发来源为 SF 实时标签引擎
if (data?.value?.type === 'CREATE_SUCCESS') { // 创建成功后执行自己的业务逻辑
console.log(data?.value)
}
}
});
注意事项:window.addEventListener ('message') 该事件应该只注册一次,若重复注册多次,会接受到多次消息。可以在业务系统页面初始化时进行监听,也可以在打开 iframe 时监听关闭 iframe 时删除监听事件。
实时标签的启动
method |
Path |
---|---|
POST | /api/v3/focus/v1/real-time-tag/start |
请求示例
curl -X 'POST' \
'http://{host-domain}/api/v3/focus/v1/real-time-tag/start' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'api-key: #K-7IGwJpE2M9CpID4101qj2hWg9t59hoF3' \
-H 'X-Organization-Id: org-sep-3164dp4' \
-H 'sensorsdata-project: default' \
-d '{
"name": "user_rt_tag_if1"
}'
返回结果示例
{
"code": "SUCCESS",
"request_id": "1817324224e122e36e58a32109d5b844",
"data": {}
}
返回结果说明
参数 |
是否必返 |
参数说明 |
---|---|---|
data | 不必须 |
调用成功后,code 为 SUCCESS,data 不返回数据。 |
实时标签的停用
查询触发策略的额度使用信息
method |
Path |
---|---|
POST | /api/v3/focus/v1/real-time-tag/stop |
请求示例
curl -X 'POST' \
'http://{host-domain}/api/v3/focus/v1/real-time-tag/stop' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'api-key: #K-7IGwJpE2M9CpID4101qj2hWg9t59hoF3' \
-H 'X-Organization-Id: org-sep-3164dp4' \
-H 'sensorsdata-project: default' \
-d '{
"name": "user_rt_tag_if1"
}'
返回结果示例
{
"code": "SUCCESS",
"request_id": "18173335a669bc98b14f3d2ec81bf9d0",
"data": {}
}
返回结果说明
参数 |
是否必返 |
参数说明 |
---|---|---|
data | 不必须 |
调用成功后,code 为 SUCCESS,data 不返回数据。 |
实时标签的查看
查询触发策略的额度使用信息
method |
Path |
---|---|
GET | /api/v3/focus/v1/real-time-tag/get |
请求示例
curl -X 'GET' \
'http://{host-domain}/api/v3/focus/v1/real-time-tag/get' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'api-key: #K-7IGwJpE2M9CpID4101qj2hWg9t59hoF3' \
-H 'X-Organization-Id: org-sep-3164dp4' \
-H 'sensorsdata-project: default' \
}'
参数说明
参数位置 |
参数 |
是否必传 |
参数说明 |
---|---|---|---|
query | name | 必传 | 实时标签名称 |
返回结果示例
{
"code": "SUCCESS",
"request_id": "22174851c5359c51d11746be2ac7edd3",
"data": {
"realtime_tag": {
"id": 73,
"name": "user_rt_tag_if1",
"cname": "iframe 创建11121",
"project_id": 2,
"group_id": 5,
"comment": "1",
"type": "GROUP_BASED",
"use_instant_event": false,
"data_type": "STRING",
"status": "STOPPED",
"time_zone": "",
"rule": "{\"segment_based_rule\":{\"groups\":[{\"segment\":{\"type\":\"GROUP_EXPRESSION_BASED\",\"group_expression_rule\":{\"groups\":[{\"type\":\"EQL_BASED\",\"eql_segment_rule\":{\"eql\":\"(user.age == 11)\"}}],\"group_expression\":\"\\\"$1\\\"\"}},\"tag\":\"分层 1\"}]},\"tag_type\":\"SEGMENT_BASED\",\"version\":2.0}",
"create_time": "2025-04-18 17:29:44",
"update_time": "2025-04-18 17:39:42"
}
}
}
返回结果说明
参数 |
是否必返 |
参数说明 |
---|---|---|
data | 必须 |
调用成功后,code 为 SUCCESS,data 数据:
|
实时标签的删除
查询触发策略的额度使用信息
method |
Path |
---|---|
POST | /api/v3/focus/v1/real-time-tag/delete |
请求示例
curl -X 'POST' \
'http://{host-domain}/api/v3/focus/v1/real-time-tag/delete' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'api-key: #K-7IGwJpE2M9CpID4101qj2hWg9t59hoF3' \
-H 'X-Organization-Id: org-sep-3164dp4' \
-H 'sensorsdata-project: default' \
-d '{
"name": "user_rt_tag_if1"
}'
返回结果示例
{
"code": "SUCCESS",
"request_id": "181733171b236e47faf08fcdf5e157e4",
"data": {}
}
返回结果说明
参数 |
是否必返 |
参数说明 |
---|---|---|
data | 不必须 |
调用成功后,code 为 SUCCESS,data 不返回数据。 |
查询实时标签额度
查询触发策略的额度使用信息
method |
Path |
---|---|
POST | /api/v3/focus/v1/real-time-tag/quota/query |
请求示例
curl -X 'POST' \
'http://{host-domain}/api/v3/focus/v1/real-time-tag/quota/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'api-key: #K-7IGwJpE2M9CpID4101qj2hWg9t59hoF3' \
-H 'X-Organization-Id: org-sep-3164dp4' \
-H 'sensorsdata-project: default'
返回结果示例
{
"code": "SUCCESS",
"request_id": "18173352dc5ff1c93e4a66939f6949ff",
"data": {
"remain": 568,
"use": 32
}
}
返回结果说明
参数 |
是否必返 |
参数说明 |
---|---|---|
data | 必须 |
调用成功后,code 为 SUCCESS,data 数据:
|
单用户的实时标签在线查询
在线查询单用户的实时标签集合,沿用查询用户属性的接口,以 HTTP API 形式接入,通过 HTTP API 方式查询单用户的实时标签集。
接口类型
|
method |
Path |
---|---|---|
在线 /online | POST | /api/v3/focus/v1/express-attribute-online/get |
请求示例
curl -X 'POST' \
'http://{online-domain}/api/v3/focus/v1/express-attribute-online/get' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'api-key: #K-7IGwJpE2M9CpID4101qj2hWg9t59hoF3' \
-H 'X-Organization-Id: org-sep-3164dp4' \
-H 'sensorsdata-project: default' \
-d '{
"entity_name": "user",
"audience_entity_id": {
"identity_id_map": {
"distinct_id": "sddd"
}
},
"attribute_names": ["user_rt_tag_fencengshuzhiyunsuanfuyanzheng", "user_rt_tag_fenceng"]
}'
参数说明
参数位置 |
参数 |
是否必传 |
参数说明 |
---|---|---|---|
body | entity_name | 非必传 | 实体名称,不传默认为用户实体,即 user |
audience_entity_id | 必传 |
查询的用户标识符,其中「用户标识」的字段含义如下:
|
|
attribute_names | 必传 | 计算成功的实时标签名称 |
返回结果示例
{
"code": "SUCCESS",
"message": null,
"request_id": "87c8382ffeed403b9c840dc448395cd3",
"data": {
"audience_entity": {
"entity_id": {
"data_type": "INT",
"int_value": "-2443016794336717482"
},
"entity_name": "user",
"audience_entity_attributes": [
{
"name": "phone_number_new"
},
{
"name": "user_rt_tag_fencengshuzhiyunsuanfuyanzheng",
"value": {
"data_type": "STRING",
"string_value": "分层1",
"list_value": []
}
}
]
}
},
"error_info": null
}
返回结果说明
参数 |
是否必返 |
参数说明 |
---|---|---|
audience_entity | 必返 |
查询的用户实体,其中 entity_id 代表用户标识 |
entity_name | 实体名称 | |
audience_entity_attributes |
实时标签列表,列表项字段说明:
|
说明:当用户不存在时,请求接口会报错,提示用户不存在;当请求的实时标签不存在时,接口不会报错,返回的结果中实时标签对应的 value 无值。
批量用户的属性在线查询
在线查询一批用户的实时标签集,沿用查询用户属性的接口,以 HTTP API 形式接入,通过 HTTP API 方式查询一批用户的已订阅属性集。
接口类型
|
method |
Path |
---|---|---|
在线 /online | POST | /api/v3/focus/v1/express-attribute-online/batch-get |
请求示例
curl -X 'POST' \
'http://{online-domain}/api/v3/focus/v1/express-attribute-online/batch-get' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'api-key: #K-7IGwJpE2M9CpID4101qj2hWg9t59hoF3' \
-H 'X-Organization-Id: org-sep-3164dp4' \
-H 'sensorsdata-project: default' \
-d '{
"entity_name": "user",
"audience_entity_ids": [
{
"identity_id_map": {
"distinct_id": "sddd"
}
}
],
"attribute_names": ["user_rt_tag_fencengshuzhiyunsuanfuyanzheng"]
}'
参数说明
参数位置 |
参数 |
是否必传 |
参数说明 |
---|---|---|---|
body | entity_name | 非必传 | 实体名称,不传默认为用户实体,即 user |
audience_entity_ids | 必传 |
查询的用户标识符,其中「用户标识」的字段含义如下:
|
|
attribute_names | 必传 | 实时标签名称 |
返回结果示例
{
"code": "SUCCESS",
"message": null,
"request_id": "0c7b4c998b7a4209b12ed8cc18a31ae1",
"data": {
"audience_entities": [
{
"entity_id": {
"data_type": "INT",
"int_value": "224266287"
},
"entity_name": "user",
"audience_entity_attributes": [
{
"name": "user_rt_tag_fencengshuzhiyunsuanfuyanzheng",
"value": {
"data_type": "STRING",
"string_value": "分层 1",
"list_value": []
}
}
]
}
]
},
"error_info": null
}
返回结果说明
参数 |
是否必返 |
参数说明 |
---|---|---|
audience_entities | 必返 |
查询的用户实体列表,其中 entity_id 代表用户标识 |
entity_id | 必返 |
|
entity_name | 必返 | 实体名称 |
audience_entity_attributes | 必返 |
实时标签列表,列表项字段说明:
|