API ตรวจสอบผลลัพธ์
คำอธิบาย
เซิร์ฟเวอร์ของ APP เรียกใช้อินเทอร์เฟซนี้เพื่อส่งข้อมูลที่เข้ารหัส (payload) ที่ Engagelab SDK ส่งกลับมาไปยังเซิร์ฟเวอร์ Engagelab เพื่อตรวจสอบความตรงกันของหมายเลขโทรศัพท์
ข้อมูลอินเทอร์เฟซ
| รายการ | คำอธิบาย |
|---|---|
| เส้นทางคำขอ | POST /v1/verify |
| โปรโตคอล | HTTPS |
| วิธีการยืนยันตัวตน | HTTP Basic Auth |
| Content-Type | application/json |
โดเมนล่าสุด: authapi.engagelab.com
ตัวอย่างคำขอ
curl -X POST 'https://{authapi.engagelab.com}/v1/verify' \
-H 'Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl' \
-H 'Content-Type: application/json' \
-d '{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}'
curl -X POST 'https://{authapi.engagelab.com}/v1/verify' \
-H 'Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl' \
-H 'Content-Type: application/json' \
-d '{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}'
โค้ดนี้โชว์เป็นหน้าต่างลอย
วิธีการยืนยันตัวตน
ใช้ HTTP Basic Auth ในการยืนยันตัวตน:
Authorization: Basic base64(appKey:appSecret)
Authorization: Basic base64(appKey:appSecret)
โค้ดนี้โชว์เป็นหน้าต่างลอย
ตัวอย่าง:
- appKey:
tn4nm0qx032yx6f17q2tsa8f - appSecret:
your_app_secret_here - การเข้ารหัส base64:
dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl
Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl
Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl
โค้ดนี้โชว์เป็นหน้าต่างลอย
พารามิเตอร์คำขอ
| ชื่อพารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
| payload | string | ใช่ | ข้อมูลที่เข้ารหัสซึ่ง Engagelab SDK ส่งกลับมา และ APP ส่งต่อตามเดิม |
ตัวอย่างเนื้อหาคำขอ:
{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}
{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
พารามิเตอร์การตอบกลับ
การตอบกลับสำเร็จ (HTTP 200)
| ชื่อพารามิเตอร์ | ชนิด | คำอธิบาย |
|---|---|---|
| code | int | รหัสสถานะ; 0 หมายถึงสำเร็จ |
| msg | string | คำอธิบายสถานะ |
| data | object | ข้อมูลการตอบกลับ |
| data.message_id | string | ตัวระบุข้อความที่ไม่ซ้ำกัน ใช้สำหรับการแก้ไขปัญหาได้ |
| data.verified | boolean | ผลการตรวจสอบหมายเลข; true หมายถึงตรงกัน, false หมายถึงไม่ตรงกัน |
ตัวอย่างสำเร็จ (ตรวจสอบผ่าน):
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": true
}
}
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": true
}
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
ตัวอย่างสำเร็จ (ตรวจสอบไม่ผ่าน):
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": false
}
}
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": false
}
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
การตอบกลับข้อผิดพลาด (HTTP 4xx/5xx)
| ชื่อพารามิเตอร์ | ชนิด | คำอธิบาย |
|---|---|---|
| code | int | รหัสข้อผิดพลาด |
| msg | string | คำอธิบายข้อผิดพลาด |
ตัวอย่างข้อผิดพลาด:
{
"code": 2001,
"msg": "auth failed"
}
{
"code": 2001,
"msg": "auth failed"
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
คำอธิบายรหัสข้อผิดพลาด
| รหัสข้อผิดพลาด | รหัสสถานะ HTTP | คำอธิบาย | คำแนะนำในการจัดการ |
|---|---|---|---|
| 1000 | 500 | ข้อผิดพลาดภายในเซิร์ฟเวอร์ | โปรดลองใหม่ภายหลัง หากยังเกิดขึ้นต่อเนื่องโปรดติดต่อฝ่ายสนับสนุนทางเทคนิค |
| 2001 | 401 | การยืนยันตัวตนล้มเหลว | ตรวจสอบว่า appKey และ appSecret ถูกต้องหรือไม่ และรูปแบบ Authorization เป็นไปตามข้อกำหนดหรือไม่ |
| 2004 | 401 | appKey ไม่ถูกต้อง | ตรวจสอบว่า appKey ถูกต้องหรือไม่ หรือติดต่อฝ่ายสนับสนุนทางเทคนิคเพื่อยืนยันว่าเปิดใช้บริการแล้วหรือไม่ |
| 3001 | 400 | รูปแบบพารามิเตอร์ไม่ถูกต้อง | ตรวจสอบว่าเนื้อหาคำขอเป็น JSON ที่ถูกต้องหรือไม่ |
| 3002 | 400 | การตรวจสอบพารามิเตอร์ล้มเหลว | ตรวจสอบว่าพารามิเตอร์ payload มีอยู่และมีรูปแบบถูกต้องหรือไม่ |
| 3003 | 400 | appKey ไม่ตรงกัน | appKey ใน payload ไม่ตรงกับ appKey ในส่วนหัวการยืนยันตัวตน โปรดตรวจสอบให้แน่ใจว่าใช้คู่คีย์ที่ถูกต้อง |
| 3004 | 400 | การกำหนดค่ายังไม่เปิดใช้งาน | การกำหนดค่าบริการยังไม่ได้เปิดใช้งาน โปรดติดต่อฝ่ายสนับสนุนทางเทคนิคเพื่อเปิดใช้งาน |
| 3005 | 400 | ยอดเงินไม่เพียงพอ | ยอดเงินในบัญชีไม่เพียงพอ โปรดเติมเงินแล้วลองใหม่ |
| 4001 | 400 | ไม่พบการกำหนดค่า | ไม่พบการกำหนดค่าบริการที่เกี่ยวข้อง โปรดติดต่อฝ่ายสนับสนุนทางเทคนิค |
| 5001 | 400 | การตรวจสอบล้มเหลว | เกิดข้อยกเว้นระหว่างกระบวนการยืนยันตัวตนของผู้ให้บริการเครือข่าย สามารถตรวจสอบตามข้อมูลใน msg หรือติดต่อฝ่ายสนับสนุนทางเทคนิค |
ข้อควรระวัง
- การส่งต่อ payload: หลังจาก APP ได้รับ payload ที่ Engagelab SDK ส่งกลับมา ต้องส่งต่อตามเดิมไปยังเซิร์ฟเวอร์ของ APP จากนั้นเซิร์ฟเวอร์ของ APP จึงเรียกใช้อินเทอร์เฟซนี้ อย่าแก้ไข payload ไม่ว่ากรณีใด ๆ
- คำแนะนำด้านความปลอดภัย: โปรดเก็บ appSecret ไว้อย่างปลอดภัยและใช้เฉพาะฝั่งเซิร์ฟเวอร์เท่านั้น อย่าเปิดเผยใน APP
- ผลการตรวจสอบ: ค่า
verifiedเท่ากับfalseหมายความว่าหมายเลขโทรศัพท์ที่ผู้ใช้กรอกไม่ตรงกับหมายเลขของซิมการ์ด และควรปฏิเสธการเข้าสู่ระบบของผู้ใช้










