운전면허증

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

특화 모델 엔진을 사용하여 운전면허증의 입력 정보(key-value)를 인식하고 추출합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /id-card

요청 헤더

CLOVA OCR API에서 공통으로 사용하는 헤더에 대한 정보는 CLOVA OCR 요청 헤더를 참조해 주십시오.

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

Content-Type: application/json인 경우

요청 헤더 Content-Typeapplication/json인 경우의 요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
version String - 버전 정보
  • V2만 사용
requestId String Required 임의의 API 호출 UUID
timestamp Integer Required 임의의 API 호출 시각(Timestamp)
images Array Required images 세부 정보

Content-Type: multipart/form-data인 경우

요청 헤더 Content-Typemultipart/form-data인 경우의 요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
message Object Required 요청 데이터 정보
message.version String Required 버전 정보
  • V2만 사용
message.requestId String Required 임의의 API 호출 UUID
message.timestamp Integer Required 임의의 API 호출 시각(Timestamp)
message.images Array Required images 세부 정보
file File Required OCR 인식 이미지 파일

images

images에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
format String Required 이미지 형식
  • jpg | jpeg | png | pdf | tif | tiff
    • 이미지: jpg, jpeg, png
    • 단일 페이지: pdf, tif, tiff
  • 이미지 형식 중 하나를 선택하여 입력
name String Required 임의의 이미지 이름
  • 이미지 식별 및 응답 결과 확인 시 사용
data String Required Base64 인코딩된 이미지 데이터
  • Content-Type: application/json일 때 입력 가능

요청 예시

요청 예시는 다음과 같습니다.

Content-Type: application/json인 경우

요청 헤더 Content-Typeapplication/json인 경우의 요청 예시는 다음과 같습니다.

curl --location --request POST 'https://cbgrx5natw.apigw.gov-ntruss.com/custom/v1/{DomainId}/{InvokeKey}/document/id-card' \
--header 'Content-Type: application/json' \
--header 'X-OCR-SECRET: {앱 등록 시 발급받은 Secret Key}' \
--data '{
    "version": "V2",
    "requestId": "string",
    "timestamp": 0,
    "images": [
        { 
            "format": "png", 
            "name": "driverlicense_test", 
            "data":"{Base64 인코딩된 이미지 데이터}"
        }
    ]
 }'

Content-Type: multipart/form-data인 경우

요청 헤더 Content-Typemultipart/form-data인 경우의 요청 예시는 다음과 같습니다.

curl --location --request POST 'https://cbgrx5natw.apigw.gov-ntruss.com/custom/v1/{DomainId}/{InvokeKey}/document/id-card' \
--header 'X-OCR-SECRET: {앱 등록 시 발급받은 Secret Key}' \
--header 'Content-Type: multipart/form-data' \
--form 'message="{\"version\": \"V2\", \"requestId\": \"1234\", \"timestamp\": 0, \"images\": [{\"format\": \"png\", \"name\": \"driverlicense_test\"}]}"' \
--form 'file=@"{file}"'

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
version String - 버전 정보
  • V2만 사용
requestId String - API 호출 UUID
timestamp Integer - API 호출 시각(Timestamp)
images Array - images 세부 정보

images

images에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
uid String - 운전면허증 이미지 UID
  • APi 유효성 검사 시 사용
name String - 운전면허증 이미지 이름
  • 이미지 식별 및 응답 결과 확인 시 사용
inferResult String - 운전면허증 이미지 인식 결과
  • SUCCESS | FAILURE | ERROR
    • SUCCESS: 인식 성공
    • FAILURE: 인식 실패
    • ERROR: 인식 처리 예외
message String - 결과 메시지
validationResult Object - 유효성 검사 결과 정보
validationResult.result String - 유효성 검사 결과 코드
  • NO_REQUESTED | UNCHECKED | ERROR | VALID | INVALID
    • NO_REQUESTED: 검증 작업 미요청(유효성 검사 실패)
    • UNCHECKED: 검증 여부 확인 불가
    • ERROR: 검증 시 에러 발생(유효성 검사 실패)
    • VALID: 검증 결과 유효(유효성 검사 성공)
    • INVALID: 검증 통과 실패
validationResult.message String - 유효성 검사 결과 세부 메시지
  • 항상 응답되는 값은 아님
convertedImageInfo Object - 변환 이미지 정보
  • formatpdf 또는 tiff일 때
  • 좌표 값은 호출 이미지 파일을 기준으로 설정
convertedImageInfo.width Integer - 변환 이미지 가로 길이
convertedImageInfo.height Integer - 변환 이미지 세로 길이
convertedImageInfo.pageIndex Integer - 변환 이미지 페이지 인덱스
idCard Object - 신분증 세부 정보
idCard.meta Object - 메타 정보
idCard.meta.estimatedLanguage String - OCR 추정 언어
  • ko | en | ja
    • ko:한국어
    • en: 영어
    • ja: 일본어
idCard.result Object - 신분증 OCR 인식 결과

result

result에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
isConfident Boolean - 각 유형 세부 정보 보유 여부
  • true | false
    • true: 보유
    • false: 미보유
dl Object - 운전면허증 정보
dl.type Array - 면허 유형 상세 정보
dl.num Array - 면허 번호 상세 정보
dl.name Array - 이름 상세 정보
dl.personalNum Array - 주민등록번호 상세 정보
dl.address Array - 주소 상세 정보
dl.renewStartDate Array - 갱신 기간 시작 일자 상세 정보
dl.renewEndDate Array - 갱신 기간 종료 일자 상세 정보
dl.condition Array - 면허 조건 상세 정보
dl.code Array - 면허 코드 상세 정보
dl.organDonation Array - 장기 및 조직 기증 등록 상세 정보
dl.issueDate Array - 발급 일자 상세 정보
dl.authority Array - 발급 기관 상세 정보
rois Array - 객체 테두리 위치 정보
idType String - 신분증 유형
  • Driver's License

type

dl.type에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
text String - 인식된 유형 텍스트
keyText String - 인식된 유형 텍스트의 키 값
confidenceScore Float - 인식된 유형 텍스트 신뢰도
  • 0~1
  • 신뢰도 값이 클수록 텍스트의 정확도가 높음
boundingPolys Array - boundingPoly 세부 정보

num

dl.num에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
text String - 인식된 번호 텍스트
formatted Object - 인식된 번호 텍스트 정보
formatted.value String - 인식된 번호 텍스트 값
keyText String - 인식된 번호 텍스트의 키 값
confidenceScore Float - 인식된 번호 텍스트 신뢰도
  • 0~1
  • 신뢰도 값이 클수록 텍스트의 정확도가 높음
boundingPolys Array - boundingPoly 세부 정보
maskingPolys Array - maskingPoly 세부 정보

name

dl.name에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
text String - 인식된 이름 텍스트
formatted Object - 인식된 이름 텍스트 정보
formatted.value String - 인식된 이름 텍스트 값
keyText String - 인식된 이름 텍스트의 키 값
confidenceScore Float - 인식된 이름 텍스트 신뢰도
  • 0~1
  • 신뢰도 값이 클수록 텍스트의 정확도가 높음
boundingPolys Array - boundingPoly 세부 정보
maskingPolys Array - maskingPoly 세부 정보

personalNum

dl.personalNum에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
text String - 인식된 주민등록번호 텍스트
formatted Object - 인식된 주민등록번호 텍스트 정보
formatted.value String - 인식된 주민등록번호 텍스트 값
keyText String - 인식된 주민등록번호 텍스트의 키 값
confidenceScore Float - 인식된 주민등록번호 텍스트 신뢰도
  • 0~1
  • 신뢰도 값이 클수록 텍스트의 정확도가 높음
boundingPolys Array - boundingPoly 세부 정보
maskingPolys Array - maskingPoly 세부 정보

address

dl.address에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
text String - 인식된 주소 텍스트
formatted Object - 인식된 주소 텍스트 정보
formatted.value String - 인식된 주소 텍스트 값
keyText String - 인식된 주소 텍스트의 키 값
confidenceScore Float - 인식된 주소 텍스트 신뢰도
  • 0~1
  • 신뢰도 값이 클수록 텍스트의 정확도가 높음
boundingPolys Array - boundingPoly 세부 정보
maskingPolys Array - maskingPoly 세부 정보

일자객체정보

일자 객체에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
text String - 인식된 일자 텍스트
formatted Object - 인식된 일자 텍스트 정보
formatted.year String - 인식된 일자의 연도(yyyy)
formatted.month String - 인식된 일자의 월(MM)
formatted.day String - 인식된 일자의 일(dd)
keyText String - 인식된 발급 텍스트의 키 값
confidenceScore Float - 인식된 일자 텍스트 신뢰도
  • 0~1
  • 신뢰도 값이 클수록 텍스트의 정확도가 높음
boundingPolys Array - boundingPoly 세부 정보
maskingPolys Array - maskingPoly 세부 정보

condition

dl.condition에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
text String - 인식된 조건 텍스트
keyText String - 인식된 조건 텍스트의 키 값
confidenceScore Float - 인식된 조건 텍스트 신뢰도
  • 0~1
  • 신뢰도 값이 클수록 텍스트의 정확도가 높음
boundingPolys Array - boundingPoly 세부 정보
maskingPolys Array - maskingPoly 세부 정보

code

dl.code에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
text String - 인식된 코드 텍스트
formatted Object - 인식된 코드 텍스트 정보
formatted.value String - 인식된 코드 텍스트 값
keyText String - 인식된 코드 텍스트의 키 값
confidenceScore Float - 인식된 코드 텍스트 신뢰도
  • 0~1
  • 신뢰도 값이 클수록 텍스트의 정확도가 높음
boundingPolys Array - boundingPoly 세부 정보
maskingPolys Array - maskingPoly 세부 정보

organDonation

dl.organDonation에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
text String - 인식된 장기, 조직 기증 텍스트
keyText String - 인식된 장기, 조직 기증 텍스트의 키 값
confidenceScore Float - 인식된 장기, 조직 기증 텍스트 신뢰도
  • 0~1
  • 신뢰도 값이 클수록 텍스트의 정확도가 높음
boundingPolys Array - boundingPoly 세부 정보
maskingPolys Array - maskingPoly 세부 정보

authority

dl.authority에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
text String - 인식된 발급 기관 텍스트
formatted Object - 인식된 발급 기관 텍스트 정보
formatted.value String - 인식된 발급 기관 텍스트 값
keyText String - 인식된 발급 기관 텍스트의 키 값
confidenceScore Float - 인식된 발급 기관 텍스트 신뢰도
  • 0~1
  • 신뢰도 값이 클수록 텍스트의 정확도가 높음
boundingPolys Array - boundingPoly 세부 정보
maskingPolys Array - maskingPoly 세부 정보

rois

rois에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
필드 타입 필수 여부 설명
--- --- --- ---
x Float - 객체 테두리 위치 X축 좌표 값
y Float - 객체 테두리 위치 Y축 좌표 값

boundingPolys

boundingPolys에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
vertices Array - vertices 세부 정보

maskingPolys

maskingPolys에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
vertices Array - vertices 세부 정보

boundingPolyVertices

boundingPolyVertices에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
x Float - X축 좌표 값
y Float - Y축 좌표 값

응답 상태 코드

CLOVA OCR API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 CLOVA OCR 공통 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

성공

호출이 성공한 경우의 응답 예시는 다음과 같습니다.

{
    "version": "V2",
    "requestId": "1234",
    "timestamp": 1725409664957,
    "images": [
        {
            "uid": "{uid}",
            "name": "driverlicense_test",
            "inferResult": "SUCCESS",
            "message": "SUCCESS",
            "validationResult": {
                "result": "NO_REQUESTED"
            },
            "idCard": {
                "meta": {
                    "estimatedLanguage": "ko"
                },
                "result": {
                    "isConfident": true,
                    "dl": {
                        "type": [
                            {
                                "text": "1종대형 1종보통 1종소형 특수(대형견인,소형견인, 구난) 2종보통 2종소형 원동기",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 6.875,
                                                "y": 20.625
                                            },
                                            {
                                                "x": 77.5,
                                                "y": 20.625
                                            },
                                            {
                                                "x": 77.5,
                                                "y": 42.5
                                            },
                                            {
                                                "x": 6.875,
                                                "y": 42.5
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "num": [
                            {
                                "text": "**-**-******-**",
                                "formatted": {
                                    "value": "**-**-******-**"
                                },
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 270.66333,
                                                "y": 81.96319
                                            },
                                            {
                                                "x": 615.7258,
                                                "y": 83.148964
                                            },
                                            {
                                                "x": 615.59015,
                                                "y": 122.63947
                                            },
                                            {
                                                "x": 270.52765,
                                                "y": 121.4537
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 404.75287,
                                                "y": 78.474884
                                            },
                                            {
                                                "x": 619.68854,
                                                "y": 79.213486
                                            },
                                            {
                                                "x": 619.5257,
                                                "y": 126.60209
                                            },
                                            {
                                                "x": 404.59003,
                                                "y": 125.86349
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "name": [
                            {
                                "text": "홍**",
                                "formatted": {
                                    "value": "홍**"
                                },
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 268.125,
                                                "y": 130.0
                                            },
                                            {
                                                "x": 358.75,
                                                "y": 130.0
                                            },
                                            {
                                                "x": 358.75,
                                                "y": 164.375
                                            },
                                            {
                                                "x": 268.125,
                                                "y": 164.375
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ],
                        "personalNum": [
                            {
                                "text": "******-*******",
                                "formatted": {
                                    "value": "******-*******"
                                },
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 264.71436,
                                                "y": 161.93407
                                            },
                                            {
                                                "x": 496.74896,
                                                "y": 159.34149
                                            },
                                            {
                                                "x": 497.16132,
                                                "y": 196.25029
                                            },
                                            {
                                                "x": 265.1267,
                                                "y": 198.84286
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 376.99954,
                                                "y": 156.98816
                                            },
                                            {
                                                "x": 500.39862,
                                                "y": 155.60939
                                            },
                                            {
                                                "x": 500.89346,
                                                "y": 199.89995
                                            },
                                            {
                                                "x": 377.49442,
                                                "y": 201.27872
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "address": [
                            {
                                "text": "서울시 ***",
                                "formatted": {
                                    "value": "서울시 ***"
                                },
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 263.125,
                                                "y": 232.5
                                            },
                                            {
                                                "x": 301.25,
                                                "y": 232.5
                                            },
                                            {
                                                "x": 301.25,
                                                "y": 258.75
                                            },
                                            {
                                                "x": 263.125,
                                                "y": 258.75
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ],
                        "renewStartDate": [
                            {
                                "text": "2029.01.01",
                                "formatted": {
                                    "year": "2029",
                                    "month": "01",
                                    "day": "01"
                                },
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 402.39316,
                                                "y": 300.80316
                                            },
                                            {
                                                "x": 531.2038,
                                                "y": 300.008
                                            },
                                            {
                                                "x": 531.3579,
                                                "y": 324.9801
                                            },
                                            {
                                                "x": 402.54727,
                                                "y": 325.7752
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ],
                        "renewEndDate": [
                            {
                                "text": "2029 12.31",
                                "formatted": {
                                    "year": "2029",
                                    "month": "12",
                                    "day": "31"
                                },
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 425.987,
                                                "y": 332.6018
                                            },
                                            {
                                                "x": 481.51587,
                                                "y": 329.9576
                                            },
                                            {
                                                "x": 482.8507,
                                                "y": 357.98932
                                            },
                                            {
                                                "x": 427.32184,
                                                "y": 360.6335
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ],
                        "condition": [
                            {
                                "text": "건 8",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 341.875,
                                                "y": 361.25
                                            },
                                            {
                                                "x": 367.5,
                                                "y": 361.25
                                            },
                                            {
                                                "x": 367.5,
                                                "y": 388.75
                                            },
                                            {
                                                "x": 341.875,
                                                "y": 388.75
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ],
                        "code": [
                            {
                                "text": "H1***",
                                "formatted": {
                                    "value": "H1***"
                                },
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 582.5,
                                                "y": 351.87497
                                            },
                                            {
                                                "x": 690.625,
                                                "y": 351.87497
                                            },
                                            {
                                                "x": 690.625,
                                                "y": 379.99997
                                            },
                                            {
                                                "x": 582.5,
                                                "y": 379.99997
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ],
                        "organDonation": [
                            {
                                "text": "장기 ·조직기증",
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 59.375,
                                                "y": 454.375
                                            },
                                            {
                                                "x": 105.625,
                                                "y": 454.375
                                            },
                                            {
                                                "x": 105.625,
                                                "y": 479.375
                                            },
                                            {
                                                "x": 59.375,
                                                "y": 479.375
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "issueDate": [
                            {
                                "text": "2019.09.10",
                                "formatted": {
                                    "year": "2019",
                                    "month": "09",
                                    "day": "10"
                                },
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 249.375,
                                                "y": 443.75
                                            },
                                            {
                                                "x": 368.125,
                                                "y": 443.75
                                            },
                                            {
                                                "x": 368.125,
                                                "y": 475.0
                                            },
                                            {
                                                "x": 249.375,
                                                "y": 475.0
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 246.28294,
                                                "y": 440.82266
                                            },
                                            {
                                                "x": 411.842,
                                                "y": 440.82266
                                            },
                                            {
                                                "x": 411.842,
                                                "y": 477.9273
                                            },
                                            {
                                                "x": 246.28294,
                                                "y": 477.9273
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "authority": [
                            {
                                "text": "서울지방경찰청",
                                "formatted": {
                                    "value": "서울지방경찰청장"
                                },
                                "keyText": "",
                                "confidenceScore": 0.0,
                                "boundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 402.79678,
                                                "y": 436.09882
                                            },
                                            {
                                                "x": 651.7483,
                                                "y": 433.49652
                                            },
                                            {
                                                "x": 652.1772,
                                                "y": 474.53296
                                            },
                                            {
                                                "x": 403.2257,
                                                "y": 477.13528
                                            }
                                        ]
                                    }
                                ],
                                "maskingPolys": []
                            }
                        ]
                    },
                    "rois": [
                        {
                            "vertices": [
                                {
                                    "x": -4.7505364,
                                    "y": -5.066147
                                },
                                {
                                    "x": 712.13684,
                                    "y": -2.8448386
                                },
                                {
                                    "x": 714.93665,
                                    "y": 480.58566
                                },
                                {
                                    "x": -2.094209,
                                    "y": 492.42014
                                }
                            ]
                        }
                    ],
                    "idtype": "Driver's License"
                }
            }
        }
    ]
}

실패

호출이 실패한 경우의 응답 예시는 다음과 같습니다.

{
    "version": "V2",
    "requestId": "1234",
    "timestamp": 1725235840459,
    "images": [
        {
            "uid": "{uid}",
            "name": "idcard_sample",
            "inferResult": "ERROR",
            "message": "Read page:0 error.",
            "validationResult": {
                "result": "NO_REQUESTED"
            }
        }
    ]
}