ðģ OCR āđāļāđāļāđāļāļĒāļāļāļāļąāļāļĢāđāļāļĢāļāļīāļāđāļāļĒ
āļĒāļīāļāļāļĩāļāđāļāļāļĢāļąāļāļŠāļđāđ API OCR āđāļāđāļāđāļāļĒāļāļāļāļąāļāļĢāđāļāļĢāļāļīāļāđāļāļĒ āđāļāļĨāļđāļāļąāļāļāļĩāđāļāļąāļāđāļāļĨāļ·āđāļāļāļāđāļ§āļĒ AI āļāļķāđāļāļāļąāļāļāļēāđāļāļĒ āļāļĢāļīāļĐāļąāļ āđāļāđāļāļāļāđāđāļāļāđāļāđāļĨāļĒāļĩ āļāļģāļāļąāļ āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļēāļāđāļāđāļāđāļāļĒāļāļāļāļąāļāļĢāđāļāļĢāļāļīāļāđāļāļĒ āđāļāļāļŠāļēāļĢāļāļĩāđāļāļ°āļāđāļ§āļĒāļāļļāļāđāļāļāļēāļĢāļāļŠāļēāļāļĢāļ§āļĄāđāļĨāļ°āđāļāđāļāļĢāļīāļāļēāļĢ OCR āļāļāļāđāļĢāļēāļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
āļāļāļĨāļāļāđāļāđāļĄ!â
āļāļāļĨāļāļāđāļāđ AI Demo
āđāļāđāļēāļŠāļđāđāļĢāļ°āļāļāļŦāļĢāļ·āļāļŠāļĢāđāļēāļāļāļąāļāļāļĩāļāļĢāļĩāđāļāļ·āđāļāđāļāđāļāļēāļ AI Demo āđāļĨāļ°āļŠāļģāļĢāļ§āļ API āļāļĩāđāļāļĢāļāļāļĨāļąāļāļāļāļāđāļĢāļē
āļĢāļąāļ 100 āđāļāļĢāļāļīāļāļāļĢāļĩ (IC) āđāļĄāļ·āđāļāļŠāļĄāļąāļāļĢāļŠāļĄāļēāļāļīāļ!
āđāļāļĢāđāļĄāļāļąāļāļŦāļĄāļāđāļāļ 31 āļāļąāļāļ§āļēāļāļĄ 2568
āđāļĢāļīāđāļĄāļāđāļāđāļāđāļāļēāļâ
-
āļŠāļīāđāļāļāļĩāđāļāđāļāļāļĄāļĩ
- āļĢāļŦāļąāļŠ API āļāļēāļ āđāļāđāļāļāļāđāđāļāļāđāļāđāļĨāļĒāļĩ
- āļĢāļđāļāļ āļēāļāđāļāđāļāđāļāļĒāļāļāļāļąāļāļĢāđāļāļĢāļāļīāļāđāļāļĒ
- āļĢāļđāļāđāļāļāđāļāļĨāđāļāļĩāđāļĢāļāļāļĢāļąāļ: JPEG, JPG, PNG, HEIC, HEIF, PDF
- āļāļāļēāļāđāļāļĨāđāļŠāļđāļāļŠāļļāļ: 10MB
-
āđāļĢāļīāđāļĄāļāđāļāļāļĒāđāļēāļāļĢāļ§āļāđāļĢāđāļ§
- āļāļĢāļ°āļĄāļ§āļĨāļāļĨāļĢāļ§āļāđāļĢāđāļ§ (5-10 āļ§āļīāļāļēāļāļĩāļāđāļāđāļāļāļŠāļēāļĢ)
- āļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāđāļāļāļ§āļēāļĄāļāļĩāđāļĄāļĩāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāļŠāļđāļ
- āļĢāļāļāļĢāļąāļāļĢāļđāļāđāļāļāđāļāļĨāđāļŦāļĨāļēāļĒāļĢāļđāļāđāļāļ
-
āļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļ
- āļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļīāļĨāļāđāđāļāļĒāļĨāļ°āđāļāļĩāļĒāļ āđāļāđāđāļāđ:
- āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāđāļāđāļāđāļāļĒāļāļ (āļāļĢāļ°āđāļ āļ, āļ§āļąāļāļāļĩāđ, āļŦāļĄāļēāļĒāđāļĨāļāļāļąāļāļĢ)
- āļāđāļāļĄāļđāļĨāļāļđāđāļāļ·āļāļāļąāļāļĢ (āļāļ·āđāļ)
- āļāđāļāļĄāļđāļĨāļāļāļēāļāļēāļĢ (āļāļ·āđāļ, āļāļĩāđāļāļĒāļđāđ, āđāļĨāļāļāļĢāļ°āļāļģāļāļąāļ§āļāļđāđāđāļŠāļĩāļĒāļ āļēāļĐāļĩ, āļāļīāļāļāđāļ)
- āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļĢāļēāļĒāļāļēāļĢāđāļāļīāļāļāļąāļāļāļĩ (āļ§āļąāļāļāļĩāđ, āļāļģāļāļāļīāļāļēāļĒ, āļāļģāļāļ§āļāđāļāļīāļ)
- āļŠāļĢāļļāļāļāđāļāļĄāļđāļĨāļāļēāļāļāļēāļĢāđāļāļīāļ (āļĒāļāļāļāļāđāļŦāļĨāļ·āļ, āļāļēāļĢāļāļģāļĢāļ°āđāļāļīāļ, āļĢāļēāļĒāļāļēāļĢāļāļĩāđāđāļĢāļĩāļĒāļāđāļāđāļ)
- āļāđāļāļĄāļđāļĨāļāļ°āđāļāļāļŠāļ°āļŠāļĄ
- āļĢāļāļāļĢāļąāļāđāļāļāļŠāļēāļĢāļāļąāđāļāđāļāļāļŦāļāđāļēāđāļāļĩāļĒāļ§āđāļĨāļ°āļŦāļĨāļēāļĒāļŦāļāđāļē (PDF)
- āļāļąāļ§āđāļĨāļ·āļāļāđāļāļāļēāļĢāļŠāđāļāļāļ·āļāļāđāļāļāļ§āļēāļĄ OCR āļāđāļāļāļāļąāļāđāļĨāļ°āļĢāļđāļāļ āļēāļāļāļĩāđāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļĨāđāļ§
- āļĢāļđāļāđāļāļāļāļēāļĢāļāļāļāļŠāļāļāļ JSON āļāļĩāđāļĒāļ·āļāļŦāļĒāļļāđāļāļāļĢāđāļāļĄāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļīāļĨāļāđāđāļāļĒāļĨāļ°āđāļāļĩāļĒāļ
- āļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļīāļĨāļāđāđāļāļĒāļĨāļ°āđāļāļĩāļĒāļ āđāļāđāđāļāđ:
-
āļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļāļāļīāļāļąāļāļīāļāļēāļĄāļāđāļāļāļģāļŦāļāļ
- āđāļāđāļāđāļāļāļēāļĄ GDPR āđāļĨāļ° PDPA
- āļāļļāļāđāļāļ·āđāļāļĄāļāđāļ API āļāļĩāđāļāļĨāļāļāļ āļąāļĒ
- āđāļĄāđāļĄāļĩāļāđāļāļĄāļđāļĨāļāļāđāļŦāļĨāļ·āļāļŦāļĨāļąāļāļāļēāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ
āļāļąāļ§āļāļĒāđāļēāļâ
āļāļĩāđāļāļ·āļāļāļąāļ§āļāļĒāđāļēāļāđāļāđāļāđāļāļĒāļāļāļāļąāļāļĢāđāļāļĢāļāļīāļāđāļĨāļ°āļāđāļāļĄāļđāļĨāļāļĩāđāļāļķāļāļāļāļāļĄāļē:
āļāļģāļāļ:â
cURL
curl -X POST "https://api.iapp.co.th/ocr/v3/creditcard-statement/file" \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/creditcard-statement.jpg" \
-F "return_image=false" \
-F "return_ocr=false"
API Endpointsâ
| Endpoint | Method | āļāļģāļāļāļīāļāļēāļĒ | āļāđāļēāđāļāđāļāđāļēāļĒ |
|---|---|---|---|
/v3/store/ocr/creditcard-statement/ocr/v3/creditcard-statement | POST | āļāļķāļāļāđāļāļĄāļđāļĨāļāļēāļāđāļāđāļāđāļāļĒāļāļāļāļąāļāļĢāđāļāļĢāļāļīāļāđāļāļĒ | 1 IC āļāđāļāļŦāļāđāļē |
āļāļēāļĢāļāļāļāļŠāļāļāļ:â
{
"message": "success",
"processed": {
"statementType": "āđāļāđāļāđāļāļĒāļāļāļāļąāļāļāļĩāļāļąāļāļĢāđāļāļĢāļāļīāļ",
"statementDate": "31/12/2566",
"dueDate": "25/01/2567",
"cardNumber": "4711-XXXX-XXXX-1234",
"cardHolderName": "āļāļēāļĒ āļāļāļŠāļāļ āļĢāļ°āļāļ",
"bankName": "āļāļāļēāļāļēāļĢāļāļŠāļīāļāļĢāđāļāļĒ āļāļģāļāļąāļ (āļĄāļŦāļēāļāļ)",
"bankAddress": "1 āļāļāļĒāļĢāļēāļĐāļāļĢāđāļāļđāļĢāļāļ° 27/1 āļāļāļāļĢāļēāļĐāļāļĢāđāļāļđāļĢāļāļ° āđāļāļ§āļāļĢāļēāļĐāļāļĢāđāļāļđāļĢāļāļ° āđāļāļāļĢāļēāļĐāļāļĢāđāļāļđāļĢāļāļ° āļāļĢāļļāļāđāļāļāļŊ 10140",
"bankTaxID": "0107536000315",
"bankPhone": "02-888-8888",
"bankFax": "02-888-8888",
"creditLimit": 100000.0,
"closingDate": "31/12/2566",
"newBalancePayment": 15789.4,
"minimumPaymentDue": 789.47,
"interestRate": 16.0,
"paymentByDebitAccountNo": "XXX-X-XX789-X",
"transactions": [
{
"transactionDate": "20/12",
"postingDate": "21/12",
"description": "CHOKCHAI STEAK HOUSE PATHUMTHANI THA",
"foreignAmount": null,
"foreignCurrencyCode": null,
"amountTHB": 1089.0
}
],
"payments_adjustment_others": [
{
"transactionDate": "31/12",
"postingDate": "31/12",
"description": "PAYMENT RECEIVED, THK YOU",
"foreignAmount": null,
"foreignCurrencyCode": null,
"amountTHB": -369.0
}
],
"previousBalance": 14789.4,
"thisPeriodBalance": 15789.4,
"totalPayments": 678.0,
"totalInterestCharges": 0.0,
"reward": {
"rewardAccumulatedPoints": 1234,
"rewardPointsEarned": 56,
"bonusPointsEarned": 0,
"pointsAdjustedThisMonth": 0,
"pointsRedeemed": 0,
"pointsOutstanding": 1290
},
"paymentBarcodeNo": "1234567890123456789"
},
"process_ms": 6821
}
āļāļļāļāļŠāļĄāļāļąāļāļīāđāļĨāļ°āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļâ
āļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļâ
-
āļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāļāļŠāļēāļĢ
- āļāļēāļĢāļāļķāļāļāđāļāļāļ§āļēāļĄāđāļĨāļ°āļāļāļāļģāļāļīāļĨāļāđāļāļĩāđāļĄāļĩāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāļŠāļđāļ
- āļĢāļāļāļĢāļąāļāļ āļēāļĐāļēāđāļāļĒ
- āđāļ§āļĨāļēāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļĢāļ§āļāđāļĢāđāļ§ 5-10 āļ§āļīāļāļēāļāļĩāļāđāļāđāļāļāļŠāļēāļĢ
- āļĢāļāļāļĢāļąāļāļŦāļĨāļēāļĒāļĢāļđāļāđāļāļ (JPEG, JPG, PNG, HEIC, HEIF, PDF)
- āļāļēāļĢāļāļąāļāļāļēāļĢāđāļāļāļŠāļēāļĢāļŦāļĨāļēāļĒāļŦāļāđāļē
- āļāļąāļ§āđāļĨāļ·āļāļāđāļāļāļēāļĢāļŠāđāļāļāļ·āļāļāđāļāļāļ§āļēāļĄ OCR āļāđāļāļāļāļąāļāđāļĨāļ°āļĢāļđāļāļ āļēāļāļāļĩāđāļ āļĢāļ°āļĄāļ§āļĨāļāļĨāđāļĨāđāļ§
- āļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļĩāđāđāļāđāļāđāļāļāļēāļĄ GDPR āđāļĨāļ° PDPA
-
āļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨ
- āļĢāļđāļāđāļāļāļāļēāļĢāļāļāļāļŠāļāļāļ JSON āļāļĩāđāļĒāļ·āļāļŦāļĒāļļāđāļāļāļĢāđāļāļĄāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļīāļĨāļāđāđāļāļĒāļĨāļ°āđāļāļĩāļĒāļ
āļāļīāļĨāļāđāļāļĩāđāļĢāļāļāļĢāļąāļâ
| āļāļīāļĨāļāđ | āļāļĢāļ°āđāļ āļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
| statementType | String | āļāļĢāļ°āđāļ āļāļāļāļāđāļāđāļāđāļāļĒāļāļāļāļąāļāļĢāđāļāļĢāļāļīāļ |
| statementDate | String | āļ§āļąāļāļāļĩāđāļāļāļāđāļāđāļāđāļāļĒāļāļ |
| dueDate | String | āļ§āļąāļāļāļĢāļāļāļģāļŦāļāļāļāļģāļĢāļ° |
| cardNumber | String | āļŦāļĄāļēāļĒāđāļĨāļāļāļąāļāļĢāđāļāļĢāļāļīāļ |
| cardHolderName | String | āļāļ·āđāļāļāļđāđāļāļ·āļāļāļąāļāļĢ |
| bankName | String | āļāļ·āđāļāļāļāļēāļāļēāļĢāļāļđāđāļāļāļāļāļąāļāļĢ |
| bankAddress | String | āļāļĩāđāļāļĒāļđāđāļāļāļāļāļāļēāļāļēāļĢāļāļđāđāļāļāļāļāļąāļāļĢ |
| bankTaxID | String | āđāļĨāļāļāļĢāļ°āļāļģāļāļąāļ§āļāļđāđāđāļŠāļĩāļĒāļ āļēāļĐāļĩāļāļāļāļāļāļēāļāļēāļĢāļāļđāđāļāļāļāļāļąāļāļĢ |
| bankPhone | String | āļŦāļĄāļēāļĒāđāļĨāļāđāļāļĢāļĻāļąāļāļāđāļāļāļāļāļāļēāļāļēāļĢ |
| bankFax | String | āļŦāļĄāļēāļĒāđāļĨāļāđāļāļāļāđāļāļāļāļāļāļēāļāļēāļĢ |
| creditLimit | Number | āļāļģāļāļ§āļāļ§āļāđāļāļīāļāļŠāļīāļāđāļāļ·āđāļ |
| closingDate | String | āļ§āļąāļāļāļĩāđāļāļīāļāļĒāļāļāđāļāđāļāđāļāļĒāļāļ |
| newBalancePayment | Number | āļāļģāļāļ§āļāļĒāļāļāļāļĩāđāļāđāļāļāļāļģāļĢāļ°āđāļŦāļĄāđ |
| minimumPaymentDue | Number | āļāļģāļāļ§āļāđāļāļīāļāļāļąāđāļāļāđāļģāļāļĩāđāļāđāļāļāļāļģāļĢāļ° |
| interestRate | Number | āļāļąāļāļĢāļēāļāļāļāđāļāļĩāđāļĒ (āđāļāļāļĢāđāđāļāđāļāļāđ) |
| paymentByDebitAccountNo | String | āļŦāļĄāļēāļĒāđāļĨāļāļāļąāļāļāļĩāđāļāļāļīāļāļāļĩāđāļāļđāļāđāļ§āđ |
| transactions | Array | āļĢāļēāļĒāļāļēāļĢāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļēāļĢāļāļģāļĢāļēāļĒāļāļēāļĢ |
| payments_adjustment_others | Array | āļĢāļēāļĒāļāļēāļĢāļāļēāļĢāļāļģāļĢāļ°āđāļāļīāļāđāļĨāļ°āļāļēāļĢāļāļĢāļąāļāļāļĢāļļāļāļāļ·āđāļāđ |
| previousBalance | Number | āļĒāļāļāļāļāđāļŦāļĨāļ·āļāļāļēāļāđāļāđāļāđāļāļĒāļāļāļāđāļāļāļŦāļāđāļē |
| thisPeriodBalance | Number | āļĒāļāļāļāļāđāļŦāļĨāļ·āļāļāļāļāļāļ§āļāļāļĩāđ |
| totalPayments | Number | āļĒāļāļāļĢāļ§āļĄāļāļēāļĢāļāļģāļĢāļ°āđāļāļīāļ |
| totalInterestCharges | Number | āļĒāļāļāļĢāļ§āļĄāļāđāļēāļāļĢāļĢāļĄāđāļāļĩāļĒāļĄāļāļāļāđāļāļĩāđāļĒ |
| reward | Object | āļāđāļāļĄāļđāļĨāļāļ°āđāļāļāļŠāļ°āļŠāļĄ |
| paymentBarcodeNo | String | āļŦāļĄāļēāļĒāđāļĨāļāļāļēāļĢāđāđāļāđāļāļŠāļģāļŦāļĢāļąāļāļāļģāļĢāļ°āđāļāļīāļ |
āļŦāļĄāļēāļĒāđāļŦāļāļļ: āļĄāļđāļĨāļāđāļēāļŠāļāļļāļĨāđāļāļīāļāļāļąāđāļāļŦāļĄāļāļāļ°āļāļđāļāļāļąāļāđāļĻāļĐāļāļĻāļ āļīāļĒāļĄāļŠāļāļāļāļģāđāļŦāļāđāļ
āđāļāļāļŠāļēāļĢāļāđāļēāļāļāļīāļ APIâ
āļāļēāļĢāļĢāļđāđāļāļģāđāļāđāļāđāļāļĒāļāļāļāļąāļāļĢāđāļāļĢāļāļīāļâ
āļĄāļĩāļāļļāļāđāļāļ·āđāļāļĄāļāđāļāļŠāļāļāļāļļāļāđāļŦāđāļāļĢāļīāļāļēāļĢāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāđāļāđāļāļĒāļāļāļāļąāļāļĢāđāļāļĢāļāļīāļ:
1. āļāļēāļĢāļāļąāļāđāļŦāļĨāļāđāļāļĨāđâ
POST https://api.iapp.co.th/ocr/v3/creditcard-statement/file
āļŠāđāļ§āļāļŦāļąāļ§āļāļģāļāļâ
| āļāļ·āđāļ | āļāļĢāļ°āđāļ āļ | āļāļģāđāļāđāļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|---|
| apikey | string | āđāļāđ | āļĢāļŦāļąāļŠ API āļāļāļāļāļļāļ |
āđāļāļ·āđāļāļŦāļēāļāļģāļāļ (multipart/form-data)â
| āļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđ | āļāļĢāļ°āđāļ āļ | āļāļģāđāļāđāļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|---|
| file | file | āđāļāđ | āļĢāļđāļāļ āļēāļāđāļāđāļāđāļāļĒāļāļ (JPEG, PNG) āļŦāļĢāļ·āļāđāļāļāļŠāļēāļĢ PDF |
| return_image | boolean | āđāļĄāđ | āļĢāļ§āļĄāļĢāļđāļāļ āļēāļāļāļĩāđāđāļāđāļēāļĢāļŦāļąāļŠāđāļāļ base64 āđāļāļāļēāļĢāļāļāļāļŠāļāļāļ (āļāđāļēāđāļĢāļīāđāļĄāļāđāļ: false) |
| return_ocr | boolean | āđāļĄāđ | āļĢāļ§āļĄāļāđāļāļāļ§āļēāļĄ OCR āļāļīāļāđāļāļāļēāļĢāļāļāļāļŠāļāļāļ (āļāđāļēāđāļĢāļīāđāļĄāļāđāļ: false) |
āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļāļīāļāļāļĨāļēāļâ
| āļŠāļāļēāļāļ° | āļĢāļŦāļąāļŠ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
| 400 | BAD_REQUEST | āļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđāļŦāļĢ āļ·āļāļĢāļđāļāđāļāļāđāļāļĨāđāđāļĄāđāļāļđāļāļāđāļāļ |
| 401 | UNAUTHORIZED | āļĢāļŦāļąāļŠ API āđāļĄāđāļāļđāļāļāđāļāļāļŦāļĢāļ·āļāđāļĄāđāļāļĢāļāļāđāļ§āļ |
| 404 | NOT_FOUND | āļāļļāļāđāļāļ·āđāļāļĄāļāđāļāđāļĄāđāļāļđāļāļāđāļāļ |
| 500 | INTERNAL_SERVER_ERROR | āļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļĨāđāļĄāđāļŦāļĨāļ§ |
2. āļĢāļđāļāļ āļēāļ Base64â
POST https://api.iapp.co.th/ocr/v3/creditcard-statement/base64
āļŠāđāļ§āļāļŦāļąāļ§āļāļģāļāļâ
| āļāļ·āđāļ | āļāļĢāļ°āđāļ āļ | āļāļģāđāļāđāļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|---|
| apikey | string | āđāļāđ | āļĢāļŦāļąāļŠ API āļāļāļāļāļļāļ |
āđāļāļ·āđāļāļŦāļēāļāļģāļāļâ
āļāļļāļāļŠāļēāļĄāļēāļĢāļāļŠāđāļāļāđāļāļĄāļđāļĨ base64 āđāļāđāļāļąāđāļāđāļāļĢāļđāļāđāļāļ JSON āļŦāļĢāļ·āļ form data:
āļĢāļđāļāđāļāļ JSON:
{
"base64_string": "string", // āļāđāļāļĄāļđāļĨāļĢāļđāļāļ āļēāļāļāļĩāđāđāļāđāļēāļĢāļŦāļąāļŠāđāļāļ Base64
"return_image": false, // āđāļĄāđāļāļąāļāļāļąāļ
"return_ocr": false // āđāļĄāđāļāļąāļ āļāļąāļ
}
āļĢāļđāļāđāļāļ Form Data:
| āļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđ | āļāļĢāļ°āđāļ āļ | āļāļģāđāļāđāļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|---|
| base64_string | string | āđāļāđ | āļāđāļāļĄāļđāļĨāļĢāļđāļāļ āļēāļāļāļĩāđāđāļāđāļēāļĢāļŦāļąāļŠāđāļāļ Base64 |
| return_image | boolean | āđāļĄāđ | āļĢāļ§āļĄāļĢāļđāļāļ āļēāļāļāļĩāđāđāļāđāļēāļĢāļŦāļąāļŠāđāļāļ base64 āđāļāļāļēāļĢāļāļāļāļŠāļāļāļ (āļāđāļēāđāļĢāļīāđāļĄāļāđāļ: false) |
| return_ocr | boolean | āđāļĄāđ | āļĢāļ§āļĄāļāđāļāļāļ§āļēāļĄ OCR āļāļīāļāđāļāļāļēāļĢāļāļāļāļŠāļāļāļ (āļāđāļēāđāļĢāļīāđāļĄāļāđāļ: false) |
āļĢāļđāļāđāļāļāļāļēāļĢāļāļāļāļŠāļāļāļâ
āđāļŦāļĄāļ·āļāļāļāļąāļāļāļļāļāđāļāļ·āđāļāļĄāļāđāļāļāļēāļĢāļāļąāļāđāļŦāļĨāļāđāļāļĨāđ
āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļâ
Curlâ
curl -X POST https://api.iapp.co.th/v3/store/ocr/credit-card-statement \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/file.jpg"
Python (āļāļēāļĢāļāļąāļāđāļŦāļĨāļāđāļāļĨāđ)â
import requests
apiKey = 'YOUR_API_KEY'
filePath = '/path/to/creditcard-statement.jpg'
url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/file"
headers = {'apikey': apiKey}
files = {'file': ('creditcard-statement.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())
Python (Base64)â
import requests
import base64
apiKey = 'YOUR_API_KEY'
filePath = '/path/to/creditcard-statement.jpg'
url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/base64"
# āļāđāļēāļāđāļāļĨāđāļĢāļđāļāļ āļēāļāđāļĨāļ°āđāļāļĨāļāđāļāđāļ base64
with open(filePath, 'rb') as image_file:
base64_string = base64.b64encode(image_file.read()).decode()
headers = {
'apikey': apiKey,
'Content-Type': 'application/json'
}
data = {
'base64_string': base64_string,
'return_image': False,
'return_ocr': False
}
response = requests.post(url, headers=headers, json=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/creditcard-statement.jpg"
const url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/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
}
Javascript (Base64)â
const axios = require("axios")
const fs = require("fs")
const apiKey = "YOUR_API_KEY"
const filePath = "/path/to/creditcard-statement.jpg"
const url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/base64"
// āļāđāļēāļāđāļāļĨāđāļĢāļđāļāļ āļēāļāđāļĨāļ°āđāļāļĨāļāđāļāđāļ base64
const base64String = fs.readFileSync(filePath, { encoding: "base64" })
const data = {
base64_string: base64String,
return_image: false,
return_ocr: false,
}
try {
const response = await axios.post(url, data, {
headers: {
"Content-Type": "application/json",
apikey: apiKey,
},
})
return response.data
} catch (error) {
throw error
}
PHP (āļāļēāļĢāļāļąāļāđāļŦāļĨāļāđāļāļĨāđ)â
$url = 'https://api.iapp.co.th/ocr/v3/creditcard-statement/file';
$apiKey = 'YOUR_API_KEY';
$filePath = '/path/to/creditcard-statement.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;
PHP (Base64)â
$url = 'https://api.iapp.co.th/ocr/v3/creditcard-statement/base64';
$apiKey = 'YOUR_API_KEY';
$filePath = '/path/to/creditcard-statement.jpg';
// āļāđāļēāļāđāļāļĨāđāļĢāļđāļāļ āļēāļāđāļĨāļ°āđāļāļĨāļāđāļāđāļ base64
$base64String = base64_encode(file_get_contents($filePath));
$data = array(
'base64_string' => $base64String,
'return_image' => false,
'return_ocr' => false
);
$headers = array(
'Content-Type: application/json',
'apikey: ' . $apiKey
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
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/creditcard-statement/file")!
let filePath = "/path/to/creditcard-statement.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=\"creditcard-statement.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()
Swift (Base64)â
import Foundation
let url = URL(string: "https://api.iapp.co.th/ocr/v3/creditcard-statement/base64")!
let filePath = "/path/to/creditcard-statement.jpg"
let apiKey = "YOUR_API_KEY"
// āļāđāļēāļāđāļāļĨāđāļĢāļđāļāļ āļēāļāđāļĨāļ°āđāļāļĨāļāđāļāđāļ base64
guard let imageData = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else {
print("Error reading file")
return
}
let base64String = imageData.base64EncodedString()
let parameters: [String: Any] = [
"base64_string": base64String,
"return_image": false,
"return_ocr": false
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue(apiKey, forHTTPHeaderField: "apikey")
request.httpBody = try? JSONSerialization.data(withJSONObject: parameters)
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/creditcard-statement.jpg"
val url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/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())
}
}
})
Kotlin (Base64)â
import okhttp3.*
import java.io.File
import android.util.Base64
import org.json.JSONObject
fun processBase64Image() {
val client = OkHttpClient()
val apiKey = "YOUR_API_KEY"
val filePath = "/path/to/creditcard-statement.jpg"
val url = "https://api.iapp.co.th/ocr/v3/creditcard-statement/base64"
// āļāđāļēāļāđāļāļĨāđāđāļĨāļ°āđāļāļĨāļāđāļāđāļ base64
val file = File(filePath)
val bytes = file.readBytes()
val base64String = Base64.encodeToString(bytes, Base64.DEFAULT)
val json = JSONObject()
json.put("base64_string", base64String)
json.put("return_image", false)
json.put("return_ocr", false)
val requestBody = RequestBody.create(
MediaType.parse("application/json"),
json.toString()
)
val request = Request.Builder()
.url(url)
.post(requestBody)
.addHeader("Content-Type", "application/json")
.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/creditcard-statement/file";
String filePath = "/path/to/creditcard-statement.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());
}
});
}
}
Java (Base64)â
import okhttp3.*;
import java.io.File;
import java.io.IOException;
import java.util.Base64;
import java.nio.file.Files;
import org.json.JSONObject;
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/creditcard-statement/base64";
String filePath = "/path/to/creditcard-statement.jpg";
try {
// āļāđāļēāļāđāļāļĨāđāđāļĨāļ°āđāļāļĨāļāđāļāđāļ base64
byte[] fileContent = Files.readAllBytes(new File(filePath).toPath());
String base64String = Base64.getEncoder().encodeToString(fileContent);
JSONObject json = new JSONObject();
json.put("base64_string", base64String);
json.put("return_image", false);
json.put("return_ocr", false);
RequestBody requestBody = RequestBody.create(
MediaType.parse("application/json"),
json.toString()
);
Request request = new Request.Builder()
.url(url)
.post(requestBody)
.addHeader("Content-Type", "application/json")
.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());
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
Dart (āļāļēāļĢāļāļąāļāđāļŦāļĨāļāđāļāļĨāđ)â
import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
String url = 'https://api.iapp.co.th/ocr/v3/creditcard-statement/file';
String filePath = '/path/to/creditcard-statement.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}');
}
}
Dart (Base64)â
import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
String url = 'https://api.iapp.co.th/ocr/v3/creditcard-statement/base64';
String filePath = '/path/to/creditcard-statement.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}');
}
}