送信するメールの文面を登録する。
1度のリクエストで最大1000通の配信メールを登録することが出来る。
リクエスト
エンドポイント
/v1/mails
HTTPメソッド
POST もしくは PUT
リクエストボディ
JSON形式であること
リクエスト
要素名
|
型
|
要素数
|
制限
|
説明
|
---|---|---|---|---|
envelopes | Envelope型の配列 | 1:1000 | 宛先メールアドレスごとのメタデータの配列 | |
from | メールアドレス型 | 1 | Fromヘッダの値 | |
reply_to | メールアドレス型 | 0:1 | Reply-Toヘッダの値 | |
subject | 文字列 | 1 | 最大1024文字, UTF-8のみ 制御文字不可 | Subjectヘッダの値 |
body | Body型 | 1 |
以下のいずれかの方式でエンコードされていること
|
メール本文 |
attachment | Attachment型の配列 | 0:32 | 添付ファイル | |
custom_args | キー文字列・値文字列のハッシュ | 0:100 |
キー文字列最大256文字, 半角英数字 =@-+*#%_!?~ のみ |
メール1件ごとに保持する独自データ |
headers | キー文字列・値文字列のハッシュ | 0:* |
キー文字列最大64文字, 半角英数字, |
カスタムメールヘッダ |
replace_value | キー文字列・値のハッシュ | 0:100 |
キー文字列最大64文字, 半角英数字 |
差し込み変換用データ |
timestamp | 数値 | 0:1 |
0~2147483647 |
送信時刻 |
batch_id | 文字列 | 0:1 | 最大32文字, 半角アルファベット・半角数字文字列のみ | 複数のメールを1配信として扱うための文字列 |
tracking | トラッキング設定 | 0:1 |
メール文面中のリンク及びHTMLパートのビーコン画像によるトラッキング設定 |
|
dkim | DKIM署名設定 | 0:1 |
メールに署名するDKIMのセレクタを指定するための設定 |
|
defer_limit | 数値 | 0:1 | 0~20 |
一時配送エラー時のメール再送試行回数を指定するための設定 この値を指定する場合の詳細な挙動についてはメール配信設定更新の項目を参照すること |
Envelope
要素名
|
型
|
要素数
|
制限
|
説明
|
---|---|---|---|---|
to | メールアドレス型 | 1 | 1APIコールでto,cc,bcc合計で1000アドレス以内 | 宛先アドレス |
cc | メールアドレス型の配列 | 0:100 | 1APIコールでto,cc,bcc合計で1000アドレス以内 | CCアドレス |
bcc | メールアドレス型の配列 | 0:100 | 1APIコールでto,cc,bcc合計で1000アドレス以内 | BCCアドレス |
from | メールアドレス型 | 0:1 | Fromヘッダの値 上階層のfromより優先して設定される |
|
reply_to | メールアドレス型 | 0:1 | Reply-Toヘッダの値 上階層のReply-Toより優先して設定される |
|
subject | 文字列 | 0:1 | 最大2048文字, UTF-8のみ 制御文字不可 |
Subjectヘッダ |
headers | キー文字列・値文字列のハッシュ | 0:* |
キー文字列最大64文字, 半角英数字, |
カスタムメールヘッダ |
replace_value | キー文字列・値文字列のハッシュ | 0:100 |
キー文字列最大64文字, 半角英数字 =@-+*#%_!?~ のみ |
差し込み変換用データ |
custom_args | キー文字列・値文字列のハッシュ | 0:100 |
キー文字列最大256文字, 半角英数字 =@-+*#%_!?~ のみ |
宛先メールアドレスごとに保持する独自データ |
tracking | 宛先別トラッキング設定 | 0:1 |
宛先別のトラッキング設定 |
|
dkim | DKIM署名設定 | 0:1 |
メールに署名するDKIMのセレクタを指定するための設定 |
メールアドレス
要素名
|
型
|
要素数
|
制限
|
説明
|
---|---|---|---|---|
address | 文字列 | 1 | EMAILアドレス形式の文字列であること, 最大256文字 |
メールアドレス RFC 準拠のメールアドレスを許容(ただし、アドレスリテラル形式を除く) |
name | 文字列 | 0:1 | 最大64文字, UTF-8のみ 制御文字不可 | メールアドレスの名称パート |
Body
要素名
|
型
|
要素数
|
制限
|
説明
|
---|---|---|---|---|
text | 文字列 | 0:1 |
textもしくはhtmlのどちらかが必要 |
テキストパート文面 |
html | 文字列 | 0:1 |
textもしくはhtmlのどちらかが必要 |
HTMLパート文面 |
Attachment
要素名
|
型
|
要素数
|
制限
|
説明
|
---|---|---|---|---|
content | 文字列 | 1 |
半角英数字 +/_-= のみ |
base64エンコード済みのファイルのバイナリ |
name | 文字列 | 1 | 最大78文字, UTF-8のみ | ファイル名 |
type | 文字列 | 1 | 最大255文字, 半角英数字 _-.!#$%&+/ のみ | MIMEタイプ |
disposition | 文字列 | 0:1 | inline もしくは attachment | 添付ファイルの表示方法 |
content_id | 文字列 | 0:1 | 最大256文字, 半角英数字 !$&*-=^`|#%'+/?_{}~@". のみ | メール本文でファイルを参照するためのID |
トラッキング
要素名
|
型
|
要素数
|
制限
|
説明
|
---|---|---|---|---|
tracking | 文字列 | 1 | may 又は must のみ有効 |
トラッキングを有効にするフラグ |
beacon | boolean | 0:1 |
メール開封確認用の、HTMLパートにビーコン画像を付与するためのフラグ |
|
expires | トラッキング有効期限の配列 | 0:1 | トラッキングするURLの有効期限設定 | |
custom_domain | 文字列 | 0:1 |
半角英数字 .- 最大253文字 |
トラッキングURLに使用するドメイン ※ 利用の際は下記「カスタムドメイン設定」を確認すること。必要な準備を行わず設定した場合トラッキング機能が正常に動作しない。 |
relay | キー文字列・値文字列のハッシュ | 0:1 |
キー 半角英数字記号 最大64文字 値 半角英数字記号 最大2048文字 |
トラッキングURLから元URLにリダイレクトする際に経由させるURL設定 |
replace_url | 文字列の配列 | 0:100 | 半角英数字記号 最大2048文字 URL形式の文字列であること |
本文に含まれるURLのうち、配列中に含まれるURLのみをトラッキングURLに置換する この項目が存在しない場合or空配列の場合、本文に含まれる全てのURLをトラッキングURLに置換する |
トラッキング有効期限
要素名
|
型
|
要素数
|
制限
|
説明
|
---|---|---|---|---|
url | 文字列 | 1 | 半角英数字記号 最大2048文字 |
有効期限を設定するURL |
timestamp | 数値 | 1 | 32bit整数値の範囲内 |
有効期限を示す日時のunixタイムスタンプ秒 |
redirect | 文字列 | 1 | 半角英数字記号 最大2048文字 |
有効期限が切れた場合にリダイレクトするURL |
宛先別トラッキング設定
要素名
|
型
|
要素数
|
制限
|
説明
|
---|---|---|---|---|
label1 | 文字列 | 0:1 | 半角英数字 最大64文字 | 結果取得時の抽出用ラベル1 |
label2 | 文字列 | 0:1 | 半角英数字 最大64文字 | 結果取得時の抽出用ラベル2 |
label3 | 文字列 | 0:1 | 半角英数字 最大64文字 | 結果取得時の抽出用ラベル3 |
query | キー文字列・値文字列のハッシュ | 0:1 |
キー半角英数字記号 最大64文字、値半角英数字 最大2048文字 |
トラッキングURLから元URLにリダイレクトする際にクエリパラメータとして付与する設定 |
DKIM署名
要素名
|
型
|
要素数
|
制限
|
説明
|
---|---|---|---|---|
selector | 文字列 | 1 | 半角英数字 -(ハイフン) .(ピリオド) _(アンダーバー) 最大63文字まで |
DKIM署名のセレクター |
リクエストボディ サンプル
レスポンス
ステータスコード
状態
|
コード
|
---|---|
成功 | 200 |
リクエストボディがjsonではない | 400 |
jsonリクエストのバリデーションエラー | 400 |
認証失敗 | 401 |
存在しないエンドポイント | 404 |
許可されていないHTTPメソッド | 405 |
システムエラーが発生した | 500 |
システムが一時的にサービスを提供できない状態になっている | 503 |
システムのタイムアウト | 504 |
レスポンスボディ
成功
失敗
共通設定と宛先別設定
custom_args headers replace_value subject は全宛先共通の設定と envelopes.* で設定する宛先別設定が存在する。
いずれの設定も共通設定と宛先別設定で同名の項目があった場合、宛先別設定が優先する。
headers に限り名前の同一判定において大文字・小文字が無視される。
例
リクエスト
送信されるメール文面
通知されるwebhook
差し込み置換
replace_value envelopes.*.replace_value に対象文字列と置換後の文字列を設定することで、
body.html body.text subject from.name reply_to.name envelopes.*.subject の対象文字列を置換することができる。
replace_value envelopes.*.replace_value に同名の置換対象文字列が存在する場合、宛先別設定である envelopes.*.replace_value が優先する。
また、置換後の文字列に改行が含まれていて subject from.name reply_to.name に差し込んだ場合、改行が半角空白に変換される。
例
リクエスト
送信されるメール文面
#REPLACE0# は共通設定しか存在しないため、「これはrootの0です」となり、
#REPLACE1# はenvelopes.0に宛先別設定が存在するためenvelopes.0宛てのメールでは「これはenvelopeの1です」となる。
#REPLACE2# は共通設定には存在せず、envelopes.0にのみ存在するため、envelopes.0宛てのメールでは「改行前<CR><LF>改行後」となる。
メール送信に必要な入力項目
最低限メール送信に必要な入力項目とメール送信可能となる条件は以下となる。
- subject にバリデーションエラーにならない文字列が設定されている
- from.address にバリデーションエラーにならないメールアドレスが設定されている
- body.text もしくは body.html にバリデーションエラーにならない文字列が設定されている
- envelopes.*.to.address にバリデーションエラーにならないメールアドレスが設定されている
例
リクエスト
購読解除リンクの表示に必要なヘッダの指定
List-UnsubscribeおよびList-Unsubscribe-Postヘッダを付与することで、RFC8058の要件「The List-Unsubscribe and List-Unsubscribe-Post headers MUST be covered by the signature and included in the "h=" tag of a valid DKIM-Signature header field.」をクリアしたメールを送信できる。
例
リクエスト
送信されるメールのヘッダ
トラッキングURLの有効化
トラッキングURLの設定を有効にすると、テキストパート及びHTMLパート文面中のURLがトラッキングURLに置換して送信される。
テキストパートではURL文字列を置換し、HTMLパートではAタグのhref属性の文字列をトラッキングURLに置換する。
また、トラッキング設定内の beacon 項目を有効することでHTMLパート文面にHTMLメール 開封 確認用のビーコン画像が追加される。
テキストパート
API時の文面リクエスト
送信される文面(URLのxおよびyの部分はランダム)
HTMLパート
API時の文面リクエスト
送信される文面(URLのxおよびyの部分はランダム)
抽出用設定
各トラッキングURL及び開封ビーコンURLには、自動的にメールIDとバッチIDが付与される。
このため、トラッキング・開封結果取得APIでメールIDまたはバッチIDを指定した場合、該当のデータのみ取得することができる。
また、宛先別トラッキング設定の label1 label2 label3 に任意の文字列を設定することで、特定のラベルのトラッキング結果の抽出が可能。
カスタムドメイン設定
トラッキング用URLのドメインは tracking.autobahn.email (試用環境は tracking-dev.autobahn.email )だが、トラッキング設定内の custom_domain にドメインを指定することで、トラッキング用URLのドメインを変更することができる。
ただし、下記の事前準備が必要となる。個別対応となるため、事前にトライコーンの担当営業と協議を行うこと。
- CNAMEレコードの設定
- カスタムドメインとして利用するドメインの CNAME レコードを設定する
- 値は tracking.autobahn.email と設定する
- カスタムドメインの SSL/TLS サーバ証明書を用意し、@utobahn MTA システムへ適用 (有償)
- 適用後、証明書の期限が切れるたびに都度の適用作業が発生する点に留意
※本番環境のみ利用可能で、試用環境は利用不可のオプション
トラッキングURLの置換処理
テキスト、HTMLのパートによって置換処理のルールが異なる。
テキストパート
以下の場合はURLが置換対象にならない、もしくは置換対象URLの欠落が発生する場合がある
- 1行が一定サイズを超える長さで一定サイズの閾値にURL文字列が含まれる
- URLの途中で改行している
- URLの直前が行頭または半角空白ではない
HTMLパート
以下の場合はURLが置換対象にならない、もしくは置換対象URLの欠落が発生する場合がある
- Aタグのタグ開始 <a 直後に改行している