ข้ามไปที่เนื้อหา

ระบบตรวจสอบ OTP

ระบบการตรวจสอบ OTP มี API ที่ประกอบด้วย ส่ง OTP และ ตรวจสอบ OTP เพื่อใช้การตรวจสอบ OTP กับเกม

URL

เซิร์ฟเวอร์ URL
ผลิต https://otp.qpyou.cn
แซนด์บ็อกซ์ https://sandbox-otp.qpyou.cn

วิธีการตรวจสอบสิทธิ์

ในการใช้งาน API ที่ระบบ OTP Send ให้บริการ จำเป็นต้องมีโทเค็นการอนุญาต (API KEY) โทเค็นการตรวจสอบสิทธิ์จะถูกออกโดยอัตโนมัติหลังจากที่เกมของคุณลงทะเบียนใน AppCenter โทเค็นการอนุญาตซึ่งปฏิบัติตามข้อกำหนด JWT (JSON Web Token: https://jwt.io) ไม่มีการจำกัดเวลาหมดอายุ ดังนั้นจึงสามารถใช้โทเค็นนี้ต่อไปได้


ส่ง OTP

ส่ง SMS OTP

  • ข้อมูลพื้นฐาน
วิธีการ POST
URL /otp/sms
  • ส่วนหัวของคำขอ
ฟิลด์ ประเภท
Content-Type application/json
Authorization bearer
Topic Hive Console > การแจ้งเตือน > SMS OTP > การตั้งค่าข้อมูลการส่ง > การลงทะเบียนหรือการแก้ไข > รหัสการส่ง
  • ต้องมีการเรียกกลับเมื่อคุณส่ง SMS OTP โดยตรง

หาก SMS OTP ไม่ได้ถูกส่งโดยตรงจาก OTP แต่เป็นการส่งโดยคุณเอง คุณสามารถรับข้อมูลที่จำเป็นสำหรับการส่ง SMS OTP ผ่านทาง callback ใน Hive Console > Notification > SMS OTP > การตั้งค่าข้อมูลการส่ง ให้เลือก การส่งโดยตรง และข้อมูลต่อไปนี้จะถูกส่งไปยัง URL callback ที่ลงทะเบียนในรูปแบบ JSON ใน Request Body กรุณาอ้างอิงถึง ตัวอย่างการร้องขอ Callback และ ข้อมูล Callback

  • เนื้อหาคำขอ
ฟิลด์ ประเภท จำเป็น คำอธิบาย
to สตริง O หมายเลขโทรศัพท์ของผู้รับ
toCountryNo สตริง O รหัสประเทศของผู้รับ
retry บูลีน X ฟิลด์นี้ระบุถึงการมีอยู่ของการทดลองส่ง OTP SMS ไปยังผู้รับเดียวกันผ่าน API นี้ หากฟิลด์นี้ถูกปล่อยว่าง จะถูกตั้งค่าเป็น true หาก API นี้ถูกเรียกมากกว่าหนึ่งครั้งสำหรับผู้รับเดียวกันภายใน 5 นาทีที่ผ่านมา และตั้งค่าเป็น false หากไม่ใช่
lookup บูลีน X ฟิลด์นี้ระบุว่าต้องการตรวจสอบว่า to อยู่ในรูปแบบที่ถูกต้องสำหรับหมายเลขโทรศัพท์หรือไม่ และค่าดีฟอลต์คือ false หากเป็น true เวลาตอบสนองของ API จะประมาณ 250ms ~ 2000ms เนื่องจากกระบวนการตรวจสอบ และโดยปกติจะอยู่ภายใน 200ms หากเป็น false
lang สตริง X นี่คือรหัสภาษา และค่าดีฟอลต์คือ en.
รหัสภาษาที่ถูกต้อง:
  • ko
  • en
  • ja
  • zh-cn
  • zh-tw
  • zh-hans
  • zh-hant
  • de
  • fr
  • ru
  • es
  • pt
  • id
  • th
  • vi
  • it
  • tr
  • ar
  • ส่วนหัวของการตอบกลับ
ฟิลด์ ประเภท
Content-Type application/json
  • เนื้อหาการตอบกลับ
ฟิลด์ ประเภท คำอธิบาย
otp สตริง หมายเลข OTP
provider สตริง ผู้ให้บริการ SMS
expiry สตริง เวลาหมดอายุของ OTP
  • ตัวอย่างคำขอ
//sample 1
curl --location 'https://otp.qpyou.cn/otp/send' 
--header 'Authorization: Bearer AUTH_TOKNE_VALUE' 
--header 'Topic: testTopicName' 
--header 'Content-Type: application/json' 
--data '{
    "to" : "01012345678",
    "toCountryNo" : "82",
    "lang" : "ko"
}'
//sample 2
curl --location 'https://otp.qpyou.cn/otp/send' 
--header 'Authorization: Bearer AUTH_TOKNE_VALUE' 
--header 'Topic: testTopicName' 
--header 'Content-Type: application/json' 
--data '{
    "to" : "01012345678",
    "toCountryNo" : "82",
    "lang" : "ko",
    "retry" : true,
    "lookup" : true
}'
  • ตัวอย่างการตอบกลับ
{
    "otp" : "123456",
    "provider" : "YOUR SMS PROVIDER",
    "expiry" : "2022-07-20T15:18:06.885195100+09:00[Asia/Seoul]"
}

ตัวอย่างการเรียกกลับ

curl --location 'https://{your_callback_url}' 
--header 'Content-Type: application/json' 
--data '{
"to":"01012345678",
"toCountryNo":"82",
"lang":"en",
"retry":null,
"lookup":false,
"serviceName":"LocalTest",
"otp":"809881",
"provider":"DIRECTSEND",
"expiry":"2024-06-26T11:36:29.680680500+09:00[Asia/Seoul]",
"expiryTimestamp":1719369389680
}'

ข้อมูลการเรียกกลับ

ชื่อ ประเภท จำเป็น คำอธิบาย
expiry สตริง ใช่ ระยะเวลาใช้ OTP (เช่น, 2024-06-25T11:39:43.076573600+09:00[เอเชีย/โซล])
expiryTimestamp ยาว ใช่ เวลาใช้ OTP (เช่น, 1719283183076)
lang สตริง ไม่ รหัสภาษา ค่าเริ่มต้นคือ en
lookup บูลีน ไม่ ตรวจสอบว่าค่าที่จะเป็นหมายเลขโทรศัพท์ที่ถูกต้องหรือไม่ ค่าเริ่มต้นคือ false
otp สตริง ใช่ หมายเลข OTP
provider สตริง ใช่ ผู้ให้บริการ SMS ค่า FIXED คือ DIRECTSEND ใช้สำหรับการส่งโดยตรง
retry บูลีน ไม่ ตัวเลือกการลองใหม่
serviceName สตริง ใช่ ชื่อบริการที่ตั้งค่าในเมนูการตั้งค่าข้อมูลการส่ง (เป็นภาษาอังกฤษ)
to สตริง ใช่ หมายเลขโทรศัพท์ผู้รับ
toCountryNo สตริง ใช่ รหัสประเทศของผู้รับ

ส่งอีเมล OTP

วิธี POST
URL /otp/email
  • ส่วนหัวของคำขอ
ฟิลด์ ประเภท
Content-Type application/json
Authorization bearer
Topic Hive Console > Notification > SMS OTP > การตั้งค่าข้อมูลการส่ง > การลงทะเบียนหรือการแก้ไข > รหัสการส่ง
  • เนื้อหาคำขอ
ฟิลด์ ประเภท จำเป็น คำอธิบาย
sender สตริง O ที่อยู่อีเมลของผู้ส่ง
senderName สตริง O ชื่อของผู้ส่งในอีเมล
receiver สตริง O ที่อยู่อีเมลของผู้รับ
subject สตริง O หัวข้ออีเมล
lang สตริง X นี่คือรหัสภาษา และค่าพื้นฐานคือ en.
รหัสภาษาที่ถูกต้อง:
  • ko
  • en
  • ja
  • zh-cn
  • zh-tw
  • zh-hans
  • zh-hant
  • de
  • fr
  • ru
  • es
  • pt
  • id
  • th
  • vi
  • it
  • tr
  • ar
  • ส่วนหัวการตอบกลับ
ฟิลด์ ประเภท
Content-Type application/json
  • เนื้อหาการตอบกลับ
ฟิลด์ ประเภท คำอธิบาย
otp สตริง หมายเลข OTP
expiry สตริง เวลาที่ OTP ใช้งานได้
  • ตัวอย่างคำขอ
//sample
curl --location 'https://otp.qpyou.cn/otp/email/send' 
--header 'Authorization: bearer AUTH_TOKEN_VALUE' 
--header 'Topic: testTopicName' 
--header 'Content-Type: application/json' 
--data-raw '{
    "sender" : "staging-no-reply@withhive.com",
    "senderName" : "YOUR SERVICE NAME",
    "receiver" : "com2us@com2us.com",
    "subject" : "OTP EMAIL SEND",
    "lang" : "ko"
}'
  • ตัวอย่างการตอบกลับ
{
    "otp" : "123456",
    "expiry" : "2022-07-20T15:19:19.305116+09:00[Asia/Seoul]"
}

ยืนยัน OTP

วิธีการ POST
URL /otp/verify
  • ส่วนหัวของคำขอ
ฟิลด์ ประเภท
Content-Type application/json
Authorization bearer
Topic Hive Console > Notification > SMS OTP > การตั้งค่าข้อมูลการส่ง > การลงทะเบียนหรือการแก้ไข > รหัสการส่ง
  • เนื้อหาคำขอ
ฟิลด์ ประเภท จำเป็น คำอธิบาย
toCountryNo สตริง X รหัสประเทศที่ได้รับ (จำเป็นหาก OTP ได้รับผ่าน SMS)
to สตริง X หมายเลขโทรศัพท์ที่ได้รับ (จำเป็นหาก OTP ได้รับผ่าน SMS)
receiver สตริง X ที่อยู่อีเมลที่ได้รับ (จำเป็นหาก OTP ได้รับผ่านอีเมล)
otp สตริง O OTP ที่ได้รับ
  • ส่วนหัวการตอบกลับ
ฟิลด์ ประเภท
Content-Type application/json
  • เนื้อหาการตอบกลับ
ฟิลด์ ประเภท คำอธิบาย
result boolean ผลลัพธ์การตรวจสอบ OTP
  • ตัวอย่างคำขอ 1
// sample 1
curl --location 'https://otp.qpyou.cn/otp/verify' 
--header 'Authorization: bearer AUTH_TOKEN_VALUE' 
--header 'Topic: testTopicName' 
--header 'Content-Type: application/json' 
--data '{
    "toCountryNo" : "82",
    "to" : "01036012891",
    "otp" : "123456"
}'
  • ตัวอย่างคำขอ 2
//sample 2
curl --location 'https://otp.qpyou.cn/otp/verify' 
--header 'Authorization: bearer AUTH_TOKEN_VALUE' 
--header 'Topic: testTopicName' 
--header 'Content-Type: application/json' 
--data-raw '{
    "receiver" : "com2us@com2us.com",
    "otp" : "123456"
}'
  • ตัวอย่างการตอบกลับ
{
    "result" : true (or false)
}