跳轉至

OTP 验证系统

OTP 驗證系統提供一個 API,包括 發送 OTP驗證 OTP,以將 OTP 驗證應用於遊戲。

網址

伺服器 URL
生產環境 https://otp.qpyou.cn
沙盒環境 https://sandbox-otp.qpyou.cn

認證方法

要實現OTP發送系統提供的API,需要一個授權令牌(API KEY)。在您的遊戲在AppCenter註冊後,身份驗證令牌會自動發放。授權令牌遵循JWT(JSON Web Token: https://jwt.io)規範,不限制過期時間,因此可以繼續使用此令牌。


發送 OTP

發送 OTP 短信

  • 基本信息
方法 POST
URL /otp/sms
  • 請求標頭
欄位 類型
內容類型 application/json
授權 bearer
主題 Hive 控制台 > 通知 > 簡訊 OTP > 發送資訊設定 > 註冊或修改 > 發送 ID
  • 發送 OTP 短信時需要回調

如果 OTP 短信不是直接由 OTP 發送,而是由您自己發送,您可以通過回調接收發送 OTP 短信所需的信息。在 Hive 控制台 > 通知 > 短信 OTP > 發送信息設置 中,選擇 直接發送,以下數據將以 JSON 格式發送到註冊的回調 URL 的請求主體中。請參考 回調請求示例回調數據

  • 請求主體
字段 类型 必需 描述
to 字符串 O 接收者的电话号码
toCountryNo 字符串 O 接收者的国家代码
retry 布尔值 X 此字段指示您尝试通过此 API 向同一接收者发送 OTP 短信的存在。如果此字段留空,则如果在过去 5 分钟内对同一接收者调用此 API 超过一次,则设置为 true,否则设置为 false
lookup 布尔值 X 此字段指示是否验证 to 是否为有效的电话号码格式,默认值为 false。如果为 true,则由于验证过程,API 响应时间大约为 250 毫秒 ~ 2000 毫秒,如果为 false,通常在 200 毫秒内。
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
  • 回應標頭
欄位 類型
內容類型 application/json
  • 回應主體
欄位 類型 描述
otp 字串 OTP號碼
provider 字串 簡訊提供者
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[Asia/Seoul])
expiryTimestamp 長整數 OTP 有效時間戳(例如:1719283183076)
lang 字串 語言代碼,默認為 en
lookup 布林值 驗證 to 值是否為有效的電話號碼格式,默認為 false
otp 字串 OTP 數字
provider 字串 短信提供者,固定值 DIRECTSEND 用於直接發送
retry 布林值 重試選項
serviceName 字串 在發送信息設置菜單中設置的服務名稱(英文)
to 字串 收件人電話號碼
toCountryNo 字串 收件人國家代碼

發送 OTP 電郵

方法 POST
URL /otp/email
  • 請求標頭
欄位 類型
內容類型 application/json
授權 bearer
主題 Hive 控制台 > 通知 > 短信 OTP > 發送信息設置 > 註冊或修改 > 發送 ID
  • 請求主體
字段 类型 必需 描述
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
  • 回應標頭
欄位 類型
內容類型 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
  • 請求標頭
欄位 類型
內容類型 application/json
授權 bearer
主題 Hive 控制台 > 通知 > 簡訊 OTP > 發送資訊設定 > 註冊或修改 > 發送 ID
  • 請求主體
欄位 類型 必需 描述
toCountryNo 字串 X 收到的國家代碼(如果通過 SMS 接收 OTP,則必需)
to 字串 X 收到的電話號碼(如果通過 SMS 接收 OTP,則必需)
receiver 字串 X 收到的電子郵件地址(如果通過電子郵件接收 OTP,則必需)
otp 字串 O 收到的 OTP
  • 回應標頭
欄位 類型
內容類型 application/json
  • 回應主體
欄位 類型 描述
result 布林值 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)
}