更新时间:2022-12-21 GMT+08:00

快速入门

操作场景

本节通过调用一系列SMN的API实现通过主题发布消息。

API的调用方法请参见如何调用API

通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。

涉及API

当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。

  • IAM获取token的API
  • SMN创建Topic的API
  • SMN添加订阅的API
  • SMN发送消息的API

具体步骤

  1. Token认证,具体操作请参考认证鉴权
  2. 创建Topic。发送“POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics”。
    1. 在Request Header中增加“X-Auth-Token”。
    2. 在Request Body中传入参数如下:
      {
          "name": "test_topic_v2", //Topic名称(必填String)
          "display_name": "test"  //显示名(非必填String)
      }

      请求响应成功后,返回request_id和topic_urn。

      如果请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考错误码

  3. 添加订阅。发送“POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/subscriptions”。

    其中,topic_urn可在2.b的返回体中获取。

    1. 在Request Header中增加“X-Auth-Token”。
    2. 在Request Body中传入参数如下:
      {
          "protocol": "email", //订阅协议(必填String)
          "endpoint": "xxx@xx.com", //邮件地址(必填String)
          "remark": "订阅终端" //备注(非必填String)
      }

      请求响应成功后,返回request_id和subscription_urn。

      如果请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考错误码

      可为Topic添加多种以及多个订阅终端,支持的订阅协议请参考订阅

    3. 订阅终端会收到一条确认订阅的消息,请在邮箱中进行确认订阅的操作。
  4. 发送消息。发送“POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/publish”。
    1. 在Request Header中增加“X-Auth-Token”。
    2. 在Request Body中传入参数如下:
      {
         "subject":"test message v2", //标题,邮件订阅终端使用(非必填String)
         "message": "Message test message v2." //需要发送的消息(必填String)
      }

      请求响应成功后,返回request_id和message_id。

      如果请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考错误码

      已完成3.c中的确认订阅操作的订阅终端都能收到该消息,否则无法接收消息。