1:登录阿里云之后,搜索语音服务
2:进去之后找到语音消息
3:先申请语音模板(语音电话中的内容)等待通过即可。
4:查看使用文档,
第一步
第二步
5:代码调试
1:先引入依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-dyvmsapi20170525</artifactId>
<version>2.0.3</version>
</dependency>
2:编写工具类
public class SmartCallUtil {
// AccessKeyID,AccessKeySecret写成自己的
private static String AccessKeyID="AccessKeyID";
private static String AccessKeySecret="AccessKeySecret";
public static Boolean SmartCall(String phone,String name) throws Exception {
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
.accessKeyId(AccessKeyID)
.accessKeySecret(AccessKeySecret)
.build());
// Configure the Client
AsyncClient client = AsyncClient.builder()
.region("cn-beijing") // Region ID
.credentialsProvider(provider)
.overrideConfiguration(
ClientOverrideConfiguration.create()
.setEndpointOverride("dyvmsapi.aliyuncs.com")
)
.build();
// Parameter settings for API request
JSONObject jsonObject = new JSONObject();
if (StringUtils.isEmpty(name)){
name = "用户";
}
jsonObject.put("name", name);
SingleCallByTtsRequest singleCallByTtsRequest = SingleCallByTtsRequest.builder()
.calledNumber(phone)
.ttsParam(jsonObject.toJSONString()) //模板中的参数
.ttsCode("语音模板ID")
.calledShowNumber("专属号码") //专属号码可以不用申请,选择公共模式呼叫
.playTimes(1) //语音电话的内容播放次数
.build();
CompletableFuture<SingleCallByTtsResponse> response = client.singleCallByTts(singleCallByTtsRequest);
SingleCallByTtsResponse resp = response.get();
String json = new Gson().toJson(resp);
client.close();
return resp.getBody().getCode().equals("OK");
}
6:关于专属号码
专属号码可有可无,如果你或者你的客户比较有钱,可以申请一个,(一个一月35大洋!!!!)
如果没有专属号码,来电显示的号码是随机的。
注意,如果申请专属号码,语音通知的模板一定要选专属模式外呼,不要选择公共模式外呼。