Ir al contenido
ApiWsp

API de WhatsApp con Java

Con java.net.http.HttpClient, incluido desde Java 11. Sin dependencias.

Requisitos

  • Java 11 o superior
  • Tu API key y tu número conectado

Enviar un mensaje

En un proyecto real arma el JSON con Jackson o Gson para escapar bien el texto.

Java
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 EnviarWhatsapp {
    public static void main(String[] args) throws Exception {
        String json = "{"
            + "\"api_key\":\"" + System.getenv("WSP_API_KEY") + "\","
            + "\"sender\":\"51999888777\","
            + "\"number\":\"51987654321\","
            + "\"message\":\"Hola desde Java\""
            + "}";

        HttpRequest peticion = HttpRequest.newBuilder()
            .uri(URI.create("https://api.kontacto.pro/send-message"))
            .timeout(Duration.ofSeconds(30))
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(json))
            .build();

        HttpResponse<String> respuesta = HttpClient.newHttpClient()
            .send(peticion, HttpResponse.BodyHandlers.ofString());

        System.out.println(respuesta.statusCode() + " " + respuesta.body());
    }
}

Con Spring Boot

RestClient (Spring 6.1+) convierte el Map a JSON.

Java
RestClient cliente = RestClient.create("https://api.kontacto.pro");

Map<String, Object> respuesta = cliente.post()
    .uri("/send-message")
    .contentType(MediaType.APPLICATION_JSON)
    .body(Map.of(
        "api_key", apiKey,
        "sender", "51999888777",
        "number", "51987654321",
        "message", "Hola desde Spring Boot"))
    .retrieve()
    .body(new ParameterizedTypeReference<>() {});

Todos los endpoints, parámetros y errores están en la documentación de la API.

Preguntas frecuentes

Si tu duda no está aquí, escríbenos por WhatsApp.

Ver todas las preguntas

¿Y el webhook en Java?

Es un endpoint POST (por ejemplo un @PostMapping en Spring) que lee el JSON entrante y devuelve otro JSON con text, o una respuesta vacía.

La API en otros lenguajes

Envía tu primer mensaje hoy

Escríbenos por WhatsApp, conectamos tu número con un QR y te damos tu API key para que pruebes desde tu sistema.