Java SDK调用示例

本文介绍如何使用SDK调用OpenAPI接口,发起智能联络机器人呼出。

步骤一:查看OpenAPI文档

在调用OpenAPI前,建议您先阅读对应的接口文档RobotCall,了解、学习调用该接口所需要的参数及权限等,更多信息请参见API目录

步骤二:创建RAM用户并完成授权

重要

阿里云主账号拥有较高权限,建议您通过RAM用户进行API调用和日常运维。有关RAM用户的更多信息,请参见RAM用户概览

创建RAM用户

访问创建RAM用户,完成相关名称设置,并选择访问方式使用永久 AccessKey 访问,单击确定后即可完成RAM用户的创建。请及时保存AccessKey信息。

RAM用户授权

访问RAM用户列表,找到您所创建的RAM用户,单击操作列的添加权限。在权限策略文本搜索框中输入AliyunAiccsFullAccess后选中此策略,单击确认新增授权,即可完成授权操作。

说明
  • AliyunAiccsFullAccess管理的权限。

  • AliyunAiccsReadOnlyAccess:只读访问的权限。

如果您需要新建自定义权限,请参见授权信息

步骤三:调用OpenAPI

SDK是最易于集成,且支持度最好的OpenAPI调用方式。本文以Java语言SDK调用OpenAPI,其他语言SDK的用法类似,更多信息请参见智能联络中心SDK

使用前配置

  • 请检查您的Java版本是否高于Java 8。Java环境配置的方法,请参见Windows搭建Java开发环境

  • 请通过配置Maven依赖,完成SDK的安装。

    <dependency>
          <groupId>com.aliyun</groupId>
          <artifactId>aiccs20191015</artifactId>
          <!-- 请将 'the-latest-version' 替换为最新版本号:https://mvnrepository.com/artifact/com.aliyun/aiccs20191015 -->
          <version>the-latest-version</version>
        </dependency>
  • 请配置环境变量,通过环境变量读取访问密钥(AccessKey)。环境变量配置方法,请参见Linux、macOSWindows系统配置环境变量

    说明

    为避免在代码中硬编码AccessKey而造成泄露,请通过配置环境变量的方式,来获取AccessKey。

    本文以环境变量名ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET为例,进行后续操作。

代码示例

使用SDK调用发起智能联络机器人呼出API的代码示例如下,请根据注释完成参数填写。

package com.aliyun.sample;

import com.aliyun.tea.*;

public class Sample {

    /**
     * <b>description</b> :
     * <p>使用凭据初始化账号Client</p>
     * @return Client
     *
     * @throws Exception
     */
    public static com.aliyun.aiccs20191015.Client createClient() throws Exception {
        Config config = new Config()
                // 配置 AccessKey ID,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 配置 AccessKey Secret,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));

        // 配置 Endpoint 请参考 https://api.aliyun.com/product/aiccs
        config.endpoint = "aiccs.aliyuncs.com";

        return new Client(config);
    }

    public static void main(String[] args_) throws Exception {

        com.aliyun.aiccs20191015.Client client = Sample.createClient();
        com.aliyun.aiccs20191015.models.RobotCallRequest robotCallRequest = new com.aliyun.aiccs20191015.models.RobotCallRequest()
                //外呼主叫号码
                .setCalledShowNumber("1320000****")
                //被叫号码
                .setCalledNumber("1520000****")
                //机器人ID
                .setRobotId(1000**********);
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            // 复制代码运行请自行打印 API 的返回值
            client.robotCallWithOptions(robotCallRequest, runtime);
        } catch (TeaException error) {
            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
            // 错误 message
            System.out.println(error.getMessage());
            // 诊断地址
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
            // 错误 message
            System.out.println(error.getMessage());
            // 诊断地址
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

您也可以下载示例代码,直接运行。

下载示例代码

  1. 访问RobotCall

  2. 在左侧的参数配置页签,填写需要的参数信息,填写示例如下:

    • CalledShowNumber 参数输入示例值: 1390000****。

    • CalledNumber 参数输入示例值:1320000****。

    • RobotId 参数输入示例值:1000**********。

  3. 在右侧的SDK示例页签,SDK版本选择v2.0,语言选择Java语言,单击下载完整工程按钮,下载示例代码包。

  4. 解压后使用IDE加载项目,待相关依赖加载完毕后,打开 src/main/java/com/aliyun/sample/Sample.java

运行项目

项目运行后可查看到输出,本示例中的返回内容如下:

{
  "Message": "OK",
  "RequestId": "A4BBDCC0-4E32-5A61-9BDE-E34440D5B3B5",
  "Data": "1320000****^1390000****",
  "Code": "OK"
}