신용평가 시스템 (쿠콘 연동)
작성일: 2026-03-02
상태: 운영중
1. 개요
1.1 목적
SAM에서 거래처/협력업체의 기업 신용정보를 조회하여, 거래 안전성을 사전 판단하는 시스템이다.
1.2 핵심 원칙
- 쿠콘(KooCon/나이스평가정보) API로 기업 신용정보 7개 항목 조회
- 국세청 공공데이터포털 API로 사업자등록 상태(영업/휴업/폐업) 확인
- 모든 조회 결과는 DB에 원본 저장 (감사 추적용)
- 테넌트별 월 5건 무료, 초과 시 건당 2,000원 과금
2. 시스템 구조
2.1 전체 흐름
2.2 파트너 구조
| 역할 |
대상 |
설명 |
| API 제공사 |
쿠콘(KooCon) / 나이스평가정보 |
기업 신용정보 API 플랫폼 |
| 파트너사 |
(주)코드브릿지엑스 |
API 키 보유, 쿠콘과 직접 계약 |
| 이용사 |
각 테넌트 (주일, 경동 등) |
SAM을 통해 신용조회 실행 |
3. 쿠콘(KooCon) API
3.1 API 엔드포인트
| 환경 |
URL |
| 테스트 |
https://dev2.coocon.co.kr:8443/sol/gateway/oapi_relay.jsp |
| 운영 |
https://sgw.coocon.co.kr/sol/gateway/oapi_relay.jsp |
3.2 인증 방식
- API_KEY: 쿠콘에서 발급받은 인증키 (DB
coocon_configs 테이블에서 관리)
- API_ID: 조회할 API 식별자 (OA08~OA17)
- TR_SEQ: 거래일련번호 (중복 방지용,
YmdHis + 마이크로초 6자리)
3.3 요청 형식
- Method: POST
- Content-Type: application/json
- Timeout: 30초
3.4 API 목록
| API ID |
상수명 |
설명 |
데이터 출처 |
OA08 |
API_COMPANY_INFO |
기업 기본정보 |
나이스평가정보 |
OA12 |
API_CREDIT_SUMMARY |
신용요약정보 (이슈 건수 요약) |
나이스평가정보 |
OA13 |
API_SHORT_TERM_OVERDUE |
단기연체정보 |
한국신용정보원 |
OA14 |
API_NEGATIVE_INFO_KCI |
신용도판단정보 (KCI) |
한국신용정보원 + 공공정보 |
OA15 |
API_NEGATIVE_INFO_CB |
신용도판단정보 (CB) |
신용정보사 |
OA16 |
API_SUSPENSION_INFO |
당좌거래정지정보 |
금융결제원 |
OA17 |
API_WORKOUT_INFO |
법정관리/워크아웃정보 |
법원 |
3.5 응답 형식
RSLT_CD === '00000000': 성공
- 기타 값: 에러 (에러 메시지는
RSLT_MSG에 포함)
4. 국세청 사업자등록 조회 API
4.1 API 정보
| 항목 |
값 |
| URL |
https://api.odcloud.kr/api/nts-businessman/v1/status |
| 인증 |
serviceKey (쿼리 파라미터) |
| 출처 |
공공데이터포털 |
4.2 상태 코드
| 코드 |
상태 |
설명 |
01 |
계속사업자 |
정상 영업 중 |
02 |
휴업자 |
영업 중지 |
03 |
폐업자 |
사업 종료 |
5. 데이터베이스
5.1 coocon_configs — API 설정
| 컬럼 |
타입 |
설명 |
id |
BIGINT PK |
|
name |
VARCHAR(100) |
설정 이름 |
environment |
ENUM('test', 'production') |
환경 |
api_key |
VARCHAR(100) |
쿠콘 API 키 |
base_url |
VARCHAR(255) |
API 기본 URL |
description |
TEXT |
설명 |
is_active |
BOOLEAN |
활성화 여부 |
규칙: 환경당 1개만 활성화 가능. 새 설정 활성화 시 기존 설정은 자동 비활성화.
5.2 credit_inquiries — 조회 이력
| 컬럼 |
타입 |
설명 |
id |
BIGINT PK |
|
tenant_id |
BIGINT FK |
테넌트 |
inquiry_key |
VARCHAR(32) UNIQUE |
조회 고유키 |
company_key |
VARCHAR(20) |
사업자번호/법인번호 |
company_name |
VARCHAR |
업체명 |
user_id |
BIGINT FK |
조회자 |
inquired_at |
TIMESTAMP |
조회 일시 |
nts_status |
VARCHAR(20) |
국세청 상태 |
nts_status_code |
VARCHAR(2) |
국세청 상태코드 |
short_term_overdue_cnt |
UINT |
단기연체 건수 |
negative_info_kci_cnt |
UINT |
KCI 건수 |
negative_info_pb_cnt |
UINT |
공공정보 건수 |
negative_info_cb_cnt |
UINT |
CB 건수 |
suspension_info_cnt |
UINT |
당좌거래정지 건수 |
workout_cnt |
UINT |
법정관리/워크아웃 건수 |
raw_* |
JSON |
각 API 원본 응답 (7개 + NTS) |
status |
ENUM |
success / partial / failed |
6. 과금 정책
| 항목 |
값 |
| 월 무료 할당량 |
5건 |
| 초과 건당 요금 |
2,000원 |
| 계산식 |
max(0, (조회건수 - 5)) × 2,000 |
요금 예시
| 월 조회 건수 |
무료 |
유료 |
요금 |
| 3건 |
3 |
0 |
0원 |
| 5건 |
5 |
0 |
0원 |
| 10건 |
5 |
5 |
10,000원 |
| 20건 |
5 |
15 |
30,000원 |
7. 환경 설정
7.1 테스트/운영 분리
| 환경 |
API URL |
설명 |
| 테스트 |
dev2.coocon.co.kr:8443 |
개발/검증용 (과금 없음) |
| 운영 |
sgw.coocon.co.kr |
실 서비스 (과금 발생) |
coocon_configs 테이블에서 환경별로 별도 설정 관리
- 각 환경에서
is_active=true인 설정 1개만 사용
7.2 필요한 설정
| 항목 |
관리 위치 |
설명 |
| 쿠콘 API 키 |
DB (coocon_configs) |
쿠콘에서 발급 |
| 쿠콘 API URL |
DB (coocon_configs) |
환경별 URL |
| 국세청 API 키 |
코드 내 하드코딩 |
공공데이터포털 발급 |
8. MNG 라우트
| Method |
Path |
설명 |
| GET |
/credit/inquiry |
조회 이력 목록 |
| POST |
/credit/inquiry/search |
신용정보 조회 실행 |
| POST |
/credit/inquiry/test |
API 연결 테스트 |
| GET |
/credit/inquiry/{key}/raw |
원본 데이터 조회 |
| GET |
/credit/inquiry/{key}/report |
리포트 조회 |
| DELETE |
/credit/inquiry/{id} |
이력 삭제 |
| GET |
/credit/usage |
조회회수 집계 |
| GET |
/credit/settings |
설정 관리 |
| POST |
/credit/settings |
설정 생성 |
| PUT |
/credit/settings/{id} |
설정 수정 |
| DELETE |
/credit/settings/{id} |
설정 삭제 |
| POST |
/credit/settings/{id}/toggle |
활성화 토글 |
9. 에러 코드
9.1 쿠콘 API
| 코드 |
설명 |
NO_CONFIG |
API 설정 없음 |
HTTP_ERROR |
HTTP 통신 오류 |
EXCEPTION |
예외 발생 |
RSLT_CD ≠ 00000000 |
쿠콘 API 에러 (RSLT_MSG 참조) |
9.2 국세청 API
| 코드 |
설명 |
INVALID_FORMAT |
사업자번호 형식 오류 |
NOT_FOUND |
조회 결과 없음 |
HTTP_ERROR |
HTTP 통신 오류 |
10. 관련 파일
MNG 프로젝트
| 구분 |
경로 |
| 컨트롤러 |
app/Http/Controllers/Credit/CreditController.php |
| 컨트롤러 |
app/Http/Controllers/Credit/CreditUsageController.php |
| 서비스 |
app/Services/Coocon/CooconService.php |
| 서비스 |
app/Services/Nts/NtsBusinessService.php |
| 모델 |
app/Models/Coocon/CooconConfig.php |
| 모델 |
app/Models/Credit/CreditInquiry.php |
| 뷰 |
resources/views/credit/inquiry/index.blade.php |
| 뷰 |
resources/views/credit/usage/index.blade.php |
| 뷰 |
resources/views/credit/settings/index.blade.php |
API 프로젝트 (마이그레이션)
| 경로 |
database/migrations/2026_01_22_192637_create_coocon_configs_table.php |
database/migrations/2026_01_22_201143_create_credit_inquiries_table.php |
database/migrations/2026_01_22_203001_add_company_info_to_credit_inquiries_table.php |
database/migrations/2026_01_28_163000_add_tenant_id_to_credit_inquiries_table.php |
최종 업데이트: 2026-03-02