Sistema Integral de Retenciones Electrónicas


Solicitud
// Creamos una instancia del web service
var genericWebService = afip.WebService("sire-ws");

// Aqui deben cambiar los datos por los que correspondan. 
// Esta request de ejemplo incluye todos posibles 
// valores para llamar al metodo emitir, puede que algun
// valor sea opcional.
const data = new Dictionary<string, object> {
    ["token"] = "string",
    ["sign"] = "string",
    ["cuitAgente"] = 1,
    ["certificado"] = new Dictionary<string, object> {
        ["version"] = 1,
        ["codigoTrazabilidad"] = "string",
        ["impuesto"] = 1,
        ["regimen"] = 1,
        ["fechaRetencion"] = "YYYY-MM-DDThh:mm:ss",
        ["condicion"] = 1,
        ["imposibilidadRetencion"] = true,
        ["motivoNoRetencion"] = "string",
        ["importeRetencion"] = 1.5,
        ["importeBaseCalculo"] = 1.5,
        ["regimenExclusion"] = true,
        ["porcentajeExclusion"] = 1.5,
        ["fechaPublicacion"] = "YYYY-MM-DDThh:mm:ss",
        ["tipoComprobante"] = 1,
        ["fechaComprobante"] = "YYYY-MM-DDThh:mm:ss",
        ["numeroComprobante"] = "string",
        ["coe"] = "string",
        ["coeOriginal"] = "string",
        ["cae"] = "string",
        ["importeComprobante"] = 1.5,
        ["motivoEmisionNotaCredito"] = "string",
        ["cuitRetenido"] = 1,
        ["numeroCertificadoOriginal"] = "string",
        ["fechaRetencionCertificadoOriginal"] = "YYYY-MM-DDThh:mm:ss",
        ["importeCertificadoOriginal"] = 1.5,
        ["motivoAnulacion"] = 1
    }
};

try
{
    // Realizamos la llamada al metodo del web service
    var response = await genericWebService.ExecuteRequestAsync<Dictionary<string, object?>>("emitir", data);

     // Mostramos la respuesta por consola
    Console.WriteLine(JsonSerializer.Serialize(response));
}
catch (Exception ex)
{
    // En caso de error lo mostramos por consola
    Console.Error.WriteLine(ex.Message);
}
Respuesta
{
    "certificadoNro": "string",
    "codigoSeguridad": "string"
}