目次
メール配信設定新規作成APIとは
本APIの概要
メール配信設定新規作成APIとは、貴社の基幹システム/アプリケーションとb→dashを繋ぐことでb→dash管理画面を介さずにメールアプリの機能の1つであるメール配信設定を新規に作成することができるAPIです。
貴社の基幹システム/アプリケーションに連携したメール配信を行いたい場合は、本API仕様書をご参照のもと貴社開発環境に実装してください。
本APIで取得できるb→dash管理画面上のデータ
b→dash管理画面と同等の操作
メール配信設定新規作成APIでは、b→dash管理画面にある「メール配信新規作成画面(以下キャプチャ)」における操作と同様に、メール配信設定の作成を行うことができます。
メール配信設定新規作成画面の例
b→dash管理画面上の更新結果確認方法
メール配信設定新規作成APIを利用した結果は以下のb→dash管理画面(「メール配信設定一覧画面」「メール配信設定詳細画面」「メールコンテンツ詳細画面」)で確認することができます。
メール配信設定一覧画面の例
メール配信設定詳細画面_更新履歴モーダルの例
メールコンテンツ詳細画面_利用状況モーダル
本API利用にあたっての前提事項
事前準備
メール配信設定APIを利用する事前準備として、「❶ セグメント用データの作成」「❷ メール配信対象外データファイルの作成」「❸ メールコンテンツの作成」「❹ 送信元情報の設定」の4つの手順を踏む必要があります。
❶ セグメント用データの作成
メール配信設定の作成過程で送信対象となるセグメントを選択するため、事前にセグメントを作成する必要があります。
セグメントアプリ上でセグメント用データの作成がまだ完了していない場合は「セグメントを作成したい」をご参照の上、設定を完了させてください。
❷ メール配信対象外データファイルの作成
特定の顧客に対して配信しないメール配信設定を作成したい場合、b→dash管理画面上でメールを配信しない対象とする配信対象外データファイルを作成する必要があります。
データパレットアプリ上で配信対象外データファイルの作成がまだ完了していない場合は、メールの配信設定に利用するセグメント用データの参照元データファイルから配信しない顧客またはメールアドレスの「絞込み」を行って配信対象外データファイルを作成してください。
b→dash管理画面上で行うデータの絞込みの方法に関しては「データの「絞込み」をしたい」をご参照ください。
※「b→dashデータのオプトアウトフォームデータ」「配信不達データ」はb→dashが自動で作成する配信対象外データファイルのため、事前準備は不要です。
❸ メールコンテンツの作成
メール配信設定の作成過程で配信するメールコンテンツを選択するため、b→dash管理画面上でメールコンテンツを作成する必要があります。
メールアプリ上でメールコンテンツの作成がまだ完了していない場合は以下をご参照の上、メールコンテンツを作成してください。
- テキストメールを作成したい場合:「テキストメールを作成したい」
- GUIでHTMLメールを作成したい場合:「HTMLメールを作成したい(GUI)」
- HTMLでHTMLメールを作成したい場合:「HTMLメールを作成したい(HTML)」
- APIでHTML/テキストメールを作成したい場合:「メールコンテンツ新規作成APIを実装したい」
❹ 送信元情報の設定
メール配信設定の作成過程で送信元となるメールアドレスを選択するため、事前に送信元情報の設定をする必要があります。
共通設定上で送信元設定のメールアドレスの登録がまだ完了していない場合は「送信元メールアドレスを設定したい」をご参照の上、登録を完了させてください。
共通仕様
メール配信設定新規作成APIでは、b→dash APIの共通仕様も参照する必要があります。共通仕様の詳細については「b→dash APIの共通仕様を知りたい」をご参照ください。
メール配信設定新規作成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($int32) /4byte |
- |
配信年
「配信間隔」が「ONCE」の場合は必須 1500~9999 |
month |
integer($int32) /2byte |
- |
配信年
「配信間隔」が「ONCE」の場合は必須 1~12 |
day |
integer($int32) /2byte |
- |
配信日
「配信間隔」が「ONCE」「MONTHLY」の場合は必須 1~31 |
day_of_the_week |
string /3byte |
- |
配信曜日
「配信間隔」が「WEEKLY」の場合は必須 MON:月曜日 TUE:火曜日 WED:水曜日 THU:木曜日 FRI:金曜日 SAT:土曜日 SUN:日曜日 |
hour |
integer($int32) /2byte |
- |
配信時
「配信間隔」が「IMMEDIATE」以外の場合は必須 0~23 |
minute |
integer($int32) /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」リクエスト形式でメール配信設定の新規作成リクエストをします
〇メール配信設定新規作成APIのURI
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からレスポンスが返されます
〇レスポンスボディパラメータ
パラメータ名 | Key | データ型 | 説明 |
階層1:result | object | - | |
階層2:code | integer($int32) | ステータスコード | |
階層2:mail_campaign_id | string | 作成されたメール配信設定のID | |
階層2:mail_campaign_name | string |
作成されたメール配信設定の名称
APIリクエスト時に指定したメール配信設定の名称が既に使用されている場合は、以下のルールで命名される {APIリクエスト時のメール配信設定の名称}(n) ※「n」は名称が重複したメール配信設定ごとの 連番とし、「1」から採番を開始する |
〇リクエストエラー発生時のエラーメッセージ詳細
# | コード | エラーメッセージ | 説明 |
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}」が存在しません。 | メール配信対象に指定したデータファイル内にメールアドレスカラムが存在しない |
【レスポンスボディサンプル(成功レスポンス(201))】
{
"result": {
"code": 201,
"mail_campaign_id": "12345"
"mail_campaign_name": "メール配信設定A"
}
}