Skip to main content

📄 āļĢāļ°āļšāļšāļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļĨāļ°āđāļĒāļāļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™āļ āļēāļĐāļēāđ„āļ—āļĒ (Civil Registeration Certificate OCR) 🆕

📄 āđāļšāļšāļĢāļąāļšāļĢāļ­āļ‡āļĢāļēāļĒāļāļēāļĢāļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļēāļĐāļŽāļĢ

Version Status New

āļĒāļīāļ™āļ”āļĩāļ•āđ‰āļ­āļ™āļĢāļąāļšāļŠāļđāđˆ API āļĢāļ°āļšāļšāļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļĨāļ°āđāļĒāļāļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāđ€āļ­āļāļŠāļēāļĢāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™āļ āļēāļĐāļēāđ„āļ—āļĒāļ”āđ‰āļ§āļĒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ AI āļ‹āļķāđˆāļ‡āļžāļąāļ’āļ™āļēāđ‚āļ”āļĒ āļšāļĢāļīāļĐāļąāļ— āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ āļˆāļģāļāļąāļ” āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāđ€āļ­āļāļŠāļēāļĢāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™ āđ€āļ­āļāļŠāļēāļĢāļ‰āļšāļąāļšāļ™āļĩāđ‰āļˆāļ°āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ‡āļēāļ™āļšāļĢāļīāļāļēāļĢ OCR āļ‚āļ­āļ‡āđ€āļĢāļēāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

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

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

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

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

    • āļāļēāļĢāđāļĒāļāļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ•āđˆāļēāļ‡āđ† āļĢāļ§āļĄāļ–āļķāļ‡:
      • āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāđˆāļ§āļ™āļšāļļāļ„āļ„āļĨ (āļŠāļ·āđˆāļ­, āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™, āđ€āļžāļĻ, āļŠāļąāļāļŠāļēāļ•āļī)
      • āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ§āļąāļ™āđ€āļāļīāļ” (āļ§āļąāļ™āđ€āļāļīāļ”, āļ­āļēāļĒāļļ)
      • āļ‚āđ‰āļ­āļĄāļđāļĨāļ„āļĢāļ­āļšāļ„āļĢāļąāļ§ (āļŠāļ·āđˆāļ­āđāļĨāļ°āļŠāļąāļāļŠāļēāļ•āļīāļ‚āļ­āļ‡āļšāļīāļ”āļēāđāļĨāļ°āļĄāļēāļĢāļ”āļē)
      • āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ—āļĩāđˆāļ­āļĒāļđāđˆ (āļ—āļĩāđˆāļ­āļĒāļđāđˆ, āļŠāļ–āļēāļ™āļ°, āļāļēāļĢāļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™)
      • āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ•āļēāļ‚āļ­āļ‡āđ€āļ­āļāļŠāļēāļĢ (āļ§āļąāļ™āļ—āļĩāđˆ, āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ, āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ)
    • āļĢāļ­āļ‡āļĢāļąāļšāđ€āļ­āļāļŠāļēāļĢāđāļšāļšāļŦāļ™āđ‰āļēāđ€āļ”āļĩāļĒāļ§
    • āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāđƒāļ™āļāļēāļĢāļŠāđˆāļ‡āļ„āļ·āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ OCR āļ•āđ‰āļ™āļ‰āļšāļąāļšāđāļĨāļ°āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļœāđˆāļēāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ
    • āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡ JSON āļ—āļĩāđˆāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™
  4. āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄāļāļŽāļŦāļĄāļēāļĒ

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

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

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

āļ™āļĩāđˆāļ„āļ·āļ­āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļ­āļāļŠāļēāļĢāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™āđāļĨāļ°āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ–āļđāļāđāļĒāļāļ­āļ­āļāļĄāļē:

āļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™

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

cURL

curl -X POST https://api.iapp.co.th/ocr/v3/civil-registeration-certificate/file \
-H apikey: YOUR_API_KEY \
-F file=@/path/to/document.jpg \
-F return_image=false \
-F return_ocr=false

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

{
"message": "success",
"processed": {
"header": "(āļ—āđ‰āļ­āļ‡āļ–āļīāđˆāļ™āđ€āļ‚āļ•āļĒāļēāļ™āļ™āļēāļ§āļē) āļ—.āļĢ. 14/1",
"title": "āđāļšāļšāļĢāļąāļšāļĢāļ­āļ‡āļĢāļēāļĒāļāļēāļĢāļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļēāļĐāļŽāļĢ āļˆāļēāļāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ—āļ°āđ€āļšāļĩāļĒāļ™\nāļŠāļģāļ™āļąāļāļ—āļ°āđ€āļšāļĩāļĒāļ™āļāļĨāļēāļ‡ āļāļĢāļĄāļāļēāļĢāļ›āļāļ„āļĢāļ­āļ‡ āļāļĢāļ°āļ—āļĢāļ§āļ‡āļĄāļŦāļēāļ”āđ„āļ—āļĒ",
"nationalIdNumber": "X-XXXX-XXXXX-XX-X",
"houseRegistrationNumber": "XXXX-XXXXXX-X",
"name": "āļ™āļēāļĒāļŠXXXXX XXXXXXXXXXX",
"gender": "āļŠāļēāļĒ",
"nationality": "āđ„āļ—āļĒ",
"dateOfBirth": "8 XXXXXXX 2498",
"age": 64,
"residentialStatus": "āđ€āļˆāđ‰āļēāļšāđ‰āļēāļ™",
"mothersName": "XXXXX",
"mothersNationality": "āļˆāļĩāļ™",
"fathersName": "XXXXX",
"fathersNationality": "āļˆāļĩāļ™",
"address": "XXX XXXXXXX XXX āđāļ‚āļ§āļ‡āļ•āļĨāļīāđˆāļ‡āļŠāļąāļ™ āđ€āļ‚āļ•āļ•āļĨāļīāđˆāļ‡āļŠāļąāļ™ āļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ",
"registrationOffice": "āļ—āđ‰āļ­āļ‡āļ–āļīāđˆāļ™āđ€āļ‚āļ•āļ•āļĨāļīāđˆāļ‡āļŠāļąāļ™",
"moveInDate": "28 āđ€āļ”āļ·āļ­āļ™ XXXXXXX āļž.āļĻ. 2537",
"additionalNotes": "āļšāļļāļ„āļ„āļĨāļ™āļĩāđ‰āļ–āļđāļāļˆāļģāļŦāļ™āđˆāļēāļĒāļŠāļ·āđˆāļ­āļˆāļēāļāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļ•āļēāļĒ āđ€āļĄāļ·āđˆāļ­ 14 XXXXXXXX 2562",
"remarks": "āļ„āļąāļ”āļĢāļąāļšāļĢāļ­āļ‡āļ•āļēāļĄāļ„āļģāļĢāđ‰āļ­āļ‡āļ—āļĩāđˆ āđ—āđ™āđāđ˜/āđ’āđ•āđ–āđ— āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ āđ’ āļāļąāļ™āļĒāļēāļĒāļ™ āđ’āđ•āđ–āđ—",
"lastUpdated": "āļ§āļąāļ™āļ—āļĩāđˆ 2 āđ€āļ”āļ·āļ­āļ™ āļāļąāļ™āļĒāļēāļĒāļ™ āļž.āļĻ. 2567",
"footer": {
"text": "āļĢāļąāļšāļĢāļ­āļ‡āļ§āđˆāļēāđ€āļ›āđ‡āļ™āļĢāļēāļĒāļāļēāļĢāļˆāļēāļāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļēāļĐāļŽāļĢ",
"date": "2 āđ€āļ”āļ·āļ­āļ™ āļāļąāļ™āļĒāļēāļĒāļ™ āļž.āļĻ. 2567",
"registrar": "āļ™āļēāļĒāļ­āļīāļ—āļ˜āļīāļžāļąāļ—āļ˜āđŒ āđ€āļĨāđ‡āļāļŠāļĨāļĒāļļāļ—āļ˜"
}
},
"process_ms": 8115
}

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

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

  1. āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ­āļāļŠāļēāļĢ

    • āļāļēāļĢāđāļĒāļāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļĨāļ°āļāļēāļĢāļˆāļ”āļˆāļģāļ‚āđ‰āļ­āļĄāļđāļĨāļ”āđ‰āļ§āļĒāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡
    • āļĢāļ­āļ‡āļĢāļąāļšāļ āļēāļĐāļēāđ„āļ—āļĒ
    • āļĢāļ­āļ‡āļĢāļąāļšāđ€āļ­āļāļŠāļēāļĢāļ—āļĩāđˆāļžāļīāļĄāļžāđŒ
    • āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāđˆāļĢāļ§āļ”āđ€āļĢāđ‡āļ§ 5-10 āļ§āļīāļ™āļēāļ—āļĩāļ•āđˆāļ­āđ€āļ­āļāļŠāļēāļĢ
    • āļĢāļ­āļ‡āļĢāļąāļšāļŦāļĨāļēāļĒāļĢāļđāļ›āđāļšāļš (JPEG, JPG, PNG, PDF)
    • āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđ€āļ­āļāļŠāļēāļĢāđāļšāļšāļŦāļ™āđ‰āļēāđ€āļ”āļĩāļĒāļ§
    • āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāđƒāļ™āļāļēāļĢāļŠāđˆāļ‡āļ„āļ·āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ OCR āļ•āđ‰āļ™āļ‰āļšāļąāļšāđāļĨāļ°āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļœāđˆāļēāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ
    • āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāđˆāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļš GDPR āđāļĨāļ° PDPA
  2. āļāļēāļĢāđāļĒāļāļ‚āđ‰āļ­āļĄāļđāļĨ

    • āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡ JSON āļ—āļĩāđˆāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļžāļĢāđ‰āļ­āļĄāļāļēāļĢāđāļĒāļāļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”

āļŸāļīāļĨāļ”āđŒāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšâ€‹

āļŸāļīāļĨāļ”āđŒāļŠāļ™āļīāļ”āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
headerStringāļŠāļ™āļīāļ”āđ€āļ­āļāļŠāļēāļĢāđāļĨāļ°āđ€āļĨāļ‚āļ—āļĩāđˆāđāļšāļšāļŸāļ­āļĢāđŒāļĄ
titleStringāļŠāļ·āđˆāļ­āđ€āļ­āļāļŠāļēāļĢāļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢ
nationalIdNumberStringāđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™ 13 āļŦāļĨāļąāļ
houseRegistrationNumberStringāđ€āļĨāļ‚āļ—āļĩāđˆāļšāđ‰āļēāļ™
nameStringāļŠāļ·āđˆāļ­āđ€āļ•āđ‡āļĄāļ‚āļ­āļ‡āļšāļļāļ„āļ„āļĨ
genderStringāđ€āļžāļĻāļ‚āļ­āļ‡āļšāļļāļ„āļ„āļĨ
nationalityStringāļŠāļąāļāļŠāļēāļ•āļīāļ‚āļ­āļ‡āļšāļļāļ„āļ„āļĨ
dateOfBirthStringāļ§āļąāļ™āđ€āļāļīāļ”āđƒāļ™āļĢāļđāļ›āđāļšāļšāđ„āļ—āļĒ
ageNumberāļ­āļēāļĒāļļāļ›āļąāļˆāļˆāļļāļšāļąāļ™
residentialStatusStringāļŠāļ–āļēāļ™āļ°āđƒāļ™āļ„āļĢāļąāļ§āđ€āļĢāļ·āļ­āļ™
mothersNameStringāļŠāļ·āđˆāļ­āđ€āļ•āđ‡āļĄāļ‚āļ­āļ‡āļĄāļēāļĢāļ”āļē
mothersNationalityStringāļŠāļąāļāļŠāļēāļ•āļīāļ‚āļ­āļ‡āļĄāļēāļĢāļ”āļē
fathersNameStringāļŠāļ·āđˆāļ­āđ€āļ•āđ‡āļĄāļ‚āļ­āļ‡āļšāļīāļ”āļē
fathersNationalityStringāļŠāļąāļāļŠāļēāļ•āļīāļ‚āļ­āļ‡āļšāļīāļ”āļē
addressStringāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™
registrationOfficeStringāļŠāļ·āđˆāļ­āļŠāļģāļ™āļąāļāļ‡āļēāļ™āļ—āļ°āđ€āļšāļĩāļĒāļ™
moveInDateStringāļ§āļąāļ™āļ—āļĩāđˆāļĒāđ‰āļēāļĒāđ€āļ‚āđ‰āļēāļĄāļēāļ­āļĒāļđāđˆāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™
additionalNotesStringāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ
remarksStringāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢ
lastUpdatedStringāļ§āļąāļ™āļ—āļĩāđˆāļ­āļąāļ›āđ€āļ”āļ•āļĨāđˆāļēāļŠāļļāļ”
footerObjectāļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĢāļąāļšāļĢāļ­āļ‡ āļ§āļąāļ™āļ—āļĩāđˆ āđāļĨāļ°āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ

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

āļāļēāļĢāļˆāļ”āļˆāļģāđ€āļ­āļāļŠāļēāļĢāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™â€‹

āļˆāļļāļ”āļŠāļīāđ‰āļ™āļŠāļļāļ”āļ™āļĩāđ‰āļˆāļ°āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļĢāļđāļ›āļ āļēāļžāļŦāļĢāļ·āļ­āđ€āļ­āļāļŠāļēāļĢ PDF āļ‚āļ­āļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™āđāļĨāļ°āļŠāđˆāļ‡āļ„āļ·āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđāļĒāļāļ­āļ­āļāļĄāļēāđƒāļ™āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļĄāļĩāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡

POST https://api.iapp.co.th/ocr/v3/civil-registeration-certificate/file

āļŠāđˆāļ§āļ™āļŦāļąāļ§āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­â€‹

āļŠāļ·āđˆāļ­āļŠāļ™āļīāļ”āļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
apikeystringāđƒāļŠāđˆAPI key āļ‚āļ­āļ‡āļ„āļļāļ“

āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ‚āļ­āļ‡āļ„āļģāļ‚āļ­ (multipart/form-data)​

āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļŠāļ™āļīāļ”āļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
filefileāđƒāļŠāđˆāļĢāļđāļ›āļ āļēāļžāđ€āļ­āļāļŠāļēāļĢ (JPEG, PNG) āļŦāļĢāļ·āļ­āđ€āļ­āļāļŠāļēāļĢ PDF
return_imagebooleanāđ„āļĄāđˆāđƒāļŠāđˆāļĢāļ§āļĄāļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ base64 āđƒāļ™āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡ (āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™: false)
return_ocrbooleanāđ„āļĄāđˆāđƒāļŠāđˆāļĢāļ§āļĄāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ OCR āļ”āļīāļšāđƒāļ™āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡ (āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™: false)

āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡â€‹

{
"message": "success",
"raw": {
"image": "string", // Base64 encoded, only if return_image=true
"text": "string" // Only if return_ocr=true
},
"processed": {
"header": "string",
"title": "string",
"nationalIdNumber": "string",
"houseRegistrationNumber": "string",
"name": "string",
"gender": "string",
"nationality": "string",
"dateOfBirth": "string",
"age": "number",
"residentialStatus": "string",
"mothersName": "string",
"mothersNationality": "string",
"fathersName": "string",
"fathersNationality": "string",
"address": "string",
"registrationOffice": "string",
"moveInDate": "string",
"additionalNotes": "string",
"remarks": "string",
"lastUpdated": "string",
"footer": {
"text": "string",
"date": "string",
"registrar": "string"
}
},
"process_ms": "number"
}

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”​

āļŠāļ–āļēāļ™āļ°āļĢāļŦāļąāļŠāļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
400BAD_REQUESTāļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļŦāļĢāļ·āļ­āļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒāđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡
401UNAUTHORIZEDAPI key āđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āļŦāļēāļĒāđ„āļ›
404NOT_FOUNDāļˆāļļāļ”āļŠāļīāđ‰āļ™āļŠāļļāļ”āđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡
500INTERNAL_SERVER_ERRORāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļĨāđ‰āļĄāđ€āļŦāļĨāļ§

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

Python​

import requests
apiKey = 'YOUR_API_KEY'
filePath = '/path/to/civil-registeration-certificate.jpg'
url = "https://api.iapp.co.th/ocr/v3/civil-registeration-certificate/file"

headers = {'apikey': apiKey}
files = {'file': ('civil-registeration-certificate.jpg', open(filePath, 'rb'), 'image/jpeg')}
data = {'return_image': 'false', 'return_ocr': 'false'}

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())

Javascript​

const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

const apiKey = 'YOUR_API_KEY';
const filePath = '/path/to/civil-registeration-certificate.jpg';
const url = 'https://api.iapp.co.th/ocr/v3/civil-registeration-certificate/file';

const form = new FormData();
form.append('file', fs.createReadStream(filePath));
form.append('return_image', 'false');
form.append('return_ocr', 'false');

try {
const response = await axios.post(
url,
form,
{
headers: {
...form.getHeaders(),
'apikey': apiKey
}
}
);
return response.data;
} catch (error) {
throw error;
}

PHP​

$url = 'https://api.iapp.co.th/ocr/v3/civil-registeration-certificate/file';
$apiKey = 'YOUR_API_KEY';
$filePath = '/path/to/civil-registeration-certificate.jpg';

$headers = array(
'apikey: ' . $apiKey
);

$postFields = array(
'file' => new CURLFile($filePath),
'return_image' => 'false',
'return_ocr' => 'false'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

Swift​

import Foundation

let url = URL(string: "https://api.iapp.co.th/ocr/v3/civil-registeration-certificate/file")!
let filePath = "/path/to/civil-registeration-certificate.jpg"
let apiKey = "YOUR_API_KEY"

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue(apiKey, forHTTPHeaderField: "apikey")

let boundary = UUID().uuidString
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

var body = Data()
body.append("--\(boundary)\r\n".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"file\"; filename=\"civil-registeration-certificate.jpg\"\r\n".data(using: .utf8)!)
body.append("Content-Type: image/jpeg\r\n\r\n".data(using: .utf8)!)
body.append(try! Data(contentsOf: URL(fileURLWithPath: filePath)))
body.append("\r\n--\(boundary)\r\n".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"return_image\"\r\n\r\nfalse\r\n".data(using: .utf8)!)
body.append("--\(boundary)\r\n".data(using: .utf8)!)
body.append("Content-Disposition: form-data; name=\"return_ocr\"\r\n\r\nfalse\r\n".data(using: .utf8)!)
body.append("--\(boundary)--\r\n".data(using: .utf8)!)

request.httpBody = body

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print("Error: \(error?.localizedDescription ?? "Unknown error")")
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Kotlin​

import okhttp3.*
import java.io.File

val client = OkHttpClient()
val apiKey = "YOUR_API_KEY"
val filePath = "/path/to/civil-registeration-certificate.jpg"
val url = "https://api.iapp.co.th/ocr/v3/civil-registeration-certificate/file"

val file = File(filePath)
val requestBody = MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.name, RequestBody.create(MediaType.parse("image/jpeg"), file))
.addFormDataPart("return_image", "false")
.addFormDataPart("return_ocr", "false")
.build()

val request = Request.Builder()
.url(url)
.post(requestBody)
.addHeader("apikey", apiKey)
.build()

client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
e.printStackTrace()
}

override fun onResponse(call: Call, response: Response) {
response.use {
if (!response.isSuccessful) throw IOException("Unexpected code $response")
println(response.body()?.string())
}
}
})

Java​

import okhttp3.*;
import java.io.File;
import java.io.IOException;

public class Main {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();

String apiKey = "YOUR_API_KEY";
String url = "https://api.iapp.co.th/ocr/v3/civil-registeration-certificate/file";
String filePath = "/path/to/civil-registeration-certificate.jpg";

File file = new File(filePath);
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.getName(), RequestBody.create(MediaType.parse("image/jpeg"), file))
.addFormDataPart("return_image", "false")
.addFormDataPart("return_ocr", "false")
.build();

Request request = new Request.Builder()
.url(url)
.post(requestBody)
.addHeader("apikey", apiKey)
.build();

client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}

@Override
public void onResponse(Call call, Response response) throws IOException {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}
});
}
}

Dart​

import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;

String url = 'https://api.iapp.co.th/ocr/v3/civil-registeration-certificate/file';
String filePath = '/path/to/civil-registeration-certificate.jpg';
String apiKey = 'YOUR_API_KEY';

void main() async {
var url = Uri.parse(url);
var request = http.MultipartRequest('POST', url)
..headers['apikey'] = apiKey
..files.add(await http.MultipartFile.fromPath('file', filePath))
..fields['return_image'] = 'false'
..fields['return_ocr'] = 'false';

var response = await request.send();

if (response.statusCode == 200) {
var responseData = await response.stream.bytesToString();
print(responseData);
} else {
print('Error: ${response.statusCode}');
}
}

āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āđāļĨāļ°āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”​

āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”​

  • āļ‚āļ™āļēāļ”āđ„āļŸāļĨāđŒāļŠāļđāļ‡āļŠāļļāļ”: 10MB
  • āļ āļēāļĐāļēāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš: āđ„āļ—āļĒ
  • āđ„āļŸāļĨāđŒ PDF: āļŦāļ™āđ‰āļēāđ€āļ”āļĩāļĒāļ§āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
  • āļ‚āļĩāļ”āļˆāļģāļāļąāļ”āļ­āļąāļ•āļĢāļē: 10 āļ„āļģāļ‚āļ­āļ•āđˆāļ­āļ§āļīāļ™āļēāļ—āļĩāļ•āđˆāļ­ API key

āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”​

  1. āļ•āļĢāļ§āļˆāļŠāļ­āļšāđƒāļŦāđ‰āđāļ™āđˆāđƒāļˆāļ§āđˆāļēāļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļĢāļđāļ›āļ āļēāļžāļ”āļĩāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ„āļ”āđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”
  2. āđƒāļŠāđ‰āļĢāļđāļ›āđāļšāļš JPEG āļŦāļĢāļ·āļ­ PNG āļŠāļģāļŦāļĢāļąāļšāļĢāļđāļ›āļ āļēāļž
  3. āđƒāļŠāđ‰āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļŠāļģāļŦāļĢāļąāļšāļ„āļģāļ‚āļ­āļ—āļĩāđˆāļĨāđ‰āļĄāđ€āļŦāļĨāļ§
  4. āđāļ„āļŠāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āđ€āļĄāļ·āđˆāļ­āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ­āļāļŠāļēāļĢāđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļŦāļĨāļēāļĒāļ„āļĢāļąāđ‰āļ‡
  5. āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļŦāļĄāļ”āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāļŠāļģāļŦāļĢāļąāļšāđ„āļŸāļĨāđŒāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ

āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđāļĨāļ°āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžâ€‹

āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđ‚āļ”āļĒāļĢāļ§āļĄâ€‹

āļˆāļēāļāļŠāļļāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļĄāļēāļ•āļĢāļāļēāļ™āļ‚āļ­āļ‡āđ€āļĢāļē 1,000 āđ€āļ­āļāļŠāļēāļĢāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™āļ āļēāļĐāļēāđ„āļ—āļĒ:

āļŠāļ™āļīāļ”āļŸāļīāļĨāļ”āđŒāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ (%)āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ
āđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§99.5%āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđāļĨāļ°āđ€āļĨāļ‚āļ—āļĩāđˆāļšāđ‰āļēāļ™
āļŠāļ·āđˆāļ­99.2%āļŠāļ·āđˆāļ­āļšāļļāļ„āļ„āļĨāđāļĨāļ°āļŠāļ·āđˆāļ­āļšāļīāļ”āļē-āļĄāļēāļĢāļ”āļē
āļ§āļąāļ™āļ—āļĩāđˆ98.7%āļ§āļąāļ™āđ€āļāļīāļ”āđāļĨāļ°āļ§āļąāļ™āļ—āļĩāđˆāļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™
āļ—āļĩāđˆāļ­āļĒāļđāđˆ97.8%āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āđ‚āļ”āļĒāļĢāļ§āļĄ98.8%āļ„āđˆāļēāđ€āļ‰āļĨāļĩāđˆāļĒāļ–āđˆāļ§āļ‡āļ™āđ‰āļģāļŦāļ™āļąāļ

āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ​

  • āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ‰āļĨāļĩāđˆāļĒ: 5-10 āļ§āļīāļ™āļēāļ—āļĩ
  • āđ€āļ›āļ­āļĢāđŒāđ€āļ‹āđ‡āļ™āđ„āļ—āļĨāđŒāļ—āļĩāđˆ 95: 12 āļ§āļīāļ™āļēāļ—āļĩ
  • āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļŠāļđāļ‡āļŠāļļāļ”: 15 āļ§āļīāļ™āļēāļ—āļĩ

āļ›āļąāļˆāļˆāļąāļĒāļ—āļĩāđˆāļĄāļĩāļœāļĨāļ•āđˆāļ­āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ​

  1. āļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļĢāļđāļ›āļ āļēāļž

    • āļ„āļ§āļēāļĄāļĨāļ°āđ€āļ­āļĩāļĒāļ” (āđāļ™āļ°āļ™āļģāļ­āļĒāđˆāļēāļ‡āļ™āđ‰āļ­āļĒ 300 DPI)
    • āļŠāļ āļēāļžāđāļŠāļ‡
    • āļ„āļ§āļēāļĄāļ„āļĄāļŠāļąāļ”āļ‚āļ­āļ‡āļ āļēāļž
  2. āļŠāļ āļēāļžāļ‚āļ­āļ‡āđ€āļ­āļāļŠāļēāļĢ

    • āļ„āļ§āļēāļĄāđ€āļŠāļĩāļĒāļŦāļēāļĒāļ—āļēāļ‡āļāļēāļĒāļ āļēāļž
    • āļāļēāļĢāļ‹āļĩāļ”āļˆāļēāļ‡āļŦāļĢāļ·āļ­āļāļēāļĢāļŠāļķāļāļŦāļĢāļ­
    • āļāļēāļĢāđāļāđ‰āđ„āļ‚āļ”āđ‰āļ§āļĒāļĨāļēāļĒāļĄāļ·āļ­
  3. āļĢāļđāļ›āđāļšāļšāđ€āļ­āļāļŠāļēāļĢ

    • āļĢāļđāļ›āđāļšāļšāļĄāļēāļ•āļĢāļāļēāļ™: āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ 99%+
    • āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļĄāļēāļ•āļĢāļāļēāļ™: āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ 95%+
    • āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļĨāļēāļĒāļĄāļ·āļ­: āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ 90%+

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

āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļ‚āļ­āļ‡āđ€āļĢāļēāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļāļķāļāļāļ™āļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡āļšāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļŦāļĄāđˆāđ€āļžāļ·āđˆāļ­āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ:

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ§āļąāļ™āļ—āļĩāđˆāđ€āļœāļĒāđāļžāļĢāđˆāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ—āļĩāđˆāļŠāļģāļ„āļąāļ
3.02024-12-2796.5%āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļžāļ·āđ‰āļ™āļāļēāļ™