민원
1. 민원처리현황 조회fourinsure. b1. civil_ receipt. history. list
POSThttps://api.xdata.kr/v1/jobsX-Env-Scope: sandbox
샌드박스입니다. 실제 기관을 호출하지 않는 모의 응답이며 일일 한도가 없습니다.
사업장이 신고하고 신청한 민원의 처리 진행 상태 목록을 조회합니다.
- 로그인을 먼저 호출해 세션을 만든 뒤, 같은 account_link_id 로 호출합니다. [4대보험 로그인]
- 조회 결과가 없으면 items 가 빈 배열로 옵니다. 실패가 아닙니다.
- sandbox 환경에서는 실제 기관에 접속하지 않습니다. result.data 에는 mock: true 와 보낸 params 를 그대로 담은 params_echo 가 오고, 업무 응답 필드는 오지 않습니다.
Request
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | API 자격증명입니다. client_id 와 client_secret 을 콜론으로 이어 Base64 로 인코딩해 보냅니다. | |
| X- | Y | 호출 환경입니다.
| |
| Idempotency- | Y | 재시도 식별 키입니다. 같은 키와 같은 본문으로 다시 호출하면 기존 작업이 그대로 반환됩니다. ASCII 문자만 사용하며 UUID v4 를 권장합니다. 고객 정보는 넣지 않습니다. | |
| Content- | Y | 요청 본문 형식입니다.
| |
| X- | N | 추적 아이디입니다. 지정하지 않으면 서버가 발급합니다. |
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| provider | string | - | Y | 호출할 기관입니다.
| |
| action | string | - | Y | 호출할 작업입니다.
| |
| account_ | string | 36 | 조건부 | 등록한 자격증명을 가리키는 아이디입니다. 생략하면 이 계정이 그 기관에 등록한 자격증명 중 대표로 지정한 것이 쓰입니다. 대표가 없으면 등록한 자격증명이 하나뿐일 때만 자동으로 선택되고, 둘 이상이면 직접 지정해야 합니다. | |
| params | object | - | Y | 작업 파라미터입니다. 아래 params 파라미터 표의 필수 항목을 채워 보냅니다. | |
| encrypted_ | object | - | N | 민감한 params 값을 RSA-OAEP-256 으로 암호화해 담는 객체입니다. 서버가 복호화해 params 에 합칩니다. 같은 이름을 params 와 함께 쓰지 않습니다. |
| 순번 | 변수명 | 타입 | 필수 | 설명 |
|---|---|---|---|---|
| srch_ | string | N | 검색 민원번호 srchCvrcNo | |
| rrno | string | N | 주민번호 13자리 (하이픈 제거). rrno_front+rrno_back 대체 가능 | |
| rrno_ | string | N | 주민번호 앞자리 | |
| rrno_ | string | N | 주민번호 뒷자리 | |
| frst_ | string | N | 최초 등록 시작일 frstRegStrDt | |
| frst_ | string | N | 최초 등록 종료일 frstRegEndDt | |
| prgrs_ | string | N | 진행상태 코드 prgrsSttsCd | |
| sins_ | string | N | 4대보험 유형 코드 sinsTypeCd | |
| cvlcpt_ | string | N | 민원 서식 코드 cvlcptTmpltCd | |
| current_ | number | N | 페이지 번호 currentPageNo. 기본 1 |
bash
curl --request POST \
--url 'https://api.xdata.kr/v1/jobs' \
--header 'Authorization: Basic {base64(client_id:client_secret)}' \
--header 'X-Env-Scope: sandbox' \
--header 'Idempotency-Key: demo-list-001' \
--header 'Content-Type: application/json' \
--data '{
"provider": "fourinsure",
"action": "fourinsure.b1.civil_receipt.history.list",
"account_link_id": "9b4c3a2f-0000-4000-8000-000000000000",
"params": {}
}'Response
- result.data 의 items 로 조회 결과를 확인합니다.
| 순번 | 변수명 | 설명 |
|---|---|---|
| success | 요청 처리 성공 여부 | |
| items | 조회 결과 행 배열 | |
| query | 적용된 검색 조건 맵 | |
| source_ | 업스트림 요청 URL |
json
// result.data
{
"success": true,
"items": [
{
"row_index": 0,
"row_key": "..."
}
],
"query": {},
"source_url": "..."
}| 순번 | 오류 코드 | 발생 조건 |
|---|---|---|
| AUTH_ | 세션 없음 — 로그인 세션이 없습니다. 로그인을 먼저 호출합니다. | |
| PROVIDER_ | 인증 만료 — 인증이 만료됐습니다. 로그인을 다시 호출합니다. | |
| PROVIDER_ | 업스트림 오류 — 기관 응답이 지연되거나 형식이 올바르지 않습니다. 잠시 후 다시 호출합니다. | |
| PROVIDER_ | 검증 오류 — 보낸 파라미터 값을 기관이 거부했습니다. 값을 확인합니다. |
2. 민원처리현황 조회 입력 서식 조회fourinsure. b1. civil_ receipt. history. list_ init
POSThttps://api.xdata.kr/v1/jobsX-Env-Scope: sandbox
샌드박스입니다. 실제 기관을 호출하지 않는 모의 응답이며 일일 한도가 없습니다.
민원처리현황을 조회하기 전에 정보연계센터 조회 화면이 어떤 항목을 요구하는지 미리 받아 둡니다.
- 로그인을 먼저 호출해 세션을 만든 뒤, 같은 account_link_id 로 호출합니다. [4대보험 로그인]
- sandbox 환경에서는 실제 기관에 접속하지 않습니다. result.data 에는 mock: true 와 보낸 params 를 그대로 담은 params_echo 가 오고, 업무 응답 필드는 오지 않습니다.
- params 는 빈 객체로 보내도 호출됩니다. 사용할 인증서는 account_link_id 로 지정합니다.
Request
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | API 자격증명입니다. client_id 와 client_secret 을 콜론으로 이어 Base64 로 인코딩해 보냅니다. | |
| X- | Y | 호출 환경입니다.
| |
| Idempotency- | Y | 재시도 식별 키입니다. 같은 키와 같은 본문으로 다시 호출하면 기존 작업이 그대로 반환됩니다. ASCII 문자만 사용하며 UUID v4 를 권장합니다. 고객 정보는 넣지 않습니다. | |
| Content- | Y | 요청 본문 형식입니다.
| |
| X- | N | 추적 아이디입니다. 지정하지 않으면 서버가 발급합니다. |
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| provider | string | - | Y | 호출할 기관입니다.
| |
| action | string | - | Y | 호출할 작업입니다.
| |
| account_ | string | 36 | 조건부 | 등록한 자격증명을 가리키는 아이디입니다. 생략하면 이 계정이 그 기관에 등록한 자격증명 중 대표로 지정한 것이 쓰입니다. 대표가 없으면 등록한 자격증명이 하나뿐일 때만 자동으로 선택되고, 둘 이상이면 직접 지정해야 합니다. | |
| params | object | - | N | 작업 파라미터입니다. 이 API 는 빈 객체로 호출할 수 있습니다. | |
| encrypted_ | object | - | N | 민감한 params 값을 RSA-OAEP-256 으로 암호화해 담는 객체입니다. 서버가 복호화해 params 에 합칩니다. 같은 이름을 params 와 함께 쓰지 않습니다. |
추가 파라미터가 없습니다. params 는 {} 로 보냅니다.
bash
curl --request POST \
--url 'https://api.xdata.kr/v1/jobs' \
--header 'Authorization: Basic {base64(client_id:client_secret)}' \
--header 'X-Env-Scope: sandbox' \
--header 'Idempotency-Key: demo-list_init-001' \
--header 'Content-Type: application/json' \
--data '{
"provider": "fourinsure",
"action": "fourinsure.b1.civil_receipt.history.list_init",
"account_link_id": "9b4c3a2f-0000-4000-8000-000000000000",
"params": {}
}'Response
- result.data 에서 입력 항목(fields)과 다음 단계 정보를 확인해 후속 요청 본문을 만듭니다.
| 순번 | 변수명 | 설명 |
|---|---|---|
| success | 요청 처리 성공 여부 | |
| page | 화면 페이지 메타 객체 | |
| forms | form 메타데이터 배열 | |
| fields | 입력 필드 계약 배열 | |
| semantic_ | 의미 단위 입력 컨트롤 배열 | |
| semantic_ | 의미 필드 키-값 맵 | |
| semantic_ | 의미 필드 개수 | |
| csrf_ | CSRF 토큰 존재 여부 | |
| followup_ | 후속 endpoint URL 배열 | |
| navigation_ | 화면 내비게이션 단계 배열 | |
| current_ | 현재 화면 식별자 | |
| target_ | 대상 폼 준비 여부 | |
| raw_ | 원본 HTML 길이 | |
| source_ | 업스트림 요청 URL |
json
// result.data
{
"success": true,
"page": {},
"forms": [],
"fields": [],
"semantic_fields": [],
"semantic_payload": {},
"semantic_field_count": 1,
"csrf_token_present": true,
"followup_endpoints": [],
"navigation_steps": [],
"current_view": "...",
"target_ready": true,
"raw_html_len": 0,
"source_url": "..."
}| 순번 | 오류 코드 | 발생 조건 |
|---|---|---|
| AUTH_ | 세션 없음 — 로그인 세션이 없습니다. 로그인을 먼저 호출합니다. | |
| PROVIDER_ | 인증 만료 — 인증이 만료됐습니다. 로그인을 다시 호출합니다. | |
| PROVIDER_ | 업스트림 오류 — 기관 응답이 지연되거나 형식이 올바르지 않습니다. 잠시 후 다시 호출합니다. | |
| PROVIDER_ | 검증 오류 — 보낸 파라미터 값을 기관이 거부했습니다. 값을 확인합니다. |