Bonos Fiscales Electrónicos
Recupera los datos completos de un comprobante ya autorizado
Bonos Fiscales Electrónicos
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 BFEGetCMP, puede que algun valor sea opcional.
Map<String, Object> data = new LinkedHashMap<>();
data.put("environment", "dev");
data.put("method", "BFEGetCMP");
data.put("wsid", "wsbfe");
Map<String, Object> params = new LinkedHashMap<>();
data.put("params", params);
Map<String, Object> Auth = new LinkedHashMap<>();
params.put("Auth", Auth);
Auth.put("Token", "string");
Auth.put("Sign", "string");
Auth.put("Cuit", 1);
Map<String, Object> Cmp = new LinkedHashMap<>();
params.put("Cmp", Cmp);
Cmp.put("Tipo_cbte", 1);
Cmp.put("Punto_vta", 1);
Cmp.put("Cbte_nro", 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));
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
{
"BFEGetCMPResult": {
"BFEResultGet": {
"Id": "long",
"Cuit": "long",
"Tipo_doc": "short",
"Nro_doc": "long",
"Tipo_cbte": "short",
"Punto_vta": "integer",
"Cbte_nro": "long",
"Imp_total": "decimal",
"Imp_tot_conc": "decimal",
"Imp_neto": "decimal",
"Impto_liq": "decimal",
"Impto_liq_rni": "decimal",
"Imp_op_ex": "decimal",
"Imp_perc": "decimal",
"Imp_iibb": "decimal",
"Imp_perc_mun": "decimal",
"Imp_internos": "decimal",
"Imp_moneda_Id": "string",
"Imp_moneda_ctz": "decimal",
"Fecha_cbte_orig": "string",
"Fecha_cbte_cae": "string",
"Fecha_vto_pago": "string",
"Fch_venc_Cae": "string",
"Cae": "string",
"Resultado": "string",
"Obs": "string",
"CondicionIVAReceptorId": "integer",
"CanMisMonExt": "string",
"Opcionales": {
"Opcional": [
{
"Id": "string",
"Valor": "string"
}
]
},
"Items": {
"Item": [
{
"Pro_codigo_ncm": "string",
"Pro_codigo_sec": "string",
"Pro_ds": "string",
"Pro_qty": "decimal",
"Pro_umed": "integer",
"Pro_precio_uni": "decimal",
"Imp_bonif": "decimal",
"Imp_total": "decimal",
"Iva_id": "short"
}
]
},
"CbtesAsoc": {
"CbteAsoc": [
{
"Tipo_cbte": "short",
"Punto_vta": "integer",
"Cbte_nro": "long",
"Cuit": "string",
"Fecha_cbte": "string"
}
]
}
},
"BFEErr": {
"ErrCode": "integer",
"ErrMsg": "string"
},
"BFEEvents": {
"EventCode": "integer",
"EventMsg": "string"
}
}
}