#推送消息

#接口地址

[POST] https://pushapi.twibida.com/v1/message/push/{AppID}
Content-Type: application/json

#请求包体

json 字符串,具体参数见下表。

类型参数字段是否必要参数说明
booleandry_run测试模式,为 true 不实际发送消息,默认为 false
inttype消息类型,1-通知,2-透传
inttime_to_live消息有效期,单位为秒
intcondition.type定向类型
0-全部
1-条件定向,此时 condition.targeting 有效,且必要
2-用户定向,此时 condition.client_ids 有效,且必要
List<String>condition.client_idsClient ID 数组
List<String>condition.targeting.countryISO-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_versionApp 版本定向,为空则定向全部
Stringnotification.title通知标题
Stringnotification.desc通知描述
Stringnotification.open_type通知点击行为类型,1-打开应用,2-打开链接
Stringnotification.open_content打开地址,Activity 或 URL
Map<String, String>data透传内容,透传内容的 Key、Value 类型均需为 String, 非 String 需转换成 String

#返回包体

json 字符串,具体参数见下表。

类型字段字段说明
intstatus状态码
Stringmessage提示信息
Stringresult.message_id消息 ID

#状态码列表

错误码错误信息
21005消息体内容不合法
21006Client ID 过多
21007App 推送 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"
  }
}