
여권의 지정 정보를 추출하고 여권번호 및 MRZ 영역을 마스킹합니다.
REQUEST_TOO_LARGE 오류가 반환되며 과금되지 않습니다.
실패 응답은 data.success: 0, api.cost: 0을 유지하며 data.error_code로 원인을 구분합니다.
curl -k -X POST "https://apick.app/rest/identity_document_passport" \
-H "CL_AUTH_KEY: $API_KEY" \
-F "image=@/C:/Users/user/Desktop/passport.jpg"
마스킹 이미지 저장 (Node.js)
const form = new FormData();
form.append("image", new Blob([fs.readFileSync("passport.jpg")]), "passport.jpg");
const response = await fetch("https://apick.app/rest/identity_document_passport", {
method: "POST",
headers: { CL_AUTH_KEY: process.env.API_KEY },
body: form,
});
const body = await response.json();
if (body.data.success === 1) {
console.log(body.data.result.fields.country_code);
fs.writeFileSync("masked.png", Buffer.from(body.data.result.masked_image, "base64"));
} else {
console.error(body.data.error);
}
{
"data": {
"result": {
"document_type": "passport",
"fields": {
"country_code": "KOR",
"surname": "HONG",
"given_names": "GILDONG",
"korean_name": "홍길동",
"date_of_birth": "19900101",
"sex": "M",
"nationality": "REPUBLIC OF KOREA"
},
"masked_image": "iVBORw0KGgoAAAANSUhEUgAA...(생략)",
"image_mime": "image/png",
"elapsed_ms": 458
},
"success": 1
},
"api": {
"success": true,
"cost": 30,
"ms": 610,
"pl_id": 1595642
}
}