- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경 - DB 연결 하드코딩 → .env 기반으로 변경 - MySQL strict mode DATE 오류 수정
71 lines
1.9 KiB
PHP
71 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Open DART 공시목록 조회 API (프록시 방식)
|
|
*
|
|
* 특정 기업의 공시 목록을 조회합니다.
|
|
*
|
|
* 파라미터:
|
|
* - corp_code: 기업코드 (필수)
|
|
* - bgn_de: 시작일자 (YYYYMMDD 형식, 선택)
|
|
* - end_de: 종료일자 (YYYYMMDD 형식, 선택)
|
|
* - page_no: 페이지 번호 (기본값: 1)
|
|
* - page_count: 페이지당 건수 (기본값: 100)
|
|
*
|
|
* 사용 예시:
|
|
* /api/list_disclosures.php?corp_code=00126380&bgn_de=20240101&end_de=20241231
|
|
*/
|
|
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
|
|
// 프록시 헬퍼 함수 로드
|
|
require_once __DIR__ . '/proxy_helper.php';
|
|
|
|
$corp_code = isset($_GET['corp_code']) ? trim($_GET['corp_code']) : '';
|
|
$bgn_de = isset($_GET['bgn_de']) ? trim($_GET['bgn_de']) : '';
|
|
$end_de = isset($_GET['end_de']) ? trim($_GET['end_de']) : '';
|
|
$page_no = isset($_GET['page_no']) ? intval($_GET['page_no']) : 1;
|
|
$page_count = isset($_GET['page_count']) ? intval($_GET['page_count']) : 100;
|
|
|
|
if (empty($corp_code)) {
|
|
echo json_encode(['status' => 'error', 'message' => 'Corp Code is required.']);
|
|
exit;
|
|
}
|
|
|
|
// 파라미터 구성
|
|
$params = [
|
|
'corp_code' => $corp_code,
|
|
'page_no' => $page_no,
|
|
'page_count' => $page_count
|
|
];
|
|
|
|
if (!empty($bgn_de)) {
|
|
$params['bgn_de'] = $bgn_de;
|
|
}
|
|
if (!empty($end_de)) {
|
|
$params['end_de'] = $end_de;
|
|
}
|
|
|
|
// 프록시를 통해 Open DART API 호출
|
|
$result = callOpenDartAPI('list.json', $params, null, [
|
|
'timeout' => 30,
|
|
'return_type' => 'raw' // Open DART의 JSON 응답을 그대로 반환
|
|
]);
|
|
|
|
if (!$result['success']) {
|
|
// Open DART의 원본 응답 형식 유지
|
|
if ($result['raw_response']) {
|
|
echo $result['raw_response'];
|
|
} else {
|
|
echo json_encode([
|
|
'status' => 'error',
|
|
'message' => $result['error']
|
|
]);
|
|
}
|
|
exit;
|
|
}
|
|
|
|
// Open DART의 원본 JSON 응답을 그대로 반환
|
|
echo $result['raw_response'];
|
|
?>
|
|
|