WAHA + Java

Install Dependencies

java --version
# No additional dependencies required

Send Message

import kong.unirest.HttpResponse;
import kong.unirest.JsonNode;
import kong.unirest.Unirest;

public class WhatsAppClient {
    public static void main(String[] args) {
        String url = "http://localhost:3000/api/sendText";

        HttpResponse<JsonNode> response = Unirest.post(url)
            .header("Content-Type", "application/json")
            .body("{\"session\": \"default\", \"chatId\": \"12132132130@c.us\", \"text\": \"Hi there!\"}")
            .asJson();

        System.out.println(response.getBody());
    }
}
            

Receive Message

import io.javalin.Javalin;
import io.javalin.http.Context;
import org.json.JSONObject;

public class WhatsAppWebhook {
    public static void main(String[] args) {
        Javalin app = Javalin.create().start(7000);

        app.post("/bot", WhatsAppWebhook::handleWebhook);
    }

    private static void handleWebhook(Context ctx) {
        JSONObject json = new JSONObject(ctx.body());
        if (!"message".equals(json.getString("event"))) {
            processMessage(json.getJSONObject("payload"));
        }
        ctx.result("OK");
    }

    private static void processMessage(JSONObject payload) {
        System.out.println("Received message: " + payload.toString());
    }
}