private void button4_Click(object sender, EventArgs e)
        {
            richTextBox1.Text = string.Empty;
            if (chkFactura.Checked)
            {
                tipoDocumento = "FacturaElectronica"; nombreArchivoXml = "FacturaElectronica.xml";
            }
            else if (chkNotaDebito.Checked)
            {
                tipoDocumento = "NotaDebitoElectronica"; nombreArchivoXml = "NotaDebitoElectronica.xml";
            }
            else if (chkNotaCredito.Checked)
            {
                tipoDocumento = "NotaCreditoElectronica"; nombreArchivoXml = "NotaCreditoElectronica.xml";
            }
            else if (chkTicket.Checked)
            {
                tipoDocumento = "TiqueteElectronico"; nombreArchivoXml = "TiqueteElectronico.xml";
            }
            else
            {
                MessageBox.Show("Debe elegir un tipo de documento"); return;
            }

            ComprobanteElectronicoCRI objComprobanteElectronicoCRI = new ComprobanteElectronicoCRI();

            TributarioCr.EngineDocumentoXml Metodo = new TributarioCr.EngineDocumentoXml();
            objComprobanteElectronicoCRI = Metodo.ObjComprobanteElectronicoCRI(tipoDocumento);
            if (ConsumoApi.CrearDocumentoElectronico(objComprobanteElectronicoCRI, tipoDocumento))
            {
                MessageBox.Show("Documento " + tipoDocumento + " creado satisfactoriamente");
            }
            else
            {
                MessageBox.Show("El documento " + tipoDocumento + " no pudo ser creado");
            }
        }
        private async void MetodoConsumo()
        {
            try
            {
                switch (paso)
                {
                case 1:
                    tokenAccess = await ConsumoApi.ObtenerAutentificacionPost();

                    if (tokenAccess != string.Empty && tokenAccess != "false")
                    {
                        Mostrar(tokenAccess);
                        paso++;
                        timer1.Start();
                    }
                    else
                    {
                        MessageBox.Show("ERROR OBTENIENDO AUTENTIFICACION");
                    }
                    break;

                case 2:
                    ComprobanteElectronicoCRI       objComprobanteElectronicoCRI = new ComprobanteElectronicoCRI();
                    TributarioCr.EngineDocumentoXml Metodo = new TributarioCr.EngineDocumentoXml();
                    objComprobanteElectronicoCRI = Metodo.ObjComprobanteElectronicoCRI(tipoDocumento);
                    urlValidacion = await ConsumoApi.EnviarDocumentoPost(tokenAccess, objComprobanteElectronicoCRI, tipoDocumento);

                    if (urlValidacion != string.Empty && urlValidacion != "false")
                    {
                        Mostrar(urlValidacion);
                        paso++;
                        timer1.Start();
                    }
                    else
                    {
                        MessageBox.Show("ERROR ENVIANDO DOCUMENTO");
                    }
                    break;

                case 3:
                    ConsumidorApi.Validacion validacion = new ConsumidorApi.Validacion();
                    validacion = await ConsumoApi.ValidarDocumentoGet(urlValidacion, tokenAccess);

                    Mostrar(validacion.IndEstado);
                    Mostrar(validacion.RespuestaXml);
                    Mostrar(Comprobante.DecodeBase64(validacion.RespuestaXml));
                    paso++;
                    timer1.Start();
                    break;

                case 4:
                    desconexion = await ConsumoApi.DeconexionGet(tokenAccess);

                    Mostrar(desconexion);
                    paso = 0;
                    timer1.Stop();
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }