更新时间:2022-02-21 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的唯一的资源标识,可通过查询主题列表获取该标识。

请求消息

  • 参数说明

    名称

    是否必选

    参数类型

    说明

    subject

    String

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

    长度不超过512字节。

    message_structure

    String

    Json格式的字符串。支持“email”、“sms”、 “http”、“https”、“dms”。

    必须设置默认的消息“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",
        } 
    }

    假设Topic拥有sms和email两种协议订阅者。调用接口发布消息后,email的订阅者会收到消息“abc”,sms协议未定制特殊的推送消息,则会收到默认消息 “test v2 default”。

响应消息

  • 要素说明

    名称

    参数类型

    说明

    request_id

    String

    请求的唯一标识ID。

    message_id

    String

    唯一的消息ID。

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

返回值

请参考返回值

错误码

请参考错误码说明