会員データの一括ダウンロード
API を利用して会員データの一括ダウンロードを行うためのフェーズは以下の通りです。
| フェーズ | 説明 | 必要な処理 |
|---|---|---|
| 1 | 会員データをエクスポートする一括処理を開始します。 | POST /api/v1/export_members を呼び出します。 |
| 2 | 一括処理の進捗状況を確認します。 | POST /api/v1/get_batch_job_status を呼び出します。 |
| 3 | 作成されたダウンロードファイルを取得します。 | POST /api/v1/get_batch_job_result を呼び出します。 |
1. 会員データのエクスポート
POST /api/v1/export_members を呼び出すと、会員データのエクスポート処理が開始され、バッチ処理 ID(整数値)が返されます。
| 引数 | データ型 | 説明 |
|---|---|---|
member_table_id | Integer | ダウンロード対象のデータベースID。 |
condition_id | Integer | 絞り込みに使う抽出条件ID。全員を対象とする場合は 1 を指定します。 |
columnset_id | Integer | ダウンロードする項目を絞り込む項目セットID。全項目を対象とする場合は 1 を指定します。 |
is_csv | Boolean | trueでCSV形式、falseでTSV形式のファイルを作成します(省略可能、デフォルトは true)。 |
- PHP
<?php
$environmentId = getenv("ENV_ID");
$exportApiUrl = "https://krs.bz/$environmentId/api/v1/export_members";
$apiToken = getenv("API_TOKEN");
$exportRequestData = [
'member_table_id' => 1,
'condition_id' => 1, // 全員を対象
'columnset_id' => 1, // 全項目を対象
'is_csv' => true, // CSV 形式
];
$ch = curl_init($exportApiUrl);
// ... cURL オプション設定 ...
$response = curl_exec($ch);
// ... cURL 実行とエラーチェック ...
$responseData = json_decode($response, true);
$batchJobId = $responseData; // レスポンスは整数値
echo "エクスポート処理を開始しました。 Batch Job ID: ", $batchJobId;
2. 進捗状況の確認
インポート時と同様に POST /api/v1/get_batch_job_status API で進捗を確認します。progress が 100 になればファイルの準備は完了です。
3. ダウンロードファイルの取得
処理が完了したら、POST /api/v1/get_batch_job_result API を呼び出してファイルの中身を直接取得し、保存します。
- PHP
<?php
// ... 進捗確認ループの後 ...
$resultApiUrl = "https://krs.bz/$environmentId/api/v1/get_batch_job_result";
$resultRequestData = ['batch_job_id' => $batchJobId];
$ch = curl_init($resultApiUrl);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiToken,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode($resultRequestData),
]);
$fileContent = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
file_put_contents('download_result.csv', $fileContent);
echo "ファイルをダウンロードしました: download_result.csv";
} else {
echo "ダウンロードに失敗しました: ", $fileContent;
}
変更があった会員データだけダウンロードしたい
基本的な流れは通常のダウンロードと同じですが、POST /api/v1/export_members を呼び出す際に、更新日時 を条件に設定した抽出条件の ID を指定します。
管理画面の [会員データ] > [抽出条件管理] で、「更新日時」が「データあり」となっている抽出条件を作成し、その ID を condition_id に指定してください。これにより、一度でも更新されたことがある会員データのみをエクスポートできます。