k-skill/docs/features/g2b-sanctioned-supplier.md
John 440cd697a7 feat: 사업자 실사 스킬군 — 단품 5종 + 복합 1종, proxy route 3개 추가 (#316)
사업자등록번호로 "이 사업자 실제 문제 없나"를 무료 공공 데이터로 교차 조회하는
스킬군을 기여한다. 점수·등급·"위험" 라벨 없이 사실+출처+조회시각만 병렬한다.

단품 스킬:
- national-pension-workplace  국민연금 가입 사업장 (proxy, 3046071)
- nts-tax-delinquency         국세 체납 명단공개 (무인증 직접)
- fsc-corporate-info          금융위 기업기본정보 (proxy, 15043184)
- g2b-sanctioned-supplier     조달청 부정당제재 (proxy, 15129466)
- localdata-business-status   지방행정 인허가 영업상태 208업종 (무인증 직접)

복합 스킬:
- biz-health-check  위 5종 + 기존 nts-business-registration을 한 번에 호출

proxy(packages/k-skill-proxy):
- keyed route 3개 추가 — 키는 서버의 DATA_GO_KR_API_KEY로만 주입(사용자 시크릿 없음)
- 연금 route는 basic+detail+monthly 3콜 오케스트레이션 + 월별중복 dedup
- server.test.js에 route 테스트 10건 추가 (정상/503 미설정/400/403 forbidden)

무인증 스킬은 stdlib(urllib)만 사용해 의존성 없이 직접 호출한다.
문서: docs/features ×6, README 표·링크, docs/sources.md 갱신, plugin.json 재생성.

활용신청(프록시 운영 서버 등록 필요): 3046071·15043184·15129466
(15081808 국세청 상태조회는 nts-business-registration용으로 이미 등록, 키 공유).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 16:46:30 +09:00

1.7 KiB

부정당제재업체 조회 (g2b-sanctioned-supplier)

g2b-sanctioned-supplier 스킬은 공공데이터포털의 조달청 나라장터 사용자정보 서비스(15129466, getUnptRsttCorpInfo02)를 k-skill-proxy 경유로 호출한다.

제공 기능

  • 사업자등록번호 정확 일치(inqryDiv=1)로 조회시점 현재 유효한 부정당제재 조회
  • 반환: 제재 시작/종료일자, 제재기관명, 계약법구분, 제재근거법률 등 upstream 필드 원문

적용 범위 한계

upstream 명세상 다음은 제공되지 않는다(과거 이력 조회가 아니다).

  • 조회시점에 제재만료·해제된 건
  • 나라장터 미등록업체·개인에 대한 제재

만료 이력까지 보려면 나라장터(https://www.g2b.go.kr)에서 수동 확인이 필요하다.

인증/시크릿

사용자 로컬 시크릿은 필요 없다. upstream DATA_GO_KR_API_KEY는 프록시 서버에만 둔다(15129466 활용신청 필요). self-host 프록시는 KSKILL_PROXY_BASE_URL로 지정한다.

예시

python3 g2b-sanctioned-supplier/scripts/g2b_sanctioned_supplier.py --bizno 124-81-00998

실패 모드

  • 400 bad_request: 사업자번호가 10자리가 아님
  • 503 upstream_not_configured: 프록시에 DATA_GO_KR_API_KEY 없음
  • 502 upstream_forbidden: 프록시 키가 15129466에 미신청
  • total_count: 0: 조회시점 유효 제재 없음(만료·미등록업체는 미제공임에 유의)

공식 출처