- 印刷する
- PDF
住民登録証
- 印刷する
- PDF
Classic/VPC環境で利用できます。
特化モデルエンジンを使用して住民登録証の入力情報(key-value)を認識し、抽出します。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
メソッド | URI |
---|---|
POST | /id-card |
リクエストヘッダ
CLOVA OCR APIで共通して使用されるヘッダの詳細は、CLOVA OCRのリクエストヘッダをご参照ください。
リクエストボディ
リクエストボディの説明は次の通りです。
Content-Type: application/json
の場合
リクエストヘッダのContent-Type
がapplication/json
の場合のリクエストボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
version | String | - | バージョン情報
|
requestId | String | Required | 任意の API呼び出しの UUID |
timestamp | Integer | Required | 任意の APIの呼び出し時刻(Timestamp) |
images | Array | Required | imagesの詳細情報 |
Content-Type: multipart/form-data
の場合
リクエストヘッダのContent-Type
がmultipart/form-data
の場合のリクエストボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
message | Object | Required | リクエストデータ情報 |
message.version | String | Required | バージョン情報
|
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 | 画像の形式
|
name | String | Required | 任意の画像名
|
data | String | Required | Base64でエンコードされた画像データ
|
リクエスト例
リクエストのサンプルコードは次の通りです。
Content-Type: application/json
の場合
リクエストヘッダのContent-Type
がapplication/json
の場合のリクエストのサンプルコードは次の通りです。
curl --location --request POST 'https://cbgrx5natw.apigw.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": "idcard_test",
"data":"{Base64でエンコードされた画像データ}"
}
]
}'
Content-Type: multipart/form-data
の場合
リクエストヘッダのContent-Type
がmultipart/form-data
の場合のリクエストのサンプルコードは次の通りです。
curl --location --request POST 'https://cbgrx5natw.apigw.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\": 1724832750462, \"images\": [{\"format\": \"png\", \"name\": \"idcard_test\"}]}"' \
--form 'file=@"{file}"'
レスポンス
レスポンス形式を説明します。
レスポンスボディ
レスポンスボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
version | String | - | バージョン情報
|
requestId | String | - | API呼び出し UUID |
timestamp | Integer | - | APIの呼び出し時刻(Timestamp) |
images | Array | - | imagesの詳細情報 |
images
images
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
uid | String | - | 住民登録証画像の UID
|
name | String | - | 住民登録証の画像名
|
inferResult | String | - | 住民登録証の画像認識結果
|
message | String | - | 結果メッセージ |
validationResult | Object | - | 有効性検査の結果情報 |
validationResult.result | String | - | 有効性検査の結果コード
|
validationResult.message | String | - | 有効性検査結果の詳細メッセージ
|
convertedImageInfo | Object | - | 変換後の画像情報
|
convertedImageInfo.width | Integer | - | 変換後画像の横長 |
convertedImageInfo.height | Integer | - | 変換後画像の縦長 |
convertedImageInfo.pageIndex | Integer | - | 変換後画像ページインデックス |
idCard | Object | - | 身分証明書の詳細情報 |
idCard.meta | Object | - | メタ情報 |
idCard.meta.estimatedLanguage | String | - | OCR推定言語
|
idCard.result | Object | - | 身分証明書の OCR認識結果 |
result
result
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
isConfident | Boolean | - | 各タイプの詳細情報を保有するかどうか
|
ic | Object | - | 住民登録証情報 |
ic.name | Array | - | 氏名の詳細情報 |
ic.personalNum | Array | - | 住民登録番号の詳細情報 |
ic.address | Array | - | 住所の詳細情報 |
ic.issueDate | Array | - | 発行日の詳細情報 |
ic.authority | Array | - | 発行機関の詳細情報 |
rois | Array | - | オブジェクト枠線の位置情報 |
idType | String | - | 身分証明書タイプ
|
name
ic.name
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
text | String | - | 認識結果の名前テキスト |
formatted | Object | - | 認識結果の名前テキスト情報 |
formatted.value | String | - | 認識結果の名前テキストの値 |
keyText | String | - | 認識結果の名前テキストのキー |
confidenceScore | Float | - | 認識結果の名前テキストの信頼度
|
boundingPolys | Array | - | boundingPolyの詳細情報 |
maskingPolys | Array | - | maskingPolyの詳細情報 |
personalNum
ic.personalNum
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
text | String | - | 認識結果の住民登録番号テキスト |
formatted | Object | - | 認識結果の住民登録番号テキスト情報 |
formatted.value | String | - | 認識結果の住民登録番号テキスト情報 |
keyText | String | - | 認識結果の住民登録番号テキストのキー |
confidenceScore | Float | - | 認識結果の住民登録番号テキストの信頼度
|
boundingPolys | Array | - | boundingPolyの詳細情報 |
maskingPolys | Array | - | maskingPolyの詳細情報 |
address
ic.address
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
text | String | - | 認識結果の住所テキスト |
formatted | Object | - | 認識結果の住所テキスト情報 |
formatted.value | String | - | 認識結果の住所テキストの値 |
keyText | String | - | 認識結果の住所テキストのキー |
confidenceScore | Float | - | 認識結果の住所テキストの信頼度
|
boundingPolys | Array | - | boundingPolyの詳細情報 |
maskingPolys | Array | - | maskingPolyの詳細情報 |
issueDate
ic.issueDate
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
text | String | - | 認識結果の発行日テキスト |
formatted | Object | - | 認識結果の発行日テキスト情報 |
formatted.year | String | - | 認識結果の発行日の年度(yyyy) |
formatted.month | String | - | 認識結果の発行日の月(MM) |
formatted.day | String | - | 認識結果の発行日の日(dd) |
keyText | String | - | 認識結果の発行日テキストのキー |
confidenceScore | Float | - | 認識結果の発行日テキストの信頼度
|
boundingPolys | Array | - | boundingPolyの詳細情報 |
maskingPolys | Array | - | maskingPolyの詳細情報 |
authority
ic.authority
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
text | String | - | 認識結果の発行機関テキスト |
formatted | Object | - | 認識結果の発行機関テキスト情報 |
formatted.value | String | - | 認識結果の発行機関テキストの値 |
keyText | String | - | 認識結果の発行機関テキストのキー |
confidenceScore | Float | - | 認識結果の発行機関テキストの信頼度
|
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": 1725406864631,
"images": [
{
"uid": "{uid}",
"name": "idcard_test",
"inferResult": "SUCCESS",
"message": "SUCCESS",
"validationResult": {
"result": "NO_REQUESTED"
},
"idCard": {
"meta": {
"estimatedLanguage": "ko"
},
"result": {
"isConfident": true,
"ic": {
"name": [
{
"text": "ホン**",
"formatted": {
"value": "ホン**"
},
"keyText": "",
"confidenceScore": 0.0,
"boundingPolys": [
{
"vertices": [
{
"x": 72.2125,
"y": 116.6
},
{
"x": 367.6875,
"y": 116.6
},
{
"x": 367.6875,
"y": 165.625
},
{
"x": 72.2125,
"y": 165.625
}
]
}
],
"maskingPolys": []
}
],
"personalNum": [
{
"text": "800***-234****",
"formatted": {
"value": "800***-234****"
},
"keyText": "",
"confidenceScore": 0.0,
"boundingPolys": [
{
"vertices": [
{
"x": 65.5875,
"y": 181.52498
},
{
"x": 363.71246,
"y": 181.52498
},
{
"x": 363.71246,
"y": 216.63748
},
{
"x": 65.5875,
"y": 216.63748
}
]
}
],
"maskingPolys": [
{
"vertices": [
{
"x": 211.13873,
"y": 178.01373
},
{
"x": 367.22372,
"y": 178.01373
},
{
"x": 367.22372,
"y": 220.14873
},
{
"x": 211.13873,
"y": 220.14873
}
]
}
]
}
],
"address": [
{
"text": "ソウル特別市***",
"formatted": {
"value": "ソウル特別市***"
},
"keyText": "",
"confidenceScore": 0.0,
"boundingPolys": [
{
"vertices": [
{
"x": 51.675,
"y": 235.1875
},
{
"x": 192.7875,
"y": 235.1875
},
{
"x": 192.7875,
"y": 272.2875
},
{
"x": 51.675,
"y": 272.2875
}
]
}
],
"maskingPolys": []
}
],
"issueDate": [
{
"text": "2020.08.16",
"formatted": {
"year": "2020",
"month": "08",
"day": "16"
},
"keyText": "",
"confidenceScore": 0.0,
"boundingPolys": [
{
"vertices": [
{
"x": 242.475,
"y": 351.7875
},
{
"x": 374.3125,
"y": 351.7875
},
{
"x": 374.3125,
"y": 381.6
},
{
"x": 242.475,
"y": 381.6
}
]
},
],
"maskingPolys": [
{
"vertices": [
{
"x": 239.52966,
"y": 349.0218
},
{
"x": 424.9578,
"y": 349.0217
},
{
"x": 424.9578,
"y": 384.3657
},
{
"x": 239.52968,
"y": 384.36578
}
]
}
]
}
],
"authority": [
{
"text": "ソウル特別市**区長**",
"formatted": {
"value": "ソウル特別市**区長"
},
"keyText": "",
"confidenceScore": 0.0,
"boundingPolys": [
{
"vertices": [
{
"x": 146.53316,
"y": 381.33884
},
{
"x": 326.93195,
"y": 383.12497
},
{
"x": 326.47778,
"y": 428.99695
},
{
"x": 146.07898,
"y": 427.21082
}
]
}
],
"maskingPolys": []
}
]
},
"rois": [
{
"vertices": [
{
"x": 3.1388545,
"y": 3.9956706
},
{
"x": 754.52325,
"y": -5.092327
},
{
"x": 747.84045,
"y": 473.14856
},
{
"x": 2.264223,
"y": 474.4076
}
]
}
],
"idtype": "ID Card"
}
}
}
]
}
失敗
呼び出しに失敗した場合のレスポンスのサンプルコードは次の通りです。
{
"version": "V2",
"requestId": "1234",
"timestamp": 1725235840459,
"images": [
{
"uid": "{uid}",
"name": "idcard_sample",
"inferResult": "ERROR",
"message": "Read page:0 error.",
"validationResult": {
"result": "NO_REQUESTED"
}
}
]
}