정부혜택 정보 (API 구현)

22 read
청년장병 취업상담 및 일자리지원국방전직교육원
서비스분야고용·창업
신청방법기타 온라인신청
신청기한상시신청
자세히 보기
전역예정군인 취업컨설팅 서비스국방전직교육원
서비스분야고용·창업
신청방법기타 온라인신청
신청기한상시신청
자세히 보기
상생성장지원자금소상공인시장진흥공단
서비스분야고용·창업
신청방법기타 온라인신청
신청기한소상공인 정책자금 사이트에서 별도 안내
자세히 보기
소상공인 고용보험료 지원소상공인시장진흥공단
서비스분야생활안정
신청방법기타 온라인신청
신청기한상시신청
자세히 보기
2026년 소상공인 해외 온라인 플랫폼 판로지원소상공인시장진흥공단
서비스분야고용·창업
신청방법기타 온라인신청
신청기한접수기관 별 상이
자세히 보기
2026년 소상공인 역량강화 교육소상공인시장진흥공단
서비스분야고용·창업
신청방법기타 온라인신청
신청기한접수기관 별 상이
자세히 보기
중증장애인근로자 출퇴근 비용 지원고용노동부
서비스분야고용·창업
신청방법기타 온라인신청||방문신청
신청기한수시신청(예산소진시까지)
자세히 보기
연탄쿠폰산업통상부
서비스분야생활안정
신청방법직접입력
신청기한2023.07.11~2023.08.25
자세히 보기
등유바우처산업통상부
서비스분야생활안정
신청방법방문신청
신청기한2023.10.16~2023.11.23
자세히 보기
햇살론(자영업자) 신용보증중소벤처기업부
서비스분야고용·창업
신청방법방문신청
신청기한상시신청
자세히 보기
KB소호컨설팅과 함께하는 금융지원 협약보증중소벤처기업부
서비스분야고용·창업
신청방법방문신청
신청기한상시신청
자세히 보기
첫걸음기업 금융지원 협약보증중소벤처기업부
서비스분야고용·창업
신청방법방문신청
신청기한상시신청
자세히 보기
로직 설명
  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();
    	}
    }