実際に処理を行う指示やデータを定義する要素です。
リクエスト時には必須設定で、レスポンス時にはエラーの発生契機により任意で設定されます。この項目は複数定義することができ、その都度違う処理を指定し実施することも可能です。
- リクエストフォーマット
<delivery id="0">
<action>個別処理名称</action>
各API個別内容省略
</delivery>
- レスポンスフォーマット
<delivery id="0">
各API個別内容省略
<result code="0">エラーメッセージ</result>
<errors>
<error kind="xxxxx" code="0000">エラーメッセージ</error>
</errors>
</delivery>
構成要素
構成要素は各処理によって異なりますが、共通要素として以下の構成を含みます。
構成要素 | リクエスト時 | レスポンス時 |
action | 〇 | 〇 |
result | ー | 〇 |
errors | ー | 〇 |
配信ステータス取得時のみ、レスポンスにおいて要素actionを利用します。
レスポンス時に要素resultおよび要素errorsを含む場合は、リクエスト処理で要素deliveryの内容解析を実施した際にエラーが発生したことを意味します。
また、以下の属性を持ち、値を設定することでレスポンス取得時にこの値が返され、どの処理が実施されたかを確認することができます。
属性名 | 内容 | 数値/文字列 |
id | 処理ID | 数値 |
action
各API個別処理を呼び出すための要素です。
<action>個別処理名称</action>
構成要素 | reserve・get_error・get_result・get_status・delete |
指定可能な文字列と、APIとの対応は以下の通りです。
表記 | 対応API名 |
reserve | メール配信 |
get_error | エラーリスト取得 |
get_result | 配信結果リスト取得 |
get_status | 配信ステータス取得 |
delete | 配信予約削除 |
result
レスポンスにて、その処理結果を定義する要素です。
<result code="0">エラーメッセージ</result>
属性codeと要素内のメッセージにて処理結果を表します。
エラーの発生した契機により、要素mailの下か要素deliveryの下に属します。
属性名 | 内容 | 数値/文字列 | 意味 |
code | 全体処理 ステータスコード |
数値 | 0:正常 |
-1:エラー |
errors
エラーが発生した場合に、レスポンスにて内容を定義する要素です。
<errors>
<error kind="xxxxx" code="0000">エラーメッセージ</error>
</errors >
要素resultが正常を示していても、情報としてこの要素が付与される可能性があります。
エラーの発生した契機により、要素mailの下か、要素deliveryの下に属します。
構成要素 | error |
error
レスポンスにて、エラーの種類とエラーコード、エラーメッセージを定義する要素です。
<error kind="xxxx" code="0000">エラーメッセージ</errors>
構成要素 | 属性コードに対応したエラーメッセージ kind code |
属性名 | 内容 | 数値/文字列 | 意味 |
kind | エラー種別 | 文字 | global:全般エラー |
image:画像エラー | |||
text:テキストエラー | |||
data:メール毎エラー | |||
code | エラーコード | 数値 | ー |
- 異常発生タイミングによって要素deliveryがなく、要素mail直下に要素result・errors・errorがくる場合があります。
- エラーメッセージの後に、障害解析のための情報が付与される場合があります。
deriveryを複数指定する
derivery id 1、2のリクエストを送信したとします。
- リクエスト
<?xml version="1.0" encoding="UTF-8" ?>
<mail>
<auth>
<site id ="0"/>
<service id="0"/>
<name><![CDATA[xxxxx]]></name>
<pass><![CDATA[xxxxx]]></pass>
</auth>
<delivery id="1">
<action>個別処理1</action>
<!-- 各API個別内容 -->
</delivery>
<delivery id="2">
<action>個別処理2</action>
<!-- 各API個別内容 -->
</delivery>
</mail>
- レスポンス
<?xml version="1.0" encoding="UTF-8" ?>
<mail>
<delivery id="1">
<!-- 各API個別内容 -->
<result code="0">処理が正常に終了しました</result>
</delivery>
<delivery id="2">
<result code="-1">エラーが発生しました</result>
<errors>
<error kind="xxxxx" code="0000">エラーメッセージ</error>
</errors >
</delivery>
</mail>
この場合、id=1の処理は正常に終了しましたが、id=2についてはエラーとなってしまったことがわかります。
リクエスト・レスポンス共に共通する要素として、要素delivery idがあります。
各処理内容により意味合いが異なるため、各処理ごとに解説します。