Skip to main content

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

1.25 ICāļ•āđˆāļ­āļ„āļģāļ‚āļ­ (āļ”āđ‰āļēāļ™āļŦāļ™āđ‰āļē) / 0.75 IC (āļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡)
v3.5 Active āļž.āļĒ. 2022 POST /v3/store/ekyc/thai-national-id-card

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

āļ—āļ”āļĨāļ­āļ‡āđƒāļŠāđ‰āļ‡āļēāļ™ Demo​

Example Images (Click to try)

Example 1

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

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

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

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

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

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

āļāļĢāļļāļ“āļēāđ„āļ›āļ—āļĩāđˆāļŦāļ™āđ‰āļē āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ API Key āđ€āļžāļ·āđˆāļ­āļ”āļđ API Key āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļ„āļļāļ“āļŦāļĢāļ·āļ­āļ‚āļ­ API Key āđƒāļŦāļĄāđˆ

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

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

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

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

curl -X POST https://api.iapp.co.th/v3/store/ekyc/thai-national-id-card/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 āļ‚āļ­āļ‡āļĢāļđāļ›āļ āļēāļžāļ–āđˆāļēāļĒ
"gender": "Female",
"home_address": "XXXXX XXX",
"house_no": "XXXXXX",
"id_number": "34117XXXXXX334",
"id_number_status": 1,
"lane": "",
"postal_code": "20150", # āļ”āļķāļ‡āļĄāļēāļˆāļēāļāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī
"process_time": 1.3018648624420166, # āļ§āļīāļ™āļēāļ—āļĩ
"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/v3/store/ekyc/thai-national-id-card/back' \
--header 'apikey: {Your API Key}' \
--form 'file=@"path/to/id-card-back.jpg"'

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

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

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

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

  • āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡ (āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļĢāļ°āļ”āļąāļšāļ­āļąāļāļ‚āļĢāļ° 98.13%)
  • āđ€āļ§āļĨāļēāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļĢāļ§āļ”āđ€āļĢāđ‡āļ§ (1-3 āļ§āļīāļ™āļēāļ—āļĩāļ•āđˆāļ­āļšāļąāļ•āļĢ)
  • āļĢāļ­āļ‡āļĢāļąāļšāļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒāļŦāļĨāļēāļāļŦāļĨāļēāļĒ (JPEG, JPG, PNG, HEIC, HEIF, PDF)
  • āļāļēāļĢāļ„āļĢāļ­āļšāļ•āļąāļ”āđāļĨāļ°āļŦāļĄāļļāļ™āļšāļąāļ•āļĢāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī
  • āļŠāđˆāļ‡āļ„āļ·āļ™āļāļĨāđˆāļ­āļ‡āļ‚āļ­āļšāđ€āļ‚āļ• (bounding boxes) āđāļĨāļ°āļ„āļ°āđāļ™āļ™āļŠāļģāļŦāļĢāļąāļšāļŸāļīāļĨāļ”āđŒ
  • āļŠāđˆāļ‡āļ„āļ·āļ™āļĢāļđāļ›āļ āļēāļž 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 Endpoints​

EndpointMethodāļ„āļģāļ­āļ˜āļīāļšāļēāļĒāļĢāļēāļ„āļē
POST /v3/store/ekyc/thai-national-id-card/front
Legacy: /thai-national-id-card/v3.5/front
POSTāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļˆāļēāļāļ”āđ‰āļēāļ™āļŦāļ™āđ‰āļēāļ‚āļ­āļ‡āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒ1.25 IC āļ•āđˆāļ­āļ„āļģāļ‚āļ­
POST /v3/store/ekyc/thai-national-id-card/back
Legacy: /thai-national-id-card/v3.5.1/back
POSTāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡āļ‚āļ­āļ‡āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒ0.75 IC āļ•āđˆāļ­āļ„āļģāļ‚āļ­

API Reference​

Thai National ID Card Endpoints​

1. Thai National ID Card - Front Side​

POST /v3/store/ekyc/thai-national-id-card/front

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

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

2. Thai National ID Card - Back Side​

POST /v3/store/ekyc/thai-national-id-card/back

āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡āļ‚āļ­āļ‡āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒ

Request Headers​
āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
apikeystringāđƒāļŠāđˆAPI key āļ‚āļ­āļ‡āļ„āļļāļ“
Request Body (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 āđ€āļŠāļĄāļ­ āđ‚āļ”āļĒāđ„āļĄāđˆāļ„āļģāļ™āļķāļ‡āļ–āļķāļ‡āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāđƒāļŠāđ‰

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

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

Thai National ID Card Front Side​

āļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļ–āļēāļ™āļ°āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
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 āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļđāļ›āļ āļēāļžāļ‚āļēāļ§āļ”āļģāđāļĨāļ°āļ āļēāļžāļŠāļĩāđ€āļ—āļē

Thai National ID Card Back Side​

āļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļ–āļēāļ™āļ°āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
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: (more than 2 MB)āļ‚āļ™āļēāļ”āđ„āļŸāļĨāđŒāđƒāļŦāļāđˆāđ€āļāļīāļ™āđ„āļ›
427LONG_TIME_TO_PROCESSāđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒāđƒāļŠāđ‰āđ€āļ§āļĨāļēāļ™āļēāļ™āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ
428LONG_TIME_TO_REQUESTāđ„āļ„āļĨāđ€āļ­āļ™āļ•āđŒāļĢāļ­āļ„āļīāļ§āļ™āļēāļ™āđ€āļāļīāļ™āđ„āļ›
461NO_FILE_ATTACHEDāđ„āļĄāđˆāđ„āļ”āđ‰āđāļ™āļšāđ„āļŸāļĨāđŒ
560SERVER_IS_BUSY: (Please try again in a few seconds.)āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒāļāļģāļĨāļąāļ‡āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ„āļģāļ‚āļ­āļˆāļģāļ™āļ§āļ™āļĄāļēāļ
563ID_CARD_API_NOT_SUPPORT_THIS_IMAGEAPI āļĄāļĩāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ

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

Curl​

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

Python​

import requests

url = "https://api.iapp.co.th/v3/store/ekyc/thai-national-id-card/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/v3/store/ekyc/thai-national-id-card/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/v3/store/ekyc/thai-national-id-card/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/v3/store/ekyc/thai-national-id-card/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/v3/store/ekyc/thai-national-id-card/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/v3/store/ekyc/thai-national-id-card/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/v3/store/ekyc/thai-national-id-card/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 DPI)
    • āđāļŠāļ‡
    • āļ„āļ§āļēāļĄāļ„āļĄāļŠāļąāļ”
  2. āļŠāļ āļēāļžāļšāļąāļ•āļĢ
    • āļ„āļ§āļēāļĄāđ€āļŠāļĩāļĒāļŦāļēāļĒāļ—āļēāļ‡āļāļēāļĒāļ āļēāļž
    • āđāļŠāļ‡āļŠāļ°āļ—āđ‰āļ­āļ™
    • āļ„āļ§āļēāļĄāļŠāļąāļ”āđ€āļˆāļ™āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ

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

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

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

āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢProduction PathLegacy Pathāļ•āđ‰āļ™āļ—āļļāļ™ ICāļŦāļ™āđˆāļ§āļĒOn-Premise
Thai National ID Card - Front Side/v3/store/ekyc/thai-national-id-card/front/thai-national-id-card/v3.5/front1.25 ICāļ•āđˆāļ­ 1 āļ„āļģāļ‚āļ­āļ•āļīāļ”āļ•āđˆāļ­āđ€āļĢāļē
Thai National ID Card - Back Side/v3/store/ekyc/thai-national-id-card/back/thai-national-id-card/v3.5.1/back0.75 ICāļ•āđˆāļ­ 1 āļ„āļģāļ‚āļ­āļ•āļīāļ”āļ•āđˆāļ­āđ€āļĢāļē