OTP 验证系统
OTP 驗證系統提供一個 API,包括 發送 OTP 和 驗證 OTP,以將 OTP 驗證應用於遊戲。
網址
認證方法
要實現OTP發送系統提供的API,需要一個授權令牌(API KEY)。在您的遊戲在AppCenter註冊後,身份驗證令牌會自動發放。授權令牌遵循JWT(JSON Web Token: https://jwt.io)規範,不限制過期時間,因此可以繼續使用此令牌。
發送 OTP
發送 OTP 短信
欄位 | 類型 |
內容類型 | application/json |
授權 | bearer |
主題 | Hive 控制台 > 通知 > 簡訊 OTP > 發送資訊設定 > 註冊或修改 > 發送 ID |
如果 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 電郵
欄位 | 類型 |
內容類型 | 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
欄位 | 類型 |
內容類型 | application/json |
授權 | bearer |
主題 | Hive 控制台 > 通知 > 簡訊 OTP > 發送資訊設定 > 註冊或修改 > 發送 ID |
欄位 | 類型 | 必需 | 描述 |
toCountryNo | 字串 | X | 收到的國家代碼(如果通過 SMS 接收 OTP,則必需) |
to | 字串 | X | 收到的電話號碼(如果通過 SMS 接收 OTP,則必需) |
receiver | 字串 | X | 收到的電子郵件地址(如果通過電子郵件接收 OTP,則必需) |
otp | 字串 | O | 收到的 OTP |
欄位 | 類型 |
內容類型 | application/json |
欄位 | 類型 | 描述 |
result | 布林值 | 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)
}