Skip to main content

ðŸ‘Ī āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļē

0.2 ICāļ•āđˆāļ­āļ„āļģāļ‚āļ­ (āđ€āļ”āļĩāđˆāļĒāļ§) / 0.3 IC (āļŦāļĨāļēāļĒāđƒāļšāļŦāļ™āđ‰āļē)
v1.0 Active POST /v3/store/ekyc/face-detection

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

āļ—āļ”āļĨāļ­āļ‡āđƒāļŠāđ‰āļ‡āļēāļ™!​

Example Images (Click to try)

Example 1

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

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

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

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

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

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

āļāļĢāļļāļ“āļēāđ„āļ›āļ—āļĩāđˆāļŦāļ™āđ‰āļē āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ„āļĩāļĒāđŒ API āđ€āļžāļ·āđˆāļ­āļ”āļđāļ„āļĩāļĒāđŒ API āļ—āļĩāđˆāļ„āļļāļ“āļĄāļĩāļ­āļĒāļđāđˆ āļŦāļĢāļ·āļ­āļ‚āļ­āļ„āļĩāļĒāđŒāđƒāļŦāļĄāđˆ

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

āļ„āļģāļ‚āļ­āļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāđ€āļ”āļĩāđˆāļĒāļ§:​

āļ āļēāļžāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļē

curl --location --request POST 'https://api.iapp.co.th/v3/store/ekyc/face-detection/single' \
--header 'apikey: {āļ„āļĩāļĒāđŒ API āļ‚āļ­āļ‡āļ„āļļāļ“}' \
--form 'file=@"{āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ„āļŸāļĨāđŒāļĢāļđāļ›āļ āļēāļžāļ‚āļ­āļ‡āļ„āļļāļ“}"'

āļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāđ€āļ”āļĩāđˆāļĒāļ§:​

{
"bbox": {
"xmax": 320.15,
"xmin": 100.23,
"ymax": 450.78,
"ymin": 150.45
},
"detection_score": 0.9998989105224609,
"face": "/9j/4AAQ...base64_encoded_image",
"message": "success",
"process_time": 0.41
}

āļ„āļģāļ‚āļ­āļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāļŦāļĨāļēāļĒāđƒāļšāļŦāļ™āđ‰āļē:​

āļ āļēāļžāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļē

curl --location --request POST 'https://api.iapp.co.th/v3/store/ekyc/face-detection/multi' \
--header 'apikey: {āļ„āļĩāļĒāđŒ API āļ‚āļ­āļ‡āļ„āļļāļ“}' \
--form 'file=@"{āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ„āļŸāļĨāđŒāļĢāļđāļ›āļ āļēāļžāļ‚āļ­āļ‡āļ„āļļāļ“}"'

āļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāļŦāļĨāļēāļĒāđƒāļšāļŦāļ™āđ‰āļē:​

{
"message": "success",
"process_time": 0.67,
"result": [
{
"bbox": {
"xmax":1317.7054443359375,
"xmin":1075.64013671875,
"ymax":555.1968994140625,
"ymin":243.38815307617188
},
"detection_score": 0.99,
"face": "/9j/4AAQ...base64_encoded_image"
},
{
"bbox": {
"xmax":684.1102294921875,
"xmin":484.45068359375,
"ymax":520.4813842773438,
"ymin":265.50823974609375
},
"detection_score": 0.99,
"face": "/9j/4AAQ...base64_encoded_image"
},
...
]
}

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

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

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

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

āļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāđ€āļ”āļĩāđˆāļĒāļ§â€‹

āļŸāļīāļĨāļ”āđŒāļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
bboxDictionaryāļžāļīāļāļąāļ”āļāļĢāļ­āļšāļŠāļĩāđˆāđ€āļŦāļĨāļĩāđˆāļĒāļĄāļ‚āļ­āļ‡āđƒāļšāļŦāļ™āđ‰āļē
detection_scoreFloatāļ„āļ°āđāļ™āļ™āļ„āļ§āļēāļĄāđ€āļŠāļ·āđˆāļ­āļĄāļąāđˆāļ™āđƒāļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļē
faceStringāļĢāļđāļ›āļ āļēāļžāđƒāļšāļŦāļ™āđ‰āļēāđāļšāļšāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ Base64
messageStringāļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ
process_timeFloatāđ€āļ§āļĨāļēāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđƒāļ™āļŦāļ™āđˆāļ§āļĒāļ§āļīāļ™āļēāļ—āļĩ

āļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāļŦāļĨāļēāļĒāđƒāļšāļŦāļ™āđ‰āļē​

āļŸāļīāļĨāļ”āđŒāļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
messageStringāļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ
process_timeFloatāđ€āļ§āļĨāļēāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđƒāļ™āļŦāļ™āđˆāļ§āļĒāļ§āļīāļ™āļēāļ—āļĩ
resultArrayāļ­āļēāļĢāđŒāđ€āļĢāļĒāđŒāļ‚āļ­āļ‡āđƒāļšāļŦāļ™āđ‰āļēāļ—āļĩāđˆāļ•āļĢāļ§āļˆāļžāļš
bboxDictionaryāļžāļīāļāļąāļ”āļāļĢāļ­āļšāļŠāļĩāđˆāđ€āļŦāļĨāļĩāđˆāļĒāļĄāļ‚āļ­āļ‡āđƒāļšāļŦāļ™āđ‰āļē
detection_scoreFloatāļ„āļ°āđāļ™āļ™āļ„āļ§āļēāļĄāđ€āļŠāļ·āđˆāļ­āļĄāļąāđˆāļ™āđƒāļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļē
faceStringāļĢāļđāļ›āļ āļēāļžāđƒāļšāļŦāļ™āđ‰āļēāđāļšāļšāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ Base64

API Endpoints​

EndpointMethodāļ„āļģāļ­āļ˜āļīāļšāļēāļĒāļĢāļēāļ„āļē
POST /v3/store/ekyc/face-detection/single
Legacy: /face_detect_single
POSTāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ”āđˆāļ™āļ—āļĩāđˆāļŠāļļāļ”āđƒāļ™āļĢāļđāļ›āļ āļēāļž0.2 IC āļ•āđˆāļ­āļāļēāļĢāļĢāđ‰āļ­āļ‡āļ‚āļ­
POST /v3/store/ekyc/face-detection/multi
Legacy: /face_detect_multi
POSTāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™āļĢāļđāļ›āļ āļēāļž0.3 IC āļ•āđˆāļ­āļāļēāļĢāļĢāđ‰āļ­āļ‡āļ‚āļ­

āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ API​

Endpoints āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļē​

1. āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāđ€āļ”āļĩāđˆāļĒāļ§â€‹

POST /v3/store/ekyc/face-detection/single

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


2. āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāļŦāļĨāļēāļĒāđƒāļšāļŦāļ™āđ‰āļē​

POST /v3/store/ekyc/face-detection/multi

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

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

Curl​

curl -X POST https://api.iapp.co.th/v3/store/ekyc/face-detection/single \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/file.jpg"

Python​

import requests

url = "https://api.iapp.co.th/v3/store/ekyc/face-detection/single"

payload = {}
files=[
('file',('{āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļ­āļąāļ›āđ‚āļŦāļĨāļ”āļ‚āļ­āļ‡āļ„āļļāļ“}',open('{āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļ­āļąāļ›āđ‚āļŦāļĨāļ”āļ‚āļ­āļ‡āļ„āļļāļ“}','rb'),'image/jpeg'))
]
headers = {
'apikey': '{āļ„āļĩāļĒāđŒ API āļ‚āļ­āļ‡āļ„āļļāļ“}'
}

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('file', fs.createReadStream('/Users/iapp/Downloads/removebg_trial.png'));

let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.iapp.co.th/v3/store/ekyc/face-detection/single',
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-detection/single',
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('{āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļ­āļąāļ›āđ‚āļŦāļĨāļ”āļ‚āļ­āļ‡āļ„āļļāļ“}')),
CURLOPT_HTTPHEADER => array(
'apikey: {āļ„āļĩāļĒāđŒ API āļ‚āļ­āļ‡āļ„āļļāļ“}'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Swift​

let parameters = [[
"key": "file",
"src": "{āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļ­āļąāļ›āđ‚āļŦāļĨāļ”āļ‚āļ­āļ‡āļ„āļļāļ“}",
"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-detection/single")!,timeoutInterval: Double.infinity)
request.addValue("{āļ„āļĩāļĒāđŒ API āļ‚āļ­āļ‡āļ„āļļāļ“}", 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","file",
File("{āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļ­āļąāļ›āđ‚āļŦāļĨāļ”āļ‚āļ­āļ‡āļ„āļļāļ“}").asRequestBody("application/octet-stream".toMediaType()))
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/face-detection/single")
.post(body)
.addHeader("apikey", "{āļ„āļĩāļĒāđŒ API āļ‚āļ­āļ‡āļ„āļļāļ“}")
.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","file",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļ­āļąāļ›āđ‚āļŦāļĨāļ”āļ‚āļ­āļ‡āļ„āļļāļ“}")))
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/face-detection/single")
.method("POST", body)
.addHeader("apikey", "{āļ„āļĩāļĒāđŒ API āļ‚āļ­āļ‡āļ„āļļāļ“}")
.build();
Response response = client.newCall(request).execute();

Dart​

var headers = {
'apikey': '{āļ„āļĩāļĒāđŒ API āļ‚āļ­āļ‡āļ„āļļāļ“}'
};
var request = http.MultipartRequest('POST', Uri.parse('https://api.iapp.co.th/v3/store/ekyc/face-detection/single'));
request.files.add(await http.MultipartFile.fromPath('file', '{āļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļ­āļąāļ›āđ‚āļŦāļĨāļ”āļ‚āļ­āļ‡āļ„āļļāļ“}'));
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}

āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āđāļĨāļ°āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”​

āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”​

  • āļ‚āļ™āļēāļ”āđ„āļŸāļĨāđŒāļŠāļđāļ‡āļŠāļļāļ”: 10MB
  • āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš: JPEG, JPG, PNG
  • āļˆāļģāļ™āļ§āļ™āđƒāļšāļŦāļ™āđ‰āļēāļŠāļđāļ‡āļŠāļļāļ”āļ•āđˆāļ­āļĢāļđāļ›āļ āļēāļž: 50

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

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

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

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

  • āļ„āļ°āđāļ™āļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āļŠāļđāļ‡āļāļ§āđˆāļē 95%
  • āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āđ„āļ›āļ•āļēāļĄāļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļĢāļđāļ›āļ āļēāļž

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

  • āđƒāļšāļŦāļ™āđ‰āļēāđ€āļ”āļĩāđˆāļĒāļ§: 0.3-0.5 āļ§āļīāļ™āļēāļ—āļĩ
  • āđƒāļšāļŦāļ™āđ‰āļēāļŦāļĨāļēāļĒāđƒāļšāļŦāļ™āđ‰āļē: 0.5-1.0 āļ§āļīāļ™āļēāļ—āļĩ

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

  1. āļ„āļļāļ“āļ āļēāļžāļ‚āļ­āļ‡āļĢāļđāļ›āļ āļēāļž
    • āļ„āļ§āļēāļĄāļĨāļ°āđ€āļ­āļĩāļĒāļ”
    • āđāļŠāļ‡
    • āđ‚āļŸāļāļąāļŠ
  2. āļ—āļīāļĻāļ—āļēāļ‡āļ‚āļ­āļ‡āđƒāļšāļŦāļ™āđ‰āļē
    • āļ—āđˆāļēāļ—āļēāļ‡āļĻāļĩāļĢāļĐāļ°
    • āļāļēāļĢāđāļŠāļ”āļ‡āļ­āļ­āļāļ—āļēāļ‡āļŠāļĩāļŦāļ™āđ‰āļē
    • āļāļēāļĢāļšāļ”āļšāļąāļ‡

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

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 1.0 (āđ€āļœāļĒāđāļžāļĢāđˆ: āļĄāļāļĢāļēāļ„āļĄ 2023)​

  • āļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ—āļĩāđˆāļŠāļģāļ„āļąāļ: āļāļēāļĢāđ€āļ›āļīāļ”āļ•āļąāļ§āļ„āļĢāļąāđ‰āļ‡āđāļĢāļ

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 0.9 (āđ€āļœāļĒāđāļžāļĢāđˆ: āļžāļĪāļĻāļˆāļīāļāļēāļĒāļ™ 2022)​

  • āļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ—āļĩāđˆāļŠāļģāļ„āļąāļ: āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļšāļ•āđ‰āļē

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 0.8 (āđ€āļœāļĒāđāļžāļĢāđˆ: āļāļąāļ™āļĒāļēāļĒāļ™ 2022)​

  • āļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ—āļĩāđˆāļŠāļģāļ„āļąāļ: āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ āļēāļĒāđƒāļ™

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

āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢProduction PathLegacy Pathāļ•āđ‰āļ™āļ—āļļāļ™ ICāļŦāļ™āđˆāļ§āļĒOn-Premise
āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāđ€āļ”āļĩāđˆāļĒāļ§/v3/store/ekyc/face-detection/single/face_detect_single0.2 ICāļ•āđˆāļ­ 1 āļ„āļģāļ‚āļ­āļ•āļīāļ”āļ•āđˆāļ­āđ€āļĢāļē
āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāđƒāļšāļŦāļ™āđ‰āļēāļŦāļĨāļēāļĒāđƒāļšāļŦāļ™āđ‰āļē/v3/store/ekyc/face-detection/multi/face_detect_multi0.3 ICāļ•āđˆāļ­ 1 āļ„āļģāļ‚āļ­