Maytapi/Documentație/Ghid Java
Ghid JavaAproximativ 10 minuteCum trimiți un mesaj WhatsApp cu Java
Trimiteți mesaje text și media din Java cu o singură cerere HTTP, apoi primiți răspunsurile pe propriul webhook. REST și JSON simplu — fără SDK, fără aprobare de șabloane.
Ultima actualizare:
- Java
- REST + JSON
- fără SDK
- răspunsuri prin webhook
// Java 15+ (java.net.http, text blocks)
import java.net.URI;
import java.net.http.*;
String pid = "your-pid";
String phoneId = "your-phone-id";
String token = "your-token";
String body = """
{"to_number": "4072xxxxx67", "type": "text", "message": "Hello from Java!"}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.maytapi.com/api/" + pid + "/" + phoneId + "/sendMessage"))
.header("x-maytapi-key", token)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());De ce aveți nevoie
Patru lucruri, toate disponibile în consolă în câteva minute.
-
cont
Un cont Maytapi
Înregistrați-vă și porniți perioada de probă gratuită — fără card.
-
telefon
Un număr asociat
Scanați codul QR cu WhatsApp de pe telefon. Numărul funcționează în continuare ca de obicei.
-
token
pid și token
Copiați-le din pagina de token a consolei; phone_id apare lângă numărul dumneavoastră.
-
Java
Un mediu Java
Este suficientă o versiune recentă de Java cu clientul HTTP standard.
Trimiteți un mesaj text cu Java
Trimiteți prin POST un corp JSON la /sendMessage, cu tokenul în antetul x-maytapi-key. Mesajul intră în coada telefonului, iar răspunsul vine imediat.
- ✓to_number în format internațional, de ex. 4072xxxxx67
- ✓type: text și textul mesajului
- ✓Răspunsul conține id-ul mesajului
curl -X POST "https://api.maytapi.com/api/$PID/$PHONE_ID/sendMessage" \
-H "x-maytapi-key: $TOKEN" \
-H "Content-Type: application/json" \
-d '{"to_number": "4072xxxxx67", "type": "text", "message": "Hello from Java!"}'{
"success": true,
"data": {
"chatId": "4072xxxxx67@c.us",
"msgId": "3EB065B353B9493D00C9"
}
}Trimiteți o imagine, un video sau un document
Folosiți același endpoint cu type media și un URL public sau un data URI base64. Adăugați opțional o descriere și un nume de fișier.
- ✓Imagini, video, audio, PDF și alte documente
- ✓Descrierea în câmpul text
- ✓Data URI base64 funcționează la fel ca URL-urile
String body = """
{
"to_number": "4072xxxxx67",
"type": "media",
"message": "https://example.com/invoice-10482.pdf",
"text": "Your invoice for order #10482",
"filename": "invoice-10482.pdf"
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.maytapi.com/api/" + pid + "/" + phoneId + "/sendMessage"))
.header("x-maytapi-key", token)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());Primiți răspunsuri cu un webhook Java
Înregistrați o singură dată URL-ul webhook. Mesajele primite și confirmările de livrare și citire sosesc în JSON; răspundeți prin URL-ul reply din fiecare eveniment.
- ✓Returnați rapid 200, apoi procesați evenimentul
- ✓Ignorați propriile mesaje cu fromMe
- ✓Folosiți event.reply pentru a răspunde în același chat
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.maytapi.com/api/" + pid + "/setWebhook"))
.header("x-maytapi-key", token)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\"webhook\": \"https://example.com/maytapi/webhook\"}"))
.build();
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());@RestController
public class WebhookController {
private final RestClient client = RestClient.create();
@PostMapping("/maytapi/webhook")
public ResponseEntity<Void> webhook(@RequestBody Map<String, Object> event) {
Map<String, Object> message = (Map<String, Object>) event.get("message");
if ("message".equals(event.get("type")) && !Boolean.TRUE.equals(message.get("fromMe"))) {
client.post()
.uri((String) event.get("reply"))
.header("x-maytapi-key", token)
.contentType(MediaType.APPLICATION_JSON)
.body(Map.of(
"to_number", event.get("conversation"),
"type", "text",
"message", "Thanks! We received your message."))
.retrieve()
.toBodilessEntity();
}
return ResponseEntity.ok().build();
}
}Întrebări WhatsApp API cu Java
Întreabă echipa de suport orice pe WhatsApp. Timpul mediu de răspuns este sub 24 de ore.
Centru de ajutor →Există un SDK oficial pentru Java?
Nu este nevoie. API-ul este REST cu JSON, deci clientul HTTP standard din Java este suficient, așa cum arată exemplele de pe această pagină.
Pot trimite mesaje în grupuri din Java?
Da. Folosiți id-ul grupului (se termină în @g.us) ca to_number; endpoint-urile pentru grupuri sunt disponibile în toate planurile.
De ce nu a ajuns mesajul meu?
Verificați că starea telefonului este activă, apoi coada și jurnalele din consolă. Numerele noi trebuie încălzite înainte de trimiteri în volum.
Alte funcționalități WhatsApp API

Obține cheia și trimite primul mesaj în zece minute
Fără aprobare, fără șabloane, fără card. Toate endpointurile sunt deschise timp de trei zile.