Transactional Email API

2024/12/04更新

    SMTP や APIを使用してメールを送信した際に発生するイベントデータを操作することができます。

    バージョン

    POSTパラメータや応答メッセージのフォーマットはAPIのバージョンによって異なります。利用するバージョンのAPI仕様を参照ください。

    現在のバージョンは2です。

    バージョン1のAPI仕様はこちらを参照ください。

    共通仕様

    このセクションでは、Transactional Email API の共通仕様について説明します。

    項目

    値

    プロトコル

    HTTPS

    文字コード

    UTF-8

    改行コード

    LF

    接続先ホストとURL

    https://api.smtps.jp/transaction/[version]/[resource]/[action].[format]
    • [version]は、APIバージョンを表します。v2 と v1 が指定できます。

    • [resource]は、操作対象のリソースを表します。

    • [action]は、操作を表します。

    • [format]は、レスポンスメッセージのフォーマットを表します。json と xml が指定できます。

    認証

    Transactional Email API は、HTTPリクエストに含まれる apiuser, apikey パラメータを使用したユーザ認証を行います。APIユーザの登録方法については、ユーザガイドの「APIユーザ」を参照ください。

    アクセス制御

    各APIで、要求されるAPIユーザのロールが異なります。詳細は、各APIの「アクセス制御」の項目を参照ください。

    HTTPリクエスト

    このセクションでは、Transactional Email API が受信するHTTPリクエストの仕様について説明します。

    HTTPリクエストの取得頻度について

    HTTPリクエストの頻度について、日次での取得までは対応可能です。

    日次よりも高い頻度での利用を検討されている場合は、サポートセンターまでご相談ください。

    メソッド

    Transactional Email API は、POSTメソッドのみを受け付けます。

    ヘッダ

    Transactional Email API は、以下のヘッダフィールドを参照します。

    ヘッダフィールド

    説明

    Accept-Language

    Transactional Email APIが応答するメッセージの言語タイプを指定します。
    en または ja のいずれかを指定します。
    言語指定が無いまたは左記以外の言語を指定された場合、en で動作します。

    コンテンツタイプ

    application/x-www-form-urlencoded または application/json を指定します。

    注意

    application/json は、バージョン2からサポートしました。
    バージョン1では使用できません。

    パラメータ

    Transactional Email API は全てのHTTPリクエストに、ユーザ認証を行うための api_user, api_key を含める必要があり、かつ、URLごとに定義されたパラメータを送信する必要があります。

    このドキュメントは以下フォーマットに従い、パラメータの説明を記述します。

    パラメータ

    必須

    データ型

    説明

    api_user

    Yes

    ASCII

    ユーザ認証に使用するID

    api_key

    Yes

    ASCII

    ユーザ認証に使用するシークレットキー

    server_composition

    Yes

    UTF-8

    操作対象となるサーバ構成の名称(サーバ構成についてはこちらを参照)

    p

    No

    INTEGER

    取得するデータのページ位置。
    デフォルト:0

    r

    No

    INTEGER

    取得するデータのレコード数。
    デフォルト:10

    • パラメータ:POSTするパラメータの名前。

    • 必須:このパラメータが必須である場合、Yes。

    • データ型:パラメータ値のデータ型。(後述、データ型を参照)

    • 説明:このパラメータに関する説明。

    デフォルト値、入力値の範囲などの制限があるパラメータについては、説明欄に以下の書式で記載します。

    • デフォルト:(デフォルト値)

    • 範囲:min=(最小値) / max=(最大値)

    • 制約:パラメータに関する制約の記述。例えば、start_date は end_date と等しいか過去日でなければならないなど。

    パラメータ値は文字列として受信し、長さチェックを行います。パラメータ値は最大1024文字(ASCIIの場合、1024byte, UTF-8の場合、4096byte)まで指定できます。また、必須パラメータは、最小1文字以上の値を指定する必要があります。

    application/x-www-form-urlencoded を指定する場合

    パラメータの名前・値のセットを作成して POST してください。

    application/json を指定する場合

    パラメータの名前をプロパティとした JSON を作成して POST してください。

    以下は Deliveries/list APIを呼び出す JSON の例です。

    JSON

    {
    "api_user" : "http_api_user@example.com",
    "api_key" : "a29yZWhhcGFzc3dvcmRkZXN1",
    "server_composition" : "sandbox",
    "to" : "@example.com",
    "status" : "failed",
    "search_option" : {
        "to" : "part",
        "from" : "full",
        "api_data" : "full"
    }
    }
    

    データ型

    Transactional Email API は以下の仕様に従い、データ型を取扱います。

    データ型

    説明

    UTF-8

    ASCIIを含むマルチバイト文字を表します。

    ASCII

    印刷可能なASCII文字を表します。

    INTEGER

    -2147483648 から 2147483647の範囲の数値を表します。

    DATE

    YYYY-MM-DD 形式で日付を表します。DD=99である場合、指定月の末日と解釈します。

    TIME

    HH:mm 形式で、時および分を24時間表記で表します。このAPIでは秒をリクエストパラメータとして取り扱う処理はありません。

    DATETIME

    YYYY-MM-DD HH:mm 形式で年月日および時分を表します。

    BOOLEAN

    true または false のいずれかを表します。

    HTTPレスポンス

    このセクションでは、Transactional Email APIが送信するHTTPレスポンスの仕様について説明します。

    ステータスコード

    Transactional Email APIは、以下のステータスコードを応答します。

    コード

    メッセージ

    説明

    200

    OK

    リクエストは正常に処理されました。

    204

    (メッセージはありません)

    400

    Bad Request

    不正なパラメータがリクエストされたなどの理由により、リクエストは正常に処理されませんでした。

    401

    Unauthorized

    ユーザ認証に失敗しました。

    403

    Forbidden

    IP制限やアクセス制御により、ユーザからのリクエスト実行を拒否しました。

    404

    Not Found

    リクエストされたURLは存在しません。

    500

    Internal Server Error

    システム内部の問題により、リクエストを実行できませんでした。

    ヘッダ

    Transactional Email APIは、URLで指定されたフォーマットに従い、JSON または、XMLフォーマットのメッセージを応答します。また、download アクションは、ファイルダウンロードを実行します。これらの応答メッセージのフォーマットは、HTTPレスポンスヘッダ Content-Type により判別します。

    Content-Type

    説明

    application/json

    JSONフォーマットのメッセージを応答します。

    application/xml

    XMLフォーマットのメッセージを応答します。

    application/octet-stream

    ファイルをダウンロードします。download アクションは、このフォーマットで応答します。ステータスコードが200以外の場合、リクエストで指定したフォーマットにてエラーメッセージを応答します。

    メッセージ

    Transactional Email API は以下のメッセージを応答します。

    成功

    このメッセージは、add / edit / delete などデータ編集を行うリクエストが成功した時に応答します。

    JSON

    {
        "message" : "User example1.hde was deleted"
    }
    

    XML

    <message>User example1@hennge.com was deleted<message>

    エラー

    このメッセージは、リクエストが失敗した時に応答します。

    JSON

    {
        "errors" : [
            {
                "code" : "01-004",
                "field" : "api_user",
                "message" : "api_user is required."
            },
            {
                "code" : "01-004",
                "field" : "api_key",
                "message" : "api_key is required."
            }
        ]
    }

    XML

    <errors>
        <error>
            <code>01-004</code>
            <field>api_user</field>
            <message>api_user is required.</message>
        </error>
        <error>
            <code>01-004</code>
            <field>api_key</field>
            <message>api_key is required.</message>
        </error>
    </errors>

    対象データが存在しない

    list アクションなどの検索操作で対象データが存在しなかった場合、ステータスコード 204 と共に以下のメッセージを応答します。

    JSON

    {
        "message" : "The process was finished normally but the data was not found."
    }

    XML

    <message>The process was finished normally but the data was not found."</message>

    検索結果

    list アクションなどの検索操作で対象データが存在した場合、URLごとに定めたフォーマットにてメッセージを応答します。メッセージの詳細については、各APIのマニュアルを参照ください。

    エラーメッセージ

    Transactional Email APIの共通エラーメッセージを以下に説明します。共通エラーメッセージ以外にも、各APIごとに定義したエラーメッセージを応答することがあります。

    コード

    メッセージ (en)

    メッセージ (ja)

    01-001

    System error was occurred. Please contact system administrator.

    システムエラーが発生しました。システム管理者に連絡してください。

    01-002

    HTTP Request which use GET Method is not permitted. Please use POST Method.

    GETメソッドを使用したHTTPリクエストは許可していません。POSTメソッドを使用してください。

    01-003

    User authentication was failed.

    ユーザ認証に失敗しました。

    01-004

    {0} is required.

    {0}は必須項目です。

    01-005

    The api_user does not have a role which is to perform requested process.

    APIユーザはリクエストされた処理を実行する権限がありません。

    01-101

    {0} was not found.

    {0} が見つかりませんでした。

    10-001

    System error was occurred. Please contact system administrator.

    システムエラーが発生しました。システム管理者に連絡してください。

    セキュリティ

    このセクションでは、Transactional Email API のセキュリティについて説明します。

    ユーザ認証

    Transactional Email API は、HTTPリクエストに含まれる apiuser, apikey パラメータを使用したユーザ認証を行います。APIユーザの登録方法については、ユーザガイドの「APIユーザ」を参照ください。

    権限によるアクセス制御

    Transactional Email API は、APIグループ管理者、APIユーザの2つのロール(役割)で利用することができます。また、APIユーザごとに以下のアクセス権限を付与することができます。

    役割

    説明

    APIグループ管理者

    データの参照・ダウンロード、追加、更新、削除の操作が可能です。

    APIユーザ

    データの参照・ダウンロードの操作が可能です。

    権限

    説明

    データ参照許可

    メールアドレスを含むデータを参照可能なAPIに対するアクセス権限。

    ダウンロード許可

    メールアドレスを含むデータをファイルダウンロード可能なAPIに対するアクセス権限。

    IPアドレスによるアクセス制御

    HTTPリクエストの送信元IPアドレスをチェックし、アクセス制御を行います。アクセス制御の設定方法については、ユーザガイドの「接続IP」を参照ください。

    データ暗号化

    download アクションによるファイルダウンロードを実行する場合、パスワード付き暗号化ZIP形式でダウンロードするファイルを作成することができます。データ暗号化の設定方法については、ユーザガイドの「Transactional Email API」を参照ください。

    サポート一覧へ戻る

    Download

    変革を、ここから始める