Factura Electrónica con detalle de items


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

// Aqui deben cambiar los datos por los que correspondan. 
// Esta request de ejemplo incluye todos posibles 
// valores para llamar al metodo autorizarComprobante, puede que algun
// valor sea opcional.
const data = new Dictionary<string, object> {
    ["authRequest"] = new Dictionary<string, object> {
        ["token"] = "string",
        ["sign"] = "string",
        ["cuitRepresentada"] = 1
    },
    ["comprobanteCAERequest"] = new Dictionary<string, object> {
        ["codigoTipoComprobante"] = 1,
        ["numeroPuntoVenta"] = 1,
        ["numeroComprobante"] = 1,
        ["fechaEmision"] = "YYYY-MM-DD",
        ["codigoTipoAutorizacion"] = "string",
        ["codigoAutorizacion"] = 1,
        ["fechaVencimiento"] = "YYYY-MM-DD",
        ["codigoTipoDocumento"] = 1,
        ["numeroDocumento"] = 1,
        ["condicionIVAReceptor"] = 1,
        ["importeGravado"] = 1.5,
        ["importeNoGravado"] = 1.5,
        ["importeExento"] = 1.5,
        ["importeSubtotal"] = 1.5,
        ["importeOtrosTributos"] = 1.5,
        ["importeTotal"] = 1.5,
        ["codigoMoneda"] = "string",
        ["cotizacionMoneda"] = 1.5,
        ["cancelaEnMismaMonedaExtranjera"] = "string",
        ["observaciones"] = "string",
        ["codigoConcepto"] = 1,
        ["fechaServicioDesde"] = "YYYY-MM-DD",
        ["fechaServicioHasta"] = "YYYY-MM-DD",
        ["fechaVencimientoPago"] = "YYYY-MM-DD",
        ["fechaHoraGen"] = "YYYY-MM-DDThh:mm:ss",
        ["arrayComprobantesAsociados"] = new Dictionary<string, object> {
            ["comprobanteAsociado"] = new[] {
                new Dictionary<string, object> {
                    ["codigoTipoComprobante"] = 1,
                    ["numeroPuntoVenta"] = 1,
                    ["numeroComprobante"] = 1,
                    ["cuit"] = 1,
                    ["fechaEmision"] = "YYYY-MM-DD"
                }
            }
        },
        ["periodoComprobantesAsociados"] = new Dictionary<string, object> {
            ["fechaDesde"] = "YYYY-MM-DD",
            ["fechaHasta"] = "YYYY-MM-DD"
        },
        ["arrayOtrosTributos"] = new Dictionary<string, object> {
            ["otroTributo"] = new[] {
                new Dictionary<string, object> {
                    ["codigo"] = 1,
                    ["descripcion"] = "string",
                    ["baseImponible"] = 1.5,
                    ["importe"] = 1.5
                }
            }
        },
        ["arrayItems"] = new Dictionary<string, object> {
            ["item"] = new[] {
                new Dictionary<string, object> {
                    ["unidadesMtx"] = 1,
                    ["codigoMtx"] = "string",
                    ["codigo"] = "string",
                    ["descripcion"] = "string",
                    ["cantidad"] = 1.5,
                    ["codigoUnidadMedida"] = 1,
                    ["precioUnitario"] = 1.5,
                    ["importeBonificacion"] = 1.5,
                    ["codigoCondicionIVA"] = 1,
                    ["importeIVA"] = 1.5,
                    ["importeItem"] = 1.5
                }
            }
        },
        ["arraySubtotalesIVA"] = new Dictionary<string, object> {
            ["subtotalIVA"] = new[] {
                new Dictionary<string, object> {
                    ["codigo"] = 1,
                    ["importe"] = 1.5
                }
            }
        },
        ["arrayDatosAdicionales"] = new Dictionary<string, object> {
            ["datoAdicional"] = new[] {
                new Dictionary<string, object> {
                    ["t"] = 1,
                    ["c1"] = "string",
                    ["c2"] = "string",
                    ["c3"] = "string",
                    ["c4"] = "string",
                    ["c5"] = "string",
                    ["c6"] = "string"
                }
            }
        },
        ["arrayCompradores"] = new Dictionary<string, object> {
            ["comprador"] = new[] {
                new Dictionary<string, object> {
                    ["codigoTipoDocumento"] = 1,
                    ["numeroDocumento"] = 1,
                    ["porcentaje"] = 1.5
                }
            }
        },
        ["arrayActividades"] = new Dictionary<string, object> {
            ["actividad"] = new[] {
                new Dictionary<string, object> {
                    ["codigo"] = 1
                }
            }
        }
    }
};

try
{
    // Realizamos la llamada al metodo del web service
    var response = await genericWebService.ExecuteRequestAsync<Dictionary<string, object?>>("autorizarComprobante", 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
{
    "resultado": "string",
    "comprobanteResponse": {
        "cuit": "long",
        "codigoTipoComprobante": "short",
        "numeroPuntoVenta": "integer",
        "numeroComprobante": "long",
        "fechaEmision": "date",
        "CAE": "long",
        "fechaVencimientoCAE": "date"
    },
    "arrayObservaciones": {
        "codigoDescripcion": [
            {
                "codigo": "short",
                "descripcion": "string"
            }
        ]
    },
    "arrayErrores": {
        "codigoDescripcion": [
            {
                "codigo": "short",
                "descripcion": "string"
            }
        ]
    },
    "evento": {
        "codigo": "short",
        "descripcion": "string"
    }
}