使用HttpEndpoint介面,通過發送POST請求將Notifications推送到Endpoint。
描述
Message ServiceMNS通過發送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 格式
POST /notifications HTTP/1.1 Host: example.com Date: Tue, 08 Dec 2015 06:42:00 GMT Content-Length: 300 Content-Type: text/xml;charset=utf-8 Content-MD5: OGQzNjAwYjIwMWFiMTliZDlhNzc4YjAwZjc5MGQ4**** Authorization: QSNS+vn3IqJI4lOh4X/dxTv7Qebi/wrEaBJlzFFTc0hJVRUmrHLQo24ojBUETpz48+jrsjxMGPJTILDw752J**** User-Agent: Aliyun Notification Service Agent x-mns-request-id: 56667BB81FD0E7D12000**** x-mns-version: 2015-06-06 x-mns-signing-cert-url: aHR0cDovL21uc3Rlc3Qub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbS94NTA5X3B1YmxpY19jZXJ0aWZpY2F0ZS5w**** <?xml version="1.0" encoding="utf-8"?> <Notification xlmns="http://mns.aliyuncs.com/doc/v1/"> <TopicOwner>$TopicOwner</TopicOwner> <TopicName>$TopicName</TopicName> <Subscriber>$Subscriber</Subscriber> <SubscriptionName>$SubscriptionName</SubscriptionName> <MessageId>6CC4D900CA59A2CD-1-15180534A8F-20000****</MessageId> <Message>{1:"a", 2:"b"}</Message> <MessageMD5>F1E92841751D795AB325861034B5****</MessageMD5> <MessageTag>important</MessageTag> <PublishTime>1449556920975</MessagePublishTime> </Notification> - SIMPLIFIED 格式
POST /notifications HTTP/1.1 Host: example.com Date: Tue, 15 Dec 2015 09:12:46 GMT Content-Length: 487 Content-Type: text/plain;charset=utf-8 Content-MD5: NmY4Njk0MzlmNzg3NTFkMTJiN2M5OWE4ZmYzNTU4**** Authorization: aXZIpRkRmIavmwceCyrPatB7SaEbOJdWpmFWYX3nFwtmaixK/M/3kl1njY0pgM7mrIB7NlBv5NfUZNkcIjlO**** User-Agent: Aliyun Notification Service Agent x-mns-message-id: 6CC4D900CA59A2CD-1-15180534A8F-20000**** x-mns-message-tag: important x-mns-request-id: 566FD963B2B71C44481F**** x-mns-signing-cert-url: aHR0cDovL21uc3Rlc3Qub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbS94NTA5X3B1YmxpY19jZXJ0aWZpY2F0ZS5w**** x-mns-version: 2015-06-06 {1:"a", 2:"b"}
返回樣本:
HTTP/1.1 204 No Content