メール配信設定新規作成APIを実装したい

メール配信設定新規作成APIとは

本APIの概要

メール配信設定新規作成APIとは、貴社の基幹システム/アプリケーションとb→dashを繋ぐことでb→dash管理画面を介さずにメールアプリの機能の1つであるメール配信設定を新規に作成することができるAPIです

貴社の基幹システム/アプリケーションに連携したメール配信を行いたい場合は、本API仕様書をご参照のもと貴社開発環境に実装してください。

本APIで配信するメールコンテンツを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データのオプトアウトフォームデータ」と「配信不達データ」のデータファイルがデフォルトで設定されています。各データファイルがどのようなデータを保持しているのかは、以下の記事を参考にご確認ください。
❸ メールコンテンツの作成

メール配信設定の作成過程で配信するメールコンテンツを選択するため、b→dash管理画面上でメールコンテンツを作成する必要があります

メールアプリ上でメールコンテンツの作成がまだ完了していない場合は以下をご参照の上、メールコンテンツを作成してください。

❹ 送信元情報の設定

メール配信設定の作成過程で送信元となるメールアドレスを選択するため、事前に送信元情報の設定をする必要があります

共通設定上で送信元設定のメールアドレスの登録がまだ完了していない場合は「送信元メールアドレスを設定したい」をご参照の上、登録を完了させてください。

    共通仕様

    メール配信設定新規作成APIでは、b→dash APIの共通仕様も参照する必要があります。共通仕様の詳細については「b→dash APIの共通仕様を知りたい」をご参照ください。

    事前準備と共通仕様の確認ができましたら、メール配信設定新規作成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" 
      } 
    }