M.O.A. - Declaración
Lista de Cancelaciones de Declaraciones Suspensivas
M.O.A. - Declaración
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 SuspensivasCancelaciones, puede que algun valor sea opcional.
Map<String, Object> data = new LinkedHashMap<>();
data.put("environment", "dev");
data.put("method", "SuspensivasCancelaciones");
data.put("wsid", "wconsdeclaracion");
Map<String, Object> params = new LinkedHashMap<>();
data.put("params", params);
Map<String, Object> argWSAutenticacionEmpresa = new LinkedHashMap<>();
params.put("argWSAutenticacionEmpresa", argWSAutenticacionEmpresa);
argWSAutenticacionEmpresa.put("Token", "string");
argWSAutenticacionEmpresa.put("Sign", "string");
argWSAutenticacionEmpresa.put("CuitEmpresaConectada", 1);
argWSAutenticacionEmpresa.put("TipoAgente", "string");
argWSAutenticacionEmpresa.put("Rol", "string");
Map<String, Object> argSuspensivasCancelacionesParams = new LinkedHashMap<>();
params.put("argSuspensivasCancelacionesParams", argSuspensivasCancelacionesParams);
argSuspensivasCancelacionesParams.put("IdentificadorDeclaracion", "string");
argSuspensivasCancelacionesParams.put("NumeroItem", "string");
argSuspensivasCancelacionesParams.put("NumeroSubItem", "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
{
"SuspensivasCancelacionesResult": {
"ListaErrores": {
"DetalleError": [
{
"Codigo": "integer",
"Descripcion": "string",
"DescripcionDetallada": "string",
"TextoAclaratorio": "string",
"DescripcionAdicional": "string",
"Parametros": {
"string": [
"string"
]
}
}
]
},
"Server": "string",
"TimeStamp": "datetime",
"Cancelaciones": {
"CancelacionSuspensivas": [
{
"Definitiva": "string",
"NumeroItem": "string",
"NumeroSubitem": "string",
"Estado": "string",
"FechaOficializacion": "datetime",
"FechaPrecumplido": "datetime",
"FechaLibramiento": "datetime",
"Factor": "string",
"CTC": "string",
"Cantidad": "decimal",
"Tipo": "string"
}
]
}
}
}