All Products
Search
Document Center

Short Message Service:Panggil API menggunakan SDK Java

Last Updated:Feb 12, 2026

SDK Short Message Service (SMS) Alibaba Cloud untuk Java merupakan SDK resmi dari Alibaba Cloud untuk memanggil API SMS. SDK ini membantu developer mengintegrasikan fungsionalitas SMS ke dalam aplikasi mereka dengan cepat.

Install

Persyaratan sistem

  • Versi Java: Java 8 atau yang lebih baru. Untuk petunjuk cara mengonfigurasi lingkungan Java Anda, lihat Bangun lingkungan pengembangan Java di Windows.

  • Sistem operasi: Windows, Linux, atau macOS (tanpa persyaratan khusus).

  • Dependensi lain: Maven 3.0 atau yang lebih baru (untuk membangun proyek Anda).

Instalasi dengan Maven

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>dysmsapi20180501</artifactId>
    <!-- Ganti 'the-latest-version' dengan versi terbaru dari https://mvnrepository.com/artifact/com.aliyun/dysmsapi20180501 -->
  <version>the-latest-version</version>
</dependency>

Konfigurasi otentikasi

Langkah 1: Buat Pengguna RAM dan berikan izin

Penting

Akun Alibaba Cloud Anda memiliki izin tingkat tinggi. Untuk keamanan, kami menyarankan agar Anda menggunakan Pengguna Resource Access Management (RAM) untuk pemanggilan API dan operasi harian. Untuk informasi selengkapnya tentang Pengguna RAM, lihat Ikhtisar Pengguna RAM.

  • Buat pengguna RAM: Buka Create User. Konfigurasikan nama pengguna dan atur Access Configuration ke Permanent AccessKey. Klik OK. Segera simpan Pasangan Kunci Akses setelah pembuatan.

  • Berikan izin kepada Pengguna RAM: Buka Users. Temukan Pengguna RAM yang telah Anda buat dan klik Actions, lalu klik Attach Policy. Pada kotak pencarian Policy, masukkan AliyunDysmsFullAccess, pilih kebijakan tersebut, lalu klik OK.

Catatan
  • AliyunDysmsFullAccess: Memberikan izin manajemen penuh untuk SMS Alibaba Cloud.

  • AliyunDysmsReadOnlyAccess: Memberikan izin read-only untuk SMS Alibaba Cloud.

  • Untuk membuat kebijakan kustom, lihat Otorisasi RAM.

Langkah 2: Dapatkan kredensial akses Anda

Konfigurasikan variabel lingkungan untuk menyimpan Pasangan Kunci Akses Anda. Untuk informasi selengkapnya, lihat Konfigurasi variabel lingkungan di Linux, macOS, dan Windows.

Catatan
  • Untuk menghindari kebocoran Pasangan Kunci Akses Anda, jangan hard-code di dalam aplikasi Anda. Gunakan variabel lingkungan sebagai gantinya.

  • Contoh ini menggunakan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET sebagai nama variabel lingkungan.

Praktik keamanan terbaik

  • Simpan kredensial di variabel lingkungan atau Key Management Service (KMS).

  • Rotasi Pasangan Kunci Akses Anda secara berkala.

  • Ikuti prinsip hak istimewa minimal. Berikan hanya izin minimum yang diperlukan kepada setiap Pengguna RAM.

  • Jangan mencatat informasi kredensial di log.

  • Di lingkungan produksi, gunakan Peran RAM alih-alih kredensial akun root.

Memulai

Contoh kode

Kode contoh ini menunjukkan cara menggunakan SDK untuk memanggil API SendSms. Isi parameter yang diperlukan sesuai instruksi dalam komentar.

package com.aliyun.sample;

import com.aliyun.teaopenapi.models.Config;
import com.aliyun.dysmsapi20180501.Client;
import com.aliyun.dysmsapi20180501.models.SendMessageToGlobeRequest;
import com.aliyun.dysmsapi20180501.models.SendMessageToGlobeResponse;
import static com.aliyun.teautil.Common.toJSONString;

public class Sample {
    public static Client createClient() throws Exception {
        Config config = new Config()
                // Konfigurasi ID AccessKey. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // Konfigurasi Secret AccessKey. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));

        // Konfigurasi endpoint.
        config.endpoint = "dysmsapi.ap-southeast-1.aliyuncs.com";

        return new Client(config);
    }

    public static void main(String[] args) throws Exception {
        // Inisialisasi client.
        Client client = Sample.createClient();

        // Buat objek permintaan dan atur nilai parameternya.
        SendMessageToGlobeRequest sendSmsRequest = new SendMessageToGlobeRequest()
                .setTo("<YOUR_VALUE>")
                .setMessage("<YOUR_VALUE>");

        // Dapatkan objek respons.
        SendMessageToGlobeResponse sendSmsResponse = client.sendMessageToGlobe(sendSmsRequest);

        // Objek respons mencakup body dan header yang dikembalikan oleh server.
        System.out.println(toJSONString(sendSmsResponse));
    }
}

Unduh kode contoh

Anda juga dapat mengunduh dan menjalankan proyek contoh lengkap.

  1. Buka SendMessageToGlobe.

  2. Pada tab Parameters di sebelah kiri, masukkan parameter yang diperlukan. Contohnya:

  • To: 88691567****

  • Message: This is a test message

  1. Pada tab SDK Sample Code di sebelah kanan, atur SDK Generation ke V2.0 dan pilih Java (Anda dapat memilih versi sinkron atau asinkron sesuai kebutuhan). Klik Download Project.

  2. Ekstrak paket tersebut dan gunakan IDE untuk memuat proyek. Setelah IDE memuat dependensi, buka src/main/java/com/aliyun/sample/Sample.java.

Jalankan proyek

Saat Anda menjalankan proyek, output berikut akan dikembalikan:

{
  "headers": {
    "date": "Tue, 24 Oct 2023 07:47:17 GMT",
    "content-type": "application/json;charset=utf-8",
    "content-length": "263",
    "connection": "keep-alive",
    "keep-alive": "timeout=25",
    "access-control-allow-origin": "*",
    "access-control-expose-headers": "*",
    "x-acs-request-id": "97B1D7B6-F2F6-3A50-97BC-A90B43EC962F",
    "x-acs-trace-id": "29c11fe4c778b74774d5f5602f0e7975",
    "etag": "2a+mcDRTDkXqx9VF7b6U57Q3"
  },
  "statusCode": 200,
  "body": {
    "ResponseCode": "OK",
    "NumberDetail": {
    "Region": "Taiwan",
    "Country": "Taiwan, Province of China",
    "Carrier": "FarEasTone"
  },
    "RequestId": "97B1D7B6-F2F6-3A50-97BC-A90B43EC962F",
    "Segments": "1",
    "ResponseDescription": "OK",
    "To": "88691567****",
    "MessageId": "191921698133637273"
  }
}

Rangkuman praktik terbaik

Optimalisasi performa

  • Gunakan kembali koneksi HTTP dengan kolam koneksi untuk mengurangi overhead koneksi.

  • Untuk pemanggilan frekuensi tinggi, pertimbangkan menggunakan pemanggilan asinkron.

  • Atur nilai timeout yang sesuai untuk menghindari penantian lama yang memengaruhi performa bisnis.

  • Gunakan kemampuan pemrosesan batch API saat melakukan operasi massal.

Rekomendasi keamanan

  • Selalu gunakan HTTPS untuk berkomunikasi dengan API.

  • Jangan mencatat informasi sensitif seperti nomor telepon atau kode verifikasi di log.

  • Validasi format nomor telepon untuk mencegah input berbahaya.

  • Gunakan kredensial temporary Layanan Token Keamanan Alibaba Cloud (STS) alih-alih kredensial jangka panjang.

Manajemen sumber daya

  • Tutup koneksi client yang tidak digunakan segera.

  • Konfigurasikan ukuran kolam thread secara tepat untuk permintaan konkurensi tinggi.

  • Pantau frekuensi pemanggilan API untuk menghindari melebihi batas QPS.

Referensi