Publishing Messages Using a Template

Description

  • API name

    Publish

  • Function

    Use the message template to publish a message to a topic. After the message ID is returned, the message has been saved and is to be pushed to the subscribers of the topic. This API allows you to send messages to different types of subscribers using different template protocols with the same name.

URI

  • URI format

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

  • Parameter description

    Parameter

    Mandatory

    Type

    Description

    project_id

    Yes

    String

    Project ID

    See Obtaining a Project ID.

    topic_urn

    Yes

    String

    Unique resource ID of the topic. You can obtain it by referring to Querying Topics.

Request

  • Parameter description

    Parameter

    Mandatory

    Type

    Description

    subject

    No

    String

    Message subject, which is presented as the email subject when SMN sends messages to email subscribers

    The message subject cannot exceed 512 bytes.

    message_template_name

    Yes

    String

    Message template name, which can be obtained by referring to Querying Message Templates

    Note

    Three message formats are supported:

    • message

    • message_structure

    • message_template_name

    If the three formats are specified at the same time, they take effect in the following sequence:

    message_structure>message_template_name>message

    tags

    No

    Map<String,String>

    Variable parameters and values Tags cannot be left blank. This parameter is mandatory when you use a message template to publish messages. The key in the dictionary is the parameter name in the message template and can contain a maximum of 21 characters. The value in the dictionary is the value after the key in the message template is replaced. The value cannot exceed 1 KB.

    time_to_live

    No

    String

    The maximum retention period of a message in SMN

    After the retention period expires, SMN does not send this message.

    Unit: second

    Default retention period: 3600 (one hour)

    The retention period must be a positive integer less than or equal to 604,800 (3600 x 24 x 7).

  • Example request

    POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId: f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish
    
    {
        "subject": "test message template v2",
        "message_template_name": "confirm_message",
        "time_to_live": "3600",
        "tags": {
            "topic_urn": "topic_urn3331",
            "topic_id": "topic_id3332"
        }
    }
    

Response

  • Parameter description

    Parameter

    Type

    Description

    request_id

    String

    Request ID, which is unique

    message_id

    String

    Message ID, which is unique

  • Example response

    {
        "message_id": "bf94b63a5dfb475994d3ac34664e24f2",
        "request_id": "9974c07f6d554a6d827956acbeb4be5f"
    }
    

Returned Value

See Returned Value.

Error Codes

See Error Codes.