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

public final class PartnerApi {
	public static void main(String[] args) throws Exception {
		String body = "{\"serviceid\":2,\"name\":\"Customer Name\","
			+ "\"email\":\"customer@example.com\"}";
		HttpRequest request = HttpRequest.newBuilder()
			.uri(URI.create("https://starbonding.com/api/v1/create.account.php"))
			.header("X-API-Key", System.getenv("STARBONDING_API_KEY"))
			.header("Idempotency-Key", "create-customer-0001")
			.header("Content-Type", "application/json")
			.POST(HttpRequest.BodyPublishers.ofString(body)).build();
		HttpResponse<String> response = HttpClient.newHttpClient().send(request,
			HttpResponse.BodyHandlers.ofString());
		System.out.printf("HTTP %d%n%s%n", response.statusCode(), response.body());
		boolean success = response.body().replaceAll("\\s", "")
			.contains("\"success\":true");
		if (response.statusCode() < 200 || response.statusCode() >= 300 || !success)
			System.exit(1);
	}
}
