MENU
      クレジットカード
        • PDF

        クレジットカード

        • PDF

        記事の要約

        Classic/VPC環境で利用できます。

        特化モデルエンジンを使用してクレジットカードの入力情報(key-value)を認識し、抽出します。

        リクエスト

        リクエスト形式を説明します。リクエスト形式は次の通りです。

        メソッドURI
        POST/credit-card

        リクエストヘッダ

        CLOVA OCR APIで共通して使用されるヘッダの詳細は、CLOVA OCRのリクエストヘッダをご参照ください。

        リクエストボディ

        リクエストボディの説明は次の通りです。

        Content-Type: application/jsonの場合

        リクエストヘッダのContent-Typeapplication/jsonの場合のリクエストボディの説明は次の通りです。

        フィールドタイプ必須の有無説明
        versionString-バージョン情報
        • V2のみ使用
        requestIdStringRequired任意の API呼び出しの UUID
        timestampIntegerRequired任意の APIの呼び出し時刻(Timestamp)
        imagesArrayRequiredimagesの詳細情報

        Content-Type: multipart/form-dataの場合

        リクエストヘッダのContent-Typemultipart/form-dataの場合のリクエストボディの説明は次の通りです。

        フィールドタイプ必須の有無説明
        messageObjectRequiredリクエストデータ情報
        message.versionStringRequiredバージョン情報
        • V2のみ使用
        message.requestIdStringRequired任意の API呼び出しの UUID
        message.timestampIntegerRequired任意の APIの呼び出し時刻(Timestamp)
        message.imagesArrayRequiredimagesの詳細情報
        fileFileRequiredOCR認識画像ファイル

        images

        imagesの説明は次の通りです。

        フィールドタイプ必須の有無説明
        formatStringRequired画像の形式
        • jpg | jpeg | png | pdf | tif | tiff
          • 画像: jpgjpegpng
          • 単一ページ: pdftiftiff
        • 画像の形式のうち、1つを選択して入力
        nameStringRequired任意の画像名
        • 画像の識別とレスポンス結果の確認時に使用
        dataStringRequiredBase64でエンコードされた画像データ
        • Content-Type: application/jsonの場合に入力可能

        リクエスト例

        リクエストのサンプルコードは次の通りです。

        Content-Type: application/jsonの場合

        リクエストヘッダのContent-Typeapplication/jsonの場合のリクエストのサンプルコードは次の通りです。

        curl --location --request POST 'https://cbgrx5natw.apigw.ntruss.com/custom/v1/{DomainId}/{InvokeKey}/document/credit-card' \
        --header 'Content-Type: application/json' \
        --header 'X-OCR-SECRET: {アプリの登録時に発行された Secret Key}' \
        --data '{
            "version": "V2",
            "requestId": "1234",
            "timestamp": "0",
            "images": [
                {
                    "format": "png",
                    "data": "{Base64でエンコードされた画像データ}",
                    "name": "creaditcard_test2"
            }]
        }'
        Shell

        Content-Type: multipart/form-dataの場合

        リクエストヘッダのContent-Typemultipart/form-dataの場合のリクエストのサンプルコードは次の通りです。

        curl --location --request POST 'https://cbgrx5natw.apigw.ntruss.com/custom/v1/{DomainId}/{InvokeKey}/document/credit-card' \
        --header 'X-OCR-SECRET: {アプリの登録時に発行された Secret Key}' \
        --header 'Content-Type: multipart/form-data' \
        --form 'message="{\"version\": \"V2\", \"requestId\": \"1234\", \"timestamp\": 1724832750462, \"images\": [{\"format\": \"jpg\", \"name\": \"creditcard_test\"}]}"' \
        --form '{file}.png"'
        Shell

        レスポンス

        レスポンス形式を説明します。

        レスポンスボディ

        レスポンスボディの説明は次の通りです。

        フィールドタイプ必須の有無説明
        versionString-バージョン情報
        • V2のみ使用
        requestIdString-API呼び出し UUID
        timestampInteger-APIの呼び出し時刻(Timestamp)
        imagesArray-imagesの詳細情報

        images

        imagesの説明は次の通りです。

        フィールドタイプ必須の有無説明
        uidString-クレジットカード画像の UID
        • API有効性検査時に使用
        nameString-クレジットカードの画像名
        • 画像の識別とレスポンス結果の確認時に使用
        inferResultString-クレジットカードの画像認識結果
        • SUCCESS | FAILURE | ERROR
          • SUCCESS: 認識成功
          • FAILURE: 認識失敗
          • ERROR: 認識処理例外
        messageString-結果メッセージ
        validationResultObject-有効性検査の結果情報
        validationResult.resultString-有効性検査の結果コード
        • NO_REQUESTED | UNCHECKED | ERROR | VALID | INVALID
          • NO_REQUESTED: 検証をリクエストしていない(有効性検査失敗)
          • UNCHECKED: 検証の有無を確認できない
          • ERROR: 検証中にエラー発生(有効性検査失敗)
          • VALID: 検証中にエラー発生(有効性検査成功)
          • INVALID: 検証合格失敗
        validationResult.messageString-有効性検査結果の詳細メッセージ
        • 必ずしも返される値ではない
        convertedImageInfoObject-変換後の画像情報
        • formatpdfまたはtiffの場合
        • 座標は呼び出し画像ファイルを基準に設定
        convertedImageInfo.widthInteger-変換後画像の横長
        convertedImageInfo.heightInteger-変換後画像の縦長
        convertedImageInfo.pageIndexInteger-変換後画像ページインデックス
        creditCardObject-クレジットカードの詳細情報
        creditCard.resultObject-クレジットカードの OCR認識結果

        result

        creditCard.resultの説明は次の通りです。

        フィールドタイプ必須の有無説明
        nameObject-カード所有者名の詳細情報
        numberObject-カード番号の詳細情報
        validThruObject-カードの有効期限の詳細情報

        共通オブジェクト情報

        共通オブジェクトの説明は次の通りです。

        フィールドタイプ必須の有無説明
        textString-認識結果のテキスト
        confidenceScoreFloat-認識結果のテキストの信頼度
        • 0~1
        • 信頼度が高いほどテキストの精度が高い
        boundingPolyObject-Bounding Poly情報
        boudningPoly.verticesArray-Bounding Poly Verticesの詳細情報
        subBoundingPolysArray-subBoundiongPolysの詳細情報

        vertices

        boundingPolyVerticesの説明は次の通りです。

        フィールドタイプ必須の有無説明
        xFloat-Bounding Poly X軸の座標
        yFloat-Bounding Poly Y軸の座標

        subBoundingPolys

        subBoundingPolysの説明は次の通りです。

        フィールドタイプ必須の有無説明
        xFloat-Sub Bounding Poly X軸の座標
        yFloat-Sub Bounding Poly Y軸の座標

        レスポンスステータスコード

        CLOVA OCR APIで共通して使用されるレスポンスステータスコードの詳細は、CLOVA OCRの共通レスポンスステータスコードをご参照ください。

        レスポンス例

        レスポンスのサンプルコードは次の通りです。

        成功

        呼び出しに成功した場合のレスポンスのサンプルコードは次の通りです。

        {
            "version": "V2",
            "requestId": "1234",
            "timestamp": 1725005676747,
            "images": [
                {
                    "uid": "{uid}",
                    "name": "creditcard_test",
                    "inferResult": "SUCCESS",
                    "message": "SUCCESS",
                    "validationResult": {
                        "result": "NO_REQUESTED"
                    },
                    "creditCard": {
                        "result": {
                            "name": {
                                "text": "KAIY*** VENY***",
                                "confidence": 0.8576972,
                                "boundingPoly": {
                                    "vertices": []
                                },
                                "subBoundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 192.0,
                                                "y": 609.0
                                            },
                                            {
                                                "x": 407.0,
                                                "y": 609.0
                                            },
                                            {
                                                "x": 407.0,
                                                "y": 651.0
                                            },
                                            {
                                                "x": 192.0,
                                                "y": 651.0
                                            }
                                        ]
                                    }
                                ]
                            },
                            "number": {
                                "text": "512571781234****",
                                "confidence": 0.999885,
                                "boundingPoly": {
                                    "vertices": [
                                        {
                                            "x": 187.0,
                                            "y": 450.0
                                        },
                                        {
                                            "x": 1007.0,
                                            "y": 450.0
                                        },
                                        {
                                            "x": 1007.0,
                                            "y": 506.0
                                        },
                                        {
                                            "x": 187.0,
                                            "y": 506.0
                                        }
                                    ]
                                },
                                "subBoundingPolys": [
                                    {
                                        "vertices": [
                                            {
                                                "x": 187.0,
                                                "y": 450.0
                                            },
                                            {
                                                "x": 360.0,
                                                "y": 450.0
                                            },
                                            {
                                                "x": 360.0,
                                                "y": 506.0
                                            },
                                            {
                                                "x": 187.0,
                                                "y": 506.0
                                            }
                                        ]
                                    },
                                ]
                            },
                            "validThru": {
                                "text": "09/23",
                                "confidence": 0.9999175,
                                "boundingPoly": {
                                    "vertices": [
                                        {
                                            "x": 585.0,
                                            "y": 557.0
                                        },
                                        {
                                            "x": 735.0,
                                            "y": 557.0
                                        },
                                        {
                                            "x": 735.0,
                                            "y": 600.0
                                        },
                                        {
                                            "x": 585.0,
                                            "y": 600.0
                                        }
                                    ]
                                },
                                "subBoundingPolys": []
                            }
                        }
                    }
                }
            ]
        }
        JSON

        失敗

        呼び出しに失敗した場合のレスポンスのサンプルコードは次の通りです。

        {
            "version": "V2",
            "requestId": "4567",
            "timestamp": 1725003278037,
            "images": [
                {
                    "uid": "{uid}",
                    "name": "receipt_test2",
                    "inferResult": "ERROR",
                    "message": "Read page:0 error.",
                    "validationResult": {
                        "result": "NO_REQUESTED"
                    }
                }
            ]
        }
        JSON

        この記事は役に立ちましたか?

        What's Next
        Changing your password will log you out immediately. Use the new password to log back in.
        First name must have atleast 2 characters. Numbers and special characters are not allowed.
        Last name must have atleast 1 characters. Numbers and special characters are not allowed.
        Enter a valid email
        Enter a valid password
        Your profile has been successfully updated.