POST/Submission/Step 1

STEP 1

curl -X POST "https://rest-api.argosidentity.com/v3/submission/step1"
-H "x-api-key: {yourAPIKey}"
-d ...
  • ID check 제출 단계는 Step1 -> Step2로 나뉩니다.

  • Step1은 신분증의 정보를 추출하고 확인하는 단계입니다.

  • Step1은 form-data 형식으로 제출해야 합니다.

  • Step1에서 submission_id(제출 ID)가 생성되지 않았다면 Step2를 진행할 수 없습니다.

  • Step1 에서는 발급 국가, 신분증 타입, 이메일, 신분증 이미지 데이터를 필수로 요구합니다.

  • idImage와 idBackImage 표준 권장 사양은 640 x 480 픽셀 입니다.

  • userid, cf1, cf2, cf3 값은 필수로 요구하지 않습니다. 상세 내용은 하단의 Input Data 표를 참조하세요.

  • Retry code와 error code는 Retry/Error/Reject Codes 페이지에서 확인해 주세요.

Input Data

*이 붙은 것은 필수 파라미터 입니다.

  • ‘customOptions’ 상세 설명

    • customOptions 자체는 내부에 옵션 사용 여부(boolean) 프로퍼티를 담은 객체(Object)임.

    • 단, 객체 전체를 String 으로 변환하여 전송해야 함.

    • 오직 Step1 에서만 제출 가능하며, Step2 에서도 이를 참조함.

    • rejectDuplicateUser 의 경우에만 ON/OFF 가능함.

  • Example

// javascript
let customOptions = {
    blacklistCountries: false,
    approvePeriod: false,
    rejectPeriod: false
};

customOptions = JSON.stringify(customOptions);
// python
import json

custom_options = {
    'blacklistCountries': False,
    'approvePeriod': False,
    'rejectPeriod': False
}

json_string = json.dumps(custom_options)
print(json_string)

*'issuingCountry'와 'idType', 뒷면 수집 여부는 '신분증별 뒷면 수집 여부' 페이지를 참고해 주세요.

Sample Request 1

curl --location --request POST 'https://rest-api.argosidentity.com/v3/submission/step1' \
--header 'x-api-key: {YOUR_API_KEY}' \
--form 'issuingCountry="KOR"' \
--form 'email="sample@email.com"' \
--form 'idType="drivers_license"' \
--form 'idImage=@"/C:/Users/sampleID.jpg"' \
--form 'cf1="test"' \
--form 'userid="user1"'

Sample Request 2

var myHeaders = new Headers();
myHeaders.append("x-api-key", "{YOUR_API_KEY}");

var formdata = new FormData();
formdata.append("issuingCountry", "KOR");
formdata.append("email", "sample@email.com");
formdata.append("idType", "drivers_license");
formdata.append("idImage", fileInput.files[0], "/C:/Users/sampleID.jpg");
formdata.append("cf1", "test");
formdata.append("userid", "user1");

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: formdata,
  redirect: 'follow'
};

fetch("https://rest-api.argosidentity.com/v3/submission/step1", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Output Data

  • Step1이 오류없이 정상적으로 제출 되었다면 documnt_fields, missing_fields, reviewOCRData, SubmissionId, idImage를 결과 값으로 확인할 수 있습니다.

  • document_fields에는 신분증에서 확인할 수 있는 데이터들, missing_fields에는 신분증에 데이터가 존재하지만 읽어오지 못한 데이터들, reviewOCRData에는 신분증에서 추출된 데이터들을 확인할 수 있습니다.

Sample Response

{
    "document_fields": {
        "gender": false,
        "expireDate": true,
        "nationality": false,
        "documentNumber": true,
        "issueDate": true,
        "identityNumber": true
    },
		"file_back_upload": true,
    "idBackImage": "https://sampleID_back.jpg",
    "missing_fields": [],
    "reviewOCRData": {
        "accepted_ocr_issueDate": true,
        "ocr_issueDate": "YYYY-MM-DD",
        "accepted_ocr_expireDate": true,
        "ocr_expireDate": "YYYY-MM-DD",
        "ocr_gender": "male",
        "ocr_nationality": "KOR",
        "accepted_ocr_nationality": true,
        "ocr_birthDate": "YYYY-MM-DD",
        "ocr_identityNumber": "9*****-1******",
        "accepted_ocr_birthDate": true,
        "accepted_ocr_identityNumber": true,
        "accepted_ocr_gender": true,
        "ocr_name": "test"
    },
    "file_upload": true,
    "submissionId": "3pjx8m9l46*****",
    "idImage": "https://sampleID_back.jpg"
}

Retry & Error Codes

Step 1 Sample

Request URL

curl -X POST "https://rest-api.argosidentity.com/v3/submission/step1" \
-H "x-api-key: {yourAPIKey}" \

Sample Request

curl --location --request POST 'https://rest-api.argosidentity.com/v3/submission/step1' \
--header 'x-api-key: {yourAPIKey}' \
--form 'issuingCountry="KOR"' \
--form 'email="{email}"' \
--form 'idType="drivers_license"' \
--form 'idImage=@"/C:/Users/sampleID.jpg"' \
--form 'idBackImage=@"/C:/Users/sampleID_back.jpg"' \
--form 'cf1="test"' \
--form 'userid="user1"'

Sample Response

{
    "document_fields": {
	"gender": true,
        "expireDate": true,
        "nationality": true,
        "number": true,
        "issueDate": true,
        "name": true,
        "serialNumber": false,
        "birthDate": true,
        "idNumber": true
    },
    "file_back_upload": true,
    "idBackImage": "https://sampleID_back.jpg",
    "missing_fields": [],
    "reviewOCRData": {
        "accepted_ocr_issueDate": true,
        "ocr_issueDate": "YYYY-MM-DD",
        "accepted_ocr_expireDate": true,
        "ocr_expireDate": "YYYY-MM-DD",
        "ocr_gender": "male",
        "ocr_nationality": "KOR",
        "accepted_ocr_nationality": true,
        "ocr_birthDate": "YYYY-MM-DD",
        "ocr_identityNumber": "9*****-1******",
        "accepted_ocr_birthDate": true,
        "accepted_ocr_identityNumber": true,
        "accepted_ocr_gender": true,
        "ocr_name": "test"
    },
    "file_upload": true,
    "submissionId": "{submission_id}",
    "idImage": "https://sampleID.jpg"
}

주의사항

OCR 텍스트 추출이 원활하게 되기 위해서는 이미지에 사각형의 신분증이 존재한 다는 것을 알 수 있도록 약간의 여백이 필요합니다. 신분증의 네 모서리를 타이트하게 잘라 제출하면 OCR 추출 결과물이 없을 수 있습니다.

신분증별 뒷면 수집 여부

STEP1 단계에서'ID Card Back' 열이 'TRUE'인 신분증은 뒷면을 수집합니다. 저장 여부는 신분증 상세 종류에 따라 달라질 수 있습니다. 자세한 내용은 'Input Data' 영역의 첨부파일을 확인해주세요.

Last updated