开始使用前,请先创建应用,申请短信发送 scope,并成功完成审批,同时完成模板创建
POST http://colibri.hsifue.cn/api/security/sms
::: tip 注意
发送频率限制:每天最多 10000 条短信
:::
出现用户收不到短信情况(黑名单),需要联系运营商客服解除限制(可以联系云平台运营 wangy-y 帮助解除):
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
| Authorization | 是 | String | Bearer app_access_token. 注:该 access_token 是应用级别 |
| Content-Type | 是 | String | application/json |
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
| 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 | 业务异常 | 业务异常 |
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("http://colibri.hsifue.cn/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 \
http://colibri.hsifue.cn/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"}