Skip to main content

📄 āđƒāļšāļĢāļąāļšāļĢāļ­āļ‡āļāļēāļĢāļŦāļąāļāļ āļēāļĐāļĩ āļ“ āļ—āļĩāđˆāļˆāđˆāļēāļĒāļ‚āļ­āļ‡āđ„āļ—āļĒ (Tax Deduction Certificate OCR) 🆕

📄 āđƒāļšāļĢāļąāļšāļĢāļ­āļ‡āļāļēāļĢāļŦāļąāļāļ āļēāļĐāļĩ āļ“ āļ—āļĩāđˆāļˆāđˆāļēāļĒāļ‚āļ­āļ‡āđ„āļ—āļĒ / āđƒāļšāļĢāļąāļšāļĢāļ­āļ‡ āļ āļ‡āļ”.

Version Status New

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

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

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

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

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

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

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

API āļ‚āļ­āļ‡āđ€āļĢāļēāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āļˆāļąāļ”āļāļēāļĢāļāļąāļšāļĢāļđāļ›āđāļšāļšāđāļĨāļ°āđ€āļ„āđ‰āļēāđ‚āļ„āļĢāļ‡āļ‚āļ­āļ‡āđƒāļšāļĢāļąāļšāļĢāļ­āļ‡āļāļēāļĢāļŦāļąāļāļ āļēāļĐāļĩ āļ“ āļ—āļĩāđˆāļˆāđˆāļēāļĒāļ•āđˆāļēāļ‡āđ† āļ—āļĩāđˆāđƒāļŠāđ‰āļāļąāļ™āļ—āļąāđˆāļ§āđ„āļ›āđƒāļ™āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒ āđāļšāļšāļˆāļģāļĨāļ­āļ‡ AI āļŦāļĨāļąāļ‡āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļāļķāļāļāļ™āđƒāļŦāđ‰āđ€āļ‚āđ‰āļēāđƒāļˆāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ€āļ­āļāļŠāļēāļĢāļ āļēāļĐāļĩāļ‚āļ­āļ‡āđ„āļ—āļĒāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ™āđˆāļēāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđāļĄāđ‰āļˆāļēāļāđ€āļ­āļāļŠāļēāļĢāļ—āļĩāđˆāļĄāļĩāđ€āļŠāļĩāļĒāļ‡āļĢāļšāļāļ§āļ™āļŦāļĢāļ·āļ­āļŠāđāļāļ™āđ„āļĄāđˆāļŠāļąāļ”āđ€āļˆāļ™

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

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

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđƒāļšāļĢāļąāļšāļĢāļ­āļ‡āļāļēāļĢāļŦāļąāļāļ āļēāļĐāļĩ āļ“ āļ—āļĩāđˆāļˆāđˆāļēāļĒāļ‚āļ­āļ‡āđ„āļ—āļĒ

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

cURL

curl -X POST https://api.iapp.co.th/ocr/v3/tax-deduction-certificate-prd/file \
-H apikey: YOUR_API_KEY \
-F file=@/path/to/certificate.jpg \
-F return_image=false \
-F return_ocr=false
āļ§āļīāļ˜āļĩāļāļēāļĢāļĢāļąāļš API Key?

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

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

{
"message": "success",
"raw": {},
"processed": {
"documentType": "āļŦāļ™āļąāļ‡āļŠāļ·āļ­āļĢāļąāļšāļĢāļ­āļ‡āļāļēāļĢāļŦāļąāļāļ āļēāļĐāļĩ āļ“ āļ—āļĩāđˆāļˆāđˆāļēāļĒ",
"documentForm": "āļ .āļ‡.āļ”.3",
"bookNumber": "TX630901",
"documentNumber": null,
"taxDeductor": {
"name": "āļšāļĢāļīāļĐāļąāļ— āļžāļĩāđ€āļ­āđ‡āļ™āđ€āļ„ āđāļ­āļ„āđ€āļ„āļēāļ™āđŒāļ•āļīāđ‰āļ‡ āļˆāļģāļāļąāļ”",
"taxId": "0105552094564",
"address": "29/71 āļ–āļ™āļ™āļĢāļīāļĄāļ„āļĨāļ­āļ‡āļšāļēāļ‡āļ„āđ‰āļ­ āđāļ‚āļ§āļ‡āļšāļēāļ‡āļ„āđ‰āļ­ āđ€āļ‚āļ•āļˆāļ­āļĄāļ—āļ­āļ‡ āļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ 10150"
},
"taxpayer": {
"name": "āļ™āļēāļĒāļŠāļĄāļĄāļ•āļī āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡",
"taxId": "3176543210123",
"address": "123 āļ‹āļ­āļĒāļĢāļąāļāļŠāļēāļ•āļī āđāļ‚āļ§āļ‡āļ—āļļāđˆāļ‡āļ§āļąāļ”āļ”āļ­āļ™ āđ€āļ‚āļ•āļŠāļēāļ—āļĢ āļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"
},
"paymentTypes": [
{
"paymentDate": "02/09/63",
"amount": 51546.39,
"withholdingTax": 1546.39
}
],
"totalAmount": 51546.39,
"totalTax": 1546.39,
"socialSecurity": {
"amount": null,
"year": null
},
"taxPayerMethod": "āļ­āļ­āļāļ āļēāļĐāļĩāđƒāļŦāđ‰āļ•āļĨāļ­āļ”āđ„āļ›"
},
"template": "tax-deduction-certificate-prd",
"iapp": {
"page": 0,
"char": 3260
},
"process_ms": 46649
}

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

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

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

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

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

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

āļŸāļīāļĨāļ”āđŒāļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
documentTypeStringāļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āđ€āļ­āļāļŠāļēāļĢāļ āļēāļĐāļĩ
documentFormStringāļĢāļđāļ›āđāļšāļšāđ€āļ­āļāļŠāļēāļĢ (āļ .āļ‡.āļ”.1āļ, āļ .āļ‡.āļ”.1āļ āļžāļīāđ€āļĻāļĐ, āļ .āļ‡.āļ”.2, āļ .āļ‡.āļ”.3, āļ .āļ‡.āļ”.2āļ, āļ .āļ‡.āļ”.3āļ, āļ .āļ‡.āļ”.53)
bookNumberStringāđ€āļĨāļ‚āļ—āļĩāđˆāļŦāļ™āļąāļ‡āļŠāļ·āļ­
documentNumberStringāđ€āļĨāļ‚āļ—āļĩāđˆāđ€āļ­āļāļŠāļēāļĢ
taxDeductor.nameStringāļŠāļ·āđˆāļ­āļœāļđāđ‰āļŦāļąāļāļ āļēāļĐāļĩ
taxDeductor.taxIdStringāđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļœāļđāđ‰āđ€āļŠāļĩāļĒāļ āļēāļĐāļĩāļ‚āļ­āļ‡āļœāļđāđ‰āļŦāļąāļāļ āļēāļĐāļĩ
taxDeductor.addressStringāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļœāļđāđ‰āļŦāļąāļāļ āļēāļĐāļĩ
taxpayer.nameStringāļŠāļ·āđˆāļ­āļœāļđāđ‰āđ€āļŠāļĩāļĒāļ āļēāļĐāļĩ
taxpayer.taxIdStringāđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļœāļđāđ‰āđ€āļŠāļĩāļĒāļ āļēāļĐāļĩāļ‚āļ­āļ‡āļœāļđāđ‰āđ€āļŠāļĩāļĒāļ āļēāļĐāļĩ
taxpayer.addressStringāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļœāļđāđ‰āđ€āļŠāļĩāļĒāļ āļēāļĐāļĩ
paymentTypes[].paymentDateStringāļ§āļąāļ™āļ—āļĩāđˆāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™
paymentTypes[].amountNumberāļˆāļģāļ™āļ§āļ™āđ€āļ‡āļīāļ™āļ—āļĩāđˆāļŠāļģāļĢāļ°
paymentTypes[].withholdingTaxNumberāļˆāļģāļ™āļ§āļ™āļ āļēāļĐāļĩāļ—āļĩāđˆāļŦāļąāļāđ„āļ§āđ‰
totalAmountNumberāļˆāļģāļ™āļ§āļ™āđ€āļ‡āļīāļ™āļ—āļĩāđˆāļŠāļģāļĢāļ°āļ—āļąāđ‰āļ‡āļŦāļĄāļ”
totalTaxNumberāļˆāļģāļ™āļ§āļ™āļ āļēāļĐāļĩāļ—āļĩāđˆāļŦāļąāļāđ„āļ§āđ‰āļ—āļąāđ‰āļ‡āļŦāļĄāļ”
socialSecurity.amountNumberāļˆāļģāļ™āļ§āļ™āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļāļąāļ™āļŠāļąāļ‡āļ„āļĄ
socialSecurity.yearNumberāļ›āļĩāļ‚āļ­āļ‡āļ›āļĢāļ°āļāļąāļ™āļŠāļąāļ‡āļ„āļĄ
taxPayerMethodStringāļ§āļīāļ˜āļĩāļāļēāļĢāļŠāļģāļĢāļ°āļ āļēāļĐāļĩ (āļŦāļąāļāļ āļēāļĐāļĩ āļ“ āļ—āļĩāđˆāļˆāđˆāļēāļĒ, āļ­āļ­āļāļ āļēāļĐāļĩāđƒāļŦāđ‰āļ•āļĨāļ­āļ”āđ„āļ›, āļ­āļ­āļāļ āļēāļĐāļĩāđƒāļŦāđ‰āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§, āļ­āļ·āđˆāļ™āđ†)

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

āļĒāļīāļ™āļ”āļĩāļ•āđ‰āļ­āļ™āļĢāļąāļšāļŠāļđāđˆ Thai Tax Deduction Certificate OCR API āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļąāļ™āļ—āļĢāļ‡āļžāļĨāļąāļ‡āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđāļ›āļĨāļ‡āđƒāļšāļĢāļąāļšāļĢāļ­āļ‡āļāļēāļĢāļŦāļąāļāļ āļēāļĐāļĩ āļ“ āļ—āļĩāđˆāļˆāđˆāļēāļĒāļ‚āļ­āļ‡āđ„āļ—āļĒāđ€āļ›āđ‡āļ™āļ‚āđ‰āļ­āļĄāļđāļĨ JSON āļ—āļĩāđˆāļĄāļĩāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ API āļ™āļĩāđ‰āđƒāļŠāđ‰āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ OCR āđāļĨāļ° AI āļ‚āļąāđ‰āļ™āļŠāļđāļ‡āđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļ„āļąāļāļ•āđˆāļēāļ‡āđ† āđ€āļŠāđˆāļ™ āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ€āļ­āļāļŠāļēāļĢ āļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āļŦāļąāļāļ āļēāļĐāļĩāđāļĨāļ°āļœāļđāđ‰āđ€āļŠāļĩāļĒāļ āļēāļĐāļĩ āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™ āđāļĨāļ°āļˆāļģāļ™āļ§āļ™āļ āļēāļĐāļĩ

āļāļēāļĢāļˆāļ”āļˆāļģāđƒāļšāļĢāļąāļšāļĢāļ­āļ‡āļāļēāļĢāļŦāļąāļāļ āļēāļĐāļĩ āļ“ āļ—āļĩāđˆāļˆāđˆāļēāļĒ​

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

POST https://api.iapp.co.th/ocr/v3/tax-deduction-certificate-prd/file

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

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

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

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

āļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšâ€‹

  • āļĢāļđāļ›āļ āļēāļž: JPEG, PNG, HEIC, HEIF
  • āđ€āļ­āļāļŠāļēāļĢ: PDF (āļŠāļđāļ‡āļŠāļļāļ” 10 āļŦāļ™āđ‰āļē)

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

{
"message": "success",
"raw": {
"image": "string", // Base64 encoded, only if return_image=true
"text": "string" // Only if return_ocr=true
},
"processed": {
"documentType": "string",
"documentForm": "string",
"bookNumber": "string",
"documentNumber": "string",
"taxDeductor": {
"name": "string",
"taxId": "string",
"address": "string"
},
"taxpayer": {
"name": "string",
"taxId": "string",
"address": "string"
},
"paymentTypes": [
{
"paymentDate": "string",
"amount": "number",
"withholdingTax": "number"
}
],
"totalAmount": "number",
"totalTax": "number",
"socialSecurity": {
"amount": "number",
"year": "number"
},
"taxPayerMethod": "string"
},
"template": "tax-deduction-certificate-prd",
"iapp": {
"page": "number",
"char": "number"
},
"process_ms": "number"
}

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

Python​

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

headers = {'apikey': apiKey}
files = {'file': ('tax-deduction-certificate-prd.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/tax-deduction-certificate-prd.jpg';
const url = 'https://api.iapp.co.th/ocr/v3/tax-deduction-certificate-prd/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/tax-deduction-certificate-prd/file';
$apiKey = 'YOUR_API_KEY';
$filePath = '/path/to/tax-deduction-certificate-prd.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/tax-deduction-certificate-prd/file")!
let filePath = "/path/to/tax-deduction-certificate-prd.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=\"tax-deduction-certificate-prd.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/tax-deduction-certificate-prd.jpg"
val url = "https://api.iapp.co.th/ocr/v3/tax-deduction-certificate-prd/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/tax-deduction-certificate-prd/file";
String filePath = "/path/to/tax-deduction-certificate-prd.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/tax-deduction-certificate-prd/file';
String filePath = '/path/to/tax-deduction-certificate-prd.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 āļŦāļ™āđ‰āļē
  • āļ‚āļĩāļ”āļˆāļģāļāļąāļ”āļ­āļąāļ•āļĢāļē: 10 āļ„āļģāļ‚āļ­āļ•āđˆāļ­āļ§āļīāļ™āļēāļ—āļĩāļ•āđˆāļ­ API key

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

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

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

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

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

āļ›āļĢāļ°āđ€āļ āļ—āļŸāļīāļĨāļ”āđŒāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ (%)āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ
āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāļĢāļąāļšāļĢāļ­āļ‡99.5%āļĢāļ§āļĄāļ–āļķāļ‡āļĢāļŦāļąāļŠāđƒāļšāļĢāļąāļšāļĢāļ­āļ‡
āļˆāļģāļ™āļ§āļ™āđ€āļ‡āļīāļ™99.8%āļ„āđˆāļēāđ€āļ‡āļīāļ™āđāļĨāļ°āļĒāļ­āļ”āļĢāļ§āļĄ
āļ§āļąāļ™āļ—āļĩāđˆ99.0%āļĢāļđāļ›āđāļšāļšāļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļ‡āđ„āļ—āļĒāļ•āđˆāļēāļ‡āđ†
āđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļœāļđāđ‰āđ€āļŠāļĩāļĒāļ āļēāļĐāļĩ99.7%āļ—āļąāđ‰āļ‡āļšāļļāļ„āļ„āļĨāđāļĨāļ°āļ™āļīāļ•āļīāļšāļļāļ„āļ„āļĨ
āđ‚āļ”āļĒāļĢāļ§āļĄ99.5%āļ„āđˆāļēāđ€āļ‰āļĨāļĩāđˆāļĒāļ–āđˆāļ§āļ‡āļ™āđ‰āļģāļŦāļ™āļąāļ

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

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

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

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

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

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

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

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

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

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