文档首页 > > API参考> API> 发布消息操作> 使用消息结构体方式的消息发布

使用消息结构体方式的消息发布

分享
更新时间: 2019/11/29 GMT+08:00

功能介绍

  • 接口名称

    Publish

  • 功能描述

    使用消息结构体的方式发送消息,将消息发送给Topic的所有订阅端点。当返回消息ID时,该消息已被保存并开始尝试将其推送给Topic的订阅者。本接口支持在一次消息发布调用中,对不同订阅类型的订阅者推送不同的消息内容。

URI

  • URI格式

    POST /v2/{project_id}/notifications/topics/{topic_urn}/publish

  • 参数说明

    名称

    是否必选

    参数类型

    说明

    project_id

    String

    项目ID

    获取项目ID请参考获取项目ID

    topic_urn

    String

    Topic的唯一的资源标识,可通过查询Topic列表获取该标识。

请求消息

  • 参数说明

    名称

    是否必选

    参数类型

    说明

    subject

    String

    消息标题,给邮箱订阅者发送邮件时作为邮件主题。

    长度不超过512字节。

    message_structure

    String

    Json格式的字符串。支持“email”、“sms”、 “http”、“https”、“dms”、“functiongraph”、“functionstage”、“HMS”、“APNS”以及“APNS_SANDBOX”。其中,“HMS”、“APNS”以及“APNS_SANDBOX”三种消息的格式请参见application消息体格式

    必须设置默认的消息“default”,当匹配不到消息协议时,按“default”中的内容发送。

    说明:

    三种消息发送方式

    • message
    • message_structure
    • message_template_name

    只需要设置其中一个,如果同时设置,生效的优先级为message_structure >message_template_name>message

    time_to_live

    String

    消息发送的生存时间。

    指消息在SMN系统内部的最长存留时间。超过该存留时间,系统将不再发送该消息。单位是s,变量默认值是3600s,即一小时。

    值为正整且小于等于3600*24*7。

  • 请求样例
    POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId: f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish
    {
        "subject": "test message v2",
        "time_to_live":"3600",
        "message_structure": "{
                     "default":"test v2 default", 
                     "email":"abc",
                     "APNS":"{
                             "aps":{
                                      "alert":"hello world apns production"
                             }
                     }"
        }" 
    }

    假设Topic拥有sms和email两种协议订阅者。调用接口发布消息后,email的订阅者会收到消息“abc”,sms协议未定制特殊的推送消息,则会收到默认消息 “test v2 default”。给Application订阅者推送消息,需要指定Application平台的消息,且消息格式符合Application平台的消息格式,否则无法收到推送的消息。对于Application订阅者,如果不知道平台消息,用default消息,则default消息须符合平台消息格式,否则终端app无法收到消息。

响应消息

  • 要素说明

    名称

    参数类型

    说明

    request_id

    String

    请求的唯一标识ID。

    message_id

    String

    唯一的消息ID。

  • 响应样例
    {
        "message_id": "bf94b63a5dfb475994d3ac34664e24f2",
        "request_id": "9974c07f6d554a6d827956acbeb4be5f"
    }

返回值

请参考返回值

错误码

请参考错误码说明

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区