Skip to main content

ðŸ§ū āđāļāļ°āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāđƒāļšāđ€āļŠāļĢāđ‡āļˆāļĢāļąāļšāđ€āļ‡āļīāļ™ / āđƒāļšāđāļˆāđ‰āļ‡āļŦāļ™āļĩāđ‰ / āđƒāļšāļ§āļēāļ‡āļšāļīāļĨ / āđƒāļšāļāļģāļāļąāļšāļ āļēāļĐāļĩ (Thai Receipt OCR) 🆕

ðŸ§ū āđƒāļšāđ€āļŠāļĢāđ‡āļˆāļĢāļąāļšāđ€āļ‡āļīāļ™ / āđƒāļšāđāļˆāđ‰āļ‡āļŦāļ™āļĩāđ‰ / āđƒāļšāļ§āļēāļ‡āļšāļīāļĨ / āđƒāļšāļāļģāļāļąāļšāļ āļēāļĐāļĩ

Version Status New

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

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

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

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

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

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

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

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

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

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

Receipt Example

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

cURL

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

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

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

{
"message": "success",
"processed": {
"invoiceType": "āđƒāļšāđ€āļŠāļĢāđ‡āļˆāļĢāļąāļšāđ€āļ‡āļīāļ™/āđƒāļšāļāļģāļāļąāļšāļ āļēāļĐāļĩāļ­āļĒāđˆāļēāļ‡āļĒāđˆāļ­",
"invoiceBook": null,
"invoiceID": "4504RC112566/004044",
"invoiceDate": "27/11/2566",
"issuerName": "āļŦāļˆāļ.āļšāļļāļāļĢāļ­āļ”āļ„āļ­āļŸāļŸāļĩ (āļ•āļĨāļēāļ”āļĢāļąāļ•āļ™āļšāļļāļĢāļĩ)",
"issuerTaxID": "0323560000723",
"items": [
{
"itemNo": 1,
"itemName": "āļŠāļēāđ€āļ‚āļĩāļĒāļ§āļ™āļĄ āļĢāđ‰āļ­āļ™ āļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ",
"itemUnit": 1,
"itemUnitCost": 60.0,
"itemTotalCost": 60.0
}
],
"totalCost": 60.0,
"discount": 0.0,
"totalCostAfterDiscount": 60.0,
"vat": 3.93,
"grandTotal": 60.0
},
"process_ms": 6821
}

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

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

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

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

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

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

āļŸāļīāļĨāļ”āđŒāļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
invoiceTypeStringāļŠāļ·āđˆāļ­āļŦāļĢāļ·āļ­āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āđƒāļšāđāļˆāđ‰āļ‡āļŦāļ™āļĩāđ‰
invoiceBookStringāđ€āļĨāļ‚āļ—āļĩāđˆāļŦāļ™āļąāļ‡āļŠāļ·āļ­āļ‚āļ­āļ‡āđƒāļšāđāļˆāđ‰āļ‡āļŦāļ™āļĩāđ‰
invoiceIDStringāđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāđāļˆāđ‰āļ‡āļŦāļ™āļĩāđ‰
invoiceDateStringāļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāđƒāļšāđāļˆāđ‰āļ‡āļŦāļ™āļĩāđ‰
purchaseOrderIDStringāđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāļŠāļąāđˆāļ‡āļ‹āļ·āđ‰āļ­āļ—āļĩāđˆāđ€āļŠāļ·āđˆāļ­āļĄāđ‚āļĒāļ‡
issuerNameStringāļŠāļ·āđˆāļ­āļœāļđāđ‰āļ­āļ­āļāđƒāļšāđāļˆāđ‰āļ‡āļŦāļ™āļĩāđ‰
issuerAddressStringāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļœāļđāđ‰āļ­āļ­āļāđƒāļšāđāļˆāđ‰āļ‡āļŦāļ™āļĩāđ‰
issuerTaxIDStringāđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļœāļđāđ‰āđ€āļŠāļĩāļĒāļ āļēāļĐāļĩāļ‚āļ­āļ‡āļœāļđāđ‰āļ­āļ­āļāđƒāļšāđāļˆāđ‰āļ‡āļŦāļ™āļĩāđ‰
issuerPhoneStringāđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ­āļ‡āļœāļđāđ‰āļ­āļ­āļāđƒāļšāđāļˆāđ‰āļ‡āļŦāļ™āļĩāđ‰
customerNameStringāļŠāļ·āđˆāļ­āļĨāļđāļāļ„āđ‰āļē
customerAddressStringāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļĨāļđāļāļ„āđ‰āļē
customerTaxIDStringāđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļœāļđāđ‰āđ€āļŠāļĩāļĒāļ āļēāļĐāļĩāļ‚āļ­āļ‡āļĨāļđāļāļ„āđ‰āļē
customerPhoneStringāđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ­āļ‡āļĨāļđāļāļ„āđ‰āļē
itemsArrayāļ­āļēāļĢāđŒāđ€āļĢāļĒāđŒāļ‚āļ­āļ‡āļĢāļēāļĒāļāļēāļĢāļŠāļīāļ™āļ„āđ‰āļēāļžāļĢāđ‰āļ­āļĄāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡
- itemNoStringāļĨāļģāļ”āļąāļšāđ€āļĨāļ‚āļ—āļĩāđˆāļŠāļīāļ™āļ„āđ‰āļē
- itemCodeStringāļĢāļŦāļąāļŠāļŠāļīāļ™āļ„āđ‰āļē/āļšāļĢāļīāļāļēāļĢ
- itemNameStringāļŠāļ·āđˆāļ­āļŠāļīāļ™āļ„āđ‰āļē/āļšāļĢāļīāļāļēāļĢ
- itemUnitNumberāļˆāļģāļ™āļ§āļ™āļŠāļīāļ™āļ„āđ‰āļē
- itemUnitCostNumberāļĢāļēāļ„āļēāļ•āđˆāļ­āļŦāļ™āđˆāļ§āļĒ
- itemTotalCostNumberāļĢāļēāļ„āļēāļĢāļ§āļĄāļ‚āļ­āļ‡āļŠāļīāļ™āļ„āđ‰āļē
totalCostNumberāļĢāļ§āļĄāļĢāļēāļ„āļēāļŠāļīāļ™āļ„āđ‰āļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”
discountNumberāļˆāļģāļ™āļ§āļ™āļŠāđˆāļ§āļ™āļĨāļ” (āļ–āđ‰āļēāļĄāļĩ)
totalCostAfterDiscountNumberāļĢāļēāļ„āļēāļĢāļ§āļĄāļŦāļĨāļąāļ‡āļŦāļąāļāļŠāđˆāļ§āļ™āļĨāļ”
vatNumberāļˆāļģāļ™āļ§āļ™āļ āļēāļĐāļĩāļĄāļđāļĨāļ„āđˆāļēāđ€āļžāļīāđˆāļĄ (7%)
grandTotalNumberāļˆāļģāļ™āļ§āļ™āđ€āļ‡āļīāļ™āļĢāļ§āļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļĢāļ§āļĄāļ āļēāļĐāļĩāļĄāļđāļĨāļ„āđˆāļēāđ€āļžāļīāđˆāļĄ

āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ: āļ„āđˆāļēāđ€āļ‡āļīāļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļˆāļ°āļ›āļąāļ”āđ€āļĻāļĐāđ€āļ›āđ‡āļ™āļ—āļĻāļ™āļīāļĒāļĄāļŠāļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡

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

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

āļāļēāļĢāļˆāļ”āļˆāļģāđƒāļšāđ€āļŠāļĢāđ‡āļˆāļĢāļąāļšāđ€āļ‡āļīāļ™â€‹

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

POST https://api.iapp.co.th/ocr/v3/receipt/file

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

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

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

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

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

  • āļĢāļđāļ›āļ āļēāļž: JPEG, PNG
  • āđ€āļ­āļāļŠāļēāļĢ: PDF (āļŦāļ™āđ‰āļēāđ€āļ”āļĩāļĒāļ§āļŦāļĢāļ·āļ­āļŦāļĨāļēāļĒāļŦāļ™āđ‰āļē)

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

{
"message": "success",
"raw": {
"image": "string", // Base64 encoded, only if return_image=true
"text": "string" // Only if return_ocr=true
},
"processed": {
"invoiceType": "string",
"invoiceBook": "string",
"invoiceID": "string",
"invoiceDate": "string",
"purchaseOrderID": "string",
"issuerName": "string",
"issuerAddress": "string",
"issuerTaxID": "string",
"issuerPhone": "string",
"customerName": "string",
"customerAddress": "string",
"customerTaxID": "string",
"customerPhone": "string",
"items": [
{
"itemNo": "string",
"itemCode": "string",
"itemName": "string",
"itemUnit": "number",
"itemUnitCost": "number",
"itemTotalCost": "number"
}
],
"totalCost": "number",
"discount": "number",
"totalCostAfterDiscount": "number",
"vat": "number",
"grandTotal": "number"
},
"template": "receipt",
"iapp": "string",
"process_ms": "number"
}

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

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

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

āļŠāļ·āđˆāļ­āļšāļĢāļīāļāļēāļĢ AI APIāļˆāļļāļ”āļŠāļīāđ‰āļ™āļŠāļļāļ”IC āļ•āđˆāļ­āļ„āļģāļ‚āļ­On-Premise
Receipt OCR [v1.0]receipt-ocr1 IC/Requestāļ•āļīāļ”āļ•āđˆāļ­

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

Python​

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

headers = {'apikey': apiKey}
files = {'file': ('receipt.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/receipt.jpg"
const url = "https://api.iapp.co.th/ocr/v3/receipt/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/receipt/file';
$apiKey = 'YOUR_API_KEY';
$filePath = '/path/to/receipt.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/receipt/file")!
let filePath = "/path/to/receipt.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=\"receipt.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/receipt.jpg"
val url = "https://api.iapp.co.th/ocr/v3/receipt/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/receipt/file";
String filePath = "/path/to/receipt.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/receipt/file';
String filePath = '/path/to/receipt.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. āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļāļēāļĢāļŦāļĄāļ”āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāļŠāļģāļŦāļĢāļąāļšāđ„āļŸāļĨāđŒāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ

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

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

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

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

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

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

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

  1. āļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļ āļēāļž

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

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

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

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

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

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