Example 1: Publishing Messages to a Topic
Scenarios
This section describes how to publish messages by calling APIs. For details, see Calling APIs.
Involved APIs
Procedure
- Obtain the token by following instructions in Authentication.
- Create a topic.
- Send request POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics.
- Add X-Auth-Token to the request header.
- Specify the following parameters in the request body:
For details about the parameters, see Creating a Topic.
{ "name": "test_topic_v2", //(Mandatory) Topic name "display_name": "test", //(Optional) Display name "enterprise_project_id": "0" //Enterprise project ID (mandatory in the enterprise project scenario) }Example response{ "request_id": "6a63a18b8bab40ffb71ebd9cb80d0085", "topic_urn": "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" }
- Add a subscription.
- Send request POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/subscriptions.
Set topic_urn based on the response in 2.c.
- Add X-Auth-Token to the request header.
- Specify the following parameters in the request body:
{ "protocol": "email", //(Mandatory) Subscription protocol "endpoint": "xxx@xx.com", //(Mandatory) Email address "remark": "Subscription" //(Optional) Description }Example response{ "subscriptions_result": [{ "request_id": "126c17f805934e5eadf647b0860c7a0a", "subscription_urn": "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2", "http_code": 201}] }
You can add multiple subscriptions to a topic.
- The subscription endpoint receives a confirmation message, and you must confirm the subscription in the email.
- Send request POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/subscriptions.
- Publish a message.
- Send request POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/publish.
- Add X-Auth-Token to the request header.
- Specify the following parameters in the request body:
{ "subject":"test message v2", //(Optional) Message subject, which is displayed in email messages "message": "Message test message v2." //(Mandatory) Message to be published }Example response
{ "request_id": "6a63a18b8bab40ffb71ebd9cb80d0085", "message_id": "992bbd32819448af95f83814cb3c7454" }
Only confirmed subscription endpoints can receive the message you publish.
Last Article: Examples
Next Article: Example 2: Publishing a Message Using a Message Template
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.