ระบบตรวจสอบ OTP
ระบบการตรวจสอบ OTP มี API ที่ประกอบด้วย ส่ง OTP และ ตรวจสอบ OTP เพื่อใช้การตรวจสอบ OTP กับเกม
URL
วิธีการตรวจสอบสิทธิ์
ในการใช้งาน 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
ฟิลด์ | ประเภท |
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 |
// 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"
}'
//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)
}