IM

  • IM > API 文档 > 服务端API > 推送接口

    推送接口

    最近更新时间:2021-06-29 09:50:23

    推送接口

    发推送通知

    基本信息

    Path: /push/notify

    Method: POST

    接口描述:
    发送推送通知需要在管理后台开通推送功能。
    具体请求参数可以参考Model里的定义。
    常用请求格式如下:

    1. 推送文本给所有设备
      {
      “audience”: “all”,
      “message”: {
      “type”: “text”,
      “title”: “this is push title”,
      “body”: “this is push body”
      }
      }
    2. 推送图片给push_token为token1或token2的设备
      {
      “audience”: {“push_token”:[“token1”,“token2”]},
      “message”: {
      “type”: “image”,
      “title”: “this is push title”,
      “body”: “this is push body”,
      “attachment_url”: “https://xxx.com/images/1.jpg”
      }
      }
    3. 推送透传消息给标签为beijing或shanghai的所有设备,透传消息不会展示到通知栏上
      {
      “audience”: {“tag”:[“beijing”,“shanghai”]},
      “message”: {
      “type”: “cmd”,
      “title”: “this is push title”,
      “body”: “this is push body”,
      “ext”: {“key1”: 12345, “key2”: “xxx” }
      }
      }

    请求参数

    Headers

    参数名称 参数值 是否必须 示例 备注
    Content-Type application/json
    access-token 令牌
    app_id 应用ID
    group_id 仅当access-token为管理员token时,可以设置此字段,表示以此群ID的管理员身份来调用此接口
    user_id 仅当access-token为管理员token时,可以设置此字段,表示以此用户ID的身份来调用此接口

    Body

    名称类型是否必须默认值备注其他信息
    audienceobject非必须推送目标, 不可为空。类型为字符串或JSONObject: "all", 表示发给所有设备 {"tag":["tag1","tag2"]} 表示发给标签为tag1或tag2的设备 {"alias":["alias1","alias2"]} 表示发给别名为alias1或alias2的设备 {"user_id":[111,222]} 表示发给用户ID为111或222的设备 {"push_token":["push_token1","push_token2"]} 表示发给PushToken为push_token1或push_token2的设备 使用标签/别名/用户ID/pushToken推送时,列表长度不能超过500
    settingobject非必须推送设置, 可为空
    ├─ request_idstring非必须请求ID,用于请求去重,如果请求ID以前出现过,则不推送。可为空,为空则不去重。
    messageobject非必须推送消息体
    ├─ typestring非必须消息类型:text - 文本,image - 图片, cmd - 透传消息。可为空,为空则默认为text

    枚举: text|image|cmd

    ├─ titlestring非必须标题。可为空
    ├─ bodystring非必须内容。可为空
    ├─ attachment_urlstring非必须附件地址: 图片/音频/视频的URL地址。可为空。如果是图片地址,需要以jpg/jpeg/png结尾,图片大小需小于1M,推荐876*324px
    ├─ badgestring非必须应用角标: 如果为数字,则修改角标为此数字;如果以+开头,表示增加此数字到角标,如"+1", 表示角标数加1;如果为空,默认为"+1"
    ├─ extobject非必须扩展字段:可为空,类型为JSONObject, 例如: {"key1":123, "key2":"value2"}
    ├─ show_begin_timeinteger非必须定时展示的开始时间戳(秒), 为空时表示立即展示

    format: int64

    ├─ show_end_timeinteger非必须定时展示的结束时间戳(秒),可为空

    format: int64

    ├─ iosobject非必须ios平台额外参数,可为空
    ├─ soundstring非必须通知提示声音, 可为空
    ├─ content_availableboolean非必须对应APNs的content-available,可为空
    ├─ mutable_contentboolean非必须对应APNs的mutable-content, 可为空
    ├─ categorystring非必须对应APNs Payload中的category, 可为空
    ├─ thread_idstring非必须对应APNs的thread-id,可为空,通过该属性来对通知进行分组,相同thread-id 的通知归为一组
    ├─ androidobject非必须android平台额外参数,可为空
    ├─ soundstring非必须通知提示声音,可为空
    ├─ channel_idstring非必须通知栏通道,可为空
    ├─ click_actionstring非必须点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空

    枚举: intent|open_app

    ├─ intentstring非必须点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end
    ├─ huaweiobject非必须huawei厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性
    ├─ soundstring非必须通知提示声音,可为空
    ├─ channel_idstring非必须通知栏通道,可为空
    ├─ click_actionstring非必须点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空

    枚举: intent|open_app

    ├─ intentstring非必须点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end
    ├─ badge_classstring非必须桌面图标对应的应用入口Activity类, 比如 com.test.badge.MainActivity, 可为空
    ├─ xiaomiobject非必须xiaomi厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性
    ├─ soundstring非必须通知提示声音,可为空
    ├─ channel_idstring非必须通知栏通道,可为空
    ├─ click_actionstring非必须点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空

    枚举: intent|open_app

    ├─ intentstring非必须点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end
    ├─ oppoobject非必须oppo厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性
    ├─ soundstring非必须通知提示声音,可为空
    ├─ channel_idstring非必须通知栏通道,可为空
    ├─ click_actionstring非必须点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空

    枚举: intent|open_app

    ├─ intentstring非必须点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end
    ├─ vivoobject非必须vivo厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性
    ├─ soundstring非必须通知提示声音,可为空
    ├─ channel_idstring非必须通知栏通道,可为空
    ├─ click_actionstring非必须点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空

    枚举: intent|open_app

    ├─ intentstring非必须点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end
    ├─ push_modeinteger非必须推送模式: 0-正式推送;1-测试推送,不填默认为0

    format: int32

    ├─ classificationinteger非必须消息类型 0:运营类消息,1:系统类消息。不填默认为0

    format: int32

    ├─ flymeobject非必须魅族厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性
    ├─ soundstring非必须通知提示声音,可为空
    ├─ channel_idstring非必须通知栏通道,可为空
    ├─ click_actionstring非必须点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空

    枚举: intent|open_app

    ├─ intentstring非必须点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end
    ├─ fcmobject非必须FCM厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性
    ├─ soundstring非必须通知提示声音,可为空
    ├─ channel_idstring非必须通知栏通道,可为空
    ├─ click_actionstring非必须点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空

    枚举: intent|open_app

    ├─ intentstring非必须点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end

    返回数据

    名称类型是否必须默认值备注其他信息
    codeinteger非必须返回码,200是成功

    format: int32

    databoolean非必须结果数据
    messagestring非必须错误信息,如果成功,该项为null

    获取推送证书

    基本信息

    Path: /push/certificate

    Method: GET

    接口描述:

    请求参数

    Headers

    参数名称 参数值 是否必须 示例 备注
    access-token 令牌
    app_id 应用ID
    group_id 仅当access-token为管理员token时,可以设置此字段,表示以此群ID的管理员身份来调用此接口
    user_id 仅当access-token为管理员token时,可以设置此字段,表示以此用户ID的身份来调用此接口

    Query

    参数名称 是否必须 示例 备注
    environment 运行环境, 0 - 开发环境, 1 - 生产环境 , 默认值:1
    provider 证书提供方, 1-APNS,2-华为,3-小米,4-魅族,5-VIVO, 6-OPPO, 7-FCM

    返回数据

    名称类型是否必须默认值备注其他信息
    codeinteger非必须返回码,200是成功

    format: int32

    dataobject非必须推送证书信息
    ├─ app_idstring非必须APP ID
    ├─ app_keystring非必须APP KEY
    ├─ app_secretstring非必须APP SECRET
    ├─ certificatestring非必须证书
    ├─ namestring必须证书名称
    messagestring非必须错误信息,如果成功,该项为null
    以上内容是否对您有帮助?
  • Qvm free helper
    Close