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

会員の重複登録チェック

POST /api/v1/check_unique_member_confliction を利用すると、データベースの重複キー項目(例: メールアドレス)を基準に、登録しようとしている会員がすでに存在するかどうかをチェックできます。

実装サンプル

メールアドレス(フォーム項目 ID: e_69)が重複キーに設定されている場合の実装例です。

<?php

// 環境情報
$environmentId = getenv('ENV_ID');
$apiToken = getenv('API_TOKEN');
$formId = 16; // 登録フォームのID

// APIエンドポイント
$url = "https://krs.bz/$environmentId/api/v1/check_unique_member_confliction";

// チェックしたい情報
$checkEmail = 'foo@example.com'; // ユーザーが入力したメールアドレス
$memberInfo = [
'e_69' => $checkEmail, // 重複キーであるメールアドレス項目
];

// リクエストボディを作成
// 登録フォームでのチェックなので会員IDは 0
$requestBody = [
'form_id' => $formId,
'member_id' => 0,
'member_info' => $memberInfo,
];

// cURLセッション
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($requestBody));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiToken,
'Content-Type: application/json',
]);

// APIリクエストを実行
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// レスポンスを処理
if ($httpCode === 200) {
$result = json_decode($response, true);
if ($result === true) {
echo "会員:{$checkEmail}は登録可能です。", PHP_EOL;
} else {
echo "会員:{$checkEmail}はすでに登録されています。", PHP_EOL;
}
} else {
// エラー処理
$error = json_decode($response, true);
echo 'API呼び出しでエラーが発生しました。', PHP_EOL;
echo 'エラーコード: ', $error['error_code'] ?? 'N/A', PHP_EOL;
// KR_API_F0123: Form Is Not For Either Regist or Update. (登録/更新フォーム以外を指定)
}