华为云用户手册

  • 主题操作 权限 对应API接口 授权项 IAM项目 企业项目 创建主题 POST /v2/{project_id}/notifications/topics smn:topic:create √ √ 查询主题 GET /v2/{project_id}/notifications/topics smn:topic:list √ √ 更新主题 PUT /v2/{project_id}/notifications/topics/{topic_urn} smn:topic:update √ √ 删除主题 DELETE /v2/{project_id}/notifications/topics/{topic_urn} smn:topic:delete √ √ 父主题: 权限和授权项
  • 操作步骤 Token认证,具体操作请参考认证鉴权。 创建Topic。 发送“POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics”。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入如下参数。 详细的参数说明请参见创建主题。 { "name": "publish_by_template", //Topic名称(必填String) "display_name": "test" , //显示名(非必填String) "enterprise_project_id": "0" //企业项目ID(企业项目场景下为必填String)} 响应示例: { "request_id": "a8f8161449564f569c19e2a9e3be25c9", "topic_urn": "urn:smn:br-iaas-odin1:0605767e0a00d5762fe7c00d0e33345c:publish_by_template" } 添加订阅。 发送“POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/subscriptions”。 其中,topic_urn可在2.c的返回体中获取。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下。 { "protocol": "sms", //订阅协议(必填String) "endpoint": "86137****3629", //邮件地址(必填String) "remark": "订阅终端" //备注(非必填String) } 响应示例: { "subscriptions_result":[{ "request_id":"126c17f805934e5eadf647b0860c7a0a", "subscription_urn":"urn:smn:br-iaas-odin1:0605767e0a00d5762fe7c00d0e33345c:publish_by_template:3e5ac4544a1947b7b0d9f743fe52bdbd", "http_code":201}]} 可为Topic添加多种以及多个订阅终端,支持的订阅协议请参考订阅。 订阅终端会收到一条确认订阅的消息,请在邮箱中进行确认订阅的操作。 创建消息模板。 发送“POST https://{SMN_Endpoint}/v2/{project_id}/notifications/message_template”。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下: { "message_template_name": "sms_template_test", "locale": "zh-cn", "content": "{content}", "protocol": "sms"} 响应示例: { "request_id": "e67228ac92324a58980e922ca600f8ef", "message_template_id": "cdb113996c5d49149fb97af36d9801ce"} 订阅终端会收到一条确认订阅的消息,请在手机中进行确认订阅的操作。 使用消息模板方式发布消息。 发送“POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/publish”。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下: { "message_template_name": "sms_template_test", "tags": {"content": "hello test" }, "subject": "template message test"} 响应示例: {"message_id": "5da965fd9e2c4036a0542317d944af83","request_id": "c6be4517f985470e8448e42f9d2ec5a2"} 已完成3.c的确认订阅操作的订阅终端都能接收到该消息,否则无法接收消息。
  • Application操作 权限 对应API接口 授权项 IAM项目 企业项目 创建应用 POST /v2/{project_id}/notifications/applications smn:application:create √ √ 查询应用 GET /v2/{project_id}/notifications/applications?offset={offset}&limit={limit}&name={name}&platform={platform} smn:application:list √ √ 更新应用 PUT /v2/{project_id}/notifications/applications/{application_urn} smn:application:update √ √ 删除应用 DELETE /v2/{project_id}/notifications/applications/{application_urn} smn:application:delete √ √ 父主题: 权限和授权项
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目列表API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" }}
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目,“√”表示支持,“×”表示暂不支持。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 消息通知服务(SMN)的支持自定义策略授权项如下所示: 主题操作,包含Topic管理接口对应的授权项,如创建主题、查询主题、更新主题、删除主题。 消息模板操作,包含消息模板管理接口对应的授权项,如创建消息模板、查询消息模板、更新消息模板、删除消息模板等接口。 Application操作,包含Application操作管理接口对应的授权项,如创建应用、查询应用、更新应用、删除应用等接口。 使用标签管理服务,包含使用标签管理服务管理接口对应的授权项,如查询资源实例、 添加资源标签、批量添加删除资源标签、删除资源标签等接口。 发布消息操作,包含发布消息操作管理接口对应的授权项,如消息发布接口。 Application直发消息操作,包含Application直发消息操作管理接口对应的授权项,如发布应用消息接口。
  • 修订记录 发布日期 修订记录 2023-05-29 第十六次正式发布。 本次变更说明如下: 新增“更新订阅者”章节。 新增“云日志操作”章节。 更新“查询主题列表”和“创建主题”章节。 更新“查询主题策略”章节。 “订阅”章节更新参数“protocol”描述。 “消息发布”章节更新参数“message_structure”描述。 2022-07-18 第十五次正式发布。 移动如下节点API至“历史API”: Application操作 Application endpoint操作 Application直发消息操作 2020-09-30 第十四次正式发布。 本次变更说明如下: 整体优化文档。 2019-07-05 第十四次正式发布。 本次变更说明如下: 新增“使用前必读”和“如何调用API”章节。 2018-11-30 第十三次正式发布。 2018-09-30 第十二次正式发布。 本次变更说明如下: 新增查询版本操作章节。 2018-04-30 第十一次正式发布。 本次变更说明如下: 全文新增“错误码”section。 新增使用标签管理服务章节 新增批量发送不同内容的推广类短信章节 新增Tags结构体、Match结构体、Resource结构体、Resource_tag结构体和Promotion_sms_commit_result结构体 新增返回值“401” 新增错误码说明 刷新错误码“SMN.0113” 刷新批量发送推广类短信、删除短信签名、创建短信模板、查询短信模板和查询短信模板详情 刷新“短信发送支持的国家码和地区码” 2018-03-30 第十次正式发布。 本次变更说明如下: 新增批量发送短信验证码或短信通知 新增批量发送不同内容的短信验证码或短信通知 新增Sms_commit_result结构体 新增Sms_message结构体 新增错误码说明SMNE005 刷新发送短信验证码或短信通知 删除PromotionSms_result结构体 2018-01-30 第九次正式发布。 本次变更说明如下: 新增创建短信模板 新增查询短信模板 新增查询短信模板详情 新增删除短信模板 新增批量发送推广类短信 刷新错误码说明 新增Sms_template结构体 新增PromotionSms_result结构体 新增短信回调事件说明 2017-11-30 第八次正式发布。 本次变更说明如下: 新增functiongraph订阅协议。 2017-10-30 第七次正式发布。 本次变更说明如下: 新增dms订阅协议。 新增查询短信的发送状态接口。 新增查询已发送短信的内容接口。 新增查询短信回调事件接口。 新增更新短信回调事件接口。 2017-08-18 第六次正式发布。 本次变更说明如下: 新增functionstage订阅协议。 2017-06-30 第五次正式发布。 本次变更说明如下: 新增短信签名接口。 新增短信签名错误码说明。 2017-03-13 第四次正式发布。 本次变更说明如下: Topic新增属性introduction 2016-10-29 第三次正式发布。 本次变更说明如下: 新增接口名称。 修改“生成AK、SK”步骤。 新增短信直发接口。 2016-09-30 第二次正式发布。 本次变更说明如下: 新增查询Topic属性接口。 新增更新Topic属性接口。 新增删除指定名称的Topic属性接口。 新增删除所有Topic属性接口 2016-08-25 第一次正式发布。
  • 订阅确认V2接口(废弃) 用途 订阅确认接口 接口 PUT /v2/{tenant_id}/notifications/topics/{topic_urn}/subscriptions/{subscription_urn}/confirmation PUT /v2/{tenant_id}/notifications/subscriptions/confirmation 邮件模板生命周期管理接口(废弃) POST /v2/{tenant_id}/notifications/integrated_system_message_template 联系人生命周期管理接口(废弃) POST /v2/notifications/contact/callback/{event_type} P12证书转Cert证书(废弃) POST /rest/v2/notifications/credentials_file_upload 父主题: 历史API
  • 国家码和地区码 国家(或地区) 中文名 国家(或地区)码 Afghanistan 阿富汗 93 Albania 阿尔巴尼亚 355 Algeria 阿尔及利亚 213 American Samoa 美属萨摩亚 1684 Andorra 安道尔 376 Angola 安哥拉 244 Anguilla 安圭拉 1264 Antigua and Barbuda 安提瓜和巴布达 1268 Argentina 阿根廷 54 Armenia 亚美尼亚 374 Aruba 阿鲁巴 297 Australia 澳大利亚 61 Austria 奥地利 43 Azerbaijan 阿塞拜疆 994 Bahamas 巴哈马 1242 Bahrain 巴林 973 Bangladesh 孟加拉国 880 Barbados 巴巴多斯 1246 Belarus 白俄罗斯 375 Belgium 比利时 32 Belize 伯利兹 501 Benin 贝宁 229 Bermuda 百慕大群岛 1441 Bhutan 不丹 975 Bolivia 玻利维亚 591 Bosnia and Herzegovina 波斯尼亚和黑塞哥维那 387 Botswana 博茨瓦纳 267 Brazil 巴西 55 British Indian Ocean Territory 英属印度洋领地 246 Brunei 文莱 673 Bulgaria 保加利亚 359 Burkina Faso 布基纳法索 226 Burundi 布隆迪 257 Cambodia 柬埔寨 855 Cameroon 喀麦隆 237 Canada 加拿大 1 Cape Verde 佛得角 238 Cayman Islands 开曼群岛 1345 Central African Republic 中非共和国 236 Chad 乍得 235 Chile 智利 56 Colombia 哥伦比亚 57 Comoros 科摩罗 269 Republic Of The Congo 刚果共和国 242 Democratic Republic of the Congo 刚果民主共和国 243 Cook Islands 库克群岛 682 Costa Rica 哥斯达黎加 506 Croatia 克罗地亚 385 Curacao 库拉索 599 Cyprus 塞浦路斯 357 Czechia 捷克 420 Denmark 丹麦 45 Djibouti 吉布提 253 Dominica 多米尼克 1767 Dominican Republic 多米尼加共和国 1809 Ecuador 厄瓜多尔 593 Egypt 埃及 20 El Salvador 萨尔瓦多 503 Equatorial Guinea 赤道几内亚 240 Eritrea 厄立特里亚 291 Estonia 爱沙尼亚 372 Ethiopia 埃塞俄比亚 251 Falkland Islands 福克兰群岛 500 Faroe Islands 法罗群岛 298 Fiji 斐济 679 Finland 芬兰 358 France 法国 33 French Guiana 法属圭亚那 594 French Polynesia 法属波利尼西亚 689 Gabon 加蓬 241 Gambia 冈比亚 220 Georgia 格鲁吉亚 995 Germany 德国 49 Ghana 加纳 233 Gibraltar 直布罗陀 350 Greece 希腊 30 Greenland 格陵兰岛 299 Grenada 格林纳达 1473 Guadeloupe 瓜德罗普岛 590 Guatemala 瓜地马拉 502 Guernsey 根西 44 Guinea 几内亚 224 Guinea-Bissau 几内亚比绍 245 Guyana 圭亚那 592 Haiti 海地 509 Honduras 洪都拉斯 504 Hong Kong (China) 中国香港 852 Hungary 匈牙利 36 Iceland 冰岛 354 India 印度 91 Indonesia 印度尼西亚 62 Iraq 伊拉克 964 Ireland 爱尔兰 353 Isle of Man 马恩岛 44 Israel 以色列 972 Italy 意大利 39 Ivory Coast 科特迪瓦 225 Jamaica 牙买加 1876 Japan 日本 81 Jersey 泽西岛 44 Jordan 约旦 962 Kazakhstan 哈萨克斯坦 7 Kenya 肯尼亚 254 Kuwait 科威特 965 Kyrgyzstan 吉尔吉斯斯坦 996 Laos 老挝 856 Latvia 拉脱维亚 371 Lebanon 黎巴嫩 961 Lesotho 莱索托 266 Liberia 利比里亚 231 Libya 利比亚 218 Liechtenstein 列支敦士登 423 Lithuania 立陶宛 370 Luxembourg 卢森堡 352 Macau (China) 中国澳门 853 Macedonia 马其顿 389 Madagascar 马达加斯加 261 Malawi 马拉维 265 Malaysia 马来西亚 60 Maldives 马尔代夫 960 Mali 马里 223 Malta 马耳他 356 Marshall Islands 马绍尔群岛 692 Martinique 马提尼克 596 Mauritania 毛里塔尼亚 222 Mauritius 毛里求斯 230 Mexico 墨西哥 52 Moldova 摩尔多瓦 373 Monaco 摩纳哥 377 Mongolia 蒙古 976 Montenegro 黑山 382 Montserrat 蒙特塞拉特岛 1664 Morocco 摩洛哥 212 Mozambique 莫桑比克 258 Myanmar 缅甸 95 Namibia 纳米比亚 264 Nauru 瑙鲁 674 Nepal 尼泊尔 977 Netherlands 荷兰 31 New Caledonia 新喀里多尼亚 687 New Zealand 新西兰 64 Nicaragua 尼加拉瓜 505 Niger 尼日尔 227 Nigeria 尼日利亚 234 Niue 纽埃岛 683 Norfolk Island 诺福克岛 672 Norway 挪威 47 Oman 阿曼 968 Pakistan 巴基斯坦 92 Palau 帕劳 680 Palestinian Territory 巴勒斯坦 970 Panama 巴拿马 507 Papua New Guinea 巴布亚新几内亚 675 Paraguay 巴拉圭 595 Peru 秘鲁 51 Philippines 菲律宾 63 Poland 波兰 48 Portugal 葡萄牙 351 Qatar 卡塔尔 974 Réunion Island 留尼汪 262 Romania 罗马尼亚 40 Rwanda 卢旺达 250 Saint Kitts and Nevis 圣基茨和尼维斯 1869 Saint Lucia 圣卢西亚 1758 Saint Pierre and Miquelon 圣皮埃尔和密克隆 508 Saint Vincent and The Grenadines 圣文森特和格林纳丁斯 1784 Samoa 萨摩亚 685 San Marino 圣马力诺 378 Sao Tome and Principe 圣多美和普林西比 239 Saudi Arabia 沙特阿拉伯 966 Senegal 塞内加尔 221 Serbia 塞尔维亚 381 Seychelles 塞舌尔 248 Sierra Leone 塞拉利昂 232 Singapore 新加坡 65 Sint Maarten (Dutch Part) 荷属圣马丁 1721 Slovakia 斯洛伐克 421 Slovenia 斯洛文尼亚 386 Solomon Islands 所罗门群岛 677 Somalia 索马里 252 South Africa 南非 27 South Korea 韩国 82 Spain 西班牙 34 Sri Lanka 斯里兰卡 94 Suriname 苏里南 597 Swaziland 斯威士兰 268 Sweden 瑞典 46 Switzerland 瑞士 41 Taiwan (China) 中国台湾 886 Tajikistan 塔吉克斯坦 992 Tanzania 坦桑尼亚 255 Thailand 泰国 66 Timor L'este 东帝汶 670 Togo 多哥 228 Tonga 汤加 676 Trinidad and Tobago 特立尼达和多巴哥 1868 Tunisia 突尼斯 216 Turkey 土耳其 90 Turkmenistan 土库曼斯坦 993 Turks and Caicos Islands 特克斯和凯科斯群岛 1649 Tuvalu 图瓦卢 688 Uganda 乌干达 256 Ukraine 乌克兰 380 United Arab Emirates 阿拉伯联合酋长国 971 United Kingdom 英国 44 United States 美国 1 Uruguay 乌拉圭 598 Uzbekistan 乌兹别克斯坦 998 Vanuatu 瓦努阿图 678 Venezuela 委内瑞拉 58 Vietnam 越南 84 Virgin Islands, British 英属维尔京群岛 1284 Wallis and Futuna 瓦利斯和富图纳 681 Yemen 也门 967 Zambia 赞比亚 260 Zimbabwe 津巴布韦 263 父主题: 附录
  • 请求示例 在名称为test_topic_v1的主题下添加一个邮件订阅者 POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1/subscriptions{ "protocol" : "email", "endpoint" : "xxx@xxx.com", "remark" : "运维"}
  • 响应参数 状态码: 201 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 subscription_urn String 订阅者的唯一资源标识。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表9 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 protocol 是 String 不同协议对应不同的endpoint(接受消息的接入点)。 目前支持的协议包括: “email”:邮件传输协议,endpoint为邮箱地址。 “sms”:短信传输协议,endpoint为手机号码。 “functionstage”:FunctionGraph(函数)传输协议,endpoint为一个函数。 “functiongraph”:FunctionGraph(工作流)传输协议,endpoint为由一组函数编排成的工作流。 “http”、“https”:HTTP/HTTPS传输协议,endpoint为URL。 “callnotify”:语音通知传输协议,endpoint为手机号码。 “wechat”:微信群机器人传输协议。 “dingding”:钉钉群机器人传输协议。 “feishu”:飞书群机器人传输协议。 “welink”:welink群机器人传输协议。 endpoint 是 String 说明: http协议,接入点必须以“http://”开头。 https协议,接入点必须以“https://”开头。 email协议,接入点必须是邮件地址。 sms协议,接入点必须是一个电话号码。 functionstage协议,接入点必须是一个函数。 functiongraph协议,接入点必须是一个函数工作流。 dms协议,接入点必须是一个消息队列。 application协议,接入点必须是一个应用平台的设备终端。 callnotify协议,接入点必须是一个电话号码。 dingding协议,接入点必须是一个钉钉群机器人的地址。 wechat协议,接入点必须是一个微信群机器人的地址。 feishu协议,接入点必须是一个飞书群机器人的地址。 welink协议,接入点必须是一个welink的群号。 remark 否 String 备注。最大支持128字节,约42个中文,必须是UTF-8编码的字符串,否则无法正常显示中文。 extension 否 SubscriptionExtension object 表4 SubscriptionExtension 参数 是否必选 参数类型 描述 client_id 否 String 该字段为welink订阅下的租户ID字段,由租户从welink方获取。当protocol值为welink时,该字段为必填字段。 client_secret 否 String 该字段为welink订阅下的租户获取的client secret字段,由租户从welink方获取。当protocol值为welink时,该字段为必填字段。 keyword 否 String 该字段为关键字字段。当protocol协议为feishu时,这里的keyword字段和sign_secret字段二者必选其一。当用户在飞书或钉钉机器人端添加关键字校验的安全策略时,这里的关键字必须是飞书或钉钉端所填写的关键字之一。 sign_secret 否 String 这是加签密钥字段。当protocol协议为feishu或dingding时,这个字段和keyword字段二者必选且只能选其一,密钥配置必须与客户在飞书或钉钉客户端的密钥配置完全一致。例如,如果在飞书端配置了密钥并且没有配置关键字,则在此处填入从飞书获取的密钥字段,如果在飞书端没有配置密钥并且配置了关键字,则不填写该字段。
  • 功能介绍 为指定Topic添加一个订阅者,如果订阅者的状态为未确认,则向订阅者发送一个确认的消息。待订阅者进行ConfirmSubscription确认后,该订阅者才能收到Topic发布的消息。单Topic默认可添加10000个订阅者,高并发场景下,可能会出现订阅者数量超过10000仍添加成功的情况,此为正常现象。接口是幂等的,如果添加已存在的订阅者,则返回成功,且status code为200,否则status code为201。
  • 响应示例 状态码: 201 OK { "request_id" : "6a63a18b8bab40ffb71ebd9cb80d0085", "application_urn" : "urn:smn:regionId:429ffced18074da0938112f2c362b935:app-APNS-application_name002", "application_id" : "a3a4643dc12b4g77ad6e35a16002558c"}
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 application_urn String Application的唯一资源标识。 application_id String Application资源的ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 应用名。 最大支持64个字符,只能包含英文字母、下划线和数字。 platform 是 String 应用平台。 目前仅支持HMS、APNS、APNS_SANDBOX。 HMS是为开发者提供的消息推送平台。 APNS和APNS_SANDBOX是用于推送iOS消息的服务平台。 platform_principal 是 String 对于HMS平台是APP ID,只能包含英文字母和数字,最大20个字符。 对于苹果APNS、APNS_SandBox平台是推送证书,大小不超过8K,且是Base64编码。 platform_credential 是 String 对于HMS平台是APP SECRET, 只能包含英文字母和数字,32到64个字符。 对于苹果APNS、APNS_SandBox平台是推送证书的私钥(private key), 大小不超过8K,且是Base64编码。
  • 请求示例 创建Application POST https://{SMN_Endpoint}/v2/{project_id}/notifications/applications{ "name" : "application_name", "platform" : "HMS", "platform_principal" : "appId", "platform_credential" : "appSecret"}
  • 响应示例 状态码: 201 OK { "request_id" : "6a63a18b8bab40ffb71ebd9cb80d0085", "endpoint_urn" : "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:endpoint-APNS-example_application_name-37a2cb947fa43a20bc66e91281194e7a"}
  • 请求示例 创建Application endpoint POST https://{SMN_Endpoint}/v2/{project_id}/notifications/applications/{application_urn}/endpoints{ "token" : "3708232124742383445", "user_data" : "This is token for user001"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 token 是 String 移动应用设备token,最大长度512个字节。 user_data 是 String 用户自定义数据,最大长度支持UTF-8编码后2048字节。
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 endpoint_urn String Endpoint的唯一资源标识。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • URI POST /v2/{project_id}/notifications/applications/{application_urn}/endpoints 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取项目ID请参考 获取项目ID。 application_urn 是 String Application的唯一资源标识,可通过查询Application获取该标识。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 tag 是 ResourceTag object 资源标签结构体。 表4 ResourceTag 参数 是否必选 参数类型 描述 key 是 String 键,表示要匹配的字段。 当前key的参数值只能取“resource_name”,此时value的参数值为云服务器名称。 key不能重复,value为匹配的值。 此字段为固定字典值。 不允许为空字符串。 value 是 String 值。 当前key的参数值只能取“resource_name”,此时value的参数值为云服务器名称。 每个值最大长度255个unicode字符。 不可以为空。
  • URI POST /v2/{project_id}/{resource_type}/{resource_id}/tags 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取项目ID请参考 获取项目ID。 resource_type 是 String 资源类型,目前有: smn_topic,主题 smn_sms,短信 smn_application,移动推送 resource_id 是 String 资源ID。 获取resource_id的方法: 当resource_type为“smn_topic”时, 手动添加请求消息头“X-SMN-RESOURCEID-TYPE=name”,资源ID即为topic名称。 不添加请求消息头,通过“查询资源实例”,获取资源ID。 当resource_type为“smn_sms”时,resource_id为签名ID。您可在控制台获取。
  • 响应参数 状态码: 400 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识。 最小长度:32 最大长度:32 状态码: 400 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标示ID。 error_code String 返回信息对应的代码。 error_msg String 服务异常错误信息描述。 状态码: 403 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标示ID。 error_code String 返回信息对应的代码。 error_msg String 服务异常错误信息描述。 状态码: 404 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标示ID。 error_code String 返回信息对应的代码。 error_msg String 服务异常错误信息描述。 状态码: 500 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标示ID。 error_code String 返回信息对应的代码。 error_msg String 服务异常错误信息描述。
  • URI DELETE /v2/{project_id}/notifications/topics/{topic_urn}/logtanks/{logtank_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取项目ID请参考 获取项目ID。 topic_urn 是 String Topic的唯一的资源标识,可通过查询主题列表获取该标识。 logtank_id 是 String 云日志信息唯一的资源标识。可通过查询云日志获取该标识。
  • URI DELETE /v2/{project_id}/notifications/endpoints/{endpoint_urn} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取项目ID请参考 获取项目ID。 endpoint_urn 是 String Endpoint的唯一资源标识,可通过查询Application的Endpoint列表获取该标识。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • URI DELETE /v2/{project_id}/notifications/message_template/{message_template_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取项目ID请参考 获取项目ID。 message_template_id 是 String 模板唯一的资源标识,可通过查询消息模板列表获取该标识。
共100000条