PublishMessage
描述
该接口用于发布者向指定的主题发布消息,消息发布到主题后随即会被推送给 Endpoint 消费。
Request
Request 的构造主要由以下几个部分组成:
请求行
POST /topics/$TopicName/messages HTTP/1.1
特有 Request Header
无,通用Header请参考 [backcolor=transparent]
公共参数,签名相关请参考 [backcolor=transparent]
API签名
Request Body
Request Body 为 XML 格式
如果需要推送到MailEndpoint,MessageAttributes需要包含DirectMail属性。DirectMail属性的Text内容是Json格式,需要包含以下字段 (字段含义可以参考
https://help.aliyun.com/document_detail/29444.html ):
- AccountName (必选,发信账号,string)。
- Subject (必选,邮件主题,string)。
- AddressType (必选,0或1)。
- IsHtml(必选,邮件内容是否作为Html处理,0或1)。
- ReplyToAddress(必选,0或1)。
如果需要推送到SmsEndpoint,MessageAttributes需要包含DirectSMS属性。DirectSMS属性的Text内容是Json格式,需要包含以下字段 :
- [backcolor=transparent]FreeSignName (必选,短信签名)。
- [backcolor=transparent]TemplateCode (必选,短信模板ID)。
- [backcolor=transparent]Type (必选,singleContent或multiContent,表示单发或批量。如果取值为multiContent,则只会被Endpoint为sms:directsms:anonymous 的订阅处理)。
- [backcolor=transparent]Receiver (如果Type为singleContent且Subscription的Endpoint是sms:directsms:anonymous ,则此项生效且必填,填写接收人的手机号码,多个号码以逗号分隔)。
- [backcolor=transparent]SmsParams (必选,json格式,一些具体参数。对于singleContent,此处填写格式为{“参数1”:”Value1”,”参数2”:”Value2”};对于multiContent,此处填写格式为{“电话号码1”:{“参数1”:”Value1”,”参数2”:”Value2”}, “电话号码2”:{“参数1”:”Value3”,”参数2”:”Value4”}})。
Response
返回消息有返回状态行、HTTP头和消息体三部分组成
HTTP Status Code
HTTP/1.1 201 Created
特有 Response Header
无,请参考 [backcolor=transparent]调用方式/公共参数
Response Body
返回的结果为 XML 格式,包括 MessageId 和 MessageBodyMD5:
Special Error
[backcolor=transparent]请求示例:
[backcolor=transparent]
[backcolor=transparent]
[backcolor=transparent]