使用轻识AI智能搜索

轻识AI

Api说明

共 5992字,需浏览 12分钟

 ·

2023-04-19 16:34

通用

请求域名

https://uni.apistd.com

公共参数

公共参数为调用 API 请求时必须携带的参数,统一使用 URL Query 参数传输。

参数名类型是否必填描述示例值
actionstring接口名sms.message.send
accessKeyIdstring请求 AccessKey IDrQJEk4mz6gZzTC9X8XHfpQ1Vt

访问鉴权

UniSMS 提供以下两种鉴权方式共开发者选择,可在控制台-凭证管理中设置,默认为简易模式。

  • 简易模式 [默认]:此模式仅核验 AccessKey ID,不对请求参数进行验签,方便开发者快速接入。
  • HMAC模式:此模式要求使用 AccessKey Secret 对请求参数进行验签,以加强保障请求的安全与真实性。

简易模式

使用简易模式完成访问认证,仅需将从控制台-凭证管理中获得 AccessKey ID 值传入 URL Query 参数 accessKeyId 即可完成鉴权。

HMAC模式

使用 HMAC 模式完成访问认证,需将所有 URL Query 参数按字典顺序排列作为待签文本串,并根据指定签名哈希算法进行签名。

新增所须公共参数 (Query) 如下:

参数名类型是否必填描述示例值
algorithmstring签名哈希算法,目前仅支持 hmac-sha256hmac-sha256
timestampnumber时间戳 (ms),接受容差时间 10 分钟1620243278785
noncestring随机字符串,接受 8-64 个字符间的随机字符串d7041f4746a09b10
signaturestring签名串xvv9UjzOrQFWe7fFS5IUU9iqIZrncvF093SqXsnfcK8=
签名生成步骤

1. 提取请求中所有 URL Query 参数对,根据参数 Key 按字典顺序排序 (正序),以=连接 Key-Value,以&连接参数对组成待签文本串,示例如下:

accessKeyId=rQJEk4mz6gZzTC9X8XHfpQ1Vt&action=sms.message.send&algorithm=hmac-sha256&nonce=d7041f4746a09b10×tamp=1620269782258

2. 使用 HmacSHA256 算法,以 AccessKey ID 对应的 AccessKey Secret 作为签名秘钥,对待签文本串生成签名,输出为 Base64 (或 Hex) 字符串,示例如下:

xvv9UjzOrQFWe7fFS5IUU9iqIZrncvF093SqXsnfcK8=

3. 将签名串作为 signature 的值增加到请求 URL Query 参数中发送请求,最终完整的请求 URL 示例如下:

https://uni.apistd.com/?action=sms.message.send&accessKeyId=rQJEk4mz6gZzTC9X8XHfpQ1Vt&algorith


发送短信

使用该接口发送文本短信至一个或多个收件人。阅读本文档前请先阅读 API 通用说明。

接口定义

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

请求参数 (Body)

参数名类型是否必填描述示例值
tostring | string[]收件手机号,国际手机号使用 E.164 格式18688061234
signaturestring短信签名,2-16 个字符合一短信
contentstring短信正文文本,templateIdcontent二选一您的验证码是9153,15分钟内有效。
templateIdstring短信模板 ID 或自定义模板码,templateIdcontent二选一login_notify
templateDataJSON模板变量{"code": "9153", "ttl": "15"}

* 注:为帮助开发者快速迁移,UniSMS支持使用 content 参数直接传入文本,新接入用户建议优先使用 templateId 传参

请求示例

curl -X POST 'https://uni.apistd.com/?action=sms.message.send&accessKeyId=YOUR_ACCESS_KEY_ID' \
-H 'Content-Type: application/json' \
-d '{
  "to": "1860571xxxx",
  "signature": "合一短信",
  "templateId": "signup",
  "templateData": {"code": "3241", "ttl": "10"}
}'

响应参数 (Body)

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

返回结果 (data)

参数名类型描述示例值
statusstring发送状态sent
recipientsinteger收件人个数1
messageCountinteger计费消息总条数1
totalAmountnumber总消费金额0.045
payAmountnumber支付消费金额0.045
virtualAmountnumber虚拟消费金额0
messagesJSON[]发送消息报告
发送消息报告 (data.messages)
参数名类型描述示例值
idstring消息标识7cf4b5c12c5ad49379ce07290d9b00bb
tostring收件人手机号 (E.164)+8618688061234
regionCodestring国际代码CN
countryCodestring国际电话区号86
messageCountinteger计费消息总条数1
statusstring发送状态sent
upstreamstring短信上游emay.standard
pricestring消费金额0.040000

响应示例

成功响应示例

Status Code: 200, Response Body:

{
  "code": "0",
  "message": "Success",
  "data": {
    "recipients": 2,
    "messageCount": 2,
    "totalAmount": "0.187500",
    "payAmount": "0.187500",
    "virtualAmount": "0",
    "messages": [
      {
        "id": "4e88293e50aac21d027a9d6c0f33661e",
        "to": "+8618688061234",
        "regionCode": "CN",
        "countryCode": "86",
        "messageCount": 1,
        "status": "sent",
        "upstream": "emay.standard",
        "price": "0.050000"
      },
      {
        "id": "ce02a6c4195c6f8c4b6a7250ccb3b0a1",
        "to": "+12894260331",
        "regionCode": "CA",
        "countryCode": "1",
        "messageCount": 1,
        "status": "sent",
        "upstream": "emay.intl.standard",
        "price": "0.137500"
      }
    ]
  }
}

失败响应示例

Status Code: 400, Response Body:

{
  "code": "105400",
  "message": "InsufficientFunds"
}



语音验证码

使用该接口发送语音验证码 (拨打电话) 至一个接收人。阅读本文档前请先阅读 API 通用说明。

接口定义

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

请求参数 (Body)

参数名类型是否必填描述示例值
tostring接听人手机号18509872103
codestring验证码,为 4 或 6 位数字5201

* 注:暂不支持使用国际手机号

请求示例

curl -X POST 'https://uni.apistd.com/?action=sms.voice.verification.send&accessKeyId=YOUR_ACCESS_KEY_ID' \
-H 'Content-Type: application/json' \
-d '{
  "to": "1850987xxxx",
  "code": "5201"
}'

响应参数 (Body)

参数名类型描述示例值
codestring返回码101301
messagestring返回信息未设置有效的上游服务商
dataJSON返回结果

返回结果 (data)

参数名类型描述示例值
statusstring发送状态sent
recipientsinteger接听人个数1
messageCountinteger计费语音总条数1
totalAmountnumber总消费金额0.05
payAmountnumber支付消费金额0.05
messagesJSON[]发送语音报告
发送语音报告 (data.messages)
参数名类型描述示例值
idstring语音标识7086bf2f0c2e944b15b08897277d8414
tostring接听人手机号 (E.164)+8618509872103
regionCodestring国际代码CN
countryCodestring国际电话区号86
messageCountinteger计费语音总条数1
statusstring发送状态sent
upstreamstring短信上游monyun.standard
pricestring消费金额0.050000

响应示例

成功响应示例

Status Code: 200, Response Body:

{
  "data": {
    "recipients": 1,
    "messageCount": 1,
    "totalAmount": "0.050000",
    "payAmount": "0.050000",
    "virtualAmount": "0",
    "messages": [
      {
        "id": "7086bf2f0c2e944b15b08897277d8414",
        "to": "+8618509872103",
        "regionCode": "CN",
        "countryCode": "86",
        "messageCount": 1,
        "status": "sent",
        "upstream": "monyun.standard",
        "price": "0.050000"
      }
    ]
  },
  "code": "0",
  "message": "Success"
}

失败响应示例

Status Code: 400, Response Body:

{
  "code": "101301",
  "message": "未设置有效的上游服务商"
}


错误码及描述

错误码描述说明
0Ok请求成功
101000Internal内部错误
101301NoUpstreamConfigured未设置有效的上游通道。请检查是否开启了专家模式并未完成通道配置,你可以切换至融合模式快速地解决该问题
101303NoUpstreamAvailable所有上游通道失败,表示该请求没有可提供服务的上游
104001MissingParams缺少参数
104002InvalidParams无效的参数
104003RestrictedParams受限的参数
104110MissingAccessKeyId缺少 AccessKeyId
104111InvalidAccessKeyId错误的 AccessKeyId
104201InvalidSignature错误的签名。请参考 API 通用说明 生成请求签名
104202InvalidSignatureTimestamp无效的签名时间戳。请检查传入的值是否为有效的 UNIX 时间戳,可接受与服务器时间差为 10 分钟
105001Unauthorized未授权
105100IpRestricted请求 IP 受限。请检查是否启用 IP 限制扩展服务,并确保请求服务器 IP 与配置相符
105300LimitExceed超出发送频率限制。请检查是否启用发送频率限制扩展服务,如有需要可自行调整限制上限
105400InsufficientFunds账户余额不足
107111InvalidPhoneNumbers错误的手机号码
107120MissingSmsSignature缺少短信签名
107121SmsSignatureNotExists短信签名不存在,请访问控制台添加
107122InvalidSmsSignature无效的短信签名,表示该签名未通过审核或正在审核中
107123RestrictedSmsSignature受限的短信签名,请联系客户经理了解是否有协商限制
107141SmsTemplateNotExists短信模板不存在,请访问控制台添加。如果你使用的是以pub_开头的免审模板,请检查模板码是否正确
107143MissingSmsTemplateData缺少必要的短信模板参数
107144InvaildSmsTemplateData无效的短信模板参数
107145RestrictedSmsTemplate受限的短信模板,请联系客户经理了解是否有协商限制





浏览 106
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报