メインコンテンツまでスキップ

メール文面を作成する

API 経由でメール文面を作成するには、POST /api/v1/add_mail_message を使用します。

備考

KREISEL では、メール配信のプロセスを「メール文面作成」と「メール配信予約」の 2 つのステップに分けています。API でもこの考え方を踏襲しており、それぞれ別のエンドポイントを呼び出す必要があります。

リクエスト

リクエストボディには、文面を作成するデータベースの ID と、メール文面の詳細情報を含めます。

キーデータ型必須説明
member_table_idIntegerデータベースのIDを指定します。
mail_infoObjectメール文面の詳細情報を格納したオブジェクトを指定します。

mail_info オブジェクトの詳細

キーデータ型必須説明
allow_hankanaBooleantrueを指定すると、メール本文や件名などに半角カナが使用できます。デフォルトはfalseです。
typeIntegerメールの種別を数値で指定します。
1: テキストメール
2: HTMLメール
3: マルチパートメール
fromString送信元メールアドレス。
from_descString送信元名称。
replyString返信先メールアドレス。
reply_descString返信先名称。
subjectStringメールの件名。
text_partStringtypeに依存テキストパートの本文。type1 または 3 の場合に必須です。
html_partStringtypeに依存HTMLパートの本文。type2 または 3 の場合に必須です。
clickcountsArrayクリックカウントを取得したいURL情報の配列。詳細は仕様書を参照してください。
open_clickcountBoolean開封率クリックカウントを取得するかどうかを指定します(HTMLメール、マルチパートメールのみ有効)。
注意
  • API では、登録済みメールヘッダの呼び出しや S/MIME 署名の指定はできません。
  • 文面作成時に確認メールは送信されません。

レスポンス

成功すると、作成されたメール文面の ID が返されます。

サンプルコード

テキストメールの作成

<?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メールの作成

type2にし、html_partを指定します。

<?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処理はテキストメールのサンプルと同様