PublishMessage
説明
このAPIは、指定されたトピックにメッセージを公開するために使用されます。正常に発行された後、メッセージはエンドポイントにプッシュされます。
リクエスト
リクエストには、次の部分が含まれます。
リクエストライン
POST / topics / $ TopicName / messages HTTP / 1.1
特別リクエストヘッダー
なし。詳細は、コールメソッド/パブリックパラメータを参照してください。
リクエストボディ
要求本文はXML形式です。
パラメータ名 | 説明 | パラメータ値 | 必須/オプション |
---|---|---|---|
MessageBody | メッセージ本文 | 文字セット | 必須 |
メッセージタグ | メッセージタグ(メッセージフィルタに使用) | 値は16文字以下の文字列です。(デフォルトでは、メッセージタグは設定されていません)。オプション | |
メッセージアトリビュート | メッセージの属性。このパラメータは、電子メールまたはSMSプッシュが必要な場合に設定する必要があります。 | 文字セット | オプション |
プッシュ先がMailEndpointの場合は、DirectMail属性をMessageAttributesに含める必要があります。
DirectMailのテキストコンテンツはJSON形式で、次のフィールドがあります。
AccountName(必須、送信者のアカウント、文字列)。
件名(必須、メール件名、文字列)。
AddressType(必須、0または1)。
IsHtml(電子メールコンテンツがHTML形式で処理されるかどうかにかかわらず、0または1)。
- ReplyToAddress(必須、0または1)。
プッシュ先がSmsEndpointの場合は、DirectSMS属性をMessageAttributesに含める必要があります。
DirectSMSのテキストコンテンツはJSON形式で、次のフィールドがあります。
FreeSignName (必須、SMS署名)。
TemplateCode (必須、SMSテンプレートID)。
タイプ(必須、singleContentまたはmultiContent:単一のSMSを送信するか、バッチでSMSを送信することを示します)。値がmultiContentの場合、SMSはエンドポイントsms:directsms:anonymousを持つサブスクリプションによってのみ処理されます。
Receiver (TypeがsingleContentで、サブスクリプションエンドポイントがSMSの場合:directsms:匿名、このフィールドは有効で、SMS受信者の携帯電話番号を示します)。
SmsParams (必須、JSON形式。このフィールドには特定のパラメータが含まれています)TypeがsingleContentの場合、フィールド形式は{“パラメータ1”: “値1”、 “パラメータ2”: “値2”}です。フィールドフォーマットは、{「モバイル番号1」:{「パラメータ1」:「値1」、「パラメータ2」:「値2」}、「モバイル2」:{「パラメータ1」:「値3」、「パラメータ2 “:” Value4 “}}。)
レスポンス
応答メッセージには、返品ステータス行、HTTPヘッダ、およびメッセージ本文の3つの部分が含まれています。
HTTPステータスコード
HTTP / 1.1 201作成済み
特別な応答ヘッダー
なし。詳細は、コールメソッド/パブリックパラメータを参照してください。
レスポンスボディ
返される結果はXML形式であり、MessageIdおよびMessageBodyMD5パラメータを含みます。
パラメータ名 | 説明 |
---|---|
MessageId | トピック内でユニークなメッセージID |
MessageBodyMD5 | メッセージ本文のMD5値 |
特別なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
TopicNotExist | あなたが提供したトピックは存在しません。 | 404 |
リクエストの例:
POST /topics/$TopicName/messages HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Tue, 08 Dec 2015 06:13:40 GMT
Content-Length:500
Content-Type:text/xml;charset=utf-8
Authorization: MNS 15B4D3461F177624206A:aibzWu1iDEx9LwO56+kHgA3eqmI=
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="utf-8"?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
<MessageBody>Base64 Encoded Result</MessageBody>
<MessageTag>important</MessageTag>
<MessageAttributes>
<DirectMail>{"Subject":"TestMailSubject","AccountName":"direct_mail_account_name@aliyun-inc.com","ReplyToAddress":0,"AddressType":0,"IsHtml":0}</DirectMail>
</MessageAttributes>
</Message>
リターン例:
HTTP/1.1 201 Created
Content-Length:120
Content-Type:text/xml;charset=utf-8
x-mns-request-id:56667514B2B71C9C1600002B
x-mns-version:2015-06-06
<?xml version="1.0" encoding="utf-8"?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
<MessageId>D273CD6A89564E54-1-15180395A19-200000001</MessageId>
<MessageBodyMD5>3AC6DD36D2D6B7283F2F490A09751BFE</MessageBodyMD5>
</Message>