发送验证码 API

使用该接口发送验证码/一次性密码 (OTP) 至一个收信用户。阅读本文档前请先阅读 API 通用说明

在默认配置下仅需传入用户手机号作为唯一参数,Unimatrix 将自动生成安全的数字 OTP 令牌作为验证码,并通过当前活跃的通道发送验证消息。

接口定义

  • 接口名: otp.send
  • HTTP Method: POST
  • Content-Type: application/json

请求参数

参数名类型必须描述示例值
tostring接收验证码的用户手机号,使用 E.164 格式+8618658000123
digitsinteger生成验证码的位数,须在 4-8 位之间,默认为 66
intentstring用户请求验证码的意图,用于区隔不同的身份验证场景,最大长度 36 个字符login
channelstring指定发送验证消息的通道,支持:sms 短信, call 语音, whatsapp WhatsApp 消息或 auto 自动,默认为 auto(短信优先于其他通道)auto
signaturestring短信签名,须为 2-16 个字符
* 发送到中国大陆号码 (+86) 必须传入该值,请在控制台中提前申请
合一矩阵
codestring以自定义验证码替代自动生成的验证码,必须为 4-8 位数字串
* 不推荐,使用自定义验证码可能降低您的程序安全性
123456
ttlinteger自定义验证码的有效时间 (秒),最大值: 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 检查用户提供的验证码是否正确。

响应参数

参数名类型描述示例值
codestring返回码0
messagestring返回信息Success
dataJSON返回结果

返回结果 data

参数名类型描述示例值
idstring消息 ID8fc02cb2dbcdc500bf4056330bd6a312
tostring用户手机号 (E.164)+8618658000123
isostring国际代码 (ISO-2)CN
ccstring国际电话区号86
partsinteger消息片段数1
pricestring消费金额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"
}