ระบบตรวจสอบ 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)
}