{primary} ルートパラメーターに応じた種類のCSVを返却するAPIです。
監理団体アカウントで、ステータスが 5:利用中 のユーザのみ利用できます。
また、監理団体のマスター、管理者、一般に制限なく利用することができます。
レスポンスを参照。
SJIS-winで、DBなどから抽出するときはutf-8なので対策が必要。| ヘッダー設定 | 設定内容 | 概要 |
|---|---|---|
| Content-type | text/csv | CSV形式 |
| Content-Disposition | attachment; filename=〇〇.csv | 添付ファイルがある旨と、ファイル名が〇〇.csv |
| Pragma | no-cache | キャッシュ(情報保存)無し |
| Cache-Control | must-revalidate, post-check=0, pre-check=0 | キャッシュ期限切れなら確認 |
| Expires | 0 | キャッシュの有効期限は0 |
https://coinbaby8.com/php-csv-export.html
https://qiita.com/mikankari/items/679d2ba1a63190fb5dfa
{danger} 挙動の不明点が多いので、一旦ここまで記述しておきます。
実装後詳しい挙動などについては追記する予定です。
| メソッド | URI | Headers |
|---|---|---|
/api/csv/{type} |
Default |
| パラメーター名 | 型 | 内容 | 特記 |
|---|---|---|---|
| type | int | エクスポートファイル種類 | Enum参照 |
/api/csv/1
成功時
| パラメーター名 | 型 | 内容 | 特記 |
|---|---|---|---|
| file | file | CSVファイル | CSVデータで返却 |
※ 多分できる想定。できなかったらご連絡を。
{
"result" : true,
"errors" : "",
"data" : {
'file' : csvdata............,
},
}
ステータスコード:200
| パラメーター名 | 型 | 内容 | 特記 |
|---|---|---|---|
| result | boolean | リクエスト結果 | |
| error | List |
失敗した理由を配列 |
{
"result" : false,
"errors" : {
'error' : ['失敗しました'],
},
"data" : "",
}
{primary} 何もなければ空配列で返却。typeが空の場合や、1,10,20以外の場合の存在しないコードが来た場合を
想定しています。取得するデータが存在しないため
失敗ではなく、成功として返却します。
エラー件数は上限100件までとします。
{danger} 失敗時は200以外のエラーコードが返却されます。共通ルールのレスポンスをチェック。
SELECT
*
FROM
`clients`
WHERE
`organization_id` = Auth::organizationId()
AND `clients`.`deleted_at` IS NULL
SELECT
*
FROM
`trainees`
WHERE
`trainees`.`organization_id` = Auth::organizationId()
AND `trainees`.`deleted_at` IS NULL
SELECT
*
FROM
`sending_agencies`
WHERE
`sending_agencies`.`organization_id` = Auth::organizationId()
AND `sending_agencies`.`deleted_at` IS NULL
sending_agenciesのIDを$sendingAgencyIdとします。{warning} SQLを記載しましたが、実際に取得する場合はリレーションで取得します。
SELECT
`login_id`
FROM
`accounts`
WHERE
`accounts`.`organization_id` = Auth::organizationId()
AND `accounts`.`sending_agency_id` = $sendingAgencyId
AND `accounts`.`deleted_at` IS NULL