Skip to main content

📗✍ïļ āļĢāļ°āļšāļšāļ­āđˆāļēāļ™āļŠāļĄāļļāļ”āļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢāļžāļĢāđ‰āļ­āļĄāļ•āļĢāļ§āļˆāļˆāļąāļšāļĨāļēāļĒāđ€āļ‹āđ‡āļ™

📗✍ïļ Thai Bank Book OCR with Signature Detection

Version Status

āļĒāļīāļ™āļ”āļĩāļ•āđ‰āļ­āļ™āļĢāļąāļšāļŠāļđāđˆ Bank Book OCR with Signature Detection API āļœāļĨāļīāļ•āļ āļąāļ“āļ‘āđŒ AI āļ—āļĩāđˆāļžāļąāļ’āļ™āļēāđ‚āļ”āļĒ āļšāļĢāļīāļĐāļąāļ— āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ āļˆāļģāļāļąāļ” API āļ‚āļ­āļ‡āđ€āļĢāļēāļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļŠāļĄāļļāļ”āļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢāđāļĨāļ°āļ•āļĢāļ§āļˆāļˆāļąāļšāļĨāļēāļĒāđ€āļ‹āđ‡āļ™āļ”āđ‰āļ§āļĒāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđāļĨāļ°āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļŠāļđāļ‡

āļ—āļ”āļĨāļ­āļ‡āđƒāļŠāđ‰āđ€āļĨāļĒ!​

Example Images (Click to try)

Example 1

Demo key is limited to 10 requests per day per IP
Click here to get your API key

āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđƒāļŠāđ‰āļ‡āļēāļ™â€‹

  1. āļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āđ€āļšāļ·āđ‰āļ­āļ‡āļ•āđ‰āļ™

    • API key āļˆāļēāļ āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ
    • āļĢāļđāļ›āļ āļēāļžāļŠāļĄāļļāļ”āļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢ
    • āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš: JPEG, JPG, PNG
    • āļ‚āļ™āļēāļ”āđ„āļŸāļĨāđŒāļŠāļđāļ‡āļŠāļļāļ”: 2MB
  2. āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§

    • āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāđˆāļĢāļ§āļ”āđ€āļĢāđ‡āļ§
    • āļāļēāļĢāļˆāļ”āļˆāļģāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡
    • āļĢāļ­āļ‡āļĢāļąāļšāļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒāļŦāļĨāļēāļĒāļĢāļđāļ›āđāļšāļš
    • āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļĨāļēāļĒāđ€āļ‹āđ‡āļ™
  3. āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļ

    • āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļĄāļļāļ”āļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢ
    • āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļĨāļēāļĒāđ€āļ‹āđ‡āļ™
    • āļĢāļ­āļ‡āļĢāļąāļšāļ˜āļ™āļēāļ„āļēāļĢāļŦāļĨāļēāļĒāđāļŦāđˆāļ‡
    • āļāļēāļĢāļˆāļ”āļˆāļģāļ—āļĩāđˆāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡
  4. āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄāļāļŽāļĢāļ°āđ€āļšāļĩāļĒāļš

    • āļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄ GDPR āđāļĨāļ° PDPA
    • āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļāđ‡āļšāļĢāļąāļāļĐāļēāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĨāļąāļ‡āļˆāļēāļāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ
āļ§āļīāļ˜āļĩāļāļēāļĢāļĢāļąāļš API Key?

āļāļĢāļļāļ“āļēāđ€āļĒāļĩāđˆāļĒāļĄāļŠāļĄ iApp AI Portal āđ€āļžāļ·āđˆāļ­āļ”āļđ API key āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļ„āļļāļ“āļŦāļĢāļ·āļ­āļ‚āļ­ API key āđƒāļŦāļĄāđˆ

āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–​

āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļâ€‹

Bank Book OCR API āđƒāļŦāđ‰āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ—āļĩāđˆāđāļ‚āđ‡āļ‡āđāļāļĢāđˆāļ‡āđƒāļ™āļāļēāļĢāļ”āļķāļ‡āđāļĨāļ°āļˆāļ”āļˆāļģāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļ„āļąāļāļˆāļēāļāļĢāļđāļ›āļ āļēāļžāļŠāļĄāļļāļ”āļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢ āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļ™āļĩāđ‰āļ„āļ·āļ­āļ āļēāļžāļĢāļ§āļĄāļ‚āļ­āļ‡āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ•āđˆāļēāļ‡āđ†

āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļŦāļĨāļąāļâ€‹

  • āļāļēāļĢāļˆāļ”āļˆāļģāļŠāļ·āđˆāļ­āļ˜āļ™āļēāļ„āļēāļĢ: āļ”āļķāļ‡āļŠāļ·āđˆāļ­āđ€āļ•āđ‡āļĄāļ‚āļ­āļ‡āļ˜āļ™āļēāļ„āļēāļĢ āļĢāļ§āļĄāļ–āļķāļ‡āļ•āļąāļ§āļĒāđˆāļ­āđāļĨāļ°āļĢāļŦāļąāļŠ
  • āļāļēāļĢāļˆāļ”āļˆāļģāđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļāļŠāļĩ: āļ•āļĢāļ§āļˆāļˆāļąāļšāđāļĨāļ°āļ”āļķāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđāļĄāđˆāļ™āļĒāļģ
  • āļāļēāļĢāļˆāļ”āļˆāļģāļŠāļ·āđˆāļ­āļšāļąāļāļŠāļĩ: āļ”āļķāļ‡āļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļœāļđāđ‰āļ–āļ·āļ­āļšāļąāļāļŠāļĩ
  • āļāļēāļĢāļˆāļ”āļˆāļģāļŠāļēāļ‚āļēāļ˜āļ™āļēāļ„āļēāļĢ: āļĢāļ°āļšāļļāļŠāļ·āđˆāļ­āļŠāļēāļ‚āļēāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļšāļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢ
  • āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļĨāļēāļĒāđ€āļ‹āđ‡āļ™: āļˆāļ”āļˆāļģāļāļēāļĢāļĄāļĩāļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļĨāļēāļĒāđ€āļ‹āđ‡āļ™āļšāļ™āđ€āļ­āļāļŠāļēāļĢ
  • āļāļēāļĢāđƒāļŦāđ‰āļ„āļ°āđāļ™āļ™āļ„āļ§āļēāļĄāļĄāļąāđˆāļ™āđƒāļˆ: āđƒāļŦāđ‰āđ€āļ›āļ­āļĢāđŒāđ€āļ‹āđ‡āļ™āļ•āđŒāļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļĄāļąāđˆāļ™āđƒāļˆāļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āļŸāļīāļĨāļ”āđŒāļ—āļĩāđˆāļˆāļ”āļˆāļģāđ„āļ”āđ‰

āļ˜āļ™āļēāļ„āļēāļĢāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšâ€‹

API āļĢāļ­āļ‡āļĢāļąāļšāļ˜āļ™āļēāļ„āļēāļĢāļĒāļ­āļ”āļ™āļīāļĒāļĄāļŦāļĨāļēāļĒāđāļŦāđˆāļ‡āđƒāļ™āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒ:

  • SCB (āļ˜āļ™āļēāļ„āļēāļĢāđ„āļ—āļĒāļžāļēāļ“āļīāļŠāļĒāđŒ)
  • āļ˜āļ™āļēāļ„āļēāļĢāļāļĢāļļāļ‡āđ€āļ—āļž
  • āļ˜āļ™āļēāļ„āļēāļĢāļāļĢāļļāļ‡āđ„āļ—āļĒ
  • āļ˜āļ™āļēāļ„āļēāļĢāļāļŠāļīāļāļĢāđ„āļ—āļĒ
  • āļ˜āļ™āļēāļ„āļēāļĢāļāļĢāļļāļ‡āļĻāļĢāļĩāļ­āļĒāļļāļ˜āļĒāļē
  • āļ˜āļ™āļēāļ„āļēāļĢāļ—āļŦāļēāļĢāđ„āļ—āļĒāļ˜āļ™āļŠāļēāļ•

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡â€‹

āļ„āļģāļ‚āļ­:​

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ āļēāļž Bank Book with Signature OCR Example

curl --location 'https://api.iapp.co.th/book-bank-ocr/file' \
--header 'apikey: {{YOUR API KEY}}' \
--form 'file=@"{YOUR UPLOADED FILE}"'

āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡:​

{
"bank_book_results": {
"accountType": "null",
"account_name": "XXXXX XXXXXXXāļ„āļļāļ“",
"account_number": "90XXXXXX61",
"bank_branch": "āļĄāļŦāļēāļ§āļīāļ—āļĒāļēāļĨāļąāļĒāļ˜āļĢāļĢāļĄāļĻāļēāļŠāļ•āļĢāđŒ āļ—āđˆāļēāļžāļĢāļ°āļˆāļąāļ™āļ—āļĢāđŒ",
"bank_name": "āļāļĢāļļāļ‡āđ€āļ—āļž (BBL)",
"file_name_bookbank": "1376070230-image3-o"
},
"confidence": "64.43",
"inference_time(s)": "0.478",
"message": "Success",
"reason_codes": {
"accountType": { "code": 1, "message": "Success" },
"account_name": { "code": 1, "message": "Success" },
"account_number": { "code": 1, "message": "Success" },
"bank_branch": { "code": 1, "message": "Success" },
"bank_name": { "code": 1, "message": "Success" },
"file_name_bookbank": { "code": 1, "message": "Success" },
"signature": { "code": 1, "message": "Success" }
},
"signature": "Detected",
"status": 200
}

āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ API​

āļˆāļļāļ”āļŠāļīāđ‰āļ™āļŠāļļāļ”​

POST https://api.iapp.co.th/book-bank-ocr/file

āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ„āļģāļ‚āļ­â€‹

āļŠāđˆāļ§āļ™āļŦāļąāļ§â€‹

āļ„āļĩāļĒāđŒāļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
apikeyāđƒāļŠāđˆAPI key āļ‚āļ­āļ‡āļ„āļļāļ“āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļīāļ—āļ˜āļīāđŒ

āđ€āļ™āļ·āđ‰āļ­āļŦāļē (Form-Data)​

āļ„āļĩāļĒāđŒāļŠāļ™āļīāļ”āļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
fileāđ„āļŸāļĨāđŒāđƒāļŠāđˆāđ„āļŸāļĨāđŒāļ—āļĩāđˆāļˆāļ°āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļŠāļģāļŦāļĢāļąāļš OCR āļ•āļĢāļ§āļˆāļŠāļ­āļšāđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļĢāļ°āļšāļļāđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ„āļŸāļĨāđŒāļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡

āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡â€‹

āļ§āļąāļ•āļ–āļļāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļŦāļĨāļąāļâ€‹

āļ„āļĩāļĒāđŒāļŠāļ™āļīāļ”āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
bank_book_resultsāļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ”āļķāļ‡āļĄāļēāļˆāļēāļāļŠāļĄāļļāļ”āļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢ
confidenceāļŠāļ•āļĢāļīāļ‡āļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļĄāļąāđˆāļ™āđƒāļˆāļ‚āļ­āļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ OCR āđāļŠāļ”āļ‡āđ€āļ›āđ‡āļ™āđ€āļ›āļ­āļĢāđŒāđ€āļ‹āđ‡āļ™āļ•āđŒ
inference_time(s)āļŠāļ•āļĢāļīāļ‡āđ€āļ§āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ„āļģāļ‚āļ­ OCR āđ€āļ›āđ‡āļ™āļ§āļīāļ™āļēāļ—āļĩ
messageāļŠāļ•āļĢāļīāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­ (āđ€āļŠāđˆāļ™ "Success")
reason_codesāļ§āļąāļ•āļ–āļļāļĢāļŦāļąāļŠāđ€āļŦāļ•āļļāļœāļĨāđ‚āļ”āļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āļŸāļīāļĨāļ”āđŒāļ—āļĩāđˆāļ”āļķāļ‡āļĄāļē
signatureāļŠāļ•āļĢāļīāļ‡āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļĨāļēāļĒāđ€āļ‹āđ‡āļ™ (āđ€āļŠāđˆāļ™ "Detected")
statusāļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ° HTTP āļ‚āļ­āļ‡āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡ (āđ€āļŠāđˆāļ™ 200 āļŠāļģāļŦāļĢāļąāļšāļ„āļ§āļēāļĄāļŠāļģāđ€āļĢāđ‡āļˆ)

āļ§āļąāļ•āļ–āļļāļœāļĨāļĨāļąāļžāļ˜āđŒāļŠāļĄāļļāļ”āļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢ​

āļ„āļĩāļĒāđŒāļŠāļ™āļīāļ”āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
accountTypeāļŠāļ•āļĢāļīāļ‡āļŠāļ™āļīāļ”āļ‚āļ­āļ‡āļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢ (āđ€āļŠāđˆāļ™ "Savings" āļŦāļĢāļ·āļ­ "null" āļ–āđ‰āļēāđ„āļĄāđˆāļ—āļĢāļēāļš)
account_nameāļŠāļ•āļĢāļīāļ‡āļŠāļ·āđˆāļ­āļ‚āļ­āļ‡āļœāļđāđ‰āļ–āļ·āļ­āļšāļąāļāļŠāļĩ
account_numberāļŠāļ•āļĢāļīāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢ
bank_branchāļŠāļ•āļĢāļīāļ‡āļŠāļ·āđˆāļ­āļŠāļēāļ‚āļēāļ˜āļ™āļēāļ„āļēāļĢ
bank_nameāļŠāļ•āļĢāļīāļ‡āļŠāļ·āđˆāļ­āđ€āļ•āđ‡āļĄāļ‚āļ­āļ‡āļ˜āļ™āļēāļ„āļēāļĢ āļĢāļ§āļĄāļ–āļķāļ‡āļ•āļąāļ§āļĒāđˆāļ­āđāļĨāļ°āļĢāļŦāļąāļŠ
file_name_bookbankāļŠāļ•āļĢāļīāļ‡āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļ‚āļ­āļ‡āļŠāļĄāļļāļ”āļšāļąāļāļŠāļĩāļ˜āļ™āļēāļ„āļēāļĢāļ—āļĩāđˆāļ­āļąāļ›āđ‚āļŦāļĨāļ”

āļ§āļąāļ•āļ–āļļāļĢāļŦāļąāļŠāđ€āļŦāļ•āļļāļœāļĨ​

āđāļ•āđˆāļĨāļ°āļŸāļīāļĨāļ”āđŒāđƒāļ™āļ§āļąāļ•āļ–āļļ bank_book_results āļĄāļĩāļĢāļŦāļąāļŠāđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļ‹āļķāđˆāļ‡āļĢāļ°āļšāļļāļ„āļ§āļēāļĄāļŠāļģāđ€āļĢāđ‡āļˆāļŦāļĢāļ·āļ­āļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§

āļŸāļīāļĨāļ”āđŒāļ„āļĩāļĒāđŒāļŠāļ™āļīāļ”āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
āļŠāļ™āļīāļ”āļšāļąāļāļŠāļĩaccountTypeāļ§āļąāļ•āļ–āļļāļĢāļŦāļąāļŠāđāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļģāļŦāļĢāļąāļšāļŠāļ™āļīāļ”āļšāļąāļāļŠāļĩ
āļŠāļ·āđˆāļ­āļšāļąāļāļŠāļĩaccount_nameāļ§āļąāļ•āļ–āļļāļĢāļŦāļąāļŠāđāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļģāļŦāļĢāļąāļšāļŠāļ·āđˆāļ­āļšāļąāļāļŠāļĩ
āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļāļŠāļĩaccount_numberāļ§āļąāļ•āļ–āļļāļĢāļŦāļąāļŠāđāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļģāļŦāļĢāļąāļšāđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļāļŠāļĩ
āļŠāļēāļ‚āļēāļ˜āļ™āļēāļ„āļēāļĢbank_branchāļ§āļąāļ•āļ–āļļāļĢāļŦāļąāļŠāđāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļģāļŦāļĢāļąāļšāļŠāļēāļ‚āļēāļ˜āļ™āļēāļ„āļēāļĢ
āļŠāļ·āđˆāļ­āļ˜āļ™āļēāļ„āļēāļĢbank_nameāļ§āļąāļ•āļ–āļļāļĢāļŦāļąāļŠāđāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļģāļŦāļĢāļąāļšāļŠāļ·āđˆāļ­āļ˜āļ™āļēāļ„āļēāļĢ
āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒfile_name_bookbankāļ§āļąāļ•āļ–āļļāļĢāļŦāļąāļŠāđāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļģāļŦāļĢāļąāļšāļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒ
āļĨāļēāļĒāđ€āļ‹āđ‡āļ™signatureāļ§āļąāļ•āļ–āļļāļĢāļŦāļąāļŠāđāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļĨāļēāļĒāđ€āļ‹āđ‡āļ™

āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ‚āļ­āļ‡ API​

āļĢāļŦāļąāļŠāđ€āļŦāļ•āļļāļœāļĨ​

āļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļ–āļēāļ™āļ°āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
1passāļĄāļąāđˆāļ™āđƒāļˆāđƒāļ™āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ—āļĩāđˆāļ­āđˆāļēāļ™āđ„āļ”āđ‰
0manual checkāđ„āļĄāđˆāļĄāļąāđˆāļ™āđƒāļˆāđƒāļ™āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ—āļĩāđˆāļ­āđˆāļēāļ™āđ„āļ”āđ‰ āļĢāļ­āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ”āđ‰āļ§āļĒāļ•āļ™āđ€āļ­āļ‡

āļĢāļŦāļąāļŠāđ€āļŦāļ•āļļāļœāļĨāļĨāļēāļĒāđ€āļ‹āđ‡āļ™â€‹

āļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļ–āļēāļ™āļ°
1āđ„āļĄāđˆāļžāļšāļĨāļēāļĒāđ€āļ‹āđ‡āļ™
2āđ€āļ‡āļē/āļžāļ·āđ‰āļ™āļŦāļĨāļąāļ‡
3āļžāļšāļ āļēāļžāļŦāļĨāļēāļĒāļ āļēāļž
4āļ­āļ·āđˆāļ™āđ† (āđ„āļĄāđˆāļĢāļ°āļšāļļ)

āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ—āļąāđˆāļ§āđ„āļ›āļ‚āļ­āļ‡ API​

āļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļ–āļēāļ™āļ°āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
404REQUESTED_URL_NOT_FOUNDāđ„āļĄāđˆāļžāļšāđ€āļŠāđ‰āļ™āļ—āļēāļ‡ API āđƒāļ™āļ„āļģāļ‚āļ­
413FILE_IS_TOO_LARGE: (āļĄāļēāļāļāļ§āđˆāļē 2 MB)āļ‚āļ™āļēāļ”āđ„āļŸāļĨāđŒāđƒāļŦāļāđˆāđ€āļāļīāļ™āđ„āļ›
416METHOD_NOT_ALLOWEDāļŠāļ·āđˆāļ­āļ§āļīāļ˜āļĩāļāļēāļĢ (GET, POST) āđƒāļ™ URL āđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡
427LONG_TIME_TO_PROCESSāđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒāļāļģāļĨāļąāļ‡āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ›āđ‡āļ™āđ€āļ§āļĨāļēāļ™āļēāļ™
428LONG_TIME_TO_REQUESTāđ„āļ„āļĨāđ€āļ­āđ‡āļ™āļ•āđŒāļāļģāļĨāļąāļ‡āļĢāļ­āļ„āļīāļ§āđ€āļ›āđ‡āļ™āđ€āļ§āļĨāļēāļ™āļēāļ™
461NO_FILE_ATTACHEDāđ„āļĄāđˆāļĄāļĩāđ„āļŸāļĨāđŒāđāļ™āļš
462ATTACH_ONE_IMAGE_AT_A_TIMEāļ āļēāļžāļ›āđ‰āļ­āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĨāļēāļĒāļ āļēāļž
560

SERVER_IS_BUSY:

(āđ‚āļ›āļĢāļ”āļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡āđƒāļ™āļ­āļĩāļāđ„āļĄāđˆāļāļĩāđˆāļ§āļīāļ™āļēāļ—āļĩ)

āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒāļāļģāļĨāļąāļ‡āļ—āļģāļ‡āļēāļ™āļāļąāļšāļ„āļģāļ‚āļ­āļˆāļģāļ™āļ§āļ™āļĄāļēāļ

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ”​

Python​

import requests

url = "https://api.iapp.co.th/book-bank-ocr/file"

payload = {}
files=[
('file',('{YOUR UPLOADED FILE}',open('{YOUR UPLOADED FILE}','rb'),'image/jpeg'))
]
headers = {
'apikey': '{{YOUR API KEY}}'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

JavaScript​

const axios = require("axios")
const FormData = require("form-data")
const fs = require("fs")
let data = new FormData()
data.append("file", fs.createReadStream("{YOUR UPLOADED FILE}"))

let config = {
method: "post",
maxBodyLength: Infinity,
url: "https://api.iapp.co.th/book-bank-ocr/file",
headers: {
apikey: "{{YOUR API KEY}}",
...data.getHeaders(),
},
data: data,
}

axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data))
})
.catch((error) => {
console.log(error)
})

PHP​

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/book-bank-ocr/file',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file'=> new CURLFILE('{YOUR UPLOADED FILE}')),
CURLOPT_HTTPHEADER => array(
'apikey: {{YOUR API KEY}}'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Swift​

let parameters = [
[
"key": "file",
"src": "{YOUR UPLOADED FILE}",
"type": "file"
]] as [[String: Any]]

let boundary = "Boundary-\(UUID().uuidString)"
var body = Data()
var error: Error? = nil
for param in parameters {
if param["disabled"] != nil { continue }
let paramName = param["key"]!
body += Data("--\(boundary)\r\n".utf8)
body += Data("Content-Disposition:form-data; name=\"\(paramName)\"".utf8)
if param["contentType"] != nil {
body += Data("\r\nContent-Type: \(param["contentType"] as! String)".utf8)
}
let paramType = param["type"] as! String
if paramType == "text" {
let paramValue = param["value"] as! String
body += Data("\r\n\r\n\(paramValue)\r\n".utf8)
} else {
let paramSrc = param["src"] as! String
let fileURL = URL(fileURLWithPath: paramSrc)
if let fileContent = try? Data(contentsOf: fileURL) {
body += Data("; filename=\"\(paramSrc)\"\r\n".utf8)
body += Data("Content-Type: \"content-type header\"\r\n".utf8)
body += Data("\r\n".utf8)
body += fileContent
body += Data("\r\n".utf8)
}
}
}
body += Data("--\(boundary)--\r\n".utf8);
let postData = body


var request = URLRequest(url: URL(string: "https://api.iapp.co.th/book-bank-ocr/file")!,timeoutInterval: Double.infinity)
request.addValue("{{YOUR API KEY}}", forHTTPHeaderField: "apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Kotlin​

val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE}",
File("{YOUR UPLOADED FILE}").asRequestBody("application/octet-stream".toMediaType()))
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/book-bank-ocr/file")
.post(body)
.addHeader("apikey", "{{YOUR API KEY}}")
.build()
val response = client.newCall(request).execute()

Java​

OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{YOUR UPLOADED FILE}")))
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/book-bank-ocr/file")
.method("POST", body)
.addHeader("apikey", "{{YOUR API KEY}}")
.build();
Response response = client.newCall(request).execute();

Dart​

var headers = {
'apikey': '{{YOUR API KEY}}'
};
var request = http.MultipartRequest('POST', Uri.parse('https://api.iapp.co.th/book-bank-ocr/file'));
request.files.add(await http.MultipartFile.fromPath('file', '{YOUR UPLOADED FILE}'));
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}

āļ›āļĢāļ°āļ§āļąāļ•āļī​

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 1.2​

āļ„āļēāļ”āļ§āđˆāļēāļˆāļ°āļ§āļēāļ‡āļˆāļģāļŦāļ™āđˆāļēāļĒāļ āļēāļĒāđƒāļ™āļŠāļīāđ‰āļ™āđ€āļ”āļ·āļ­āļ™āļžāļĪāļĐāļ āļēāļ„āļĄ

  • āđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ
  • āļāļēāļĢāļˆāļ”āļˆāļģāļŠāļēāļ‚āļēāļ˜āļ™āļēāļ„āļēāļĢ
  • āļāļēāļĢāļˆāļ”āļˆāļģāļŠāļ·āđˆāļ­āļšāļąāļāļŠāļĩ

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 1.1​

āļ§āļēāļ‡āļˆāļģāļŦāļ™āđˆāļēāļĒāđ€āļĄāļ·āđˆāļ­āļ§āļąāļ™āļ—āļĩāđˆ 20 āđ€āļĄāļĐāļēāļĒāļ™ 2565

āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđ‚āļ”āļĒāļĢāļ§āļĄ = 78%

  • āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™:
  • āļāļēāļĢāļˆāļ”āļˆāļģ āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļāļŠāļĩ āđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™ 8% (āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđ€āļāđˆāļē: 88.84%, āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđƒāļŦāļĄāđˆ: 96.82%)
  • āļāļēāļĢāļˆāļ”āļˆāļģ āļŠāļ·āđˆāļ­āļ˜āļ™āļēāļ„āļēāļĢ āđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™ 4% (āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđ€āļāđˆāļē: 94.87%, āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđƒāļŦāļĄāđˆ: 99.5%)

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 1.0​

āļ§āļēāļ‡āļˆāļģāļŦāļ™āđˆāļēāļĒāđ€āļĄāļ·āđˆāļ­āļ§āļąāļ™āļ—āļĩāđˆ 24 āļĄāļĩāļ™āļēāļ„āļĄ 2565
āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđ‚āļ”āļĒāļĢāļ§āļĄ = 74.85%

  • āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđāļĢāļ
  • āļ˜āļ™āļēāļ„āļēāļĢāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš: SCB, āļ˜āļ™āļēāļ„āļēāļĢāļāļĢāļļāļ‡āđ€āļ—āļž, āļ˜āļ™āļēāļ„āļēāļĢāļāļĢāļļāļ‡āđ„āļ—āļĒ, āļ˜āļ™āļēāļ„āļēāļĢāļāļŠāļīāļāļĢāđ„āļ—āļĒ, āļ˜āļ™āļēāļ„āļēāļĢāļāļĢāļļāļ‡āļĻāļĢāļĩāļ­āļĒāļļāļ˜āļĒāļē, āļ˜āļ™āļēāļ„āļēāļĢāļ—āļŦāļēāļĢāđ„āļ—āļĒāļ˜āļ™āļŠāļēāļ•
  • āļŸāļīāļĨāļ”āđŒāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš: āļŠāļ·āđˆāļ­āļ˜āļ™āļēāļ„āļēāļĢ, āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļāļŠāļĩ, āļŠāļ·āđˆāļ­āļšāļąāļāļŠāļĩ, āļŠāļēāļ‚āļēāļ˜āļ™āļēāļ„āļēāļĢ

āļĢāļēāļ„āļē​

āļŠāļ·āđˆāļ­āļšāļĢāļīāļāļēāļĢ AI APIIC āļ•āđˆāļ­āļ„āļģāļ‚āļ­On-Premise
Book Bank OCR with Signature Detection1.25 IC/Requestāļ•āļīāļ”āļ•āđˆāļ­āđ€āļĢāļē