消息推送方式

消息推送方式

1. 单推

1.1 说明

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

1.2 实例

请求:

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

响应:

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

1.3 接口说明

属性 类型 是否必传 说明
message object 消息内容,见详情
notification
link
notypopload
transmission
object 消息应用模板,见详情
四种类型选其一
该属性与message下面的msgtype一致
push_info String - 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:  xxxxx"  \
https://restapi.getui.com/v1/CKWfvgBDRF9aSnGrvD7IJ4/save_list_body \
    -XPOST -d '{
                   "message": {
                   "appkey": "GVvUv4M8FZAF7u5a9H79m6",
                   "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 错误信息描述

注:此接口有频次控制,申请修改请联系邮箱:kegf@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/CKWfvgBDRF9aSnGrvD7IJ4/push_list  \
     -XPOST -d '{
                "cid":["1fa0795a57c863ecc9a9ea6437b8924f"],
                "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 目标别名用户推送结果详情

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

3. toapp群推

3.1 说明

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

3.2 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken: f16e43e935238fffdb71c052a483267f59bbe9fac8b3cce7933b32615f75e0ef" \
     https://restapi.getui.com/v1/CKWfvgBDRF9aSnGrvD7IJ4/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 错误信息描述

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

4. stop群推任务

4.1 说明

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

4.2 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken:  xxxxx"  \
https://restapi.getui.com/v1/CKWfvgBDRF9aSnGrvD7IJ4/stop_task/OSL_0119_5338f3c01e4f4a52bf08e26fa91da7e0 \
    -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/9sQ07BI8xW7VeKElV9W9p6/push_single_batch  \
     -XPOST -d '{
                 "msg_list":[
                  {
                   "message": {
                               "appkey": "GVvUv4M8FZAF7u5a9H79m6",
                           "is_offline": true,
                           "offline_expire_time":10000000,
                           "msgtype": "notification"
                      },
                      "notification": {
                          "style": {
                            "type": 0,
                            "text": "请填写通知内容",
                            "title": "请填写通知标题"
                          },
                          "transmission_type": true,
                          "transmission_content": "透传内容"
                        },

                      "cid":"7d3fd7a8b1db11b830321fbe511848b3",
                  "requestid":"12345678911111111111111"
                   },{
                        "message":{
                                "appkey":"pMEgGQ9bgz5LVAPX8q8WH4",
                                "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":"1fa0795a57c863ecc9a9ea6437b8924f",
                    "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 应用场景

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

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

6.1.2 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken: f16e43e935238fffdb71c052a483267f59bbe9fac8b3cce7933b32615f75e0ef" \
     https://restapi.getui.com/v1/CKWfvgBDRF9aSnGrvD7IJ4/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",
                "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 错误信息描述

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

6.2 定时任务查询接口

查询定时任务

6.2.1 应用场景

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

6.2.2 实例

请求:

curl -H "Content-Type: application/json" \
     -H "authtoken: f16e43e935238fffdb71c052a483267f59bbe9fac8b3cce7933b32615f75e0ef" \
     https://restapi.getui.com/v1/CKWfvgBDRF9aSnGrvD7IJ4/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/CKWfvgBDRF9aSnGrvD7IJ4/del_schedule_task \
     -XPOST -d '{
                "taskid":"RASS_1023_9de654eb9c2c867fd8b7874ed94322e5"
                }'

响应:

{"result":"ok"}

6.3.3 接口说明

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

需要补充说明的是:

  • 距离下发还有一分钟的任务 将无法删除 也即 停止任务下发。
通知
2018.10.29 iOS SDK 2.3.1.0

新增语音播报功能。 简化注册DeviceToken、注册VoipToken接口。 修复GTExtensionSDK crash问题。 因新版本功能修改,需要添加“libresolv.tbd”库

......
2018.10.09 Android SDK 4.3.2.0

新增通知覆盖、撤回 适配Android 9.0

......
2018.09.27 PYTHON SDK 4.1.0.0

添加python新加接口功能文档说明

......
2018.09.27 PHP SDK 4.1.0.0

修改新鉴权方式 支持iOS语音播报 iOS透传消息模版支持副标题

......
2018.09.06 JAVA SDK 4.1.0.0

修改新鉴权方式 支持iOS语音播报 支持消息撤回和覆盖

......

文档中心搜索