개인회생 법원 제출용 도표 생성 API
https://freshstart-api.wizice100.workers.dev
모든 도표 API는 Google Sheets 템플릿을 기반으로 법원 제출용 XLSX 파일을 생성합니다. 처리 흐름:
https://freshstart-1rs.pages.dev, http://localhost:3000서버 상태 확인
curl https://freshstart-api.wizice100.workers.dev/health
{"status":"ok","service":"freshstart-api","timestamp":"2026-02-26T..."}
은행 거래내역 도표 XLSX 생성. 최대 1,994행 데이터 입력 가능 (행 9~2002).
| 필드 | 타입 | 설명 |
|---|---|---|
report_data | array | 거래내역 배열 필수 |
name | string | 신청인 이름 (서명란 자동 공백 삽입: 김철수 → 김 철 수) 필수 |
money | string | 기준 금액 (만원 단위, 예: "100") 필수 |
from_date | string | 조회 시작일 필수 |
to_date | string | 조회 종료일 필수 |
bank_name | string | 은행명 필수 |
bank_code | string | 은행 코드 필수 |
account | string | 계좌번호 필수 |
court | string | 관할 법원명 필수 |
| 필드 | 설명 |
|---|---|
사용일시 | 거래 일시 |
입금 | 입금액 |
출금 | 출금액 |
거래내용 | 거래 내용 ("합계" 포함 시 건너뜀, "없습" 포함 시 별도 표시) |
사용처 | 사용처 |
비고 | 비고 |
curl -X POST https://freshstart-api.wizice100.workers.dev/bank/download_xlsx \
-H "Content-Type: application/json" \
-d '{
"report_data": [
{
"사용일시": "2025-01-15",
"입금": "1500000",
"출금": "",
"거래내용": "급여입금",
"사용처": "주식회사 테스트",
"비고": ""
},
{
"사용일시": "2025-01-20",
"입금": "",
"출금": "500000",
"거래내용": "카드결제",
"사용처": "이마트",
"비고": "생활비"
}
],
"name": "김철수",
"money": "100",
"from_date": "2025-01-01",
"to_date": "2025-12-31",
"bank_code": "SHINHAN",
"bank_name": "신한은행",
"account": "110-123-456789",
"court": "서울중앙지방법원"
}' --output 거래내역.xlsx
const response = await fetch('/bank/download_xlsx', { // 또는 전체 URL
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
report_data: transactions,
name: '김철수',
money: '100',
from_date: '2025-01-01',
to_date: '2025-12-31',
bank_code: 'SHINHAN',
bank_name: '신한은행',
account: '110-123-456789',
court: '서울중앙지방법원'
})
});
const blob = await response.blob();
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = '신한은행_거래내역.xlsx';
a.click();
Response: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (XLSX 바이너리)
카드 사용금액 도표 XLSX 생성. 최대 193행 데이터 입력 가능 (행 8~200). 거래일시가 비어있는 행은 자동 건너뜀.
| 필드 | 타입 | 설명 |
|---|---|---|
report_data | array | 카드 거래내역 배열 필수 |
name | string | 신청인 이름 필수 |
money | string | 기준 금액 (만원) 필수 |
from_date | string | 조회 시작일 필수 |
to_date | string | 조회 종료일 필수 |
bank_name | string | 카드사명 필수 |
bank_code | string | 카드사 코드 필수 |
court | string | 관할 법원명 필수 |
| 필드 | 설명 |
|---|---|
사용일시 | 카드 사용 일시 (비어있으면 건너뜀) |
거래내용 | 거래 내용 |
출금 | 사용 금액 |
거래내용2 | 거래 내용 상세 |
비고 | 비고 |
curl -X POST https://freshstart-api.wizice100.workers.dev/bank3/download_xlsx \
-H "Content-Type: application/json" \
-d '{
"report_data": [
{
"사용일시": "2025-01-10",
"거래내용": "네이버쇼핑",
"출금": "150000",
"거래내용2": "온라인결제",
"비고": ""
}
],
"name": "김철수",
"money": "5",
"from_date": "2025-01-01",
"to_date": "2025-12-31",
"bank_code": "SAMSUNG",
"bank_name": "삼성카드",
"court": "서울중앙지방법원"
}' --output 카드거래내역.xlsx
Response: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
대출금 사용처 도표 XLSX 생성. 은행 도표와 동일한 구조, 컬럼만 다름. 최대 1,994행.
은행 거래내역 도표와 동일한 요청 형식. report_data의 각 항목:
| 필드 | 도표 컬럼 | 설명 |
|---|---|---|
사용일시 | 사용일시 | 대출금 사용 일시 |
입금 | 사용금액 | 사용 금액 |
출금 | 사용처 | 사용처 |
거래내용 | 거래내용 | 거래 내용 |
사용처 | 사용구분 | 사용 구분 |
비고 | 비고 | 비고 |
curl -X POST https://freshstart-api.wizice100.workers.dev/bank/download_xlsx_use \
-H "Content-Type: application/json" \
-d '{
"report_data": [
{
"사용일시": "2025-01-05",
"입금": "5000000",
"출금": "생활비 사용",
"거래내용": "생활비",
"사용처": "생활비",
"비고": ""
}
],
"name": "김철수",
"money": "100",
"from_date": "2025-01-01",
"to_date": "2025-12-31",
"bank_code": "SHINHAN",
"bank_name": "신한은행",
"account": "110-123-456789",
"court": "서울중앙지방법원"
}' --output 사용처.xlsx
Response: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
여러 도표를 한 번에 생성하여 ZIP 파일로 다운로드. 최대 3개 동시 처리.
| 필드 | 타입 | 설명 |
|---|---|---|
reports | array | 보고서 배열 필수 |
| 필드 | 타입 | 설명 |
|---|---|---|
file_type | string | "bank" (은행), "card" (카드), "use" (사용처) 필수 |
report_data | array | 해당 도표의 데이터 배열 필수 |
| 이하 해당 도표 타입의 공통 필드 (name, money, from_date, to_date, bank_name, bank_code, account, court) | ||
curl -X POST https://freshstart-api.wizice100.workers.dev/bank2/download_xlsx_all \
-H "Content-Type: application/json" \
-d '{
"reports": [
{
"file_type": "bank",
"report_data": [
{"사용일시":"2025-01-15","입금":"1500000","출금":"","거래내용":"급여","사용처":"회사","비고":""}
],
"name": "김철수",
"money": "100",
"from_date": "2025-01-01",
"to_date": "2025-12-31",
"bank_code": "SHINHAN",
"bank_name": "신한은행",
"account": "110-123",
"court": "서울중앙지방법원"
},
{
"file_type": "card",
"report_data": [
{"사용일시":"2025-01-20","거래내용":"마트","출금":"50000","거래내용2":"결제","비고":""}
],
"name": "김철수",
"money": "5",
"from_date": "2025-01-01",
"to_date": "2025-12-31",
"bank_code": "SAMSUNG",
"bank_name": "삼성카드",
"court": "서울중앙지방법원"
}
]
}' --output 도표_일괄.zip
Response: application/zip
ZIP 내 파일명: {은행명}{계좌번호}_{타입}.xlsx
모든 에러는 JSON 형식으로 반환됩니다:
{
"error": "INTERNAL_ERROR",
"message": "에러 상세 메시지"
}
| HTTP 상태 | 설명 |
|---|---|
200 | 성공 (XLSX 또는 ZIP 바이너리 반환) |
400 | 잘못된 요청 (reports 배열 비어있음 등) |
404 | 존재하지 않는 엔드포인트 |
500 | 서버 오류 (Google API 실패 등) |
Freshstart API v1.0 | 2026-02-26