Skip to main content

🊊 āļāļēāļĢāļˆāļ”āļˆāļģāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļˆāļēāļāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒāļ”āđ‰āļ§āļĒ (Thai National ID Card OCR)

🊊 āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒ

Version Status New

āļĒāļīāļ™āļ”āļĩāļ•āđ‰āļ­āļ™āļĢāļąāļšāļŠāļđāđˆ Thai National ID Card OCR API āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 3.5 āļœāļĨāļīāļ•āļ āļąāļ“āļ‘āđŒ AI āļ—āļĩāđˆāļžāļąāļ’āļ™āļēāđ‚āļ”āļĒāļšāļĢāļīāļĐāļąāļ— āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ āļˆāļģāļāļąāļ” API āļ‚āļ­āļ‡āđ€āļĢāļēāļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļˆāļēāļāļ”āđ‰āļēāļ™āļŦāļ™āđ‰āļēāđāļĨāļ°āļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡āļ‚āļ­āļ‡āļ āļēāļžāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒāļ”āđ‰āļ§āļĒāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđāļĨāļ°āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļŠāļđāļ‡ API āļ‚āļ­āļ‡āđ€āļĢāļēāļŠāļ™āļąāļšāļŠāļ™āļļāļ™āļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒ JPEG, JPG, PNG, HEIC, HEIF āđāļĨāļ° PDF āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ āļēāļžāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ”āđ‰āļ āļēāļĒāđƒāļ™ 1-2 āļ§āļīāļ™āļēāļ—āļĩ

Try Demo

Visit our API Portal to test the Thai National ID Card OCR API with your own images.

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

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

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

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

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

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

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

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

āļ”āđ‰āļēāļ™āļŦāļ™āđ‰āļē​

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒ (āļ”āđ‰āļēāļ™āļŦāļ™āđ‰āļē)

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

curl -X POST https://api.iapp.co.th/thai-national-id-card/v3.5/front
-H "apikey: YOUR_API_KEY"
-F "file=@/path/to/idcard.jpg"

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

{
"address": "XXXXXX XXXX X āļ•.āļŦāļ™āļ­āļ‡āļ›āļĢāļ·āļ­ āļ­.āļšāļēāļ‡āļĨāļ°āļĄāļļāļ‡ āļˆ.āļŠāļĨāļšāļļāļĢāļĩ",
"alley": "",
"detection_score": 0.981011797984441,
"district": "āļšāļēāļ‡āļĨāļ°āļĄāļļāļ‡",
"en_dob": "XX Mar 1957",
"en_expire": "XX Mar 2025",
"en_fname": "XXXXXX",
"en_init": "Mrs.",
"en_issue": "26 Jul 2016",
"en_lname": "Lopez",
"en_name": "Mrs. XXXXXX Lopez",
"error_message": "",
"face": "/9j/4AAQ...UAFFFFAH/9k=", # Base64 of photo's image
"gender": "Female",
"home_address": "XXXXX XXX",
"house_no": "XXXXXX",
"id_number": "34117XXXXXX334",
"id_number_status": 1,
"lane": "",
"postal_code": "20150", # Automatic Retrieve from Database
"process_time": 1.3018648624420166, # Seconds
"province": "āļŠāļĨāļšāļļāļĢāļĩ",
"religion": "",
"request_id": null,
"road": "",
"sub_district": "āļŦāļ™āļ­āļ‡āļ›āļĢāļ·āļ­",
"th_dob": "XX āļĄāļĩ.āļ„. 2500",
"th_expire": "XX āļĄāļĩ.āļ„. 2568",
"th_fname": "XXXXX",
"th_init": "āļ™āļēāļ‡",
"th_issue": "XX āļ.āļ„. 2559",
"th_lname": "āđ‚āļĨāđ€āļ›āļ‹",
"th_name": "āļ™āļēāļ‡ XXXXX āđ‚āļĨāđ€āļ›āļ‹",
"village": "",
"village_no": "7"
}

āļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡â€‹

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒ (āļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡)

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

curl --location --request POST 'https://api.iapp.co.th/thai-national-id-card/v3.5/back' \
--header 'apikey: {Your API Key}' \
--form 'file=@"path/to/id-card-back.jpg"'

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

{
"back_number": "JT0-1740123-05",
"detection_score": 0.99846746524175,
"process_time": 1.370201416015625
}

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

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

  • āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡ (āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļĢāļ°āļ”āļąāļšāļ­āļąāļāļ‚āļĢāļ° 98.13%)
  • āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāđˆāļĢāļ§āļ”āđ€āļĢāđ‡āļ§ (1-3 āļ§āļīāļ™āļēāļ—āļĩāļ•āđˆāļ­āļšāļąāļ•āļĢ)
  • āļĢāļ­āļ‡āļĢāļąāļšāļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒāļŦāļĨāļēāļĒāļĢāļđāļ›āđāļšāļš (JPEG, JPG, PNG, HEIC, HEIF, PDF)
  • āļāļēāļĢāļ„āļĢāļ­āļšāļ•āļąāļ”āđāļĨāļ°āļāļēāļĢāļŦāļĄāļļāļ™āļšāļąāļ•āļĢāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī
  • āļŠāđˆāļ‡āļ„āļ·āļ™āļāļĨāđˆāļ­āļ‡āļĨāđ‰āļ­āļĄāļĢāļ­āļšāđāļĨāļ°āļ„āļ°āđāļ™āļ™āļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ
  • āļŠāđˆāļ‡āļ„āļ·āļ™āļ āļēāļžāļšāļąāļ•āļĢāđāļĨāļ°āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļĢāļđāļ›āđāļšāļš Base64
  • āļŠāđˆāļ‡āļ„āļ·āļ™āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ OCR āļ”āļīāļš
  • āļĢāļ­āļ‡āļĢāļąāļšāļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡āļ‚āļ­āļ‡āļšāļąāļ•āļĢāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļŠāļīāļ›

āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšâ€‹

āļ”āđ‰āļēāļ™āļŦāļ™āđ‰āļē​

āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ™āļīāļ”āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
addressStringāļ—āļĩāđˆāļ­āļĒāļđāđˆāļšāļ™āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™
detection_scorefloatāļ„āļ°āđāļ™āļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļ‚āļ­āļ‡āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡
districtStringāļŠāļ·āđˆāļ­āļ­āļģāđ€āļ āļ­āļšāļ™āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™
en_dobStringāļ§āļąāļ™āđ€āļ”āļ·āļ­āļ™āļ›āļĩāđ€āļāļīāļ” āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ
en_expireStringāļ§āļąāļ™āļŦāļĄāļ”āļ­āļēāļĒāļļ āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ
en_fnameStringāļŠāļ·āđˆāļ­ (āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ)
en_initStringāļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļŠāļ·āđˆāļ­ (āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ)
en_issueStringāļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāļšāļąāļ•āļĢ (āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ)
en_lnameStringāļ™āļēāļĄāļŠāļāļļāļĨ (āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ)
en_nameStringāļŠāļ·āđˆāļ­āđāļĨāļ°āļ™āļēāļĄāļŠāļāļļāļĨ (āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐ)
error_messageStringāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”
faceStringāļŠāļ•āļĢāļīāļ‡āļ­āļąāļāļ‚āļĢāļ° Base64 āļ—āļĩāđˆāđāļ›āļĨāļ‡āļˆāļēāļāļ āļēāļž
genderStringāđ€āļžāļĻ
home_addressStringāļ—āļĩāđˆāļ­āļĒāļđāđˆāļšāđ‰āļēāļ™āļšāļ™āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™
id_numberStringāđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļ›āļĢāļ°āļŠāļēāļŠāļ™
postal_codeStringāļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒ
process_timeStringāđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ (āļ§āļīāļ™āļēāļ—āļĩ)
provinceStringāļŠāļ·āđˆāļ­āļˆāļąāļ‡āļŦāļ§āļąāļ”āļšāļ™āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™
religionStringāļĻāļēāļŠāļ™āļēāļšāļ™āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™
sub_districtStringāļŠāļ·āđˆāļ­āļ•āļģāļšāļĨāļšāļ™āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™
th_dobStringāļ§āļąāļ™āđ€āļ”āļ·āļ­āļ™āļ›āļĩāđ€āļāļīāļ” āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāđ„āļ—āļĒ
th_expireStringāļ§āļąāļ™āļŦāļĄāļ”āļ­āļēāļĒāļļ āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāđ„āļ—āļĒ
th_fnameStringāļŠāļ·āđˆāļ­ (āļ āļēāļĐāļēāđ„āļ—āļĒ)
th_initStringāļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļŠāļ·āđˆāļ­ (āļ āļēāļĐāļēāđ„āļ—āļĒ)
th_issueStringāļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāļšāļąāļ•āļĢ (āļ āļēāļĐāļēāđ„āļ—āļĒ)
th_lnameStringāļ™āļēāļĄāļŠāļāļļāļĨ (āļ āļēāļĐāļēāđ„āļ—āļĒ)
th_nameStringāļŠāļ·āđˆāļ­āđāļĨāļ°āļ™āļēāļĄāļŠāļāļļāļĨ (āļ āļēāļĐāļēāđ„āļ—āļĒ)

āļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡â€‹

āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ™āļīāļ”āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
back_numberStringāđ€āļĨāļ‚āđ€āļĨāđ€āļ‹āļ­āļĢāđŒāļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™

āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ—āļąāđˆāļ§āđ„āļ›â€‹

āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ™āļīāļ”āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
detection_scoreFloatāļ„āļ°āđāļ™āļ™āļ„āļ§āļēāļĄāļĄāļąāđˆāļ™āđƒāļˆ (0-1)
error_messageStringāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļŦāļēāļāļ„āļģāļ‚āļ­āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ
process_timeFloatāđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ›āđ‡āļ™āļ§āļīāļ™āļēāļ—āļĩ

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

āļāļēāļĢāļˆāļ”āļˆāļģāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒ​

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

āļ”āđ‰āļēāļ™āļŦāļ™āđ‰āļē​

POST https://api.iapp.co.th/thai-national-id-card/v3.5/front

āļŠāđˆāļ§āļ™āļŦāļąāļ§āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­â€‹
āļŠāļ·āđˆāļ­āļŠāļ™āļīāļ”āļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
apikeystringāđƒāļŠāđˆAPI key āļ‚āļ­āļ‡āļ„āļļāļ“
āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ‚āļ­āļ‡āļ„āļģāļ‚āļ­ (multipart/form-data)​
āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļŠāļ™āļīāļ”āļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
fileFileāđƒāļŠāđˆāļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļšāļ™āļēāļĢāļĩāļ‚āļ­āļ‡āļ āļēāļž (āļ”āđ‰āļēāļ™āļŦāļ™āđ‰āļē)
fieldsStringāđ„āļĄāđˆāđƒāļŠāđˆāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāđƒāļ™āļāļēāļĢāđ€āļĨāļ·āļ­āļāļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āđ€āļ­āļēāļ•āđŒāļžāļļāļ•
optionsStringāđ„āļĄāđˆāđƒāļŠāđˆāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāđƒāļ™āļāļēāļĢāđ€āļĨāļ·āļ­āļāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđāļĨāļ°āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ

āļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡â€‹

POST https://api.iapp.co.th/thai-national-id-card/v3.5/back

āļŠāđˆāļ§āļ™āļŦāļąāļ§āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­â€‹
āļŠāļ·āđˆāļ­āļŠāļ™āļīāļ”āļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
apikeystringāđƒāļŠāđˆAPI key āļ‚āļ­āļ‡āļ„āļļāļ“
āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ‚āļ­āļ‡āļ„āļģāļ‚āļ­ (multipart/form-data)​
āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļŠāļ™āļīāļ”āļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
fileFileāđƒāļŠāđˆāļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļšāļ™āļēāļĢāļĩāļ‚āļ­āļ‡āļ āļēāļž (āļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡)
optionsStringāđ„āļĄāđˆāđƒāļŠāđˆāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāđƒāļ™āļāļēāļĢāđ€āļĨāļ·āļ­āļāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđāļĨāļ°āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ

āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆâ€‹

  • not_crop_card - āļ‚āđ‰āļēāļĄāļāļēāļĢāļ„āļĢāļ­āļšāļ•āļąāļ”āļšāļąāļ•āļĢ
  • not_rotate_card - āļ‚āđ‰āļēāļĄāļāļēāļĢāļŦāļĄāļļāļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī
  • get_bbox - āļŠāđˆāļ‡āļ„āļ·āļ™āļžāļīāļāļąāļ”āļāļĨāđˆāļ­āļ‡āļĨāđ‰āļ­āļĄāļĢāļ­āļš
  • get_image - āļŠāđˆāļ‡āļ„āļ·āļ™āļ āļēāļžāļ—āļĩāđˆāļœāđˆāļēāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ
  • get_original - āļŠāđˆāļ‡āļ„āļ·āļ™āļ āļēāļžāļ•āđ‰āļ™āļ‰āļšāļąāļš
āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļŠāļģāļŦāļĢāļąāļšāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆâ€‹

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

āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ”āđ‰āļ§āļĒāļ•āļąāļ§āđ€āļĨāļ·āļ­āļ get_bbox​

āļŠāđˆāļ‡āļ„āļ·āļ™āļžāļīāļāļąāļ”āļāļĨāđˆāļ­āļ‡āļĨāđ‰āļ­āļĄāļĢāļ­āļšāļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ•āļĢāļ§āļˆāļžāļšāđƒāļ™āļĢāļđāļ›āđāļšāļš [x1, y1, x2, y2] āļžāļĢāđ‰āļ­āļĄāļ„āļ°āđāļ™āļ™āļ„āļ§āļēāļĄāļĄāļąāđˆāļ™āđƒāļˆ:

{
"bbox": {
"address": [
[[119, 292, 376, 334], 0.991],
[[75, 330, 255, 362], 0.999]
],
"card": [[[0, 0, 713, 462], 0.99]],
"en_dob": [[[370, 235, 526, 266], 0.999]],
"face": [[[544, 218, 708, 407], 0.999]]
// āļžāļīāļāļąāļ”āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļ·āđˆāļ™āđ†...
}
}
āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ”āđ‰āļ§āļĒāļ•āļąāļ§āđ€āļĨāļ·āļ­āļ get_image​

āļŠāđˆāļ‡āļ„āļ·āļ™āļ āļēāļžāļ—āļĩāđˆāļ„āļĢāļ­āļšāļ•āļąāļ”āđāļĨāđ‰āļ§āđƒāļ™āļĢāļđāļ›āđāļšāļš Base64 āļŠāļģāļŦāļĢāļąāļšāđāļ•āđˆāļĨāļ°āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ•āļĢāļ§āļˆāļžāļš:

{
"image": {
"address": ["/9j/4AAQSk...", "/9j/4AAQSk..."],
"card": ["/9j/4AAQSk..."],
"face": ["/9j/4AAQSk..."],
"id_number": ["/9j/4AAQSk..."]
// āļ āļēāļžāļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļ·āđˆāļ™āđ†...
}
}
āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ”āđ‰āļ§āļĒāļ•āļąāļ§āđ€āļĨāļ·āļ­āļ get_original​

āļŠāđˆāļ‡āļ„āļ·āļ™āļ„āđˆāļēāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄāļāđˆāļ­āļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāđāļāđ‰āđ„āļ‚āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī (āļ‹āļķāđˆāļ‡āđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āđƒāļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļŦāļĨāļąāļ‡āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ) āļ—āļĩāđˆāļ•āļĢāļ§āļˆāļžāļšāļˆāļēāļāļšāļąāļ•āļĢ:

{
"original": {
"address": "XXXXX XXXXX X āļ•.āļŦāļ™āļ­āļ‡āļ›āļĢāļ·āļ­ āļ­.āļšāļēāļ‡āļĨāļ°āļĄāļļāļ‡ āļˆ.āļŠāļĨāļšāļļāļĢāļĩ",
"en_dob": "XX Mar. 1957",
"en_expire": "XX Mar. 2025",
"th_name": "āļ™āļēāļ‡ XXXXXX āđ‚āļĨāđ€āļ›āļ‹"
// āļ„āđˆāļēāļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄāļ­āļ·āđˆāļ™āđ†...
}
}

āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļˆāļ°āļĢāļ§āļĄāļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļĄāļēāļ•āļĢāļāļēāļ™ āđ€āļŠāđˆāļ™ detection_score, error_message āđāļĨāļ° process_time āđ€āļŠāļĄāļ­ āđ„āļĄāđˆāļ§āđˆāļēāļˆāļ°āđƒāļŠāđ‰āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāđƒāļ”āļāđ‡āļ•āļēāļĄ

āļĢāļŦāļąāļŠāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”​

āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđ€āļ‰āļžāļēāļ°â€‹

āļ”āđ‰āļēāļ™āļŦāļ™āđ‰āļēāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒ​

āļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļ–āļēāļ™āļ°āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
420NO_ID_CARD_FOUNDāđ„āļŸāļĨāđŒāļ āļēāļžāđ„āļĄāđˆāđƒāļŠāđˆāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™
421IMAGE_ERROR_UNSUPPORTED_FORMATāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđāļāđ‰āđ„āļ‚āļ āļēāļžāđ„āļ”āđ‰ āļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒāļ­āļēāļˆāđ„āļĄāđˆāļĢāļ­āļ‡āļĢāļąāļšāļŦāļĢāļ·āļ­āđ„āļŸāļĨāđŒāđ€āļŠāļĩāļĒāļŦāļēāļĒ
422INVALID_IMAGE_SIZEāļ‚āļ™āļēāļ”āļ‚āļ­āļ‡āļ āļēāļžāļ—āļĩāđˆāļ­āļąāļ›āđ‚āļŦāļĨāļ”āđ„āļĄāđˆāļ•āļĢāļ‡āļ•āļēāļĄāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”
424PLEASE_VERIFY_ID_CARD_NUMBERāđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļ›āļĢāļ°āļŠāļēāļŠāļ™āļĄāļĩ 13 āļŦāļĨāļąāļāđāļ•āđˆāđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ āļĢāļŦāļąāļŠāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡ 424 āļˆāļ°āđāļŠāļ”āļ‡āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ id_check
425CANNOT_READ_ID_CARD_NUMBER_CLEARLYāđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļ›āļĢāļ°āļŠāļēāļŠāļ™āļĄāļĩāļ™āđ‰āļ­āļĒāļāļ§āđˆāļē 13 āļŦāļĨāļąāļ āļĢāļŦāļąāļŠāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡ 425 āļˆāļ°āđāļŠāļ”āļ‡āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ id_check
426IMAGE_ERROR_UNSUPPORTED_BLACK_WHITE_IMAGEāđƒāļŠāđ‰āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ gray_check āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ āļēāļžāļ‚āļēāļ§āļ”āļģāđāļĨāļ°āļ āļēāļžāļĢāļ°āļ”āļąāļšāļŠāļĩāđ€āļ—āļē

āļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒ​

āļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļ–āļēāļ™āļ°āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
430NO_ID_CARD_FOUNDāđ„āļŸāļĨāđŒāļ āļēāļžāđ„āļĄāđˆāđƒāļŠāđˆāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™
431IMAGE_ERROR_UNSUPPORTED_FORMATāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđāļāđ‰āđ„āļ‚āļ āļēāļžāđ„āļ”āđ‰ āļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒāļ­āļēāļˆāđ„āļĄāđˆāļĢāļ­āļ‡āļĢāļąāļšāļŦāļĢāļ·āļ­āđ„āļŸāļĨāđŒāđ€āļŠāļĩāļĒāļŦāļēāļĒ
432INVALID_IMAGE_SIZEāļ‚āļ™āļēāļ”āļ‚āļ­āļ‡āļ āļēāļžāļ—āļĩāđˆāļ­āļąāļ›āđ‚āļŦāļĨāļ”āđ„āļĄāđˆāļ•āļĢāļ‡āļ•āļēāļĄāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”
434LASER_NUMBER_NOT_FOUNDāļ•āļĢāļ§āļˆāđ„āļĄāđˆāļžāļšāđ€āļĨāļ‚āđ€āļĨāđ€āļ‹āļ­āļĢāđŒāļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™
435CANNOT_READ_LASER_NUMBER_CLEARLYāđ€āļĨāļ‚āđ€āļĨāđ€āļ‹āļ­āļĢāđŒāļĄāļĩāļ™āđ‰āļ­āļĒāļāļ§āđˆāļē 12 āļŦāļĨāļąāļ āļĢāļŦāļąāļŠāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡ 435 āļˆāļ°āđāļŠāļ”āļ‡āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ id_check
436IMAGE_ERROR_UNSUPPORTED_BLACK_WHITE_IMAGEāđƒāļŠāđ‰āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ gray_check āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ āļēāļžāļ‚āļēāļ§āļ”āļģāđāļĨāļ°āļ āļēāļžāļĢāļ°āļ”āļąāļšāļŠāļĩāđ€āļ—āļē

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

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

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

āļŠāļ·āđˆāļ­āļšāļĢāļīāļāļēāļĢ AI APIāļˆāļļāļ”āļŠāļīāđ‰āļ™āļŠāļļāļ”IC āļ•āđˆāļ­āļ„āļģāļ‚āļ­On-Premise
Thai National ID Card OCR (v3.5)iapp_thai_national_id_card_ocr_v3.5_back0.75 IC/Requestāļ•āļīāļ”āļ•āđˆāļ­
iapp_thai_national_id_card_ocr_v3.5_front1.25 IC/Request

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

Python​

    import requests

url = "https://api.iapp.co.th/thai-national-id-card/v3.5/front"

payload = {
'options': 'get_bbox,get_image'
}

files = [
('file',('id-card.jpg',open('path/to/id-card.jpg','rb'),'image/jpeg'))
]

headers = {
'apikey': 'YOUR_API_KEY'
}

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

JavaScript​

const axios = require("axios")
const FormData = require("form-data")
const fs = require("fs")

const form = new FormData()
form.append("file", fs.createReadStream("path/to/id-card.jpg"))
form.append("options", "get_bbox,get_image")

const config = {
method: "post",
url: "https://api.iapp.co.th/thai-national-id-card/v3.5/front",
headers: {
apikey: "YOUR_API_KEY",
...form.getHeaders(),
},
data: form,
}

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

PHP​

    <?php
$curl = curl_init();

$post_data = array(
'file'=> new CURLFile('path/to/id-card.jpg'),
'options' => 'get_bbox,get_image'
);

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/thai-national-id-card/v3.5/front',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $post_data,
CURLOPT_HTTPHEADER => array(
'apikey: YOUR_API_KEY'
),
));

$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>

Swift​

    import Foundation

let headers = [
"apikey": "YOUR_API_KEY"
]

let parameters = [
[
"name": "file",
"fileName": "path/to/id-card.jpg"
],
[
"name": "options",
"value": "get_bbox,get_image"
]
]

let boundary = "Boundary-\(UUID().uuidString)"
var body = ""
var error: Error? = nil

for param in parameters {
if let fileName = param["fileName"] {
let fileContent = try? String(contentsOfFile: fileName, encoding: .utf8)
body += "--\(boundary)\r\n"
body += "Content-Disposition:form-data; name=\"\(param["name"] ?? "")\""
body += "; filename=\"\(fileName)\"\r\n"
body += "Content-Type: image/jpeg\r\n\r\n"
body += fileContent ?? ""
} else {
body += "--\(boundary)\r\n"
body += "Content-Disposition:form-data; name=\"\(param["name"] ?? "")\"\r\n\r\n"
body += param["value"] ?? ""
}
}

let postData = body.data(using: .utf8)

var request = URLRequest(url: URL(string: "https://api.iapp.co.th/thai-national-id-card/v3.5/front")!,timeoutInterval: Double.infinity)
request.addValue("YOUR_API_KEY", forHTTPHeaderField: "apikey")
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​

    import okhttp3.*
import java.io.File

val client = OkHttpClient()

val mediaType = MediaType.parse("image/jpeg")
val file = File("path/to/id-card.jpg")
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file", file.name, RequestBody.create(mediaType, file))
.addFormDataPart("options", "get_bbox,get_image")
.build()

val request = Request.Builder()
.url("https://api.iapp.co.th/thai-national-id-card/v3.5/front")
.addHeader("apikey", "YOUR_API_KEY")
.post(body)
.build()

client.newCall(request).execute().use { response ->
println(response.body()?.string())
}

Java​

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

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

MediaType mediaType = MediaType.parse("image/jpeg");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file", "id-card.jpg",
RequestBody.create(mediaType, new File("path/to/id-card.jpg")))
.addFormDataPart("options", "get_bbox,get_image")
.build();

Request request = new Request.Builder()
.url("https://api.iapp.co.th/thai-national-id-card/v3.5/front")
.method("POST", body)
.addHeader("apikey", "YOUR_API_KEY")
.build();

try {
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
} catch(Exception e) {
e.printStackTrace();
}
}
}

Dart​

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

void main() async {
var request = http.MultipartRequest('POST',
Uri.parse('https://api.iapp.co.th/thai-national-id-card/v3.5/front'));

request.files.add(await http.MultipartFile.fromPath(
'file', 'path/to/id-card.jpg'));

request.fields['options'] = 'get_bbox,get_image';

request.headers.addAll({
'apikey': 'YOUR_API_KEY'
});

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

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

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

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

  • āļ‚āļ™āļēāļ”āđ„āļŸāļĨāđŒāļŠāļđāļ‡āļŠāļļāļ”: 10MB
  • āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš: JPEG, JPG, PNG, HEIC, HEIF, PDF

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

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

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

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

  • āļ„āļ°āđāļ™āļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āļŠāļđāļ‡āļāļ§āđˆāļē 96%
  • āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđ€āļ‰āļžāļēāļ°āļŠāđˆāļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āđ„āļ›

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

  • āđ‚āļ”āļĒāđ€āļ‰āļĨāļĩāđˆāļĒ: 1-2 āļ§āļīāļ™āļēāļ—āļĩ
  • āļ­āļēāļˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āđ„āļ›āļ•āļēāļĄāļ‚āļ™āļēāļ”āđāļĨāļ°āļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļ āļēāļž

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

  1. āļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļ āļēāļž
    • āļ„āļ§āļēāļĄāļĨāļ°āđ€āļ­āļĩāļĒāļ” (āļ‚āļąāđ‰āļ™āļ•āđˆāļģ 300 DPS)
    • āđāļŠāļ‡āļŠāļ§āđˆāļēāļ‡
    • āđ‚āļŸāļāļąāļŠ
  2. āļŠāļ āļēāļžāļ‚āļ­āļ‡āļšāļąāļ•āļĢ
    • āļ„āļ§āļēāļĄāđ€āļŠāļĩāļĒāļŦāļēāļĒāļ—āļēāļ‡āļāļēāļĒāļ āļēāļž
    • āļāļēāļĢāļŠāļ°āļ—āđ‰āļ­āļ™āđāļŠāļ‡
    • āļ„āļ§āļēāļĄāļŠāļąāļ”āđ€āļˆāļ™āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ

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

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ§āļąāļ™āļ—āļĩāđˆāļ§āļēāļ‡āļˆāļģāļŦāļ™āđˆāļēāļĒāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ—āļĩāđˆāļŠāļģāļ„āļąāļ
3.5āļž.āļĒ. 202298.13%āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ OCR āđƒāļŦāļĄāđˆ āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāđˆāđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™
3.4āļ.āļ„. 202293.25%āđ€āļžāļīāđˆāļĄāļĒāļĻāļ—āļŦāļēāļĢāđ„āļ—āļĒ
3.1-3.3āļž.āļ„.-āļ.āļ„. 202192.75%āļāļēāļĢāđ€āļ›āļīāļ”āļ•āļąāļ§āđ€āļšāļ•āđ‰āļēāļ āļēāļĒāđƒāļ™
3.0āļ.āļž. 202191.75%āļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ­āļĒāđˆāļēāļ‡āļĄāļēāļ
2.0āļ.āļž. 202085%āđ€āļžāļīāđˆāļĄāļāļēāļĢāļĢāļ­āļ‡āļĢāļąāļšāļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡āļšāļąāļ•āļĢ
1.0āļž.āļĒ. 201976%āļāļēāļĢāđ€āļ›āļīāļ”āļ•āļąāļ§āļ„āļĢāļąāđ‰āļ‡āđāļĢāļ

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

āļŠāļ·āđˆāļ­āļšāļĢāļīāļāļēāļĢ AI APIāļˆāļļāļ”āļŠāļīāđ‰āļ™āļŠāļļāļ”IC āļ•āđˆāļ­āļ„āļģāļ‚āļ­On-Premise
Thai National ID Card OCR (v3.5)iapp_thai_national_id_card_ocr_v3.5_back0.75 IC/Requestāļ•āļīāļ”āļ•āđˆāļ­
iapp_thai_national_id_card_ocr_v3.5_front1.25 IC/Request