Recepción de Eventos de Entrada y Salida de Vehículos


Solicitud
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.ArrayList;

// Deben cambiar los datos de "params" por los que correspondan. 
// Esta request de ejemplo incluye todos posibles valores para 
// llamar al metodo ConsultaDatosVehiculo, puede que algun valor sea opcional.
Map<String, Object> data = new LinkedHashMap<>();
    data.put("environment", "prod");
    data.put("method", "ConsultaDatosVehiculo");
    data.put("wsid", "wEnysa");
    Map<String, Object> params = new LinkedHashMap<>();
    data.put("params", params);
        Map<String, Object> autenticacion = new LinkedHashMap<>();
        params.put("autenticacion", autenticacion);
            autenticacion.put("tipoAgente", "string");
            autenticacion.put("usuRol", "string");
            autenticacion.put("usuAduana", "string");
            autenticacion.put("lugOper", "string");
            autenticacion.put("token", "string");
            autenticacion.put("firma", "string");
        params.put("anioFormulario", "string");
        params.put("tipoTransaccion", "string");
        params.put("aduanaFormulario", "string");
        params.put("numeroFormulario", "string");

// Creamos un cliente HTTP para llamar a la API
HttpClient client = HttpClient.newBuilder()
    .connectTimeout(Duration.ofSeconds(20))
    .build();

// Realizamos la llamada a la API
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String dataJSON = gson.toJson(data);

HttpRequest.Builder request = HttpRequest.newBuilder()
    .uri(new URI("https://app.afipsdk.com/api/v1/afip/requests"))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(dataJSON));

// Reemplazar con tu access_token obtenido de https://app.afipsdk.com
String accessToken = "TU_TOKEN_AQUI";
request.header("Authorization", "Bearer "+ accessToken); 

HttpResponse<String> requestResponse = client.send(request.build(), HttpResponse.BodyHandlers.ofString());

// En caso de error lo mostramos por consola
if (requestResponse.statusCode() >= 400) {
    JsonElement errorResponse = gson.fromJson(requestResponse.body(), JsonElement.class);
    System.out.println("Error en la request: " + gson.toJson(errorResponse));

    return;
}

// Convertimos la respuesta en un objeto
JsonObject jsonObject = gson.fromJson(requestResponse.body(), JsonElement.class).getAsJsonObject();

// Mostramos la respuesta por consola
System.out.println(gson.toJson(jsonObject));
Respuesta
{
    "ConsultaDatosVehiculoResult": {
        "aduanaFormulario": "string",
        "anioFormulario": "string",
        "datosVehiculo": {
            "anioFabricacion": "string",
            "color": "string",
            "aduanaFormulario": "string",
            "anioFormulario": "string",
            "apellidoMaterno": "string",
            "apellidoPaterno": "string",
            "arrastreSiNo": "string",
            "codigoAduanaMovimiento": "string",
            "codigoPais": "string",
            "codigoPaisVehiculo": "string",
            "codigoResguardo": "string",
            "direccion": "string",
            "fechaDocumentoAut": "string",
            "fechaMovimiento": "string",
            "fechaOrigenDocumento": "string",
            "fechaVencimiento": "string",
            "marca": "string",
            "marcaModelo": "string",
            "modelo": "string",
            "nacionalidad": "string",
            "nombres": "string",
            "numeroChasis": "string",
            "numeroDocumento": "string",
            "numeroFormulario": "string",
            "numeroMotor": "string",
            "observaciones": "string",
            "pasajeros": "integer",
            "patente": "string",
            "propietario": "string",
            "tipoDocumento": "string",
            "tipoDocumentoAut": "string",
            "tipoVehiculo": "string",
            "datosAlquiler": {
                "tipoContrato": "string",
                "numeroDocumentoEmpresa": "string",
                "razonSocialEmpresa": "string",
                "domicilioEmpresa": "string",
                "tipoDocumentoEmpresa": "string",
                "numeroContrato": "string",
                "fechaVencimientoContrato": "string",
                "DatosConductores": {
                    "DatosConductor": [
                        {
                            "tipoDocumentoConductor": "string",
                            "numeroDocumentoConductor": "string",
                            "nacionalidad": "string",
                            "numeroLicenciaConducir": "string",
                            "apellidoMaternoConductor": "string",
                            "apellidoPaternoConductor": "string",
                            "nombreConductor": "string",
                            "titular": "string"
                        }
                    ]
                },
                "Seguros": {
                    "Seguro": [
                        {
                            "numeroSeguro": "string",
                            "fechaInicio": "string",
                            "fechaFin": "string",
                            "razonSocialAseguradora": "string"
                        }
                    ]
                }
            }
        },
        "msgError": {
            "codigoError": "integer",
            "descripcion": "string",
            "descripcionAdicional": "string"
        },
        "numeroFormulario": "string",
        "tipoTransaccion": "string"
    }
}