更新时间:2025-01-07 GMT+08:00

订阅

功能介绍

  • 接口名称

    Subscribe

  • 功能描述

    为指定Topic添加一个订阅者,如果订阅者的状态为未确认,则向订阅者发送一个确认的消息。待订阅者进行ConfirmSubscription确认后,该订阅者才能收到Topic发布的消息。

    单Topic默认可添加10000个订阅者,高并发场景下,可能会出现订阅者数量超过10000仍添加成功的情况,此为正常现象。

    接口是幂等的,如果添加已存在的订阅者,则返回成功,且status code为200,否则status code为201。

URI

  • URI格式

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

  • 参数说明

    名称

    是否必选

    参数类型

    说明

    project_id

    String

    项目ID。

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

    topic_urn

    String

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

请求消息

  • 参数说明

    名称

    是否必选

    参数类型

    说明

    endpoint

    String

    消息的接入点。

    说明:

    http协议,接入点必须以“http://”开头。

    https协议,接入点必须以“https://”开头。

    email协议,接入点必须是邮件地址。

    sms协议,接入点必须是一个电话号码。

    protocol

    String

    不同协议对应不同的endpoint(接受消息的接入点)。

    目前支持的协议包括:

    • “email”:邮件传输协议,endpoint为邮箱地址。
    • “sms”:短信传输协议,endpoint为手机号码。
    • “http”、“https”:HTTP/HTTPS传输协议,endpoint为URL。

    remark

    String

    备注。

    最大支持128字节,约42个中文,必须是UTF-8编码的字符串,否则无法正常显示中文。

  • 请求样例
    POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1/subscriptions
    {
        "protocol": "email", 
        "endpoint": "xxx@xxx.com", 
        "remark": "运维"
    } 

响应消息

  • 要素说明

    名称

    参数类型

    说明

    request_id

    String

    请求的唯一标识ID。

    subscription_urn

    String

    订阅者的唯一资源标识。

  • 响应样例
    {
        "request_id": "fdbabe38ead6482b8574f82a3d1168e9",
        "subscription_urn": "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837"
    }

返回值

请参考返回值

错误码

请参考错误码