发送短信

开始使用前,请先创建应用,申请短信发送 scope,并成功完成审批,同时完成模板创建

请求

POST https://colibri.glodon.com/api/security/sms

说明

  • 1 分钟同 1 个号码验证码只能发 10 次,和普通短信不冲突,超过限制后面的短信报 9432;
  • 1 小时同 1 个号码验证码只能发 60 次,超过 3 次会拒绝报 9433;
  • 1 天同一个号码发验证码只能发 100 次,超过限制,会拒绝报 9434;
  • 1 个号码普通短信的日限是 100 条

::: tip 注意

发送频率限制:每天最多 10000 条短信

:::

出现用户收不到短信情况(黑名单),需要联系运营商客服解除限制(可以联系云平台运营 wangy-y 帮助解除):

  1. 黑名单的形成有回复 TD、 电话投诉、 验证码无限获取都会导致黑名单
  2. 黑名单还有共享的, 在其他平台获取过短信, 进入黑名单, 在创蓝(广联云使用的服务商)平台也会同等

header 参数

参数名 必选 类型 描述
Authorization String Bearer app_access_token. 注:该 access_token 是应用级别
Content-Type String application/json

body 参数

参数名 必选 类型 描述
mobiles String 数组 短信接收手机号码列表,只支持大陆 11 位手机号
params Map*<String,String*> 模板中的参数列表,params 中的 key 值要和短信模板中的保持一致,比如参数 count 和模板中的${count}保持一致
templateId String 已创建的模板 id,每个应用只能发送属于自己的模板短信
variableMsg boolean 默认为 false,当为 false 时,如果短信中含有超链接,发送的短信需要人工审核,有一定延时
requestId boolean 32位批次号,默认不需要此参数,只有后续有查询的需求,可以调用端自行生成requestId,供后续查询使用

响应

HTTP 代码 说明 类型
200 ok 请求成功,根据业务 code 解析实际结果
401 invalid_token 请求头里面的 accessToken 无效
600 业务异常 业务异常

HTTP 请求示例

OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"mobiles\":[\"186XXXXXXXX\"],\"params\":{\"count\":\"123\"},\"templateId\":\"XXXXXXX_zh_CN\"}");
Request request = new Request.Builder()
  .url("https://colibri.glodon.com/api/security/sms")
  .post(body)
  .addHeader("authorization", "Bearer cn-befa8XXXXXXXXXXXXXXXXXX")
  .addHeader("content-type", "application/json")
  .build();
Response response = client.newCall(request).execute();
curl -X POST \
  https://colibri.glodon.com/api/security/sms \
  -H 'authorization: Bearer cn-befa8XXXXXXXXXXXXXXXXXX' \
  -H 'content-type: application/json' \
  -d '{"mobiles":["186XXXXXXXX"],"params":{"userName":"123","projectName":"123"},"templateId":"XXXXXXX_zh_CN"}
'

成功返回结果

{
  "code": 40000,
  "error": "OK",
  "description": "OK"
}

异常返回结果

{"code":40100,"error":"colibri.unauthorized","description":"认证失败"}
{"code":40200,"error":"colibri.oauth.scope.error","description":"没有分配权限"}
{"code":40202,"error":"colibri.invalid.template.id","description":"无效的模板ID"}
{ "error": "invalid_token", "error_description": "cn-24b92d2f-66cc-45d2-8e8b-e08916bca2d62"}