メール文面を作成する
API 経由でメール文面を作成するには、POST /api/v1/add_mail_message を使用します。
備考
KREISEL では、メール配信のプロセスを「メール文面作成」と「メール配信予約」の 2 つのステップに分けています。API でもこの考え方を踏襲しており、それぞれ別のエンドポイントを呼び出す必要があります。
リクエスト
リクエストボディには、文面を作成するデータベースの ID と、メール文面の詳細情報を含めます。
| キー | データ型 | 必須 | 説明 |
|---|---|---|---|
member_table_id | Integer | ○ | データベースのIDを指定します。 |
mail_info | Object | ○ | メール文面の詳細情報を格納したオブジェクトを指定します。 |
mail_info オブジェクトの詳細
| キー | データ型 | 必須 | 説明 |
|---|---|---|---|
allow_hankana | Boolean | trueを指定すると、メール本文や件名などに半角カナが使用できます。デフォルトはfalseです。 | |
type | Integer | ○ | メールの種別を数値で指定します。 ・ 1: テキストメール・ 2: HTMLメール・ 3: マルチパートメール |
from | String | ○ | 送信元メールアドレス。 |
from_desc | String | 送信元名称。 | |
reply | String | 返信先メールアドレス。 | |
reply_desc | String | 返信先名称。 | |
subject | String | ○ | メールの件名。 |
text_part | String | typeに依存 | テキストパートの本文。typeが 1 または 3 の場合に必須です。 |
html_part | String | typeに依存 | HTMLパートの本文。typeが 2 または 3 の場合に必須です。 |
clickcounts | Array | クリックカウントを取得したいURL情報の配列。詳細は仕様書を参照してください。 | |
open_clickcount | Boolean | 開封率クリックカウントを取得するかどうかを指定します(HTMLメール、マルチパートメールのみ有効)。 |
注意
- API では、登録済みメールヘッダの呼び出しや S/MIME 署名の指定はできません。
- 文面作成時に確認メールは送信されません。
レスポンス
成功すると、作成されたメール文面の ID が返されます。
サンプルコード
テキストメールの作成
- PHP
<?php
$environmentId = getenv("ENV_ID");
$apiUrl = "https://krs.bz/$environmentId/api/v1/add_mail_message";
$apiToken = getenv("API_TOKEN"); // 取得した API トークンに置き換えてください
// メール文面情報
$mailInfo = [
'allow_hankana' => false,
'type' => 1, // テキストメール
'from' => 'foo@example.com',
'from_desc' => 'トライコーン',
'reply' => 'foo_reply@example.com',
'reply_desc' => 'トライコーン返信先',
'subject' => '件名サンプル',
'text_part' => 'このメールはテキストメールです。'
];
$params = [
'member_table_id' => 1,
'mail_info' => $mailInfo,
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiToken,
'Content-Type: application/json',
]);
$response_body = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($http_code === 200) {
$message_id = json_decode($response_body);
echo '文面を登録しました。', PHP_EOL;
echo 'メール文面 ID : ', $message_id, PHP_EOL;
} else {
echo 'API リクエストに失敗しました。', PHP_EOL;
echo 'HTTP Status: ', $http_code, PHP_EOL;
echo 'Response: ', $response_body, PHP_EOL;
}
HTMLメールの作成
typeを2にし、html_partを指定します。
- PHP
<?php
$environmentId = getenv("ENV_ID");
$apiUrl = "https://krs.bz/$environmentId/api/v1/add_mail_message";
$apiToken = getenv("API_TOKEN"); // 取得したAPIトークンに置き換えてください
// メール文面情報
$mailInfo = [
'allow_hankana' => false,
'type' => 2, // HTMLメール
'from' => 'foo@example.com',
'from_desc' => 'トライコーン',
'reply' => 'foo_reply@example.com',
'reply_desc' => 'トライコーン返信先',
'subject' => '件名サンプル',
'html_part' => '<html><body>このメールはHTMLメールです</body></html>'
];
// 以下、cURL処理はテキストメールのサンプルと同様