> ## Documentation Index
> Fetch the complete documentation index at: https://developers.argosidentity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create and Retry (생성 및 재시도)

> Submission 이 최초 생성시 created 웹훅이 트리거 됩니다. 그리고 KYC 프로세스 상 retry 가 발생 시에는 retry 웹훅이 발생됩니다.

### Webhook: created

<CodeGroup>
  ```json create-response.json theme={null}
  {
      "webhook_trigger": "created",
      "submission_id": "{submission_id}",
      "kyc_result": {
          "status": "incomplete"
      },
      "cf": {
          "cf1": "{custom_field1}",
          "cf2": "{custom_field2}",
          "cf3": "{custom_field3}"
      },
      "userid": "{user_id}",
      "tokenId": "{token_id}",
      "retryCode": "{retry_code}",
      "attempts": 1,
      "ipAddress": "{ip_address}"
  }
  ```

  ```json create-response-no-retry.json theme={null}
  {
      "webhook_trigger": "created",
      "submission_id": "{submission_id}",
      "kyc_result": {
          "status": "incomplete"
      },
      "cf": {
          "cf1": "{custom_field1}",
          "cf2": "{custom_field2}",
          "cf3": "{custom_field3}"
      },
      "userid": "{user_id}",
      "tokenId": "{token_id}",
      "ipAddress": "{ip_address}"
  }
  ```
</CodeGroup>

<ResponseField name="webhook_trigger" type="string">
  웹훅 트리거 타입 - `created` 최초 Submission 이 생성된 상태를 의미
</ResponseField>

<ResponseField name="submission_id" type="string">
  KYC 제출 건별 고유 식별자
</ResponseField>

<ResponseField name="kyc_result" type="object">
  KYC 제출 결과를 포함하는 객체

  <Expandable title="properties">
    <ResponseField name="status" type="string">
      처음 생성 상태이므로 `incomplete` 로 지정됨
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="cf" type="object">
  사용자 정의 필드 (cf1, cf2, cf3) 데이터를 포함하는 객체

  <Expandable title="properties">
    <ResponseField name="cf1" type="string">
      사용자 정의 필드 1의 값
    </ResponseField>

    <ResponseField name="cf2" type="string">
      사용자 정의 필드 2의 값
    </ResponseField>

    <ResponseField name="cf3" type="string">
      사용자 정의 필드 3의 값
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="userid" type="string">
  고객사에서 정의한 KYC 제출자 고유 식별자
</ResponseField>

<ResponseField name="tokenId" type="string">
  비공개 모드의 라이브 폼 제출 시 사용된 토큰 ID
</ResponseField>

<ResponseField name="retryCode" type="string">
  재시도가 발생된 사유 코드
</ResponseField>

<ResponseField name="attempts" type="int">
  재시도 횟수
</ResponseField>

<ResponseField name="ipAddress" type="string">
  제출자의 IP 주소
</ResponseField>

### Webhook: retry

```json retry-response.json theme={null}
{
    "webhook_trigger": "retry",
    "submission_id": "{submission_id}",
    "kyc_result": {
        "status": "incomplete"
    },
    "cf": {
        "cf1": "{custom_field1}",
        "cf2": "{custom_field2}",
        "cf3": "{custom_field3}"
    },
    "userid": "{user_id}",
    "tokenId": "{token_id}",
    "ipAddress": "{ip_address}"
    "retryCode": "{retry_code}",
    "attempts": 1
}
```

<ResponseField name="webhook_trigger" type="string">
  웹훅 트리거 타입 - Submission 진행 간에 `retry` 가 발생된 경우
</ResponseField>

<ResponseField name="submission_id" type="string">
  KYC 제출 건별 고유 식별자
</ResponseField>

<ResponseField name="kyc_result" type="object">
  KYC 제출 결과를 포함하는 객체

  <Expandable>
    <ResponseField name="status" type="string">
      완료되지 않은 상태로 `incomplete` 로 지정됨
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="cf" type="object">
  사용자 정의 필드 (cf1, cf2, cf3) 데이터를 포함하는 객체

  <Expandable title="properties">
    <ResponseField name="cf1" type="string">
      사용자 정의 필드 1의 값
    </ResponseField>

    <ResponseField name="cf2" type="string">
      사용자 정의 필드 2의 값
    </ResponseField>

    <ResponseField name="cf3" type="string">
      사용자 정의 필드 3의 값
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="userid" type="string">
  고객사에서 정의한 KYC 제출자 고유 식별자
</ResponseField>

<ResponseField name="tokenId" type="string">
  비공개 모드의 라이브 폼 제출 시 사용된 토큰 ID
</ResponseField>

<ResponseField name="ipAddress" type="string">
  제출자의 IP 주소
</ResponseField>

<ResponseField name="retryCode" type="string">
  재시도가 발생된 사유 코드
</ResponseField>

<ResponseField name="attempts" type="int">
  재시도 횟수
</ResponseField>

## Retry Code

| retryCode                        | ID document | Knowledge Based | Description                              |
| -------------------------------- | ----------- | --------------- | ---------------------------------------- |
| recognition\_fail                | O           | X               | 시스템이 신분증 인식에 실패한 경우                      |
| expired\_id                      | O           | X               | 만료일자가 지난 ID                              |
| document\_expired                | O           | X               | 제출 서류가 만료된 경우                            |
| invalid\_back\_document          | O           | X               | 앞면과 뒷면의 이미지 정보가 불일치                      |
| invalid\_dual\_side              | O           | X               | 양면의 이미지가 잘못 인식된 경우                       |
| document\_country\_mismatch      | O           | X               | 문서의 국가 불일치                               |
| glare\_detected                  | O           | X               | 빛반사 감지                                   |
| image\_too\_blurry               | O           | X               | 이미지가 흐릿함                                 |
| recaptured\_document             | O           | X               | 문서 이미지를 재촬영함                             |
| screen\_detected                 | O           | X               | 화면이 감지됨                                  |
| black\_white\_document           | O           | X               | 문서가 흑백인 경우                               |
| missing\_birth\_date             | O           | X               | 생년월일이 누락됨                                |
| document\_name\_mismatch         | O           | X               | 문서상의 이름 불일치                              |
| document\_dob\_mismatch          | O           | X               | 문서상의 생년월일 불일치                            |
| image\_forgery                   | O           | X               | 위조된 이미지                                  |
| text\_forgery                    | O           | X               | 위조된 텍스트                                  |
| feature\_verification\_failed    | O           | X               | 특징 확인에 실패함                               |
| image\_edited                    | O           | X               | 수정된 이미지인 경우                              |
| fake\_id                         | O           | X               | 가짜 ID                                    |
| artificial\_image                | O           | X               | 인위로 바꾼 이미지                               |
| artificial\_text                 | O           | X               | 인위로 바뀐 텍스트                               |
| check\_digit\_failed             | O           | X               | 숫자 확인에 실패함                               |
| physicial\_document\_missing     | O           | X               | 실물 문서가 누락됨                               |
| missing\_expiry\_date            | O           | X               | 만료일자 정보가 누락됨                             |
| missing\_issue\_date             | O           | X               | 발생일자 정보가 누락됨                             |
| missing\_document\_number        | O           | X               | 문서번호 정보가 누락됨                             |
| missing\_personal\_number        | O           | X               | 주민번호 정보가 누락됨                             |
| missing\_name                    | O           | X               | 이름 정보가 누락됨                               |
| bank\_authentication\_fail       | O           | X               | 인증번호, 이름 모두 확인에 실패함                      |
| bank\_authentication\_code\_fail | O           | X               | 인증번호 확인에 실패함                             |
| bank\_authentication\_name\_fail | O           | X               | 이름 확인에 실패함                               |
| blacklist\_country               | O           | O               | 발급국가 기준으로 blacklist country 의 국가가 제출된 경우 |
| mrz\_protocol\_fail              | O           | X               | MRZ 프로토콜 인식이 불가한 경우                      |
| Identity\_verification\_fail     | O           | X               | ID 신원 인증에 실패한 경우                         |
| barcode\_protocol\_fail          | O           | X               | 바코드 프로토콜 인식에 실패한 경우                      |
| no\_face                         | O           | O               | 셀피 촬영에 얼굴이 없는 경우                         |
| face\_compare\_underscore        | O           | O               | 얼굴 비교 점수가 기준 미달인 경우                      |
| Id\_livness\_fail                | O           | X               | ID 의 Liveness 검사에 실패한 경우                 |
| liveness\_error                  | O           | O               | Liveness 검사에 오류가 발생된 경우                  |
| liveness\_fail                   | O           | O               | Passive Liveness 점수가 기준 미달인 경우           |
| liveness\_fail\_active           | O           | O               | Active Liveness 점수가 기준 미달인 경우            |
| too\_many\_retry                 | O           | O               | 재시도 회수를 초과한 경우                           |
| VERIFICATION\_CODE\_MISS\_MATCH  | X           | O               | 인증 코드가 입력한 코드와 불일치함                      |
