ðĨð āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļē
āļĒāļīāļāļāļĩāļāđāļāļāļĢāļąāļāļŠāļđāđ Face Verification API Version 2 āļāļķāđāļāđāļāđāļāļāļĨāļīāļāļ āļąāļāļāđ AI āļāļĩāđāļāļąāļāļāļēāđāļāļĒ āļāļĢāļīāļĐāļąāļ āđāļāđāļāļāļāđāđāļāļāđāļāđāļĨāļĒāļĩ āļāļģāļāļąāļ API āļāļāļāđāļĢāļēāļāļāļāđāļāļāļĄāļēāđāļāļ·āđāļāļĒāļ·āļāļĒāļąāļāđāļĨāļ°āđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāđāļāļŦāļāđāļēāļĢāļ°āļŦāļ§āđāļēāļāļŠāļāļāļĢāļđāļāļ āļēāļāļāđāļ§āļĒāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļĨāļ°āļāļ§āļēāļĄāđāļĢāđāļ§āļŠāļđāļ API āļāļ°āđāļŦāđāļāļ°āđāļāļāļāļ§āļēāļĄāļāļĨāđāļēāļĒāļāļĨāļķāļāđāļāļ·āđāļāļāđāļ§āļĒāđāļāļāļēāļĢāļāļąāļāļŠāļīāļāļ§āđāļēāđāļāļŦāļāđāļēāļāļąāđāļāļŠāļāļāđāļāđāļāļāļāļāļāļļāļāļāļĨāđāļāļĩāļĒāļ§āļāļąāļāļŦāļĢāļ·āļāđāļĄāđ
āļĨāļāļāđāļāđāļĄ!â
āļāļāļĨāļāļāđāļāđ AI Demo
āđāļāđāļēāļŠāļđāđāļĢāļ°āļāļāļŦāļĢāļ·āļāļŠāļĢāđāļēāļāļāļąāļāļāļĩāļāļĢāļĩāđāļāļ·āđāļāđāļāđāļāļēāļ AI Demo āđāļĨāļ°āļŠāļģāļĢāļ§āļ API āļāļĩāđāļāļĢāļāļāļĨāļąāļāļāļāļāđāļĢāļē
āļĢāļąāļ 50 āđāļāļĢāļāļīāļāļāļĢāļĩ (IC) āđāļĄāļ·āđāļāļŠāļĄāļąāļāļĢāļŠāļĄāļēāļāļīāļ!
āđāļāļĢāđāļĄāļāļąāļāļŦāļĄāļāđāļāļ 31 āļāļąāļāļ§āļēāļāļĄ 2568
āļĢāļđāļāļ āļēāļāļŦāļĨāļąāļ āļāļąāļ§āļāļĒāđāļēāļ (āļāļĨāļīāļāđāļāļ·āđāļāļĨāļāļ)

āļĢāļđāļāļ āļēāļāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ āļāļąāļ§āļāļĒāđāļēāļ (āļāļĨāļīāļāđāļāļ·āđāļāļĨāļāļ)

āđāļĢāļīāđāļĄāļāđāļāđāļāđāļāļēāļâ
-
āļŠāļīāđāļāļāļĩāđāļāđāļāļāļĄāļĩ
- āļāļĩāļĒāđ API āļāļēāļ āđāļāđāļāļāļāđāđāļāļāđāļāđāļĨāļĒāļĩ
- āđāļāļĨāđāļĢāļđāļāļ āļēāļāļŠāļāļāđāļāļĨāđāļāļĩāđāļĄāļĩāđāļāļŦāļāđāļēāļŠāļģāļŦāļĢāļąāļāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ
- āļĢāļđāļāđāļāļāļāļĩāđāļĢāļāļāļĢāļąāļ: JPG, JPEG, PNG, HEIC āđāļĨāļ° HEIF
- āļāļāļēāļāđāļāļĨāđāļŠāļđāļāļŠāļļāļ: 2MB āļāđāļāļĢāļđāļāļ āļēāļ
- āļāļāļēāļāļĢāļđāļāļ āļēāļāļāļąāđāļāļāđāļģ: 600px x 400px āļŠāļģāļŦāļĢāļąāļāļāļļāļāļāļĨāđāļāļĩāđāļĒāļ§āđāļĨāļ°āļŦāļĨāļēāļĒāļāļ
-
āđāļĢāļīāđāļĄāļāđāļāļāļĒāđāļēāļāļĢāļ§āļāđāļĢāđāļ§
- āđāļ§āļĨāļēāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļĩāđāļĢāļ§āļāđāļĢāđāļ§
- āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļēāļāļĩāđāđāļĄāđāļāļĒāļģāļŠāļđāļ
- āļĢāļāļāļĢāļąāļāļĢāļđāļāđāļāļāđāļāļĨāđāļŦāļĨāļēāļĒāļĢāļđāļāđāļāļ
- āļāļąāļ§āđāļĨāļ·āļāļāļāļ°āđāļāļāļāļĩāđāļĒāļ·āļāļŦāļĒāļļāđāļ
-
āļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļ
- āļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāđāļāļŦāļāđāļēāļāđāļāđāļāļŦāļāđāļē
- āļāļēāļĢāđāļŦāđāļāļ°āđāļāļāļāļ§āļēāļĄāļāļĨāđāļēāļĒāļāļĨāļķāļ
- āđāļāļāļāđāđāļāļāļēāļ°āļāļāļāļāļĢāļīāļĐāļąāļ
- āļāļēāļĢāļāļąāđāļāļāđāļēāļāļ°āđāļāļāļāļąāđāļāļāđāļģāļāļĩāđāļāļģāļŦāļāļāđāļāļ
- āļāļ°āđāļāļāļāļ§āļēāļĄāļĄāļąāđāļāđāļāđāļāļāļēāļĢāļāļĢāļ§āļāļāļąāļāđāļāļŦāļāđāļē
-
āļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļāļāļīāļāļąāļāļīāļāļēāļĄāļāļāļĢāļ°āđāļāļĩāļĒāļ
- āđāļāđāļāđāļāļāļēāļĄ GDPR āđāļĨāļ° PDPA
- āđāļĄāđāļĄāļĩāļāļēāļĢāđāļāđāļāļāđāļāļĄāļđāļĨāļĢāļđāļāļ āļēāļ
- āļāļļāļāļāļĨāļēāļĒ API āļāļĩāđāļāļĨāļāļāļ āļąāļĒ
āļāļĢāļļāļāļēāđāļāļāļĩāđāļŦāļāđāļē āļāļēāļĢāļāļąāļāļāļēāļĢāļāļĩāļĒāđ API āđāļāļ·āđāļāļāļđāļāļĩāļĒāđ API āļāļĩāđāļĄāļĩāļāļĒāļđāđāļāļāļāļāļļāļ āļŦāļĢāļ·āļāļāļāļāļĩāļĒāđāđāļŦāļĄāđ
āļāļēāļĢāļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāļāļ°āđāļāļāļāļ§āļēāļĄāļāļĨāđāļēāļĒāļāļĨāļķāļâ
āļāļ°āđāļāļāļāļ§āļēāļĄāļāļĨāđāļēāļĒāļāļĨāļķāļāļĄāļĩāļāļąāđāļāđāļāđ 0 āļāļķāļ 2822 āļāļķāđāļāđāļāđāļĄāļēāļāļēāļāļāļēāļĢāļāļąāļāļāļđāđāđāļāļĄāđāļāļĨāļāđāļāļŦāļāđāļēāļāļēāļ 166 āļāļļāļāļāļāđāļāļŦāļāđāļē āļŠāļģāļŦāļĢāļąāļāđāļāđāļĨāļ°āļāļļāļāļĄāļĩāļāđāļ§āļāļāļ°āđāļāļāļāļ§āļēāļĄāļāļĨāđāļēāļĒāļāļĨāļķāļ 0-17 āļāļķāđāļāļāļģāļāļ§āļāļāļēāļāļĢāļ°āļĒāļ°āļŦāđāļēāļ āļĄāļļāļĄ āđāļĨāļ°āļĨāļąāļāļĐāļāļ°āļāļīāđāļĻāļĐāļĢāļ°āļŦāļ§āđāļēāļ 17 āļāļļāļāđāļāļĒāļĢāļāļ āļĒāļīāđāļāļāļ°āđāļāļāļĄāļēāļāļāđāļĒāļīāđāļāļĄāļĩāđāļāļāļēāļŠāļŠāļđāļāļāļĩāđāļāļ°āđāļāđāļāđāļāļŦāļāđāļēāļāļāļāļāļļāļāļāļĨāđāļāļĩāļĒāļ§āļāļąāļ
āđāļāļāļāđāļĄāļēāļāļĢāļāļēāļāļŠāļģāļŦāļĢāļąāļāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģ 99.50% āļāļ·āļ 36 āļāļąāļāļāļąāđāļ āļŦāļēāļāļāļ°āđāļāļāļāđāļāļĒāļāļ§āđāļē 36 āļāļ°āļāļ·āļāļ§āđāļēāđāļāđāļāļāļļāļāļāļĨāļāļĩāđāđāļāļāļāđāļēāļāļāļąāļ āļŦāļēāļāļāļ°āđāļāļāļĄāļēāļāļāļ§āđāļē 36 āļāļ§āļĢāļāļīāļāļēāļĢāļāļēāļ§āđāļēāđāļāđāļāđāļāļŦāļāđāļēāļāļāļāļāļļāļāļāļĨāđāļāļĩāļĒāļ§āļāļąāļ
āđāļāļāļāđāļāļĩāđāļŠāļđāļāļāļķāđāļāļŠāļģāļŦāļĢāļąāļāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģ 99.95% āļāļ·āļ 48
āđāļāļāļāđāļāļĩāđāđāļāđāļāļĢāļīāļāļāļ§āļĢāļāļīāļāļēāļĢāļāļēāļāļēāļĄāļāļĢāļāļĩāļāļēāļĢāđāļāđāļāļēāļāđāļĨāļ°āļāđāļāļāļģāļŦāļāļāļāđāļēāļāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāđāļāļāļēāļ°āļāļāļāļāļļāļ
āļāļąāļ§āļāļĒāđāļēāļâ
āļāļģāļāļ API āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļēâ
āđāļŠāļāļāļāļąāļ§āļāļĒāđāļēāļāļĢāļđāļāļ āļēāļ


curl --location --request POST 'https://api.iapp.co.th/v3/store/ekyc/face-verification' \
--header 'apikey: YOUR_API_KEY' \
--form 'file1=@"{Your Image File Path 1}"' \
--form 'file2=@"{Your Image File Path 2}"'
āļāļēāļĢāļāļāļāļŠāļāļāļ API āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļē:â
{
"duration": 2.1263949871063232,
"matched": true,
"message": "successfully performed",
"score": 38.0,
"threshold": 37
}
āļāļļāļāļŠāļĄāļāļąāļāļīāđāļĨāļ°āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļâ
āļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļâ
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāđāļĨāļ°āđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāđāļāļŦāļāđāļē
- āļĢāļāļāļĢāļąāļāļĢāļđāļāđāļāļ JPG, JPEG, PNG, HEIC āđāļĨāļ° HEIF
- āļāļāļēāļāļĢāļđāļāļ āļēāļāļāļąāđāļāļāđāļģ: āļāļ§āļēāļĄāļāļ§āđāļēāļ 600px x āļāļ§āļēāļĄāļŠāļđāļ 400px āļŠāļģāļŦāļĢāļąāļāļāļļāļāļāļĨāđāļāļĩāđāļĒāļ§āđāļĨāļ°āļŦāļĨāļēāļĒāļāļ
- āļāļāļēāļāđāļāļĨāđāļŠāļđāļāļŠāļļāļ: 2MB
- āļāļ°āđāļāļāļāļēāļĢāļāļĢāļ§āļāļāļąāļāđāļĨāļ°āđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļāļĩāđāļāļĢāļąāļāđāļāđāļāđāļāđ
- āļāļīāļāđāļāļāļĢāđāđāļāļ REST API
- āđāļāđāļāļāļ§āļēāļĄāđāļāđāļāļŠāđāļ§āļāļāļąāļ§: āļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļļāļāļĨāļąāļāļĐāļāļ°āļāļĩāđāđāļāđāļāļāļąāļ§āđāļĨāļāđāļāļĒāđāļĄāđāđāļāđāļāļĢāļđāļāļ āļēāļ
āļāļēāļĢāļāļģāđāļāļīāļāļāļēāļĢāļāļĩāđāļĢāļāļāļĢāļąāļâ
- āļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāđāļāļŦāļāđāļēāļĢāļ°āļŦāļ§āđāļēāļāļŠāļāļāļĢāļđāļāļ āļēāļ
- āļāļēāļĢāļāļģāļŦāļāļāļāđāļēāļāļ°āđāļāļāđāļāļāļēāļ°āļāļāļāļāļĢāļīāļĐāļąāļ
- āđāļāļāļāđāļāļ°āđāļāļāļāļąāđāļāļāđāļģāļāļĩāđāļāļģāļŦāļāļāđāļāļ
āļāļļāļāļāļĨāļēāļĒ APIâ
| āļāļļāļāļāļĨāļēāļĒ | āđāļĄāļāļāļ | āļāļģāļāļāļīāļāļēāļĒ | āļāđāļēāđāļāđāļāđāļēāļĒ |
|---|---|---|---|
/v3/store/ekyc/face-verification/face-verification, /face-verification/v2, /face2, /face_compare (āļĢāļļāđāļāđāļāđāļē) | POST | āđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļĢāļđāļāļ āļēāļāđāļāļŦāļāđāļēāļŠāļāļāļĢāļđāļāđāļāļ·āđāļāļāļīāļāļēāļĢāļāļēāļ§āđāļēāđāļāđāļāļāļļāļāļāļĨāđāļāļĩāļĒāļ§āļāļąāļāļŦāļĢāļ·āļāđāļĄāđ | 0.3 IC |
āļāđāļāļĄāļđāļĨāļāđāļēāļāļāļīāļ APIâ
āļāļļāļāļāļĨāļēāļĒāļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļēâ
1. āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļē (āļŦāļĨāļąāļ)â
POST /v3/store/ekyc/face-verification
āđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļĢāļđāļāļ āļēāļāđāļāļŦāļāđāļēāļŠāļāļāļĢāļđāļāđāļāļ·āđāļāļāļīāļāļēāļĢāļāļēāļ§āđāļēāļĄāļēāļāļēāļāļāļļāļāļāļĨāđāļāļĩāļĒāļ§āļāļąāļāļŦāļĢāļ·āļāđāļĄāđ āļŠāđāļāļāļ·āļāļāļ°āđāļāļāļāļ§āļēāļĄāļāļĨāđāļēāļĒāļāļĨāļķāļāđāļĨāļ°āļŠāļāļēāļāļ°āļāļĩāđāļāļĢāļāļāļąāļ
2. āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļē v2â
ðĶ āđāļŠāđāļāļāļēāļāļĢāļļāđāļāđāļāđāļē: POST /face-verification/v2
āļĢāļļāđāļāļāļēāļāđāļĨāļ·āļāļāļāļāļāļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļēāļāļĩāđāļĄāļĩāļāļ§āļēāļĄ āđāļĄāđāļāļĒāļģāļŠāļđāļāļāļķāđāļ
3. āļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāđāļāļŦāļāđāļēâ
ðĶ āđāļŠāđāļāļāļēāļāļĢāļļāđāļāđāļāđāļē: POST /face_compare
āļāļļāļāļāļĨāļēāļĒāļĢāļļāđāļāđāļāđāļēāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāđāļāļŦāļāđāļēāļĢāļ°āļŦāļ§āđāļēāļāļŠāļāļāļĢāļđāļāļ āļēāļ
4. āļāļēāļĢāļāļąāļāļāļđāđāđāļāļŦāļāđāļē (āļāļēāļāđāļĨāļ·āļāļ)â
ðĶ āđāļŠāđāļāļāļēāļāļĢāļļāđāļāđāļāđāļē: POST /face2
āļāļļāļāļāļĨāļēāļĒāļāļēāļāđāļĨāļ·āļāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļąāļāļāļđāđāđāļĨāļ°āļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļē
āļŠāđāļ§āļāļŦāļąāļ§āļāļāļāļāļģāļāļâ
| āļāļ·āđāļ | āļāļĢāļ°āđāļ āļ | āļāļģāđāļāđāļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|---|
| apikey | string | āđāļāđ | āļāļĩāļĒāđ API āļāļāļāļāļļāļ |
āđāļāļ·āđāļāļŦāļēāļāļģāļāļ (multipart/form-data)â
| āļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđ | āļāļĢāļ°āđāļ āļ | āļāļģāđāļāđāļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|---|
| file1 | File | āđāļāđ | āļĢāļđāļāļ āļēāļāđāļĢāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ |
| file2 | File | āđāļāđ | āļĢāļđāļāļ āļēāļāļāļĩāđāļŠāļāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļ |
| threshold | Number | āđāļĄāđ | āļāļ°āđāļāļāđāļāļāļāđāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļąāļāļŠāļīāļāļāļēāļĢāļāļąāļāļāļđāđāđāļāļŦāļāđāļē āļāđāļēāđāļĢāļīāđāļĄāļāđāļāļāļ·āļ 36 āļŦāļēāļāļāđāļāļāļāļēāļĢāđāļŦāđāļĄāļĩāļāļąāļāļĢāļēāļāļēāļĢāļĒāļāļĄāļĢāļąāļāļāļĩāđāļāļīāļāļāļĨāļēāļ (FAR) āļāđāļģāļĄāļēāļ āļāļļāļāļŠāļēāļĄāļēāļĢāļāļāļąāđāļāļāđāļēāđāļāđāļ 48 āđāļāđ |
āļĢāļŦāļąāļŠāļāđāļāļāļīāļāļāļĨāļēāļâ
āļāđāļāļāļīāļāļāļĨāļēāļāļāļąāđāļ§āđāļâ
| āļĢāļŦāļąāļŠ | āļāđāļāļāļ§āļēāļĄ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
| 404 | No route matched | āļāļļāļāļāļĨāļēāļĒ API āđāļĄāđāļāļđāļāļāđāļāļ |
| 405 | Method not allowed | āđāļĄāļāļāļ HTTP āđāļĄāđāļāļđāļāļāđāļāļ |
| 413 | File too large | āļĢāļđāļāļ āļēāļāđāļāļīāļāļāļĩāļāļāļģāļāļąāļ 2MB |
| 415 | Invalid extension | āļĢāļđāļāđāļāļāđāļāļĨāđāđāļĄāđāļĢāļāļāļĢāļąāļ |
āļāđāļāļāļīāļāļāļĨāļēāļāđāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨâ
| āļĢāļŦāļąāļŠ | āļāđāļāļāļ§āļēāļĄ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
| 420 | Parameter missing | āđāļĄāđāđāļāđāļĢāļ°āļāļļāļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđāļāļĩāđāļāļģāđāļāđāļ |
| 423 | Face not found | āđāļĄāđāļāļāđāļāļŦāļāđāļēāđāļāļĢāļđāļāļ āļēāļ |
| 440 | No file attached | āđāļĄāđāđāļāđāđāļāļāđāļāļĨāđāļĢāļđāļāļ āļēāļ |
| 441 | Too many images | āđāļŦāđāđāļāļĨāđāļĢāļđāļāļ āļēāļāļĄāļēāļāđāļāļīāļāđāļ |
| 442 | Unsupported format | āļĢāļđāļāđāļāļāļĢāļđāļāļ āļēāļāđāļĄāđāļāļđāļāļāđāļāļ |
āļāđāļāļāļīāļāļāļĨāļēāļāļāļāļāđāļāļīāļĢāđāļāđāļ§āļāļĢāđâ
| āļĢāļŦāļąāļŠ | āļāđāļāļāļ§āļēāļĄ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
| 560 | Server busy | āļāļīāļ§āđāļāļīāļĢāđāļāđāļ§āļāļĢāđāđāļāđāļĄ |
| 561 | Processing timeout | āļāļēāļĢāļāļģāđāļāļīāļāļāļēāļĢāđāļāđāđāļ§āļĨāļēāļāļēāļāđāļāļīāļāđāļ |
| 562 | Request timeout | āļāļēāļĢāļĢāļāļāļīāļ§āđāļĢāđāļ§āđāļāļīāļāđāļ |
āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļâ
Curlâ
curl -X POST https://api.iapp.co.th/v3/store/ekyc/face-verification \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/file.jpg"
Pythonâ
import requests
url = "https://api.iapp.co.th/v3/store/ekyc/face-verification"
# āđāļāđāļāļ°āđāļāļāļĄāļēāļāļĢāļāļēāļ
payload={}
files=[
('file1',('{Your Image File Name 1}',open('{Your Image File Path 1}','rb'),'application/octet-stream')),
('file2',('{Your Image File Name 2}',open('{Your Image File Path 2}','rb'),'application/octet-stream'))
]
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Javascriptâ
const axios = require("axios")
const FormData = require("form-data")
const fs = require("fs")
let data = new FormData()
data.append("file1", fs.createReadStream("/Users/iapp/Downloads/facever_test1 (3).png"))
data.append("file2", fs.createReadStream("/Users/iapp/Downloads/facever_test2 (3).png"))
let config = {
method: "post",
maxBodyLength: Infinity,
url: "https://api.iapp.co.th/v3/store/ekyc/face-verification",
headers: {
apikey: "YOUR_API_KEY",
...data.getHeaders(),
},
data: data,
}
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data))
})
.catch((error) => {
console.log(error)
})
PHPâ
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/v3/store/ekyc/face-verification',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURL_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file1'=> new CURLFILE('{Your Image File Name 1}'),'file2'=> new CURLFILE('{Your Image File Name 2}')),
CURLOPT_HTTPHEADER => array(
'apikey: {Your API Key}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Swiftâ
let parameters = [
[
"key": "file1",
"src": "{Your Image File Name 1}",
"type": "file"
],
[
"key": "file2",
"src": "{Your Image File Name 2}",
"type": "file"
]] as [[String: Any]]
let boundary = "Boundary-\(UUID().uuidString)"
var body = Data()
var error: Error? = nil
for param in parameters {
if param["disabled"] != nil { continue }
let paramName = param["key"]!
body += Data("--\(boundary)\r\n".utf8)
body += Data("Content-Disposition:form-data; name=\"\(paramName)\"".utf8)
if param["contentType"] != nil {
body += Data("\r\nContent-Type: \(param["contentType"] as! String)".utf8)
}
let paramType = param["type"] as! String
if paramType == "text" {
let paramValue = param["value"] as! String
body += Data("\r\n\r\n\(paramValue)\r\n".utf8)
} else {
let paramSrc = param["src"] as! String
let fileURL = URL(fileURLWithPath: paramSrc)
if let fileContent = try? Data(contentsOf: fileURL) {
body += Data("; filename=\"\(paramSrc)\"\r\n".utf8)
body += Data("Content-Type: \"content-type header\"\r\n".utf8)
body += Data("\r\n".utf8)
body += fileContent
body += Data("\r\n".utf8)
}
}
}
body += Data("--\(boundary)--\r\n".utf8);
let postData = body
var request = URLRequest(url: URL(string: "https://api.iapp.co.th/v3/store/ekyc/face-verification")!,timeoutInterval: Double.infinity)
request.addValue("{YOUR API KEY}", forHTTPHeaderField: "apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
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â
val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file1","{Your Image File Name 1}",
File("{Your Image File Path 1}").asRequestBody("application/octet-stream".toMediaType()))
.addFormDataPart("file2","{Your Image File Name 1}",
File("{Your Image File Path 1}").asRequestBody("application/octet-stream".toMediaType()))
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/face-verification")
.post(body)
.addHeader("apikey", "{YOUR API KEY}")
.build()
val response = client.newCall(request).execute()
Javaâ
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file1","{Your Image File Name 1}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{Your Image File Path 1}")))
.addFormDataPart("file2","{Your Image File Name 2}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{Your Image File Path 2}")))
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/face-verification")
.method("POST", body)
.addHeader("apikey", "{YOUR API KEY}")
.build();
Response response = client.newCall(request).execute();
Dartâ
var headers = {
'apikey': '{YOUR API KEY}'
};
var request = http.MultipartRequest('POST', Uri.parse('https://api.iapp.co.th/v3/store/ekyc/face-verification'));
request.files.add(await http.MultipartFile.fromPath('file1', '{Your Image File Path 1}'));
request.files.add(await http.MultipartFile.fromPath('file2', '{Your Image File Path 2}'));
request.headers.addAll(headers);
http.StreamedResponse response = await request.send();
if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}
āļāđāļāļāļģāļāļąāļāđāļĨāļ°āđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļâ
āļāđāļāļāļģāļāļąāļâ
- āļāļāļēāļāđāļāļĨāđāļŠāļđāļāļŠāļļāļ: 2MB
- āļāļāļēāļāļĢāļđāļāļ āļēāļāļāļąāđāļāļāđāļģ: 600x400 āļāļīāļāđāļāļĨ
- āļĢāļđāļāđāļāļāļāļĩāđāļĢāļāļāļĢāļąāļ: āđāļāļĨāđ JPG, JPEG, PNG, HEIC āđāļĨāļ° HEIF āđāļĨāļ°āļĢāļđāļāđāļāļ BASE64
- āđāļāļŦāļāđāļēāđāļāļĩāļĒāļ§āļāđāļāļĢāļđāļāļ āļēāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāđāļĨāļ°āļŦāļĨāļēāļĒāļāļ
āđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļâ
- āđāļāđāļĢāļđāļāļ āļēāļāđāļāļŦāļāđāļēāļāļĩāđāļāļąāļāđāļāļāđāļĨāļ°āļĄāļĩāđāļŠāļāļŠāļ§āđāļēāļāđāļāļĩāļĒāļāļāļ
- āļāļĢāļ§āļāļŠāļāļāđāļŦāđāđāļāđāđāļāļ§āđāļēāđāļāļŦāļāđāļēāļĄāļāļāđāļŦāđāļāđāļāđāļāļąāļāđāļāļāđāļĨāļ°āđāļĄāđāļĄāļĩāļŠāļīāđāļāļāļĩāļāļāļ§āļēāļ
- āļŠāđāļāļĢāļđāļāļ āļēāļāļāļĩāđāļāļĢāļāļāļēāļĄāļāđāļāļāļģāļŦāļāļāļāļāļēāļāļāļąāđāļāļāđāļģ
- āļāļĒāļđāđāđāļāļāļĩāļāļāļģāļāļąāļāļāļāļēāļāđāļāļĨāđ
- āđāļāđāļĢāļđāļāđāļāļāđāļāļĨāđāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ
āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļĨāļ°āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļâ
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāđāļāļŦāļāđāļēāļāļĩāđāđāļĄāđāļāļĒāļģāļŠāļđāļ
- āđāļ§āļĨāļēāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļĩāđāļĢāļ§āļāđāļĢāđāļ§
- āđāļāļāļāđāļāļ§āļēāļĄāļĄāļąāđāļāđāļāļāļĩāđāļāļĢāļąāļāđāļāđāļāđāļāđ
- āļāļąāļāļāļąāļĒāļāļĩāđāļĄāļĩāļāļĨāļāđāļāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģ:
- āļāļļāļāļ āļēāļāļāļāļāļĢāļđāļāļ āļēāļ
- āļāļēāļĢāļĄāļāļāđāļŦāđāļāđāļāļŦāļāđāļē
- āļŠāļ āļēāļāđāļŠāļ
- āļĄāļļāļĄ/āļāđāļēāļāļēāļāļāļāļāđāļāļŦāļāđāļē
āļĢāļēāļāļēâ
| āļāļēāļĢāļāļģāđāļāļīāļāļāļēāļĢ | āđāļŠāđāļāļāļēāļāļāļēāļĢāļāļĨāļīāļ | āđāļŠāđāļāļāļēāļāļĢāļļāđāļāđāļāđāļē | āļāđāļēāđāļāđāļāđāļēāļĒ IC | āļŦāļāđāļ§āļĒ | On-Premise |
|---|---|---|---|---|---|
| āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļē | /v3/store/ekyc/face-verification | /face-verification | 0.3 IC | āļāđāļ 1 āļāļģāļāļ | āļāļīāļāļāđāļāđāļĢāļē |
| āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒāđāļāļŦāļāđāļē v2 | /v3/store/ekyc/face-verification | /face-verification/v2 | 0.3 IC | āļāđāļ 1 āļāļģāļāļ | |
| āļāļēāļĢāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāđāļāļŦāļāđāļē | /v3/store/ekyc/face-verification | /face_compare | 0.3 IC | āļāđāļ 1 āļāļģāļāļ | |
| āļāļēāļĢāļāļąāļāļāļđāđāđāļāļŦāļāđāļē (āļāļēāļāđāļĨāļ·āļāļ) | /v3/store/ekyc/face-verification | /face2 | 0.3 IC | āļāđāļ 1 āļāļģāļāļ |