弹窗API
为满足广大客户更灵活创建弹窗的诉求,GrowingIO 提供了一套创建弹窗的API。本文档旨在说明一些调用流程,逻辑及相关接口说明。
为保证数据安全,GrowingIO所有的API服务,请求Head中需要携带 Token。
获取到 Token 后所有的 HTTP 请求头都需要带上 X-Client-Id 和 Authorization,具体如下:
名称 | 类型 | 描述 | 示例 |
X-Client-Id | string | GrowingIO分配的公钥,请在GrowingIO后台“项目配置”页面获取 | X-Client-Id: 123abc |
Authorization | string | 认证后获取到的Token | Authorization: {替换成获取到的Token} |
例子:
X-Client-Id: 7f8it37dxdt91x4n5cvuvccc1cgaqe21
Authorization: EcWylTb23T5yoNMkna51VsyVfGovQHMVc1neljuK5TpqNTz9U5c9Z2BYZLUos244
- 1.接口调用频率限制:单个 Token 调用限制 1200次/分钟。
- 2.项目UID 指的是访问项目的时候,页面 URL 以 /projects/:project_uid 开头,例如 https://www.growingio.com/admin/projects/nxog09md/dashboard 中的 "nxog09mx"。
- 3.
- 4.创建消息需要指定对应应用的 ID,通过以下接口获得(请求Head中均需要携带Token )
GET https://www.growingio.com/api/v1/projects/项目UID/meta/products
返回字段:
字段名 | 类型 | 说明 | 示例 |
id | string | 产品编号 | GQPDxPNm |
name | string | 名字 | GrowingIO测试产品 |
displayName | string | 产品显示名称,展示在deeplink页面 | gio |
activated | bool | 是否有效 | true |
spn | string | spn | www.gioee.com |
urlScheme | string | 产品的URL Scheme | 8137d31f4e7b819f |
platform | string | 平台 | iOS |
createdAt | long | 创建时间 | 1522019721098 |
5. 创建站内消息需要先上传素材到GrowingIO服务,参素材上传接口
6. 接口调用流程:
URL:
https://www.growingio.com/api/v1/projects/:project_uid/meta/marketing_medias
方法:POST
请求对象:
字段名 | 类型 | 说明 |
file | 字符串 | 图片base64编码后的值。 |
请求示例:
Headers:
Content-Type: application/json
X-Client-Id: 7f8it37dxdt91x4n5cvuvccc1cgaqe22
Authorization: EcWylTb23T5yoNMkna51VsyVfGovQHMVc1
Request Body:
{
"file":"data:image/jpeg;base64,......."
}
返回示例:
{
"url":"https://statics.growingio.com/media/20190813/3/1565873249372/test.jpeg"
}
URL:
https://www.growingio.com/api/v1/projects/:project_uid/meta/marketing_in_app_messages
方法:POST
请求对象:
字段名 | 类型 | 是否必填 | 说明 |
name | 字符串 | 是 | 消息名称。建议使用业务含义名称+时间戳,不可重复,便于在管理后台查看使用。 示例:用户召回弹窗20190716170520 |
audience | 字符串 | 是 | 目标人群。 分群:分群 id 访问用户:visitors 新访问用户:newVisitors 登陆用户:loginUsers 新登录用户:newLoginUsers |
rule | 对象 | 是 | 消息触发规则配置。 |
state | 字符串 | 否 | activated:上线(默认) draft:草稿 stop:下线 archived:归档 |
content | 对象 | 是 | 消息素材,图片的地址。 |
rule
字段名 | 类型 | 是否必填 | 说明 |
targets | 对象数组 | 是 | 指定产品和跳转页面的关系。 |
action | 字符串 | 是 | 打开应用:appOpen 自定义埋点事件:事件key |
limit | 数字 | 是 | 本条消息最大展示次数。 |
startAt | 数字 | 否 | 预约上线起始时间,unix时间戳 |
endAt | 数字 | 否 | 预约下线时间unix时间戳 |
triggerCd | 数字 | 否 | 本条消息展示间隔,单位秒。 |
targets里每个target的结构:
字段名 | 类型 | 是否必传 | 说明 |
productId | 字符串 | 是 | 产品ID,从上面的产品信息接口获取 |
type | 字符串 | 是 | 点击转跳链接类型。 打开网页:“openH5” 打开应用内具体页面:“openUrl” 自定义参数:“custom” |
url | 字符串 | 是 | 点击跳转路径。网页需要制定具体协议,支持 http/https。 示例:com.growingio.push 或者 https://www.gio.com |
parameters | 对象 | 是 | 点击跳转携带参数,以 queryString 的形式添加到 url 后面。比如 {"key1": "value1"} 会转化为 "?key1=value1" 添加到 url 后。 示例:{"key1": "value1", "key2": "value2"} |
请求示例:
Headers:
Content-Type: application/json
X-Client-Id: 7f8it37dxdt91x4n5cvuvccc1cgaqe22
Authorization: EcWylTb23T5yoNMkna51VsyVfGovQHMVc1
Request Body:
{
"name": "用户召回弹窗",
"audience": "nPNYj7aR",
"rule": {
"targets": [{
"productId": "L9GcmZo6",
"type": "openUrl",
"url": "MainActivity",
"parameters": {
"key1": "value1",
"key2": "value2"
}
},
{
"productId": "a9xVmZo5",
"type": "openUrl",
"url": "ViewController",
"parameters": {
"key1": "value1",
"key2": "value2"
}
}
],
"action": "appOpen",
"limit": 2,
"startAt": 1565870400000,
"triggerCd": 86400
},
"content": "https://k8s-statics.growingio.com/media/20190523/3/1558601993407/test.png"
}
返回示例:
字段名 | 类型 | 说明 | 示例 |
id | 字符串 | 消息ID | xL9GWJ96 |
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Response Data
{
"id" : "wL9GWJ96"
}
URL:
https://www.growingio.com/api/v1/projects/:project_uid/meta/marketing_in_app_messages/:message_id
方法:PUT
请求体:同创建消息
URL:
https://www.growingio.com/api/v1/projects/:project_uid/meta/marketing_in_app_messages/:message_id
方法:DELETE
Headers:
Content-Type: application/json
X-Client-Id: 7f8it37dxdt91x4n5cvuvccc1cgaqe22
Authorization: EcWylTb23T5yoNMkna51VsyVfGovQHMVc1
返回:
HTTP/1.1 204 No Content
URL:
https://www.growingio.com/api/v1/projects/:project_uid/meta/marketing_in_app_messages
方法:GET
Headers:
Content-Type: application/json
X-Client-Id: 7f8it37dxdt91x4n5cvuvccc1cgaqe22
Authorization: EcWylTb23T5yoNMkna51VsyVfGovQHMVc1
返回:消息列表
Last modified 2yr ago