정부혜택 정보 (API 구현)

2 read
시청각 장애인 TV수신료 면제한국방송공사
서비스분야생활안정
신청방법방문신청||직접입력
신청기한상시신청
자세히 보기
기초생활(생계·의료)수급자 TV수신료 면제한국방송공사
서비스분야생활안정
신청방법방문신청||직접입력
신청기한상시신청
자세히 보기
국가유공자, 독립유공자, 5.18민주유공자에 대한 TV수신료 면제한국방송공사
서비스분야생활안정
신청방법방문신청||직접입력
신청기한상시신청
자세히 보기
소상공인·자영업자 새출발기금 채무조정 프로그램한국자산관리공사
서비스분야생활안정
신청방법기타 온라인신청||방문신청
신청기한2022.10.04~2026.12.31
자세히 보기
동산담보물 직접매입(S&LB) 프로그램한국자산관리공사
서비스분야고용·창업
신청방법기타 온라인신청||직접입력
신청기한상시신청
자세히 보기
국유재산 사용부담 완화를 위한 사용료 경감 지원(2025.12.31 限)한국자산관리공사
서비스분야생활안정
신청방법방문신청||직접입력
신청기한2025-01-01~2025-12-31
자세히 보기
시간제보육 지원교육부
서비스분야보육·교육
신청방법기타 온라인신청
신청기한상시신청
자세히 보기
가정양육수당 지원교육부
서비스분야보육·교육
신청방법기타 온라인신청||방문신청
신청기한상시신청
자세히 보기
장애인 평생교육이용권 지원교육부
서비스분야보육·교육
신청방법방문신청
신청기한접수기관 별 상이
자세히 보기
6ㆍ25전사자(미수습) 유가족 유전자 채취 포상금 및 전사자 유해 소재 제보 포상금 지급 안내국방부
서비스분야행정·안전
신청방법기타 온라인신청||방문신청||직접입력
신청기한상시신청
자세히 보기
맞춤형 e북 지원국방부
서비스분야보육·교육
신청방법기타 온라인신청
신청기한2026. 2. 2.~11. 30.(예산 집행상황에 따라 지원 마감일 변경될 수 있음)
자세히 보기
군무원 채용시험 응시수수료 면제국방부
서비스분야고용·창업
신청방법직접입력
신청기한접수기관 별 상이
자세히 보기
로직 설명
  1. API URL - https://api.odcloud.kr/api/gov24/v3/serviceList
  2. serviceKey - authkey ( 참고 : https://www.data.go.kr/data/15113968/openapi.do )
  3. 파라미터
    • 등록일시(이상) : cond[등록일시::GTE]
    • 등록일시(이하) : cond[등록일시::LTE]
    • 소관기관유형 : cond[소관기관유형::LIKE]
    • 기타 파라미터 : https://www.data.go.kr/data/15113968/openapi.do 참고
  4. 사용한 로직
    /**
     * 정부혜택 서비스 관련 API
     */
    export class PublicService {
    	/**
    	 * @param {string} authkey - data.go.kr 인증 키
    	 */
    	constructor(authkey) {
    		this.authkey = authkey;
    	}
    
    	async getList(opts) {
    
    		const { startDate, endDate, page=1, perPage=9, organ } = opts;
    
    		let conds = [];
    		
    		if(startDate) {
    			const strDate = DateUtil.format('yyyyMMdd', startDate);
    			conds.push(encodeURIComponent('cond[등록일시::GTE]')+`=${strDate}`);
    		} else {
    			const date = new Date();
    			date.setFullYear(date.getFullYear() - 1);
    			date.setMonth(0);
    			date.setDate(1);
    			
    			const strDate = DateUtil.format('yyyyMMdd', date);
    			conds.push(encodeURIComponent('cond[등록일시::GTE]')+`=${strDate}`);
    		}
    
    		if(endDate) {
    			const strDate = DateUtil.format('yyyyMMdd', endDate);
    			conds.push(encodeURIComponent('cond[등록일시::LTE]')+`=${strDate}`);
    		}
    
    		if(organ) {
    			conds.push(encodeURIComponent('cond[소관기관유형::LIKE]')+`=${organ}`);
    		}
    
    		const cond = conds.join('&');
    
    		const fetchUrl = 'https://api.odcloud.kr/api/gov24/v3/serviceList';
    		const url = `${fetchUrl}?serviceKey=${this.authkey}&page=${page}&perPage=${perPage}&${cond}`;
    
    		const res = await fetch(url, {
    			headers: {
    				'accept': 'application/json'
    			}
    		});
    		if (!res.ok) {
    			throw new Error('API 응답 실패');
    		}
    
    		return await res.json();
    	}
    }