CLOVA OCR Validation

Prev Next

Available in Classic and VPC

The CLOVA OCR service provides an external validation feature that can be used in Template OCR. To use this feature, you must first run Template Builder in the Template domain of the NAVER Cloud Platform console and integrate the validation feature on the page that appears. After integration, set a specific document as a template and send the values extracted from the document to an external validation server to check the validation results.

Note

The validation results are reflected in validationResult of the Template OCR response body.

Request

The following describes the request format for the endpoint.

Request body

If you set up external validation integration in CLOVA OCR Builder, external validation results will be sent along with the image recognition results when you receive them.

Note

For more information, see OCR Reader of the CLOVA OCR user guide.

Request example

The following is a sample request.

{
  "image": {
    "uid": "{uid}",
    "name": "Test-Request",
    "inferResult": "SUCCESS",
    "message": "SUCCESS",
    "matchedTemplate": {
      "id": 266,
      "name": "EN-Front-2020"
    },
    "validationResult": {
      "result": "UNCHECKED"
    },
    "title": {
      "name": "2020 EN2B-Front",
      "boundingPoly": {
        "vertices": [
          {
            "x": 1148.3334,
            "y": 23.833334
          },
          {
            "x": 1423.5,
            "y": 23.833334
          },
          {
            "x": 1423.5,
            "y": 47.666668
          },
          {
            "x": 1148.3334,
            "y": 47.666668
          }
        ]
      },
      "inferText": "2020EN2B-Front",
      "inferConfidence": 0.99994594
    },
    "fields": [
      {
        "name": "1-Value",
        "valueType": "ALL",
        "boundingPoly": {
          "vertices": [
            {
              "x": 132.16667,
              "y": 491.83334
            },
            {
              "x": 197.16667,
              "y": 491.83334
            },
            {
              "x": 197.16667,
              "y": 546.0
            },
            {
              "x": 132.16667,
              "y": 546.0
            }
          ]
        },
        "inferText": "FIRST\nMIDDLE\nNAME",
        "inferConfidence": 0.99935573,
        "type": "NORMAL"
      },
      {
        "name": "2-Value",
        "valueType": "NUMERIC",
        "boundingPoly": {
          "vertices": [
            {
              "x": 223.98764,
              "y": 1148.0485
            },
            {
              "x": 263.99146,
              "y": 1148.049
            },
            {
              "x": 263.99606,
              "y": 1212.0457
            },
            {
              "x": 223.99258,
              "y": 1212.045
            }
          ]
        },
        "inferText": "",
        "inferConfidence": 0.84649235,
        "type": "NORMAL"
      },
      {
        "name": "3-Value",
        "valueType": "ALL",
        "boundingPoly": {
          "vertices": [
            {
              "x": 348.0137,
              "y": 1376.034
            },
            {
              "x": 507.0252,
              "y": 1376.0349
            },
            {
              "x": 507.0269,
              "y": 1416.0331
            },
            {
              "x": 348.01614,
              "y": 1416.0322
            }
          ]
        },
        "inferText": "",
        "inferConfidence": 0.9938921,
        "type": "MULTI_BOX",
        "subFields": [
          {
            "boundingPoly": {
              "vertices": [
                {
                  "x": 348.0137,
                  "y": 1376.034
                },
                {
                  "x": 385.51636,
                  "y": 1376.0349
                },
                {
                  "x": 385.51862,
                  "y": 1416.0306
                },
                {
                  "x": 348.01614,
                  "y": 1416.0298
                }
              ]
            },
            "inferText": "",
            "inferConfidence": 0.999991
          },
          {
            "boundingPoly": {
              "vertices": [
                {
                  "x": 388.51654,
                  "y": 1376.0349
                },
                {
                  "x": 426.01926,
                  "y": 1376.0356
                },
                {
                  "x": 426.02133,
                  "y": 1416.0315
                },
                {
                  "x": 388.51883,
                  "y": 1416.0306
                }
              ]
            },
            "inferText": "",
            "inferConfidence": 0.98254
          }
        ]
      }
    ]
  }
}

Response

The following describes the response format.

Response body

The following describes the response body.

Field Type Required Description
uid String - Same UID as the request body
result String - Authentication result
  • NO_REQUESTED | UNCHECKED | ERROR | VALID | INVALID
    • NO_REQUESTED: validation not requested
    • UNCHECKED: unconfirmed or unaccepted response
    • ERROR: validation execution error
    • VALID: result valid
    • INVALID: result invalid
message String - Detailed message about authentication result
  • It is displayed if result is VALID or INVALID

Response example

The following is a sample example.

{
  "uid": "{uid}",
  "result": "VALID",
  "message": "VALID message!"
}