java短信营销接口对接示例代码
本示例介绍如何使用java调用互亿无线短信营销接口,完成短信群发。通过简单的 HTTP POST 请求,开发者即可在业务系统中集成营销短信功能,适用于促销活动通知、会员关怀提醒、节日祝福推送等多类营销场景。
示例将展示接口请求的基本流程、参数配置以及响应解析,帮助开发者快速掌握短信营销接口的调用方式。
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
public class test
{
public static void main(String args[])
{
String url = "https://api.ihuyi.com/sms-yx/v1/batchSend";
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json; charset=utf-8");
String jsonString = "{\"api_id\":\"mms-xxxxxxxx\",\"signature\":\"92b2919615570ceb0fa8a1b6c87c9a7a\",\"timestamp\":1756092730,\"request_id\":\"17560927306063\",\"product_id\":1001,\"phone\":[\"18800000000\",\"18800000001\"],\"sign_name\":\"xxxxxxxx\",\"title\":\"xxxxxxxxxxxx\",\"content\":\"尊敬的会员您好:${name},您的订单号是:${order_no},拒收请回复R\",\"template_id\":1,\"template_var\":{\"${name}\":\"张三\",\"${order_no}\":\"202009041156181103\"},\"send_time\":\"2020-08-26 16:08:14\"}";
try {
// 确保jsonString不为空再发送请求
if (jsonString != null) {
Map<String, Object> response = sendRequest(url, headers, jsonString, "POST");
// 打印响应
System.out.printf("状态码: %s%n", response.get("status"));
System.out.printf("响应内容: %s%n", response.get("body"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static Map<String, Object> sendRequest(String url, Map<String, String> headers, String requestBody, String method) throws Exception {
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.uri(URI.create(url))
.method(method, requestBody.isEmpty() ?
HttpRequest.BodyPublishers.noBody() :
HttpRequest.BodyPublishers.ofString(requestBody, StandardCharsets.UTF_8));
headers.forEach(requestBuilder::header);
HttpClient httpClient = HttpClient.newBuilder().build();
HttpResponse response = httpClient.send(
requestBuilder.build(),
HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8)
);
Map<String, Object> result = new HashMap<>();
result.put("status", response.statusCode());
result.put("body", response.body());
return result;
}
}