#推送消息
#接口地址
[POST] https://pushapi.twibida.com/v1/message/push/{AppID}
Content-Type: application/json
#请求包体
json 字符串,具体参数见下表。
类型 | 参数字段 | 是否必要 | 参数说明 |
---|---|---|---|
boolean | dry_run | 否 | 测试模式,为 true 不实际发送消息,默认为 false |
int | type | 是 | 消息类型,1-通知,2-透传 |
int | time_to_live | 是 | 消息有效期,单位为秒 |
int | condition.type | 是 | 定向类型 0-全部 1-条件定向,此时 condition.targeting 有效,且必要 2-用户定向,此时 condition.client_ids 有效,且必要 |
List<String> | condition.client_ids | 否 | Client ID 数组 |
List<String> | condition.targeting.country | 否 | ISO-3166-1 中两位国家代码,为空则定向全部国家 |
List<String> | condition.targeting.language | 否 | 安卓语言代码(例:zh,zh-CN),为空则定向全部国家 |
List<String> | condition.targeting.brand | 否 | 品牌定向,原始品牌需转大写且去除空格,为空则定向全部品牌 |
List<String> | condition.targeting.model | 否 | 机型定向,原始机型需转大写且去除空格,为空则定向全部机型 |
List<String> | condition.targeting.os_version | 否 | 安卓 API LEVEL 版本定向(例:28), 为空则定向全部 |
List<String> | condition.targeting.app_version | 否 | App 版本定向,为空则定向全部 |
int | notification.notification_type | 否 | 通知类型,1-系统样式,3-按钮样式,不传值则默认为1 |
String | notification.title | 否 | 通知标题 |
String | notification.desc | 否 | 通知描述 |
String | notification.icon | 否 | 图标,通知类型为按钮样式时有效 |
String | notification.small_icon | 否 | 左上角小图标,通知类型为系统样式时有效 |
String | notification.small_icon_color | 否 | 左上角小图标颜色,通知类型为系统样式时有效,16进制,例:#FF0000 |
String | notification.open_type | 否 | 通知点击行为类型,1-打开应用,2-打开链接 |
String | notification.open_content | 否 | 打开地址,Activity 或 URL |
String | notification.button_text | 否 | 按钮文案,通知类型为按钮样式时有效 |
Map<String, String> | data | 否 | 透传内容,透传内容的 Key、Value 类型均需为 String, 非 String 需转换成 String。大小不超过2kb |
#返回包体
json 字符串,具体参数见下表。
类型 | 字段 | 字段说明 |
---|---|---|
int | status | 状态码 |
String | message | 提示信息 |
String | result.message_id | 消息 ID |
#状态码列表
错误码 | 错误信息 |
---|---|
21005 | 消息体内容不合法 |
21006 | Client ID 过多 |
21007 | App 推送 SDK 已禁用 |
#样例
请求样例如下:
POST /v1/message/push/{APP_ID} HTTP/1.1
Host: pushapi.twibida.com
Content-Type: application/json
Authorization: {APP_SECRET}
{
"dry_run": false,
"condition": {
"type": 0,
"client_ids": [
"abc",
"xyz"
],
"targeting": {
"country": [
"CN",
"IN"
],
"language": [],
"brand": [],
"model": [],
"os_version": [],
"app_version": []
}
},
"time_to_live": 123,
"type": 0,
"notification": {
"title": "abcd",
"desc": "zzzz",
"open_type": 1,
"open_content": "abc"
},
"data": {
"double": "1.23",
"number": "123",
"string": "xyz"
}
}
返回样例如下:
{
"status": 200,
"message": "OK",
"result": {
"message_id": "123456"
}
}