全部产品
云市场

HttpEndpoint

更新时间:2019-10-09 14:56:16

使用HttpEndpoint接口通过发送POST请求将Notifications推送到Endpoint端。

描述

MNS通过发送POST请求将Notifications推送到Endpoint端,Notifications格式支持两种:

  • XML完整格式:在Request Body中包含推送消息的正文和消息的Meta信息。

  • SIMPLIFIED精简格式:Request Body即为用户的消息正文,不做任何改动,MessageId会在Request Header中传递给用户。

Request

Request的构造由以下几个部分组成:

  • 请求行

    POST /notifications HTTP/1.1

    默认是/notifications,如果订阅者在创建Subscription时指定的Endpoint包含URI,会使用用户设置的URI替换/notifications

  • 特有URI参数

  • 特有Request Header

参数名称 说明 备注
Authorization 此次推送请求的签名 XML和SIMPLIFIED格式下均有
x-mns-signing-cert-url 签名证书的地址(Base64编码过) XML和SIMPLIFIED格式下均有
x-mns-request-id 此次推送消息的Request编号 XML和SIMPLIFIED格式下均有
x-mns-message-id 此次推送消息的MessageId SIMPLIFIED格式下有
x-mns-message-tag 此次推送消息的消息标签 SIMPLIFIED格式下有
  • Request Body

    XML格式下,Request Body为XML格式,包含消息正文和Meta信息。

参数名称 说明
TopicOwner 被订阅主题的拥有者
TopicName 被订阅主题的名称
Subscriber 订阅者
SubscriptionName 订阅名称
MessageId 消息编号
Message 消息正文
MessageMD5 消息的MD5值
MessageTag 消息标签(用于消息过滤)
PublishTime 消息的发布时间,从1970-1-1 00:00:00 000到消息发布时的毫秒值

精简格式下,Request Body为发布者发布的消息正文。

Response

返回消息由返回状态行、HTTP头和消息体三部分组成

  • HTTP Status Code

    HTTP/1.1 204 No Content

    • 正常处理通知消息,返回204;超过5秒未返回204,则认为超时,会对该消息重试推送;

    • 请求签名验证不通过,返回403;

    • 其他任何错误,返回500。

  • 特有Response Header

  • Response Body

示例

请求示例:

  • XML 格式

    1. POST /notifications HTTP/1.1
    2. Host: company.com
    3. Date: Tue, 08 Dec 2015 06:42:00 GMT
    4. Content-Length: 300
    5. Content-Type: text/xml;charset=utf-8
    6. Content-MD5: OGQzNjAwYjIwMWFiMTliZDlhNzc4YjAwZjc5MGQ4NDE=
    7. Authorization: QSNS+vn3IqJI4lOh4X/dxTv7Qebi/wrEaBJlzFFTc0hJVRUmrHLQo24ojBUETpz48+jrsjxMGPJTILDw752Jww==
    8. User-Agent: Aliyun Notification Service Agent
    9. x-mns-request-id: 56667BB81FD0E7D1200024A0
    10. x-mns-version: 2015-06-06
    11. x-mns-signing-cert-url: aHR0cDovL21uc3Rlc3Qub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbS94NTA5X3B1YmxpY19jZXJ0aWZpY2F0ZS5wZW0=
    12. <?xml version="1.0" encoding="utf-8"?>
    13. <Notification xlmns="http://mns.aliyuncs.com/doc/v1/">
    14. <TopicOwner>$TopicOwner</TopicOwner>
    15. <TopicName>$TopicName</TopicName>
    16. <Subscriber>$Subscriber</Subscriber>
    17. <SubscriptionName>$SubscriptionName</SubscriptionName>
    18. <MessageId>6CC4D900CA59A2CD-1-15180534A8F-200000002</MessageId>
    19. <Message>{1:"a", 2:"b"}</Message>
    20. <MessageMD5>F1E92841751D795AB325861034B5CB55</MessageMD5>
    21. <MessageTag>important</MessageTag>
    22. <PublishTime>1449556920975</MessagePublishTime>
    23. </Notification>
  • SIMPLIFIED 格式

    1. POST /notifications HTTP/1.1
    2. Host: company.com
    3. Date: Tue, 15 Dec 2015 09:12:46 GMT
    4. Content-Length: 487
    5. Content-Type: text/plain;charset=utf-8
    6. Content-MD5: NmY4Njk0MzlmNzg3NTFkMTJiN2M5OWE4ZmYzNTU4ZWQ=
    7. Authorization: aXZIpRkRmIavmwceCyrPatB7SaEbOJdWpmFWYX3nFwtmaixK/M/3kl1njY0pgM7mrIB7NlBv5NfUZNkcIjlO4A==
    8. User-Agent: Aliyun Notification Service Agent
    9. x-mns-message-id: 6CC4D900CA59A2CD-1-15180534A8F-200000002
    10. x-mns-message-tag: important
    11. x-mns-request-id: 566FD963B2B71C44481F701A
    12. x-mns-signing-cert-url: aHR0cDovL21uc3Rlc3Qub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbS94NTA5X3B1YmxpY19jZXJ0aWZpY2F0ZS5wZW0=
    13. x-mns-version: 2015-06-06
    14. {1:"a", 2:"b"}

返回示例:

  1. HTTP/1.1 204 No Content