バリューコマースの管理画面から良い感じにCSV出力できなかったので、自作しました。
THIS_IS_TEST_CLIENT_KEY_STR|THIS_IS_TEST_CLIENT_SECRET_STR にはご自身の鍵が入ります。
バリューコマースの設定から取得してご設定ください。
※1日100件が上限です。それ以上取得したい場合はカスタマイズしてください。
pub-docs.valuecommerce.ne.jp/docs/as-77-token-api/
resultSet->rowData->bearer_token; // ストリームを作成します $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Authorization: Bearer ".$response->resultSet->rowData->bearer_token."\r\nAccept: application/json\r\n" ) ); $output = []; $context = stream_context_create($opts); $startDate = $_GET['start']; $endDate = $_GET['end']; $currentDate = $startDate; while (true) { // 上で設定した HTTP ヘッダを使用してファイルをオープンします $file = file_get_contents('https://api.valuecommerce.com/report/v2/affiliate/transaction/?from_date='.$currentDate.'&to_date='.$currentDate.'&approval_status=p,a,c,i', false, $context); $data = json_decode($file, true); //print_r($data);die; foreach ($data['resultSet']['rowData'] as $index => $rowDatum) { $output[] = $rowDatum; } $currentDate = date('Y-m-d', strtotime($currentDate . " +1 day")); if($currentDate > $endDate) break; if($currentDate > date('Y-m-d')) break; } header( 'Content-Type: text/csv charset=SJIS-win' ); header( 'Content-Disposition: attachment;filename='.mb_convert_encoding("vc_" . $_GET['start'] . ".csv", "SJIS-win", "utf-8")); $fp = fopen('php://temp', 'r+b'); foreach ($output as $fields) { fputcsv($fp, $fields); } rewind($fp); $tmp = str_replace(PHP_EOL, "\r\n", stream_get_contents($fp)); echo mb_convert_encoding($tmp, 'SJIS-win', 'UTF-8'); die;