Creación de VEPs para entidades externas (WSCREATEVEP)


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 findMyVEPByTransactionId, puede que algun valor sea opcional.
Map<String, Object> data = new LinkedHashMap<>();
    data.put("environment", "prod");
    data.put("method", "findMyVEPByTransactionId");
    data.put("wsid", "setipagob2b_createvep");
    Map<String, Object> params = new LinkedHashMap<>();
    data.put("params", params);
        params.put("token", "string");
        params.put("sign", "string");
        params.put("owner", 1);
        params.put("ownerTransactionId", 1);

// 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
{
    "findMyVEPByTransactionIdReturn": {
        "VEP": {
            "nroVEP": "long",
            "fechaHoraCreacion": "string",
            "fechaExpiracion": "string",
            "fechaVencimiento": "string",
            "nroFormulario": "integer",
            "orgRecaudDesc": "string",
            "codTipoPago": "integer",
            "pagoDesc": "string",
            "pagoDescExtracto": "string",
            "usuarioCUIT": "long",
            "autorizanteCUIT": "long",
            "contribuyenteCUIT": "long",
            "establecimiento": "integer",
            "concepto": "integer",
            "conceptoDesc": "string",
            "subConcepto": "integer",
            "subConceptoDesc": "string",
            "periodoFiscal": "integer",
            "anticipoCuota": "integer",
            "importe": "decimal",
            "ownerCuit": "long",
            "ownerTransactionId": "long",
            "Detalles": {
                "Detalle": [
                    {
                        "campo": "integer",
                        "campoTipo": "string",
                        "campoDesc": "string",
                        "contenido": "string",
                        "contenidoDesc": "string"
                    }
                ]
            },
            "Obligaciones": {
                "Obligacion": [
                    {
                        "impuesto": "integer",
                        "impuestoDesc": "string",
                        "importe": "decimal"
                    }
                ]
            }
        },
        "CP": {
            "cpId": "long",
            "nroVEP": "long",
            "contribuyenteCUIT": "long",
            "importe": "decimal",
            "sucursal": "integer",
            "tipoSucursal": "integer",
            "terminal": "string",
            "operador": "string",
            "formaPago": "integer",
            "moneda": "integer",
            "bancoPagador": "integer",
            "entidadDePago": "integer",
            "codControl": "string",
            "nroTransaccion": "long",
            "nroTarjeta": "decimal",
            "posEstablecimiento": "long",
            "posNombre": "string",
            "cbu": "decimal",
            "codTipoPago": "integer",
            "codRechazoDebDir": "integer",
            "fechaHoraPago": "string",
            "fechaAnulacion": "string",
            "fechaPosting": "string"
        }
    }
}