'error', 'message' => 'Corp Code is required.']); exit; } if (empty($bsns_year)) { echo json_encode(['status' => 'error', 'message' => 'Business Year (bsns_year) is required.']); exit; } // 파라미터 구성 $params = [ 'corp_code' => $corp_code, 'bsns_year' => $bsns_year, 'reprt_code' => $reprt_code, 'fs_div' => $fs_div ]; // 프록시를 통해 Open DART API 호출 $result = callOpenDartAPI('fnlttSinglAcnt.json', $params, null, [ 'timeout' => 30, 'return_type' => 'raw' // Open DART의 JSON 응답을 그대로 반환 ]); if (!$result['success']) { // Open DART의 원본 응답 형식 유지 if (isset($result['raw_response']) && !empty($result['raw_response'])) { echo $result['raw_response']; } else { // 에러 응답 형식을 Open DART 형식에 맞춤 echo json_encode([ 'status' => '013', 'message' => $result['error'] || '재무제표 조회 중 오류가 발생했습니다.', 'status_nm' => 'ERROR' ], JSON_UNESCAPED_UNICODE); } exit; } // Open DART의 원본 JSON 응답을 그대로 반환 if (isset($result['raw_response']) && !empty($result['raw_response'])) { echo $result['raw_response']; } else { // raw_response가 없는 경우 data 사용 if (isset($result['data'])) { echo json_encode($result['data'], JSON_UNESCAPED_UNICODE); } else { echo json_encode([ 'status' => '013', 'message' => '재무제표 데이터를 가져올 수 없습니다.', 'status_nm' => 'ERROR' ], JSON_UNESCAPED_UNICODE); } } ?>