ðĨ āļĢāļ°āļāļāļāļĢāļ§āļāļāļąāļāđāļāļŦāļāđāļēāļāļĨāļāļĄ Face Passive Liveness Detection (Face Spoofing Check)
āļĒāļīāļāļāļĩāļāđāļāļāļĢāļąāļāļŠāļđāđ Face Passive Liveness Detection API āļāļĨāļīāļāļ āļąāļāļāđ AI āļāļĩāđāļāļąāļāļāļēāđāļāļĒ āļāļĢāļīāļĐāļąāļ āđāļāđāļāļāļāđāđāļāļāđāļāđāļĨāļĒāļĩ āļāļģāļāļąāļ API āļāļāļāđāļĢāļēāđāļāđāļĢāļąāļāļāļēāļĢāļāļāļāđāļāļāļĄāļēāđāļāļ·āđāļāļāļĢāļ§āļāļāļąāļāļ§āđāļēāļ āļēāļāđāļāļŦāļāđāļēāļāļĩāđāļāđāļāļāđāļāđāļēāļĄāļēāđāļāđāļāļāļāļāļāļĢāļīāļāļŦāļĢāļ·āļāļāļāļāļāļĨāļāļĄ āđāļāļ·āđāļāđāļŦāđāļĄāļąāđāļāđāļāđāļāļāļ§āļēāļĄāļāļđāļāļāđāļāļāļāļāļāļāļĢāļ°āļāļ§āļāļāļēāļĢāļĢāļđāđāļāļģāđāļāļŦāļāđāļē API āļāļĩāđāđāļāđāļĢāļąāļāļāļēāļĢāļĢāļąāļāļĢāļāļāđāļāļĒ iBeta Level 1 āđāļĨāļ°āļĢāļāļāļĢāļąāļāđāļāļāļāļīāļāļāđāļēāļāđ āđāļāļ·āđāļāļĢāļ°āļāļļāļāļ§āļēāļĄāļāļĒāļēāļĒāļēāļĄāđāļāļāļēāļĢāļāļĨāļāļĄāđāļāļĨāļāđāļāļŦāļāđāļē
āļĨāļāļāđāļāđ Demo!â
āļāļāļĨāļāļāđāļāđ AI Demo
āđāļāđāļēāļŠāļđāđāļĢāļ°āļāļāļŦāļĢāļ·āļāļŠāļĢāđāļēāļāļāļąāļāļāļĩāļāļĢāļĩāđāļāļ·āđāļāđāļāđāļāļēāļ AI Demo āđāļĨāļ°āļŠāļģāļĢāļ§āļ API āļāļĩāđāļāļĢāļāļāļĨāļąāļāļāļāļāđāļĢāļē
āļĢāļąāļ 50 āđāļāļĢāļāļīāļāļāļĢāļĩ (IC) āđāļĄāļ·āđāļāļŠāļĄāļąāļāļĢāļŠāļĄāļēāļāļīāļ!
āđāļāļĢāđāļĄāļāļąāļāļŦāļĄāļāđāļāļ 31 āļāļąāļāļ§āļēāļāļĄ 2568
āđāļĢāļīāđāļĄāļāđāļāđāļāđāļāļēāļâ
-
āļāđāļāļāļģāļŦāļāļāđāļāļ·āđāļāļāļāđāļ
- āļāļĩāļĒāđ API āļāļēāļ āļāļĢāļīāļĐāļąāļ āđāļāđāļāļāļāđāđāļāļāđāļāđāļĨāļĒāļĩ
- āđāļāļĨāđāļĢāļđāļāļ āļēāļāļāļĩāđāļĄāļĩāđāļāļŦāļāđāļē
- āļĢāļđāļāđāļāļāļāļĩāđāļĢāļāļāļĢāļąāļ: JPEG, JPG, PNG
- āļāļāļēāļāđāļāļĨāđāļŠāļđāļāļŠāļļāļ: 10MB
-
āđāļĢāļīāđāļĄāļāđāļāļāļĒāđāļēāļāļĢāļ§āļāđāļĢāđāļ§
- āđāļ§āļĨāļēāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļĢāļ§āļāđāļĢāđāļ§
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāļāļēāļĢāļāļĨāļāļĄāđāļāļĨāļāđāļāļŦāļāđāļēāļāļĩāđāļĄāļĩāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāļŠāļđāļ
- āļĢāļāļāļĢāļąāļāļĢāļđāļāđāļāļāđāļāļĨāđāļŦāļĨāļēāļĒāļĢāļđāļāđāļāļ
- āļĢāļąāļāļĢāļāļāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāļĢāļ°āļāļąāļ iBeta Level 1
-
āļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļ
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāļāļēāļĢāļāļĨāļāļĄāđāļāļĨāļāđāļāļŦāļāđāļēāđāļāļĒāđāļāđāđāļāļāļāļīāļāļāđāļēāļāđ
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāļĢāļđāļāļāđāļēāļĒāļāļĩāđāļāļīāļĄāļāđāļāļāļāļĄāļē
- āļŦāļāđāļēāļāļēāļāđāļāļŦāļāđāļēāļāļĩāđāļŠāļĄāļāļĢāļīāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ§āļāļāļąāļāļāļēāļĢāļāļĨāļāļĄāđāļāļĨāļ
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāļĢāļđāļāļāđāļēāļĒāđāļāļŦāļāđāļēāļāļĩāđāļāđāļēāļĒāļāļēāļāļŦāļāđāļēāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢāđ
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāļāļēāļĢāđāļĨāđāļāļ§āļīāļāļĩāđāļāļāđāļģ
- āļāļ°āđāļāļāļāļēāļĢāļāļģāļāļēāļĒāđāļāļĒāļĨāļ°āđāļāļĩāļĒāļāđāļĨāļ°āļāļēāļĢāļ āļģāđāļŦāđāđāļāđāļāļĄāļēāļāļĢāļāļēāļ
- āļāļēāļĢāļ§āļąāļāļĢāļ°āļāļąāļāļāļ§āļēāļĄāļĄāļ·āļ
- āļāļēāļĢāļāļīāļāļāļēāļĄāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ
-
āļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļāļāļīāļāļąāļāļīāļāļēāļĄāļāđāļāļāļģāļŦāļāļ
- āļāļāļīāļāļąāļāļīāļāļēāļĄ GDPR āđāļĨāļ° PDPA
- āđāļĄāđāļĄāļĩ āļāļēāļĢāđāļāđāļāļĢāļąāļāļĐāļēāļāđāļāļĄāļđāļĨ āļŦāļĨāļąāļāļāļēāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ
- āļĢāļąāļāļĢāļāļāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāļĢāļ°āļāļąāļ iBeta Level 1
āļāļĢāļļāļāļēāđāļāļāļĩāđāļŦāļāđāļē āļāļēāļĢāļāļąāļāļāļēāļĢ API Key āđāļāļ·āđāļāļāļđ API Key āļāļĩāđāļĄāļĩāļāļĒāļđāđāļāļāļāļāļļāļ āļŦāļĢāļ·āļāļāļāđāļŦāļĄāđ
āļāļąāļ§āļāļĒāđāļēāļâ
āļāļģāļāļ Face Passive Liveness Detection:â
āđāļŠāļāļāļāļąāļ§āļāļĒāđāļēāļāļĢāļđāļāļ āļēāļ

curl --location 'https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness' \
--header 'apikey: {YOUR API KEY}' \
--form 'file=@"{YOUR UPLOADED FILE}"'
āļāļēāļĢāļāļāļāļāļĨāļąāļ Face Passive Liveness Detection:â
{
"filename": "S__5333002.jpg",
"predict": "SPOOF",
"score": 0.9999989633974822,
"darkness": 0.51,
"data": {
"SPOOF": 0.9999990463256836,
"REAL": 9.35794162160164e-7
},
"normalized": {
"SPOOF": 0.9999989633974822,
"REAL": 1.0366025178232263e-6
},
"status_code": 200,
"duration": 0.35393,
"message": "SUCCESS"
}
āļāļļāļāļŠ āļĄāļāļąāļāļīāđāļĨāļ°āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļâ
āļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļâ
- āļāļĢāļ§āļāļāļąāļāļ§āļīāļāļĩāļāļēāļĢāļāļĨāļāļĄāđāļāļĨāļāđāļāļŦāļāđāļēāļāđāļēāļāđ āđāļāđāļ āļĢāļđāļāļāđāļēāļĒāļāļĩāđāļāļīāļĄāļāđāļāļāļāļĄāļē āļŦāļāđāļēāļāļēāļāļāļĩāđāļŠāļĄāļāļĢāļīāļ āļĢāļđāļāļ āļēāļāļāļēāļāļŦāļāđāļēāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢāđ āđāļĨāļ°āļ§āļīāļāļĩāđāļāļāļĩāđāđāļĨāđāļāļāđāļģ
- āđāļāđāđāļāļāļāļīāļāļāļēāļĢāđāļĢāļĩāļĒāļāļĢāļđāđāđāļāļīāļāļĨāļķāļāļāļąāđāļāļŠāļđāļāđāļāļ·āđāļāđāļŦāđāļĄāļąāđāļāđāļāđāļāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļĨāļ°āļāļ§āļēāļĄāļāđāļēāđāļāļ·āđāļāļāļ·āļāļŠāļđāļ
- āđāļāđāļĢāļąāļāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāļāļ§āđāļē 99.43% āļāļēāļāļāļēāļĢāļāļāļŠāļāļ 7,680 āļāļĢāļąāđāļ
- āđāļāđāļĢāļąāļāļāļēāļĢāļĢāļąāļāļĢāļāļāļĢāļ°āļāļąāļ iBeta Level 1 āļŠāļģāļŦāļĢāļąāļāļĢāļ°āļāļāļĢāļđāđāļāļģāđāļāļŦāļāđāļēāļāļĩāđāļāļĨāļāļāļ āļąāļĒāđāļĨāļ°āđāļāļ·āđāļāļāļ·āļāđāļāđ
- āļāļŠāļēāļāļĢāļ§āļĄāđāļāđāļāļĒāđāļēāļāļĢāļēāļāļĢāļ·āđāļāļāđāļēāļ RESTful API āđāļāļ·āđāļāļāļēāļĢāđāļāđāļāļēāļāļāļĩāđāļāđāļēāļĒāđāļāđāļāļāļāļĨāļīāđāļāļāļąāļ
āļāđāļāļāļāļĩāđāļĢāļāļāļĢāļąāļâ
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāļāļ§āļēāļĄāļāļĒāļēāļĒāļēāļĄāđāļāļāļēāļĢāļāļĨāļāļĄāđāļāļĨāļāđāļāļŦāļāđāļē (āļĢāļđāļāļāđāļēāļĒāļāļĩāđāļāļīāļĄāļāđāļāļāļāļĄāļē āļŦāļāđāļēāļāļēāļ āļĢāļđāļāļ āļēāļāļŦāļāđāļēāļāļ āļ§āļīāļāļĩāđāļāļāļĩāđāđāļĨāđāļāļāđāļģ)
- āļāļ°āđāļāļāļāļ§āļēāļĄāļĄāļąāđāļāđāļāđāļāļāļēāļĢāļāļĢāļ§āļāļāļąāļāđāļāļŦāļāđāļēāļāļĩāđāđāļāđāļāļĢāļīāļāđāļāļĩāļĒāļāļāļąāļāđāļāļŦāļāđāļēāļāļĨāļāļĄ
- āđāļāđāļēāļāļąāļāđāļāđāļāļąāļāļĢāļđāļāđāļāļāļĢāļđāļāļ āļēāļāļĒāļāļāļāļīāļĒāļĄ āđāļāđāļ PNG, JPG, JPEG, HEIC āđāļĨāļ° HEIF
API Endpointsâ
| Endpoint | Method | āļāļģāļāļāļīāļāļēāļĒ | āļĢāļēāļāļē |
|---|---|---|---|
POST /v3/store/ekyc/face-passive-livenessLegacy: /anti_face_spoofing, /api/v2/fas, /face-spoofing, /passive-face-liveness-detection | POST | āļāļēāļĢāļāļĢāļ§āļāļāļąāļ Face Liveness - āļāļĢāļ§āļāļāļąāļāļāļ§āļēāļĄāļāļĒāļēāļĒāļēāļĄāđāļāļāļēāļĢāļāļĨāļāļĄāđāļāļĨāļ | 0.3 IC āļāđāļāļāļģāļāļ |
POST /v3/store/ekyc/face-passive-liveness/v1p10Legacy: /v1p10/facial_anti_spoofing | POST | āļāļēāļĢāļāļĢāļ§āļāļāļąāļ Face Liveness (v1p10) | 0.3 IC āļāđāļāļāļģāļāļ |
āļāđāļāļĄāļđāļĨāļāđāļēāļāļāļīāļ APIâ
Face Passive Liveness Endpointsâ
1. Face Passive Liveness Detection (Base)â
POST /v3/store/ekyc/face-passive-liveness
āļāļĢāļ§āļāļāļąāļāļ§āđāļēāļ āļēāļāđāļāļŦāļāđāļēāđāļāđāļāļāļāļāļāļĢāļīāļāļŦāļĢāļ·āļāļāļēāļĢāļāļĨāļāļĄāđāļāļĨāļ āļĢāļāļāļĢāļąāļāļāļēāļĢāļāļĢāļ§āļāļāļąāļāļĢāļđāļāļāđāļēāļĒāļāļĩāđāļāļīāļĄāļāđāļāļāļāļĄāļē āļŦāļāđāļēāļāļēāļāļāļĩāđāļŠāļĄāļāļĢāļīāļ āļ āļēāļāļāļąāļāļŦāļāđāļēāļāļ āđāļĨāļ°āļ§āļīāļāļĩāđāļāļāļĩāđāđāļĨāđāļāļāđāļģ āđāļāđāļĢāļąāļāļāļēāļĢāļĢāļąāļāļĢāļāļāļĢāļ°āļāļąāļ iBeta Level 1
2. Face Passive Liveness Detection (v1p10)â
POST /v3/store/ekyc/face-passive-liveness/v1p10
āđāļ§āļāļĢāđāļāļąāļāļāļēāļāđāļĨāļ·āļāļāļāļāļāļāļēāļĢāļāļĢāļ§āļāļāļąāļ Face Passive Liveness āļāļĢāđāļāļĄāļāļąāļĨāļāļāļĢāļīāļāļķāļĄāļāļĩāđāļāļĢāļąāļāļāļĢāļļāļāđāļĨāđāļ§āļŠāļģāļŦāļĢāļąāļāļāļĢāļāļĩāļāļēāļĢāđāļāđāļāļēāļāđāļāļāļēāļ°
āļĢāļđāļāđāļāļāļāļģāļāļāđāļĨāļ°āļāļēāļĢāļāļāļāļāļĨāļąāļâ
Headersâ
| āļāļ·āđāļ | āļāļĢāļ°āđāļ āļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
| apikey | String | āļāļĩāļĒāđ API āļāļāļāļāļļāļāđāļāļ·āđāļāđāļĢāļĩāļĒāļāđāļāđ API āļāļĩāđ |
Request Bodyâ
| āļāļ·āđāļ | āļāļĢāļ°āđāļ āļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
| file | File | āļāđāļāļĄāļđāļĨāđāļāļāļēāļĢāļĩāļāļāļāļĢāļđāļāļ āļēāļ |
Responseâ
{
"filename": "Image.jpeg",
"predict": "SPOOF",
"score": 0.9999590674225165,
"darkness": 0.29,
"data": {
"SPOOF": 0.9999197721481323,
"REAL": 8.024471753742546e-5
},
"normalized": {
"SPOOF": 0.9999590674225165,
"REAL": 4.093257748349899e-5
},
"status_code": 200,
"duration": 0.38198,
"message": "SUCCESS"
}
āļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđāđāļāļāļēāļĢāļāļāļāļāļĨāļąāļâ
| āļāļ·āđāļ | āļāļĢāļ°āđāļ āļ | āļāļģāļāļāļīāļāļēāļĒ |
|---|---|---|
| filename | String | āļāļ·āđāļāđāļāļĨāđ |
| predict | String | āļāļĨāļāļēāļĢāļāļģāļāļēāļĒ āđāļāđāļ REAL āļŦāļĢāļ·āļ SPOOF āļāļķāđāļāļāļĒāļđāđāļāļąāļāļāļ°āđāļāļāļāļĩāđāļāļģāđāļŦāđāđāļāđāļāļĄāļēāļāļĢāļāļēāļ |
| score | Float | āļāļ°āđāļāļāļāļēāļĢāļāļģāļāļēāļĒāļŦāļĨāļąāļāļāļēāļāļāļēāļĢāļāļģāđāļŦāđāđāļ āđāļāļĄāļēāļāļĢāļāļēāļ |
| darkness | Float | āļĢāļ°āļāļąāļāļāļ§āļēāļĄāļĄāļ·āļāđāļāļĢāļđāļāđāļāļāđāļāļāļĢāđāđāļāđāļāļāđ |
| data | Dictionary | āļāļ°āđāļāļāļāļēāļĢāļāļģāļāļēāļĒāļŠāļģāļŦāļĢāļąāļāļāļąāđāļāļŦāļĄāļ§āļāļŦāļĄāļđāđ REAL āđāļĨāļ° SPOOF āļāđāļāļāļāļēāļĢāļāļģāđāļŦāđāđāļāđāļāļĄāļēāļāļĢāļāļēāļ |
| normalized | Dictionary | āļāļ°āđāļāļāļāļēāļĢāļāļģāļāļēāļĒāļŠāļģāļŦāļĢāļąāļāļāļąāđāļāļŦāļĄāļ§āļāļŦāļĄāļđāđ REAL āđāļĨāļ° SPOOF āļŦāļĨāļąāļāļāļēāļĢāļāļģāđāļŦāđāđāļāđāļāļĄāļēāļāļĢāļāļēāļ |
| status_code | Integer | āļĢāļŦāļąāļŠāļŠāļāļēāļāļ°āļāļĩāđāļĢāļ°āļāļļāļāļ§āļēāļĄāļŠāļģāđāļĢāđāļāļŦāļĢāļ·āļāļāđāļāļāļīāļāļāļĨāļēāļāđāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ |
| duration | Float | āļĢāļ°āļĒāļ°āđāļ§āļĨāļēāđāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ |
| message | String | āļāđāļāļāļ§āļēāļĄāļāļĨāļĨāļąāļāļāđāļŦāļĢāļ·āļāļāđāļāļāļīāļāļāļĨāļēāļāļāļēāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ |
āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļâ
Curlâ
curl -X POST https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness \
-H "apikey: YOUR API KEY" \
-F "file=@/path/to/file.jpg"
Pythonâ
import requests
def detect_face_spoofing(image_path, api_key):
url = "https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness"
headers = {'apikey': {YOUR API KEY}}
files = {'file': open(image_path, 'rb')}
response = requests.post(url, headers=headers, files=files)
return response.json()
JavaScriptâ
const axios = require('axios');
async function detectFaceSpoofing(imagePath, apiKey) {
const url = "https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness";
const headers = { 'apikey': {YOUR API KEY} };
const formData = new FormData();
formData.append('file', fs.createReadStream(imagePath));
try {
const response = await axios.post(url, formData, { headers });
return response.data;
} catch (error) {
console.error('Error:', error);
}
}
PHPâ
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file'=> new CURLFILE('{YOUR UPLOADED FILE}')),
CURLOPT_HTTPHEADER => array(
'apikey: {YOUR API KEY}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Swiftâ
let parameters = [
[
"key": "file",
"src": "{YOUR UPLOADED FILE}",
"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-passive-liveness")!,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("file","{YOUR UPLOADED FILE}",
File("{YOUR UPLOADED FILE}").asRequestBody("application/octet-stream".toMediaType()))
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness")
.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("file","{YOUR UPLOADED FILE}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{YOUR UPLOADED FILE}")))
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness")
.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-passive-liveness'));
request.files.add(await http.MultipartFile.fromPath('file', '{YOUR UPLOADED FILE}'));
request.headers.addAll(headers);
http.StreamedResponse response = await request.send();
if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}
