Notification(HttpEndpoint)API
Httpエンドポイント
説明
メッセージサービスは、POST要求を送信してエンドポイントに通知をプッシュします。通知は、XML(完全形式)とSIMPLIFIED(簡易形式)の2つの形式です。
XML形式の通知の場合、リクエスト本文にはプッシュメッセージの本文とメタ情報が含まれます。
SIMPLIFIED形式の通知の場合、要求本文には元のメッセージ本文のみが含まれ、MessageIdは要求ヘッダーに格納されます。
注意 :Java SDKの “src/main/java/com/aliyun/mns/sample”フォルダに HttpEndpoint.java という名前のサンプルコードファイルがあり、Messageからプッシュメッセージを受信するためのhttpエンドポイントを実装する方法を示していますサービスです。さらに、Message ServiceはHttpEndpointをローカルでテストするのに役立つデバッグツールを提供しています:HttpEndpoint Debug Tool。
リクエスト
リクエストには、主に次の内容が含まれます。
リクエストライン
POST /notifications HTTP/1.1.
/notifications
はデフォルトで使用されます。サブスクライバが指定したエンドポイントにURIが含まれている場合、/notifications
がURIに置き換えられます。特殊URIパラメータ
なし
特別リクエストヘッダー
パラメータ名 | 説明 | 備考 |
---|---|---|
Authorization | プッシュリクエストの署名 | XML形式とSIMPLIFIED形式が用意されています |
x-mns-signing-cert-url | 署名証明書のアドレス(Base64 encoded) | XML形式とSIMPLIFIED形式が用意されています |
x-mns-request-id | プッシュメッセージのリクエストID | XML形式とSIMPLIFIED形式が用意されています |
x-mns-message-id | プッシュメッセージのID | SIMPLIFIED形式でのみ利用可能です。 |
x-mns-message-tag | プッシュメッセージのタグ | SIMPLIFIED形式でのみ利用可能です |
リクエストボディ
XML形式の通知の場合、要求本文はXML形式であり、メッセージの本文およびメタ情報を含みます。
パラメータ名 | 説明 |
---|---|
TopicOwner | サブスクライブされたトピックの所有者 |
TopicName | サブスクライブされたトピックの名前 |
Subscriber | サブスクライバーの名前 |
SubscriptionName | サブスクリプションの名前 |
MessageId | メッセージのID |
Message | メッセージの本文 |
MessageMD5 | メッセージのMD5値 |
MessageTag | メッセージタグ(メッセージフィルタに使用) |
PublishTime | 1970年1月1日00:00:00 000から経過したミリ秒数として定義されています。メッセージがパブリッシュされる時刻 |
SigningCertURL | 署名証明書のアドレス。XML形式でのみ使用できます。(注意:このパラメータは推奨されておらず、ベータ版ユーザーとの互換性のためにのみ使用されています.2016年7月からはサポートされません)。 |
SIMPLIFIED形式の通知の場合、要求本文には公開されたメッセージ本文のみが含まれます。
レスポンス
応答メッセージには、返品ステータス行、HTTPヘッダ、およびメッセージ本文の3つの部分が含まれています。
HTTPステータスコード
HTTP/1.1 204 No Content
通知が正常に処理されると、ステータスコード204が返されます。
署名認証がない場合、ステータスコード403が返されます。
他のエラーが発生すると、ステータスコード500が返されます。
特別な応答ヘッダー
なし
レスポンスボディ
なし
リクエスト例:
XML形式
POST /notifications HTTP/1.1
Host: company.com
Date: Tue, 08 Dec 2015 06:42:00 GMT
Content-Length: 300
Content-Type: text/xml;charset=utf-8
Content-MD5: OGQzNjAwYjIwMWFiMTliZDlhNzc4YjAwZjc5MGQ4NDE=
Authorization: QSNS+vn3IqJI4lOh4X/dxTv7Qebi/wrEaBJlzFFTc0hJVRUmrHLQo24ojBUETpz48+jrsjxMGPJTILDw752Jww==
User-Agent: Aliyun Notification Service Agent
x-mns-request-id: 56667BB81FD0E7D1200024A0
x-mns-version: 2015-06-06
x-mns-signing-cert-url: aHR0cDovL21uc3Rlc3Qub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbS94NTA5X3B1YmxpY19jZXJ0aWZpY2F0ZS5wZW0=
<?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-200000002</MessageId>
<Message>{1:"a", 2:"b"}</Message>
<MessageMD5>F1E92841751D795AB325861034B5CB55</MessageMD5>
<MessageTag>important</MessageTag>
<PublishTime>1449556920975</MessagePublishTime>
</Notification>
単純な形式
POST /notifications HTTP/1.1
Host: company.com
Date: Tue, 15 Dec 2015 09:12:46 GMT
Content-Length: 487
Content-Type: text/plain;charset=utf-8
Content-MD5: NmY4Njk0MzlmNzg3NTFkMTJiN2M5OWE4ZmYzNTU4ZWQ=
Authorization: aXZIpRkRmIavmwceCyrPatB7SaEbOJdWpmFWYX3nFwtmaixK/M/3kl1njY0pgM7mrIB7NlBv5NfUZNkcIjlO4A==
User-Agent: Aliyun Notification Service Agent
x-mns-message-id: 6CC4D900CA59A2CD-1-15180534A8F-200000002
x-mns-message-tag: important
x-mns-request-id: 566FD963B2B71C44481F701A
x-mns-signing-cert-url: aHR0cDovL21uc3Rlc3Qub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbS94NTA5X3B1YmxpY19jZXJ0aWZpY2F0ZS5wZW0=
x-mns-version: 2015-06-06
{1:"a", 2:"b"}
レスポンス例:
HTTP/1.1 204 No Content<br>