0
点赞
收藏
分享

微信扫一扫

MobPush创建推送

功能说明

  • MobPush提供遵循REST规范的HTTP接口,适用各开发语言环境调用。

频率控制

此接口频次限制30次/秒,如频次不满足,可点击右侧"技术咨询”图标了解详情。

IP绑定

工作台可以绑定服务器IP地址,未绑定之前所有IP均可进行REST API的调用,绑定后仅绑定的IP才有调用权限。

MobPush创建推送_字段名

调用地址

  • POST<http://api.push.mob.com/v3/push/createPush>

请求头

字段名

类型

选项

含义

Content-Type

string

必填

必要参数,固定值application/json

key

string

必填

MobTech提供的AppKey

sign

string

必填

加密参数,加密规则为: md5(请求参数+MobAppSecret)

推送对象

  • 以 JSON 格式表达,表示一条推送相关的所有信息。

字段名

类型

选项

含义

workno

string

可选

自定义任务id,默认由MobTech自动生成,无需传递(需保证唯一性)

source

string

必填

固定值webapi

appkey

string

必填

MobTech提供的AppKey

pushTarget

object

必填

推送目标

pushNotify

object

必填

推送展示细节配置

pushOperator

object

可选

运营保障相关配置

pushForward

object

可选

link 相关打开配置

pushCallback

object

可选

推送回调配置

pushFactoryExtra

object

可选

厂商特殊配置

userExtra

object

可选

用于给客户提供一些用于解释推送任务的字段扩充

groupId

string

可选

AB分组测试ID

pushTarget:推送目标

字段名

类型

选项

含义

target

number

必填

推送目标类型- 1:广播 - 2:别名(alias) - 3:标签(tags) - 4:rid - 5:地理位置(city) - 6:用户分群 - 9:复杂地理位置推送(pushAreas) - 14:fileid推送

alias

string []

target等于2时必填

推送别名集合,集合元素限制1000个以内。例:["alias1","alias2"]

tags

string []

target等于3时必填

推送标签集合,集合元素限制1000个以内例:["tag1","tag2"]

tagsType

number

target等于3时必填

标签组合方式,target等于3时可用- 1:并集 - 2:交集 - 3:补集(暂未实现)

rids

string[]

target等于4时必填

推送rid集合,集合元素限制1000个以内例:["id1","id2"]

city

string

target等于5时可选,且city、province、country 必选一个不为空

推送地理位置的城市例:上海市

province

string

target等于5时可选,且city、province、country 必选一个不为空

推送地理位置的省份例:浙江省

country

string

target等于5时可选,且city、province、country 必选一个不为空

推送地理位置的国家例:中国

block

string

target等于6时必填

用户分群ID注:该功能暂未实现

pushAreas

object

target等于9时必填

复杂地理位置

fileId

string

target等于14时必填

fileid

appPackages

string []

可选

指定推送的包名列表,如不填则使用默认包名进行推送

pushAreas:复杂地理位置

字段名

类型

选项

含义

countries

object []

必填

国家列表

countries:国家列表

字段名

类型

选项

含义

country

string

必填

国家名称

provinces

object []

可选

指定需要推送的省份列表

provinces:省份列表

字段名

类型

选项

含义

province

string

必填

省份名称

cities

string []

可选

需要推送的城市列表

excludeCities

string []

可选

指定不需要推送的城市列表,当指定[cities]时,这个字段不起作用

excludeProvinces

string []

可选

指定不需要推送的省份列表,当设置[provinces]时,这个不起作用

pushNotify:推送展示细节配置

字段名

类型

选项

含义

plats

number []

必填

推送生效渠道- 1:android - 2:iOS 例:[1, 2]

iosProduction

number

plats数组值含有2时可选

iOS环境- 0:测试环境 - 1:生产环境(默认)

offlineSeconds

number

可选

离线消息保存时间,单位:秒,默认值为86400注:魅族厂商的离线保留时间范围是1~72小时,设置的离线保留时间如超出该范围将会导致消息无法使用魅族厂商通道,其他厂商不受影响

content

string

必填

推送内容注1:内容长度超过厂商限制会被截断。 注2:vivo不支持纯表情。

title

string

可选

通知标题注1:默认通知标题为应用名称 注2:标题长度超过厂商限制会被截断 注3:vivo不允许纯表情

type

number

必填

推送类型- 1:通知 - 2:自定义

androidNotify

object

可选

Android通知消息对象

iosNotify

object

可选

iOS通知消息对象

taskCron

number

可选

是否是定时消息- 0:否(默认) - 1:是

taskTime

number

taskCron=1时必填

定时消息发送时间,单位:毫秒时间戳例:1594277916000

speed

number

可选

每秒推送速率的趋势,默认为0(代表不开启)

skipOnline

number

可选

是否跳过在线设备- 1:跳过 - 0:不跳过(默认)

skipFactory

number

可选

是否跳过厂商通道- 1:跳过 - 0:不跳过(默认)

policy

number

可选

推送策略- 1:先走tcp,再走厂商 - 2:先走厂商,再走tcp - 3:只走厂商 - 4:只走tcp注:厂商透传只支持策略3或4

extrasMapList

object []

可选

附加参数列表例: [ { "key": "name", "value": "jason" }, { "key": "age", "value": 18 } ]

androidNotify:Android通知消息对象

字段名

类型

选项

含义

content

string []

可选

推送内容,配合style参数使用- style=0 不生效 - style=1 部分机型可以生效覆盖- style=2 传入图片链接,部分低版本手机不支持- style=3 对应传入文字内容默认: 0

customStyle

object

可选

自定义样式

warn

string

可选

提醒类型,可多选组合- 1:提示音 - 2:震动 - 3:指示灯 例:12(提示音+震动)

style

integer

可选

显示样式标识- 0:默认- 1:长内容 - 2:大图 - 3:横幅 - 4:自定义样式

sound

string

可选

自定义声音

icon

string

可选

附带小图标的推送注1:icon和image只能二选一,同时传输则取icon中的数据 注2:目前客户端版本暂不支持

image

string

可选

推送大图标的url地址注1:icon和image只能二选一,同时传输则取icon中的数据 注2:透传消息不支持 注3:小米厂商对图片尺寸有严格要求,不符合要求则不会按照大图样式进行推送,具体要求为:宽高固定为876*324px,格式需为PNG/JPG/JPEG,大小小于1M 注4:OPPO厂商大图需要申请权限,否则会报错导致客户端收不到推送消息

androidChannelId

string

可选

安卓通知渠道ID注:当输入该参数后,MobPush通道和厂商通道都会使用该channelId;当androidChannelId 和 pushFactoryExtra中的channelId同时使用填写时,那MobPush通道使用androidChannelId,厂商通道使用pushFactoryExtra中设置的channelId

androidBadgeType

number

可选

角标类型- 1:角标数值取androidBadge值 - 2:角标数值为androidBadge当前值加1 注:透传消息不支持

androidBadge

number

可选

角标数值

notifyRepeat

object

可选

消息重弹配置项

customStyle:安卓通知自定义样式

字段名

类型

选项

含义

styleNo

integer

可选

样式序号- 1:样式1 - 2:样式2 - 3:样式3

backgroundUrl

string

可选

背景图Url

smallIcons

string

可选

小图标

buttonCopy

string

可选

按钮文案

buttonJumpUrl

string

可选

点击按钮跳转的链接

notifyRepeat:消息重弹配置项

字段名

类型

选项

含义

repeatSwitch

integer

必选

重弹开关可取值:- 0:关闭 - 1:开启

repeatTimes

integer

必选

重弹次数可取值:1 - 5

repeatInterval

integer

必选

重弹时间间隔,单位:秒可取值:5~86400

iosNotify:iOS通知消息对象

字段名

类型

选项

含义

badge

number

可选

角标

badgeType

number

可选

badge类型- 1:绝对值 不能为负数- 2增减(正数增加,负数减少),减到0以下会设置为0

category

string

可选

APNs的category字段,只有IOS8及以上系统才支持此参数推送

sound

string

可选

APNs通知,通过这个字段指定声音,默认为default(系统默认声音),如设置为空值则为静音。如设置为其他字符,则需要您的应用中配置了该声音才可以正常发声。

subtitle

string

可选

副标题

slientPush

number

可选

如果只携带content-available: 1,不携带任何badge,sound 和消息内容等参数, 则可以不打扰用户的情况下进行内容更新等操作即为“Silent Remote Notifications”

contentAvailable

number

可选

将该键设为 1 则表示有新的可用内容。带上这个键值,意味着你的 App 在后台启动了或恢复运行了,application:didReceiveRemoteNotification:fetchCompletionHandler:被调用了

mutableContent

number

可选

- 1 使用富文本- 0 不设置 注:默认为0,配合attachmentType 和attachment使用

attachmentType

number

可选

富文本类型- 0:无 - 1:图片 - 2:视频 - 3:音频

attachment

string

可选

ios富文本内容

pushOperator:运营保障相关配置

字段名

类型

选项

含义

dropType

number

可选

运营保障消息修改类型,推荐使用专用接口进行操作 - 1:取消 - 2:替换 - 3:撤回

dropId

string

必填

推送任务的唯一ID

pushForward:Link 相关打开配置

字段名

类型

选项

含义

url

string

可选

link跳转 moblink功能的的uri

scheme

string

必填

scheme moblink功能的的scheme

schemeDataList

object []

可选

scheme参数例: [ { "key": "name", "value": "jason" }, { "key": "age", "value": 18 } ]

nextType

integer

可选

后续动作- 0:打开首页 - 1:link跳转 - 2:scheme 跳转 - 3:Intent

intentUrl

string

可选

Intent页面地址

pushCallback:推送回调配置

字段名

类型

选项

含义

url

string

可选

回调地址点击查看详情

params

object

可选

JSON对象自定义参数例: { "key": "value" }

pushFactoryExtra:厂商特殊配置

huaweiExtra:华为厂商特殊配置

字段名

类型

选项

含义

importance

string

可选

消息类型- LOW:资讯营销类- NORMAL:服务与通讯类注:资讯营销类的消息提醒方式为静默通知,仅在下拉通知栏展示。 服务与通讯类的消息提醒方式为锁屏+铃声+震动

category

string

可选

作用一:完成自分类权益申请后,用于标识消息类型,确定消息提醒方式,对特定类型消息加快发送,取值如下:IM:即时聊天 VOIP:音视频通话 SUBSCRIPTION:订阅 TRAVEL:出行 HEALTH:健康 WORK:工作事项提醒 ACCOUNT:帐号动态 EXPRESS:订单&物流 FINANCE:财务 DEVICE_REMINDER:设备提醒 SYSTEM_REMINDER:系统提示 MAIL:邮件 PLAY_VOICE:语音播报(仅透传消息支持) MARKETING:内容推荐、新闻、财经动态、生活资讯、社交动态、调研、产品促销、功能推荐、运营活动(仅对内容进行标识,不会加快消息发送)作用二:申请特殊权限后,用于标识高优先级透传场景,取值如下: VOIP:音视频通话 PLAY_VOICE:语音播报

xiaomiExtra:小米厂商特殊配置

字段名

类型

选项

含义

channelId

string

可选

小米渠道Id 适配定制化渠道

oppoExtra:OPPO厂商特殊配置

字段名

类型

选项

含义

channelId

string

可选

OPPO渠道Id 适配定制化渠道

vivoExtra:VIVO厂商特殊配置

字段名

类型

选项

含义

classification

int

可选

VIVO消息类型- 0:运营类型消息 - 1:系统类型消息

category

string

可选

二级分类,传值参见二级分类标准中category说明1、填写category后,可以不填写classification、messageSort,但若填写classification、messageSort,请保证category与messageSort或classification是正确对应关系,否则返回错误码10097;2、赋值请按照消息分类规则填写,且必须大写;若传入错误无效的值,否则返回错误码10096;

userExtra:用户补充信息

字段名

类型

选项

含义

pushWorkDesc

string

可选

推送任务的解释说明,由用户设置

activityTask

integer

可选

活动任务- 0:不是活动任务(默认) - 1:是活动任务

activityWorkId

string

activityTask为1时必传

活动ID,不能超过20个字符,且唯一不可重复

加密示例

  • 参数

{"source":"webapi","appkey":"2f2d7a68f8a40","pushTarget":{"target":1},"pushNotify":{"plats":[1],"content":"推送的内容","type":1}}9abee316611dd24f607feb9f2c496338

  • 计算结果

sign -> eb276f35cf6480169b2d3e2e509db680

请求示例

curl --location --request POST 'http://api.push.mob.com/v3/push/createPush' \
--header 'Content-Type: application/json' \
--header 'key: 2f2d7a68f8a40' \
--header 'sign: eb276f35cf6480169b2d3e2e509db680' \
--data-raw '{"source":"webapi","appkey":"2f2d7a68f8a40","pushTarget":{"target":1},"pushNotify":{"plats":[1],"content":"推送的内容","type":1}}'

响应示例

  • 请求成功

{
    "status": 200,
    "res": {
        "batchId": "4bp4tw9ttc06xgch6o",
        "fetched": null,
        "uninstalls": null,
        "closes": null,
        "notFounds": null
    },
    "error": null
}

  • 请求失败

{
    "status": 5801,
    "res": null,
    "error": "数据校验失败"
}

  • 响应参数

key

description

status

返回码

res

消息体,可从中获取本次推送的任务ID

error

返回码描述

调用示例

推送广播

{
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 1
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送的内容",
        "type": 1
    }
}

推送广播并附加参数

{
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 1
    },
    "pushNotify": {
        "plats": [
            1,
            2
        ],
        "content": "推送的内容",
        "type": 1,
        "iosProduction": 0,
        "extrasMapList": [
            {
                "key": "ContentTypeasd",
                "value": "personal_chat"
            }
        ]
    }
}

推送标签

{
    "source": "webapi",
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 3,
        "tags": [
            "男",
            "上海",
            "老师"
        ]
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送的内容",
        "type": 1
    }
}

推送别名

{
    "source": "webapi",
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 2,
        "alias": [
            "alias_1",
            "alias_2"
        ]
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送的内容",
        "type": 1
    }
}

推送RegisterID

{
    "source": "webapi",
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 4,
        "rids": [
            "c262bac10d05ec1c9b04126d"
        ]
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送的内容",
        "type": 1
    }
}

自定义消息(透传消息)

{
    "source": "webapi",
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 1
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送内容",
        "type": 2,
        "customNotify": {
            "customType": "text 文本消息",
            "customTitle": "自定义类型标题"
        }
    }
}

Android通知大图模式

{
    "source": "webapi",
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 1
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送内容",
        "type": 1,
        "androidNotify": {
            "content": [
                "Android推送内容1",
                "Android推送内容2"
            ],
            "style": 2
        }
    }
}

Android通知横幅模式

{
    "source": "webapi",
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 1
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送内容",
        "type": 1,
        "androidNotify": {
            "content": [
                "Android推送内容1",
                "Android推送内容2"
            ],
            "style": 3
        }
    }
}

Android通知自定义声音

音频文件放到项目res/raw目录下,只需传音频文件的文件名

{
    "source": "webapi",
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 1
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送内容",
        "type": 1,
        "androidNotify": {
            "content": [
                "Android推送内容1",
                "Android推送内容2"
            ],
            "style": 2,
            "warn": "1",
            "sound": "warn",
            "androidChannelId": "channelId"
        }
    }
}

跳转首页并传递附加参数

{
    "source": "webapi",
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 1
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送内容",
        "type": 1,
        "androidNotify": {
            "content": [
                "Android推送内容1",
                "Android推送内容2"
            ],
            "style": 2,
            "warn": "1",
            "sound": "warn"
        },
        "extrasMapList": [
            {
                "key": "extrakey",
                "value": "extravalue"
            }
        ]
    },
    "pushForward": {
        "nextType": 0
    }
}

跳转到指定界面并且传递携带scheme数据

{
    "source": "webapi",
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 1
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送内容",
        "type": 1,
        "androidNotify": {
            "content": [
                "Android推送内容1",
                "Android推送内容2"
            ],
            "style": 2,
            "warn": "1",
            "sound": "warn"
        }
    },
    "pushForward": {
        "nextType": 2,
        "scheme": "mlink://com.mob.mobpush.linkone",
        "schemeDataList": [
            {
                "key": "schemekey",
                "value": "schemevalue"
            }
        ]
    }
}

打开网页

{
    "source": "webapi",
    "appkey": "moba6b6c6d6",
    "pushTarget": {
        "target": 1
    },
    "pushNotify": {
        "plats": [
            1
        ],
        "content": "推送内容",
        "type": 1,
        "androidNotify": {
            "content": [
                "Android推送内容1",
                "Android推送内容2"
            ],
            "style": 2,
            "warn": "1",
            "sound": "warn"
        }
    },
    "pushForward": {
        "nextType": 1,
        "url": "http://www.mob.com"
    }
}

批量推送

MobPush还额外提供了批量推送接口,可以设置推送不同的regid和别名对应不同的推送内容, 详情点击查看

返回码

返回码

描述

200

成功

4001

请求缺少必要参数

4002

请求参数错误

4003

请求参数不完整

4004

数据解密失败

4005

数据校验失败

4006

通信会话已经过期或者不存在

4007

非法请求

4008

秘钥失效

4009

文本

4010

文本

4011

加密接口只支持POST

4012

解密失败

4013

web请求异常

4014

手机号码格式错误

4015

不可保存相同短信模板

4016

此短信模板不存在

4017

此appkey无短信模板

4018

此appkey无短信签名

4019

此appkey下已有签名

4033

回调参数url格式错误

4101

appkey已经加入黑名单

4102

该设备已经加入黑名单

4103

请求过于频繁

4104

请先加入MobPush产品

4105

设备Id相关参数错误

4201

没有可用的tcp节点

4301

IOS设备缺少device token信息

4302

未找到对应设备信息

4303

别名字数超过限制,最长40,UTF-8编码

4304

别名格式不正确

4305

单个标签长度超过限制,最长40,UTF-8编码

4306

标签格式不正确

4307

定时推送需要设置时间

4314

请填写模拟发送内容

4308

发送内容超过限制

4309

缺少AES KEY信息

4310

未找到应用信息

4311

应用已经被禁用

4312

appkey无效

4313

缺少token信息

4314

请求过于频繁

4315

大段文本内容超过限制

4316

收件箱内容超过限制

4317

收件箱条数超过限制

4318

未找到要替换的消息

4319

未找到要撤回的消息

4320

请求缺少必要参数

4320

回执消息为空

4321

TCP标志消息为空

4322

离线回执消息为空

4501

设置IP地址格式不正确

4502

设置的包名不正确

4503

证书密码格式不正确

4504

选择的鉴权方式和提交信息不匹配

4505

填写的鉴权信息已经存在

4506

未筛选到发送对象

4507

当前推送任务不能修改

4508

未找到匹配的推送任务

4509

发送内容超过限制

4510

只能设置一分钟后的定时任务

4511

大段文本内容超过限制

4512

收件箱内容超过限制

4513

收件箱条数超过限制

4514

标题设置超过限制

4515

只能设置一个月内的定时任务

4516

分群名称不能超过32字符

4516

缺少用户分群ID

4517

分群设置日期格式错误

4518

任务不属于当前用户

4518

厂商配置信息缺失

4519

厂商选择错误,请确定厂商参数信息

4520

请先进入 推送设置配置android包名

4521

测试比例超过范围

4522

未开通智能标签权限

4523

批量别名最大数量超过1000

4524

批量RegistrationIds最大数量超过1000

4525

标签不能为空

4525

批量标签最大数量超过100

4525

标签组合限制值{1

4526

智能标签不能为空

4527

别名不能为空且长度限制[1

4528

RegisterIds不能为空且长度限制[1

4529

分群id不能为空

4531

推送内容不能为空

4532

定时任务时间限制

4533

安卓样式内容不能为空

4540

定时任务时间不能为空

4541

地理位置推送,地理位置信息未设置

4543

短信补量数据不能为空

4544

智能标签异常

4551

短信补量别名不能为空且长度限制[1

4552

短信补量标签不能为空

4552

短信补量RegisterIds不能为空且长度限制[1

4553

角标设置错误

4554

FCM配置异常

4555

替换或者撤回需要传递workId

4556

ADPush模板为空

4557

WebApi未开放智能标签推送

4558

FCM远程锁异常

4559

运营保障推送任务不存在

4560

ABTest任务不存在

4561

未知的短信签名

4562

未知的短信模板

4563

短信模板和前面不匹配

5001

服务端未知异常

5002

数据获取失败

5003

数据存储失败

5004

服务端繁忙

5005

请求的服务不支持

5006

数据加密失败

5101

设备存储参数错误

5301

没有可分配连接节点

5302

包含无效的MessageId

5403

设备已经被禁用

5404

缺少设备绑定信息

5405

标签数量超限

5406

初始化信息失败

5408

workno已经存在

5409

无推送目标设备

5411

设备数量不足

5412

AppSecret秘钥错误

5488

非法操作

5499

数据更新失败

5501

服务器压力大

4800

请求头信息缺少key字段

4801

请求IP不匹配或者未设置

4802

应用未开启MobPush产品或者被禁用

4803

别名字数超过限制,最长40,UTF-8编码

4804

别名格式不正确

4805

单个标签长度超过限制,最长40,UTF-8编码

4806

标签格式不正确

4807

当前推送任务不能修改

4809

请求缺少必要参数

4810

请求过于频繁

4811

推送任务内容长度超限

4812

缺少推送内容

4813

缺少目标平台

4814

缺少目标人群

4815

缺少推送类型

4816

超过最大离线时间

4817

大段文本内容超过限制

4818

收件箱内容超过限制

4819

收件箱最多5条

4820

标题设置超过限制

4821

缺少用户分群ID

4822

extra的key值包含关键字

4823

一次不能超过100条

4824

离线时间非法

4825

离线推送时间范围只能8:00-22:00点,推送时间为当前时间+离线时间

4826

一次不能超过1000条

4827

dropType字段错误

4828

任务未找到或统计未出

4839

推送Appkey错误

4901

无创建单个推送权限

4902

创建单个推送请求过于频繁

4903

无批量创建推送权限,该权限为高级功能,如需使用请和技术支持联系

4904

批量创建推送请求过于频繁

4905

无创建广播推送权限

4906

创建广播推送请求过于频繁

4907

无创建指定设备推送权限

4908

创建指定设备推送请求过于频繁

4909

无创建批量推送权限,该权限为高级功能,如需使用请和技术支持联系

4910

创建批量推送请求过于频繁

4911

无创建定时推送权限

4912

创建定时推送请求过于频繁

举报

相关推荐

0 条评论