全部产品
Search
文档中心

Short Message Service:Panggil Operasi API Menggunakan SDK Java

更新时间:Feb 05, 2026

SDK Short Message Service (SMS) Alibaba Cloud untuk Java adalah SDK resmi untuk memanggil operasi API SMS.

Instalasi

Persyaratan sistem

  • Versi Java: Pastikan versi Java Anda adalah Java 8 atau yang lebih baru. Untuk informasi tentang cara mengonfigurasi lingkungan Java, lihat Siapkan lingkungan pengembangan Java di Windows.

  • Sistem operasi: Windows, Linux, atau macOS. Tidak ada persyaratan khusus.

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

Instal menggunakan 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 autentikasi

Langkah 1: Buat Pengguna RAM dan berikan izin

Penting

Akun Alibaba Cloud Anda memiliki izin yang luas. Kami menyarankan agar Anda menggunakan Pengguna Resource Access Management (RAM) untuk memanggil operasi API dan melakukan operasi serta maintenance (O&M) harian. Untuk informasi selengkapnya tentang Pengguna RAM, lihat Ikhtisar Pengguna RAM.

  • Buat pengguna RAM: Buka Create User, konfigurasikan informasi pengguna, atur Access Configuration ke Programmatic Access, lalu klik OK untuk membuat pengguna RAM. Simpan Informasi AccessKey.

  • Berikan izin kepada pengguna RAM: Buka User List dan temukan pengguna RAM yang telah Anda buat. Klik Actions lalu Add Permissions. Di kotak pencarian Policy, masukkan AliyunDysmsFullAccess. Pilih kebijakan ini dan klik OK untuk memberikan izin.

Catatan
  • AliyunDysmsFullAccess: Memberikan izin manajemen penuh untuk SMS.

  • AliyunDysmsReadOnlyAccess: Memberikan izin read-only untuk SMS.

  • Untuk membuat kebijakan kustom, lihat Informasi otorisasi.

Langkah 2: Dapatkan kredensial akses

Konfigurasikan variabel lingkungan untuk mengambil Pasangan Kunci Akses Anda. Untuk informasi tentang cara mengonfigurasi variabel lingkungan, lihat Konfigurasi variabel lingkungan di Linux, macOS, dan Windows.

Catatan
  • Untuk mencegah Pasangan Kunci Akses Anda bocor, jangan hard-code di dalam kode Anda. Sebagai gantinya, ambil Pasangan Kunci Akses Anda dengan mengonfigurasi variabel lingkungan.

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

Praktik keamanan terbaik

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

  • Putar Pasangan Kunci Akses Anda secara berkala.

  • Ikuti prinsip hak istimewa minimal dan berikan Pengguna RAM hanya izin minimum yang diperlukan.

  • Jangan mencetak informasi kredensial di log.

  • Di lingkungan produksi, gunakan Peran RAM alih-alih kredensial Akun Alibaba Cloud.

Mulai cepat

Contoh kode

Kode contoh berikut menunjukkan cara memanggil operasi API untuk mengirim pesan teks. Konfigurasikan parameter sesuai komentar dalam kode.

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()
                // Konfigurasikan ID AccessKey. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur di lingkungan runtime Anda.
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // Konfigurasikan Rahasia AccessKey. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur di lingkungan runtime Anda.
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));

        // Konfigurasikan titik akhir.
        config.endpoint = "dysmsapi.ap-southeast-1.aliyuncs.com";

        return new Client(config);
    }

    public static void main(String[] args) throws Exception {
        // Inisialisasi klien permintaan.
        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);

        // Respons mencakup body dan header dari server.
        System.out.println(toJSONString(sendSmsResponse));
    }
}

Unduh kode contoh

Anda juga dapat mengunduh kode contoh dan menjalankannya secara langsung.

  1. Buka SendMessageToGlobe.

  2. Pada tab Parameter Settings di sebelah kiri, tentukan parameter yang diperlukan. Contohnya:

  • To: 88691567****

  • Message: This is a test message.

  1. Pada tab SDK Sample di sebelah kanan, atur SDK Version ke v2.0, pilih Java untuk Language (Anda dapat memilih opsi Java atau Java asynchronous), lalu klik Download Complete Project untuk mengunduh paket kode contoh.

  2. Ekstrak paket tersebut dan buka proyek di IDE Anda. Setelah dependensi dimuat, buka file src/main/java/com/aliyun/sample/Sample.java.

Jalankan proyek

Setelah Anda menjalankan proyek, output berikut 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 kolam koneksi untuk menggunakan ulang koneksi HTTP dan mengurangi overhead pembentukan koneksi.

  • Untuk pemanggilan frekuensi tinggi, pertimbangkan menggunakan pola pemanggilan asinkron.

  • Atur periode timeout yang sesuai untuk mencegah penantian lama yang dapat memengaruhi performa layanan.

  • Saat melakukan operasi batch, gunakan kemampuan pemrosesan batch dari API.

Rekomendasi keamanan

  • Selalu gunakan protokol HTTPS untuk berkomunikasi dengan API.

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

  • Validasi format nomor telepon yang diberikan pengguna untuk mencegah input berbahaya.

  • Gunakan kredensial temporary dari Alibaba Cloud Security Token Service (STS) alih-alih kredensial jangka panjang.

Manajemen sumber daya

  • Segera tutup koneksi klien yang tidak lagi digunakan.

  • Jika Anda memiliki banyak permintaan konkuren, konfigurasikan ukuran kolam thread yang sesuai.

  • Pantau frekuensi pemanggilan API untuk menghindari melebihi batas queries-per-second (QPS).

Referensi