შიგთავსზე გადასვლა

Java ინტეგრაცია

SMSBAT API-ს თქვენს Java აპლიკაციაში ინტეგრირება მარტივია Java-ის ჩაშენებული HttpClient (Java 11+) ან პოპულარული OkHttp ბიბლიოთეკის გამოყენებით.

Java 11+ HttpClient-ის გამოყენებით (მშობლიური)

თუ იყენებთ Java 11 ან უფრო ახალს, შეგიძლიათ გამოიყენოთ ჩაშენებული java.net.http.HttpClient ყოველგვარი გარე დამოკიდებულების გარეშე.

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

public class SMSBATExample {
    public static void main(String[] args) {
        String apiKey = "YOUR_API_KEY_HERE";

        // A simple JSON payload. For production, consider using Jackson or Gson to build JSON.
        String jsonPayload = "{\n" +
                "  \"messages\": [\n" +
                "    {\n" +
                "      \"from\": \"ALPHANAME\",\n" +
                "      \"to\": \"380501234567\",\n" +
                "      \"text\": \"Hello from Java 11 HttpClient!\",\n" +
                "      \"type\": \"sms\"\n" +
                "    }\n" +
                "  ]\n" +
                "}";

        HttpClient client = HttpClient.newBuilder()
                .connectTimeout(Duration.ofSeconds(10))
                .build();

        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.smsbat.com/bat/messagelist"))
                .header("Content-Type", "application/json")
                .header("X-Authorization-Key", apiKey)
                .POST(HttpRequest.BodyPublishers.ofString(jsonPayload))
                .build();

        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            System.out.println("Status Code: " + response.statusCode());
            System.out.println("Response Body: " + response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

OkHttp-ის გამოყენებით

OkHttp არის შესანიშნავი HTTP კლიენტი Java და Android-ისთვის.

დაამატეთ დამოკიდებულება თქვენს pom.xml-ში:

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.12.0</version>
</dependency>

import okhttp3.*;
import java.io.IOException;

public class OkHttpExample {
    public static void main(String[] args) {
        OkHttpClient client = new OkHttpClient();

        String apiKey = "YOUR_API_KEY_HERE";

        String jsonPayload = "{\n" +
                "  \"messages\": [\n" +
                "    {\n" +
                "      \"from\": \"ALPHANAME\",\n" +
                "      \"to\": \"380501234567\",\n" +
                "      \"text\": \"Hello from Java OkHttp!\",\n" +
                "      \"type\": \"sms\"\n" +
                "    }\n" +
                "  ]\n" +
                "}";

        RequestBody body = RequestBody.create(
                jsonPayload, 
                MediaType.get("application/json; charset=utf-8")
        );

        Request request = new Request.Builder()
                .url("https://api.smsbat.com/bat/messagelist")
                .header("X-Authorization-Key", apiKey)
                .post(body)
                .build();

        try (Response response = client.newCall(request).execute()) {
            System.out.println("Status Code: " + response.code());
            if (response.body() != null) {
                System.out.println("Response Body: " + response.body().string());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}