本記事では、「メール配信設定新規作成API」の概要・利用前提・仕様(リクエスト/レスポンス/エラーメッセージ)について紹介しています。
貴社の基幹システム/アプリケーションに連携したメール配信を行いたい場合は、本記事をご参照のもと、貴社開発環境に実装してください。
本記事の構成は下記の通りです。
各セクションの詳細は、以下をご参照ください。
メール配信設定新規作成APIとは、貴社の基幹システム/アプリケーションとb→dashを繋ぐことで、b→dash管理画面を介さずにメールアプリのメール配信設定を新規に作成することができるAPIです。
メール配信設定新規作成APIでは、b→dash管理画面にある「メール配信新規作成画面」における操作と同様に、メール配信設定の作成を行うことができます。

本APIを利用した結果は、下記のb→dash管理画面で確認できます。

本APIを利用する事前準備として、下記の4つの手順を踏む必要があります。
メール配信設定の作成過程で送信対象となるセグメントを選択するため、事前にセグメントを作成する必要があります。
特定の顧客に対して配信しないメール配信設定を作成したい場合、b→dash管理画面上でメールを配信しない対象とする配信対象外データファイルを作成する必要があります。
配信対象外データファイルの作成がまだ完了していない場合は、メールの配信設定に利用するセグメント用データの参照元データファイルから、配信しない顧客またはメールアドレスの「絞込み」を行って配信対象外データファイルを作成してください。
メール配信設定の作成過程で配信するメールコンテンツを選択するため、b→dash管理画面上でメールコンテンツを作成する必要があります。メールコンテンツの作成がまだ完了していない場合は、下記をご参照の上、メールコンテンツを作成してください。
メール配信設定の作成過程で送信元となるメールアドレスを選択するため、事前に送信元情報の設定をする必要があります。
本APIでは、b→dash APIの共通仕様も参照する必要があります。
メール配信設定新規作成APIの処理フロー図は下記の通りです。

json形式のファイル(拡張子: .json)に、下記のリクエストボディパラメータを指定して、メール配信設定の内容を送信するためのリクエストボディを準備します。
プロパティ |
データ型 / サイズ |
必須 |
説明 |
| mail_campaign_name | string / 255byte | ○ |
登録するメール配信設定の名称(255文字以内) |
| segment_id | string / 10byte | ○ |
メール配信対象のセグメントのID |
| s_mail_column_ids | object[] / 2650byte | ○ |
セグメント内のメールアドレスカラムのID(1〜5個まで設定可能)。設定した順番で配信に用いるメールアドレスカラムの優先度を付ける。 ※ データファイルIDの値は、セグメントのデータファイルIDと一致する必要がある |
| └ datafile_id | string / 10byte | ○ |
データファイルのID |
| └ d_mail_column_id | string / 255byte | ○ |
データファイル内のメールアドレスカラムのID |
| is_send_all | boolean | - |
優先度に関係なく、設定した全てのメールアドレスに配信を行うか。未指定の場合はfalse true: 行う / false: 行わない |
| exclusion_datafile | object[] / 2650byte | - |
メール配信対象外のデータファイル(最大10個まで設定可能) |
| └ datafile_id | string / 10byte | ○ |
データファイルのID |
| └ d_mail_column_id | string / 255byte | ○ |
データファイル内のメールアドレスカラムのID |
| contents_id | string / 10byte | ○ |
メール配信対象のメールコンテンツのID |
| sender_info_id | string / 10byte | ○ |
送信元情報のID |
| timings | object[] / 1000byte | - |
配信タイミング設定(20要素まで設定可能)。「is_delivery_segment_update」が「false」の場合は必須 |
| └ interval | string / 10byte | ○ |
配信間隔 ONCE: 単発 / DAILY: 毎日 / WEEKLY: 毎週 / MONTHLY: 毎月 / IMMEDIATE: 即時 ※ IMMEDIATEは他のintervalと併用不可 |
| └ year | integer / 4byte | - |
配信年(配信間隔が「ONCE」の場合は必須、1500〜9999) |
| └ month | integer / 2byte | - |
配信月(配信間隔が「ONCE」の場合は必須、1〜12) |
| └ day | integer / 2byte | - |
配信日(配信間隔が「ONCE」「MONTHLY」の場合は必須、1〜31) |
| └ day_of_the_week | string / 3byte | - |
配信曜日(配信間隔が「WEEKLY」の場合は必須) MON / TUE / WED / THU / FRI / SAT / SUN |
| └ hour | integer / 2byte | - |
配信時(配信間隔が「IMMEDIATE」以外の場合は必須、0〜23) |
| └ minute | integer / 2byte | - |
配信分(配信間隔が「IMMEDIATE」以外の場合は必須、0/15/30/45) |
| is_delivery_segment_update | boolean | ○ |
セグメント更新のタイミングのみメール配信を行うか true: 行う / false: 行わない |
| is_enabled_delivery_limit | boolean | ○ |
配信上限を有効にするか true: 有効にする / false: 有効にしない |
| is_auto_parameter | boolean | ○ |
自動パラメーター設定を有効にするか true: 有効にする / false: 有効にしない |
| is_delivery_the_same_customer | boolean | ○ |
同じ顧客に対する繰り返し配信を行うか true: 行う / false: 行わない |
| delivery_start_date | string / 8byte | ○ |
配信開始日(yyyyMMdd形式で指定) |
| delivery_end_date | string / 8byte | - |
配信終了日(yyyyMMdd形式で指定) |
{
"mail_campaign_name": "メール配信設定A",
"segment_id": "10001",
"s_mail_column_ids": [
{
"datafile_id": "10001",
"d_mail_column_id": "COLUMN_1"
},
{
"datafile_id": "10001",
"d_mail_column_id": "COLUMN_2"
},
{
"datafile_id": "10001",
"d_mail_column_id": "COLUMN_3"
},
{
"datafile_id": "10001",
"d_mail_column_id": "COLUMN_4"
},
{
"datafile_id": "10001",
"d_mail_column_id": "COLUMN_5"
}
],
"is_send_all": true,
"exclusion_datafile": [
{
"datafile_id": "30001",
"d_mail_column_id": "COLUMN_1"
},
{
"datafile_id": "50001",
"d_mail_column_id": "COLUMN_1"
}
],
"contents_id": "70001",
"sender_info_id": "80001",
"timings": [
{
"interval": "ONCE",
"year": 2021,
"month": 12,
"day": 31,
"hour": 23,
"minute": 0
},
{
"interval": "WEEKLY",
"day_of_the_week": "FRI",
"hour": 23,
"minute": 0
}
],
"is_delivery_segment_update": true,
"is_enabled_delivery_limit": true,
"is_auto_parameter": true,
"is_delivery_the_same_customer": true,
"delivery_start_date": "20210101",
"delivery_end_date": "20251231"
}
本APIのURIと、準備したリクエストボディ、下記のリクエストヘッダパラメータを用いて、貴社Webアプリから「POST」リクエスト形式でメール配信設定の新規作成リクエストをします。
項目 |
値 |
| URI | https://api.smart-bdash.com/api/v1/mail_deliveries |
| HTTPメソッド | POST |
リクエストヘッダパラメータは下記の通りです。
プロパティ |
型 / サイズ |
必須 |
値 |
説明 |
| Authorization | string / 2055byte | ◯ |
Bearer {アクセストークン} | 「認証方式を選択したい」で取得したアクセストークン |
POST https://api.smart-bdash.com/api/v1/mail_deliveries
リクエストの送信に成功すると、下記のレスポンス形式で本APIからレスポンスが返されます。
パラメータ名 |
データ型 |
説明 |
| 階層1: result | object | - |
| 階層2: code | integer | ステータスコード |
| 階層2: mail_campaign_id | string | 作成されたメール配信設定のID |
| 階層2: mail_campaign_name | string | 作成されたメール配信設定の名称。APIリクエスト時に指定したメール配信設定の名称が既に使用されている場合は、「{名称}(n)」の形式で命名される(「n」は連番、「1」から採番を開始) |
{
"result": {
"code": 201,
"mail_campaign_id": "12345"
"mail_campaign_name": "メール配信設定A"
}
}
# |
コード |
エラーメッセージ |
説明 |
1 |
400 |
mail_campaign_nameは必須です。255文字以内で指定してください。 | メール配信設定の名称が未設定 |
2 |
400 |
mail_campaign_nameは255文字以内で指定してください。 | メール配信設定の名称が255文字を超過した |
3 |
400 |
メール配信設定「{mail_campaign_id}」が存在しません。 | メール配信設定が存在しない |
4 |
400 |
s_mail_column_idsにはdatafile_idが必須です。 | セグメントのデータファイルのIDが未設定 |
5 |
400 |
s_mail_column_idsにはd_mail_column_idが必須です。 | セグメントのデータファイルのメールアドレスカラムが未設定 |
6 |
400 |
exclusion_datafileにはdatafile_idが必須です。 | メール配信対象外のデータファイルのデータファイルのIDが未設定 |
7 |
400 |
exclusion_datafileにはd_mail_column_idが必須です。 | メール配信対象外のデータファイルのメールアドレスカラムが未設定 |
8 |
400 |
contents_idは必須です。 | メール配信対象のメールコンテンツの名称が未設定 |
9 |
400 |
sender_info_idは必須です。 | 送信元情報の名称が未設定 |
10 |
400 |
timingsは20まで設定可能です。 | 配信タイミング設定数が20を超過した |
11 |
400 |
intervalには以下のいずれかを指定してください。ONCE/DAILY/WEEKLY/MONTHLY/IMMEDIATE | 配信間隔に不正な文字列が指定された |
12 |
400 |
yearには{システム日付の年の値}〜9999を指定してください。 | 配信年に範囲外の値が指定された |
13 |
400 |
monthには1〜12を指定してください。 | 配信月に範囲外の値が指定された |
14 |
400 |
dayには1〜31を指定してください。 | 配信日に範囲外の値が指定された |
15 |
400 |
day_of_the_weekには以下のいずれかを指定してください。MON/TUE/WED/THU/FRI/SAT/SUN | 配信曜日に不正な文字列が指定された |
16 |
400 |
hourには0〜23を指定してください。 | 配信時に範囲外の値が指定された |
17 |
400 |
minuteには以下のいずれかを指定してください。0/15/30/45 | 配信分に範囲外の値が指定された |
18 |
400 |
intervalがONCEの場合は以下を指定してください。year,month,day,hour,minute | 単発配信設定で未設定項目がある |
19 |
400 |
timingsに存在しない日付(year「{year}」,month「{month}」,day「{day}」)が指定されています。存在する日付を指定してください。 | 単発配信設定で存在しない日付が指定された |
20 |
400 |
intervalがMONTHLYの場合は以下を指定してください。day,hour,minute | 毎月配信設定で未設定項目がある |
21 |
400 |
intervalがWEEKLYの場合は以下を指定してください。day_of_the_week,hour,minute | 毎週配信設定で未設定項目がある |
22 |
400 |
intervalがDAILYの場合は以下を指定してください。hour,minute | 毎日配信設定で未設定項目がある |
23 |
400 |
is_delivery_segment_updateは必須です。bool値を指定してください。 | 「セグメント更新のタイミングのみメール配信を行うか」が未設定 |
24 |
400 |
is_enabled_delivery_limitは必須です。bool値を指定してください。 | 「配信上限を有効にするか」が未設定 |
25 |
400 |
is_auto_parameterは必須です。bool値を指定してください。 | 「自動パラメーター設定を有効にするか」が未設定 |
26 |
400 |
is_delivery_the_same_customerは必須です。bool値を指定してください。 | 「同じ顧客に対する繰り返し配信を行うか」が未設定 |
27 |
400 |
delivery_start_dateは必須です。yyyyMMdd形式で指定してください。 | 配信開始日が未設定 |
28 |
400 |
delivery_start_dateはyyyyMMdd形式で指定してください。 | 配信開始日の形式が不正 |
29 |
400 |
delivery_start_dateに存在しない日付({delivery_start_date})が指定されています。存在する日付を指定してください。 | 配信開始日で存在しない日付が指定された |
30 |
400 |
delivery_start_dateには現在日付と同日か、後の日付を指定してください。 | 配信開始日に現在日付より前の日付が指定された |
31 |
400 |
delivery_end_dateはyyyyMMdd形式で指定してください。 | 配信終了日の形式が不正(未設定はOK) |
32 |
400 |
delivery_end_dateに存在しない日付({delivery_end_date})が指定されています。存在する日付を指定してください。 | 配信終了日で存在しない日付が指定された |
33 |
400 |
delivery_end_dateには現在日付と同日か、後の日付を指定してください。 | 配信終了日に現在日付より前の日付が指定された |
34 |
400 |
delivery_end_dateはdelivery_start_dateと同日か、後の日付を指定してください。 | 配信開始日が配信終了日よりも後に設定されている |
35 |
400 |
「{delivery_end_date}」が現在の日付より前に設定されているため、運用開始できません。 | メールアプリに開始承認設定がされていないアカウントであり、メール配信設定の新規作成と同時に運用開始を行う設定になっていて、配信終了日が設定されており、配信終了日が現在日付より前に設定されている |
36 |
400 |
セグメント「{segment_id}」が存在しません。 | 配信対象セグメントが存在しない |
37 |
400 |
セグメント「{segment_id}」のデータファイル「{datafile_id}」にあるメールアドレスカラム「{d_mail_column_id}」がテキスト型ではありません。テキスト型のカラムを指定してください。 | セグメントのメールアドレスカラムがテキスト型でない |
38 |
400 |
データファイル「{datafile_id}」が存在しません。 | メール配信対象外のデータファイルが存在しない |
39 |
400 |
データファイル「{datafile_id}」にメールアドレスカラムが存在しません。 | メール配信対象外のデータファイルにメールアドレスカラムが存在しない |
40 |
400 |
データファイル「{datafile_id}」のメールアドレスカラム「{d_mail_column_id}」がテキスト型ではありません。テキスト型のカラムを指定してください。 | メール配信対象外のデータファイルのメールアドレスカラムがテキスト型でない |
41 |
400 |
メールコンテンツ「{contents_id}」が存在しません。 | メール配信対象のメールコンテンツが存在しない |
42 |
400 |
送信元情報「{sender_info_id}」が存在しません。 | 送信元情報が存在しない |
43 |
400 |
送信元情報「{sender_info_id}」はメールアプリで利用できません。メールアプリの送信元情報を指定してください。 | 指定された送信元情報のアプリがメールではない |
44 |
400 |
データファイル「{datafile_id}」が存在しません。 | メール配信対象に指定したデータファイルが存在しない |
45 |
400 |
セグメントにデータファイル「{datafile_id}」のメールアドレスカラム「{d_mail_column_id}」が存在しません。 | セグメントの参照するデータファイル内にメールアドレスカラムが存在しない |
46 |
400 |
データファイル「{datafile_id}」にメールアドレスカラム「{d_mail_column_id}」が存在しません。 | メール配信対象に指定したデータファイル内にメールアドレスカラムが存在しない |