消息推送方式

消息推送方式

1. 单推

1.1 说明

对使用App的某个用户,单独推送消息

1.2 实例

请求:

curl -H "Content-Type: application/json" \
    -H "authtoken:f16e43e935238fffdb71c052a483267f59bbe9fac8b3cce7933b32615f75e0ef" \
     https://restapi.getui.com/v1/#{appid}/push_single \
     -XPOST -d '{
                   "message": {
                   "appkey": "appkey",
                   "is_offline": true,
                   "offline_expire_time":10000000,
                   "msgtype": "notification"
                },
                "notification": {
                    "style": {
                        "type": 0,
                        "text": "请填写通知内容",
                        "title": "请填写通知标题"
                    },
                    "transmission_type": true,
                    "transmission_content": "透传内容"
                },
                "cid": "************************",
                "requestid": "12111111111111111111111"
            }'

响应:

{"result":"ok", "taskid":"RASS_0109_3ed7bcb9904a2d8208261d0c78a1e999", "status":"successed_offline"}

1.3 接口说明

属性 类型 是否必传 说明
message object 消息内容,见详情
notification
link
notypopload
transmission
object 消息应用模板,见详情
四种类型选其一
该属性与message下面的msgtype一致
push_info Map - json串,当手机为ios,并且为离线的时候
cid String - 与alias二选一
requestid String 请求唯一标识
alias String - 与cid二选一
  • 响应数据
属性 类型 说明
result String ok 鉴权成功,见详情
taskid String 任务编号
desc String 错误信息描述
status String 推送结果
successed_offline 离线下发
successed_online 在线下发
successed_ignore 非活跃用户不下发

2. tolist群推

在执行群推任务的时候,需首先执行save_list_body接口,将推送消息保存在服务器上,后面可以重复调用tolist接口将保存的消息发送给不同的目标用户。

2.1 save_list_body保存消息共同体

2.1.1 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken:  f16e43e935238fffdb71c052a483267f59bbe9fac8b3cce7933b32615f75e0ef"  \
https://restapi.getui.com/v1/#{appid}/save_list_body \
    -XPOST -d '{
                   "message": {
                   "appkey": "*****************************",
                   "is_offline": true,
                   "offline_expire_time":10000000,
                   "msgtype": "notification"
                },
                "notification": {
                    "style": {
                        "type": 0,
                        "text": "请填写通知内容",
                        "title": "请填写通知标题"
                    },
                    "transmission_type": true,
                    "transmission_content": "透传内容"
                }
           }'

响应:

{"result":"ok","taskid":"RASL_0119_5338f3c01e4f4a52bf08e26fa91da7e0"}

2.1.2 接口说明

属性 类型 是否必传 说明
message object 消息内容,见详情
notification
link
notypopload
transmission
object 消息应用模板,见详情
四种类型选其一
该属性与message下面的msgtype一致
push_info String - json串,当手机为ios,并且为离线的时候
task_name String 任务名称
可以给多个任务指定相同的task_name,后面用task_name查询推送结果能得到多个任务的结果
  • 响应数据
属性 类型 说明
result String 响应结果,见详情
taskid String 任务标识号,用于tolist接口的taskid
desc String 错误信息描述

注:此接口有频次控制,申请修改请联系邮箱:lieg@getui.com

2.2 toList接口

2.2.1 说明

消息群发给cid list或者alias list列表对应的客户群,当两者并存的时候,以cid为准;并使用save_list_body返回的taskId,调用toList接口,完成群推推送。

2.2.2 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken: f16e43e935238fffdb71c052a483267f59bbe9fac8b3cce7933b32615f75e0ef" \
     https://restapi.getui.com/v1/#{appid}/push_list  \
     -XPOST -d '{
                "cid":["*****************************"],
                "taskid":"RASL_1229_3251236e02044869955169c98b380352",
                "need_detail":true
                }'

响应:

{"result":"ok", "cid_details":{"cid1":"no_user", "cid2":"successed_offline"}, "taskid":"RASL_0109_8b28bbad8a524e5799e8f07c8e79999"}

2.2.3 接口说明

属性 类型 是否必传 说明
cid String[] - cid为cid list,与alias list二选一
taskid String 任务号,取save_list_body返回的taskid
alias String[] - alias为alias list,与cid list二选一
need_detail boolean 默认值:false,是否需要返回每个CID的状态
  • 响应数据
属性 类型 说明
result String 响应结果,见详情
taskid String 任务标识号,用于tolist接口
desc String 错误信息描述
cid_details Map 目标cid用户推送结果详情
alias_details Map 目标别名用户推送结果详情

注:此接口有频次控制,申请修改请联系邮箱:lieg@getui.com

3. toapp群推

3.1 说明

针对某个,根据筛选条件,将消息群发给符合条件客户群

3.2 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken: f16e43e935238fffdb71c052a483267f59bbe9fac8b3cce7933b32615f75e0ef" \
     https://restapi.getui.com/v1/#{appid}/push_app \
     -XPOST -d '{
                "message": {
                   "appkey": "GVvUv4M8FZAF7u5a9H79m6",
                   "is_offline": false,
                   "msgtype": "notification"
                },
                "notification": {
                    "style": {
                        "type": 0,
                        "text": "请填写通知内容",
                        "title": "请填写通知标题"
                    },
                    "transmission_type": true,
                    "transmission_content": "透传内容"
                },
              "condition":[{"key":"phonetype", "values":["ANDROID"], "opt_type":0},
                                         {"key":"region", "values":["11000000", "12000000"], "opt_type":0},
                                         {"key":"tag", "values":["usertag"], "opt_type":0}],
                "requestid":"12341111111115678978"
                }'

响应:

{"result":"ok", "taskid":"RASA_0111_4fbcdb8155eb8e9002bec597f78d9999"}

3.3 接口说明

属性 类型 是否必传 说明
message - 消息内容,见详情
notification link、
notypopload、
transmission、
notification
消息应用模板,见详情
该属性名可替换,四种类型选其一,但必须与message下面的msgtype一致
push_info String - json串,当手机为ios,并且为离线的时候
condition - 筛选目标用户条件,参考下面的condition说明
requestid String 请求唯一标识
  • condition
属性 是否必传 说明
key 筛选条件类型名称(省市region,手机类型phonetype,用户标签tag)
values 筛选参数
opt_type 筛选参数的组合,0:取参数并集or,1:交集and,2:相当与not in {参数1,参数2,....}
  • 可选字段
字段名 类型 是否必传 说明
speed int 推送速度控制
task_name String 任务别名
duration_begin String 设定展示开始时间,格式为yyyy-MM-dd HH:mm:ss
duration_end String 设定展示结束时间,格式为yyyy-MM-dd HH:mm:ss
push_info - apns推送消息
  • 响应数据
属性 类型 说明
result String 响应结果,见详情
taskid String 任务标识号
desc String 错误信息描述

注:此接口有频次控制,申请修改请联系邮箱:lieg@getui.com

4. stop群推任务

4.1 说明

在有效期内的消息进行停止

4.2 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken:  xxxxx"  \
https://restapi.getui.com/v1/#{appid}/stop_task/#{taskid} \
    -XDELETE

响应:

{"result":"ok","taskid":"RASL_0119_5338f3c01e4f4a52bf08e26fa91da7e0"}

4.3 接口说明

属性 类型 说明
result String 操作结果,见详情
taskid String 停止的taskid任务

5. 批量单推接口

5.1 说明

批量发送单推消息

5.2 应用场景

在给每个用户的推送内容都不同的情况下,又因为单推消息发送较慢,可以使用此接口。

5.3 实例

请求:

curl -H "Content-Type: application/json"  \
     -H "authtoken:87297be59b7cd6eef61928785118300f3d1b46e964c7ccbb1ed8a6ace863813f" \
     https://restapi.getui.com/v1/#{appid}/push_single_batch  \
     -XPOST -d '{
                 "msg_list":[
                  {
                   "message": {
                               "appkey": "**************************",
                           "is_offline": true,
                           "offline_expire_time":10000000,
                           "msgtype": "notification"
                      },
                      "notification": {
                          "style": {
                            "type": 0,
                            "text": "请填写通知内容",
                            "title": "请填写通知标题"
                          },
                          "transmission_type": true,
                          "transmission_content": "透传内容"
                        },

                      "cid":"***************************",
                  "requestid":"12345678911111111111111"
                   },{
                        "message":{
                                "appkey":"***********************",
                                "is_offline":false,
                                "msgtype":"link"
                               },
                    "link":{
                         "style": {
                                "type": 0,
                                "text": "请填写通知内容",
                                "title": "请填写通知标题",
                                "logo": "logo.png",
                                "logourl": "http://xxxx/a.png",
                                "is_ring": true,
                                "is_vibrate": true,
                                "is_clearable": true
                            },
                        "url":"打开网址",
                        "duration_begin":"2017-03-22 11:40:00",
                        "duration_end":"2017-03-29 11:40:00"
                    },
                    "cid":"****************************",
                    "requestid":"123456789"
                   }
                 ],
                 "need_detail":true
            }'

响应:

{"result":"ok", "taskid":"RASS_0111_4fbcdb8155eb8e9002bec597f78d9999"}

5.4 接口说明

属性 子属性 是否必传 说明
msg_list message 消息内容,见详情
msg_list notification、
link、
notypopload、transmission
消息应用模板,见详情
四种类型选其一
该属性与message下面的msgtype一致
msg_list cid 与alias二选一
msg_list requestid 请求唯一标识
need_detail - 是否需要详细返回值,默认:否
  • 响应数据
属性 类型 说明
result String 操作结果,见详情
taskid String 任务标识号
desc String 错误信息描述

6 定时任务推送

6.1 定时任务推送接口

定时对指定应用群推消息

6.1.1 应用场景

对单个指定应用的所有用户群发推送消息。该消息可以在用户设定的时间点进行推送。

注:此接口需要申请开通,申请邮箱:lieg@getui.com

6.1.2 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken: f16e43e935238fffdb71c052a483267f59bbe9fac8b3cce7933b32615f75e0ef" \
     https://restapi.getui.com/v1/#{appid}/push_app \
     -XPOST -d '{
                "message": {
                   "appkey": "******************",
                   "is_offline": false,
                   "msgtype": "notification"
                },
                "notification": {
                    "style": {
                        "type": 0,
                        "text": "请填写通知内容",
                        "title": "请填写通知标题"
                    },
                    "transmission_type": true,
                    "transmission_content": "透传内容"
                },
              "condition":[{"key":"phonetype", "values":["ANDROID"], "opt_type":0},
                                         {"key":"region", "values":["11000000", "12000000"], "opt_type":0},
                                         {"key":"tag", "values":["usertag"], "opt_type":0}],
                "requestid":"12341111111115678978",
                "pushTime":"201810241050"
                }'

响应:

{"result":"ok", "taskid":"RASA_0111_4fbcdb8155eb8e9002bec597f78d9999"}

6.1.3 接口说明

属性 类型 是否必传 说明
message - 消息内容,见详情
notification link、
notypopload、
transmission、
notification
消息应用模板,见详情
该属性名可替换,四种类型选其一,但必须与message下面的msgtype一致
push_info String - json串,当手机为ios,并且为离线的时候
condition - 筛选目标用户条件,参考下面的condition说明
requestid String 请求唯一标识
pushTime String 定时下发时间
  • condition
属性 是否必传 说明
key 筛选条件类型名称(省市region,手机类型phonetype,用户标签tag)
values 筛选参数
opt_type 筛选参数的组合,0:取参数并集or,1:交集and,2:相当与not in {参数1,参数2,....}
  • 可选字段
字段名 类型 是否必传 说明
speed int 推送速度控制
task_name String 任务别名
duration_begin String 设定展示开始时间,格式为yyyy-MM-dd HH:mm:ss
duration_end String 设定展示结束时间,格式为yyyy-MM-dd HH:mm:ss
push_info - apns推送消息
  • 响应数据
属性 类型 说明
result String 响应结果,见详情
taskid String 任务标识号
desc String 错误信息描述

注:此接口有频次控制,申请修改请联系邮箱:lieg@getui.com

6.2 定时任务查询接口

查询定时任务

6.2.1 应用场景

该接口主要用来在需要查看返回已提交的定时任务的相关信息。

6.2.2 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken: f16e43e935238fffdb71c052a483267f59bbe9fac8b3cce7933b32615f75e0ef" \
     https://restapi.getui.com/v1/#{appid}/get_schedule_task \
     -XPOST -d '{
                "taskid":"RASS_1023_9de654eb9c2c867fd8b7874ed94322e5"
                }'

响应:

{result=ok, taskDetail={"creatTime":"2018-09-05 19:28:08.0","sendResult":"send_failed","pushContent":"","pushTime":"201809051950","desc":"ok","status":0}, taskId= RASS_1023_9de654eb9c2c867fd8b7874ed94322e5}

6.2.3 接口说明

属性 类型 是否必传 说明
taskid string 任务id

返回的主要参数如下:

参数名称 参数含义
pushContent 推送类容(transmission的内容)
pushTime 推送时间
creatTime 任务创建时间
sendResult 任务状态
taskId 任务Id

6.3 定时任务删除接口

6.3.1 应用场景

用来删除还未下发的任务

6.3.2 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken: f16e43e935238fffdb71c052a483267f59bbe9fac8b3cce7933b32615f75e0ef" \
     https://restapi.getui.com/v1/#{appid}/del_schedule_task \
     -XPOST -d '{
                "taskid":"************************"
                }'

响应:

{"result":"ok"}

6.3.3 接口说明

属性 类型 是否必传 说明
taskid string 任务id

需要补充说明的是:

  • 距离下发还有一分钟的任务 将无法删除 也即 停止任务下发。
开发者中心 SDK 下载

文档中心搜索