Java SDK

安装

安装适用于 Java 的 Unimatrix SDK 的推荐方法是使用 Maven 或 Gradle 等依赖管理工具,可在 Maven Central 上获得。

Maven

将此依赖项添加到项目的 pom.xml 文件中:

<dependency>
    <groupId>com.unimtx</groupId>
    <artifactId>uni-sdk</artifactId>
    <version>0.3.0</version>
</dependency>

Gradle

将此依赖项添加到项目的 build.gradle 文件中:

implementation "com.unimtx:uni-sdk:0.3.0"

使用示例

以下示例展示如何使用 Unimatrix Java SDK 快速调用 Unimatrix 服务。

初始化

import com.unimtx.Uni;

public class Example {
    private static String ACCESS_KEY_ID = "your access key id";
    private static String ACCESS_KEY_SECRET = "your access key secret";

    public static void main(String[] args) {
        Uni.init(ACCESS_KEY_ID, ACCESS_KEY_SECRET); // 若使用简易验签模式仅传入第一个参数即可
        Uni.setEndpoint("https://api-cn.unimtx.com"); // 设置接入点到中国大陆, 若使用全球节点请移除此行代码
    }
}

或者您也可以通过环境变量来配置您的访问凭证:

export UNIMTX_ACCESS_KEY_ID=your_access_key_id
export UNIMTX_ACCESS_KEY_SECRET=your_access_key_secret

发送短信

向单个收件人发送短信

import com.unimtx.Uni;
import com.unimtx.UniException;
import com.unimtx.UniResponse;
import com.unimtx.model.UniMessage;

class Example {
    public static void main(String[] args) {
        Uni.init();

        UniMessage message = UniMessage.build()
            .setTo("+861865800xxxx") // 以 E.164 格式传入手机号
            .setSignature("合一矩阵") // 替换为您的短信签名
            .setContent("您的验证码是123456,5分钟内有效。");

        try {
            UniResponse res = message.send();
            System.out.println(res.data);
        } catch (UniException e) {
            System.out.println("Error: " + e);
            System.out.println("RequestId: " + e.requestId);
        }
    }
}

使用模版和模版变量发送短信

Map<String, String> templateData = new HashMap<String, String>();
templateData.put("code", "123456");
templateData.put("ttl", "5");

UniMessage.build()
    .setTo("+861865800xxxx")
    .setSignature("合一矩阵")
    .setTemplateId("pub_verif_ttl2")
    .setTemplateData(templateData)
    .send();

发送验证码

向用户发送验证码/一次性验证码(OTP),以下示例将向用户发送一个自动生成的验证码

import com.unimtx.Uni;
import com.unimtx.UniResponse;
import com.unimtx.model.UniOtp;

class Example {
    public static void main(String[] args) {
        Uni.init();

        UniResponse res = UniOtp.build()
            .setTo("+861865800xxxx")
            .setSignature("合一矩阵") // 替换为您的短信签名
            .send();

        System.out.println(res.data);
    }
}

校验验证码

校验用户提交的验证码/一次性验证码(OTP),以下示例将检查用户提供的验证码是否正确

import com.unimtx.Uni;
import com.unimtx.UniResponse;
import com.unimtx.model.UniOtp;

class Example {
    public static void main(String[] args) {
        Uni.init();

        UniResponse res = UniOtp.build()
            .setTo("+861865800xxxx")
            .setCode("123456") // 用户提交的验证码
            .verify();

        System.out.println(res.valid);
    }
}