削除された会員データ(削除ログ)の取得
「削除フォーム」を通じてユーザー自身が退会した場合、POST /api/v1/get_deleted_member_list を利用するとその会員情報をログとして後から取得できます。
実装サンプル
指定日時以降に削除された会員のログを、51 件目から最大 100 件取得し、メールアドレスを一覧表示する例です。
- PHP
<?php
// 環境情報
$environmentId = getenv("ENV_ID");
$apiToken = getenv("API_TOKEN");
$formId = 3; // 削除フォームのID
// APIエンドポイント
$url = "https://krs.bz/$environmentId/api/v1/get_deleted_member_list";
// リクエストボディを作成
$requestBody = [
'member_form_id' => $formId,
// 2009年5月1日 0時0分0秒以降のログを対象
'after' => mktime(0, 0, 0, 5, 1, 2009),
// 51件目から取得 (オフセットは0から始まる)
'offset' => 50,
];
// 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) {
$deletedMembers = json_decode($response, true);
if (count($deletedMembers) > 0) {
echo "削除された会員のメールアドレス一覧:", PHP_EOL;
foreach ($deletedMembers as $deletedMember) {
$emailFound = false;
// 各会員の項目情報をループ
foreach ($deletedMember as $parameter) {
// $parameter は [項目名, 値] の配列
if ($parameter[0] === 'メールアドレス') {
echo $parameter[1], PHP_EOL;
$emailFound = true;
break; // メールアドレスが見つかったので次の会員へ
}
}
if (!$emailFound) {
echo "(メールアドレス項目が見つかりません)", PHP_EOL;
}
}
} else {
echo "該当する削除ログはありませんでした。", PHP_EOL;
}
} else {
// エラー処理
$error = json_decode($response, true);
echo 'API呼び出しでエラーが発生しました。', PHP_EOL;
echo 'エラーコード: ', $error['error_code'] ?? 'N/A', PHP_EOL;
// KR_API_F0217: Form Is Not For Delete. (削除フォーム以外を指定)
}