发送验证码 API
使用该接口发送验证码/一次性密码 (OTP) 至一个收信用户。阅读本文档前请先阅读 API 通用说明。
在默认配置下仅需传入用户手机号作为唯一参数,Unimatrix 将自动生成安全的数字 OTP 令牌作为验证码,并通过当前活跃的通道发送验证消息。
接口定义
- 接口名:
otp.send
- HTTP Method:
POST
- Content-Type:
application/json
请求参数
参数名 | 类型 | 必须 | 描述 | 示例值 |
---|---|---|---|---|
to | string | 是 | 接收验证码的用户手机号,使用 E.164 格式 | +8618658000123 |
digits | integer | 否 | 生成验证码的位数,须在 4-8 位之间,默认为 6 位 | 6 |
intent | string | 否 | 用户请求验证码的意图,用于区隔不同的身份验证场景,最大长度 36 个字符 | login |
channel | string | 否 | 指定发送验证消息的通道,支持:sms 短信, call 语音, whatsapp WhatsApp 消息或 auto 自动,默认为 auto (短信优先于其他通道) | auto |
signature | string | 否 | 短信签名,须为 2-16 个字符 * 发送到中国大陆号码 (+86) 必须传入该值,请在控制台中提前申请 | 合一矩阵 |
code | string | 否 | 以自定义验证码替代自动生成的验证码,必须为 4-8 位数字串 * 不推荐,使用自定义验证码可能降低您的程序安全性 | 123456 |
ttl | integer | 否 | 自定义验证码的有效时间 (秒),最大值: 1800 ,默认为 300 (5 分钟) | 300 |
请求示例
以下示例将自动生成验证码,并将该验证码发送到用户的手机号。
curl -X POST 'https://api-cn.unimtx.com/?action=otp.send&accessKeyId=YOUR_ACCESS_KEY_ID' \
-H 'Content-Type: application/json' \
-d '{
"to": "+86186580001xx",
"signature": "合一矩阵"
}'
在完成验证码发送后,请使用 验证码校验 API 检查用户提供的验证码是否正确。
响应参数
参数名 | 类型 | 描述 | 示例值 |
---|---|---|---|
code | string | 返回码 | 0 |
message | string | 返回信息 | Success |
data | JSON | 返回结果 |
返回结果 data
参数名 | 类型 | 描述 | 示例值 |
---|---|---|---|
id | string | 消息 ID | 8fc02cb2dbcdc500bf4056330bd6a312 |
to | string | 用户手机号 (E.164) | +8618658000123 |
iso | string | 国际代码 (ISO-2) | CN |
cc | string | 国际电话区号 | 86 |
parts | integer | 消息片段数 | 1 |
price | string | 消费金额 | 0.045000 |
响应示例
成功响应示例
Status Code: 200
, Response Body:
{
"code": "0",
"message": "Success",
"data": {
"id": "8fc02cb2dbcdc500bf4056330bd6a312",
"to": "+8618658000123",
"iso": "CN",
"cc": "86",
"parts": 1,
"price": "0.045000"
}
}
失败响应示例
Status Code: 400
, Response Body:
{
"code": "107111",
"message": "InvalidPhoneNumbers"
}