Sinal OneSpan para novos usuários: verificar o status do pacote e baixar arquivos (.NET SDK)

Michael Williams, 7 de Julho de 2015

Na última vez, mostrei como configurar um projeto C # no Microsoft Visual Studio, para permitir que você criar e enviar um pacote usando o OneSpan Sign .NET SDK. Nesta semana, abordarei algumas coisas que você pode fazer após o envio do pacote, como:

  • Verificando o status do pacote / assinatura
  • Download dos documentos assinados por e-mail
  • Fazendo o download do resumo de evidências

Vou retomar exatamente de onde parei, no blog da semana passada. Se você seguiu em frente, acabou de procurar na caixa de entrada do OneSpan Sign para ver se o pacote de documentos foi criado e enviado corretamente após a execução da classe C # criada no tutorial.

 

Caixa de entradaShowingPackageCreatedWithCSharp

 

Configuração

Configuração inicial

Crie um novo projeto e arquivo .cs para este tutorial. Chamei meu arquivo de "CheckStatusAndDownload.cs". Se precisar de ajuda com essa configuração, visite o meu blog anterior para mais instruções.

Assinatura Eletrônica

O Guia do Iniciante em Assinaturas Eletrônicas

Este abrangente guia para iniciantes de 31 páginas sobre assinaturas eletrônicas apresenta conceitos legais importantes e considerações importantes ao criar processos de negócios digitais com assinaturas eletrônicas.  

Baixar Agora

Localizando o ID do Pacote do seu Projeto Existente

Como o pacote com o qual você está trabalhando foi criado anteriormente, precisamos encontrar o ID do pacote para uso neste projeto. Se você selecionar o projeto na caixa de entrada da interface do usuário, como visto acima, o URL terá o ID do pacote, assim:

https://sandbox.esignlive.com/packages/yourPackageID

Na classe C # que você criou no último blog, verá que teve acesso a esse ID de pacote quando criou o pacote e o usou para enviar o pacote. Se você estivesse criando um aplicativo mais complexo, provavelmente armazenaria esse ID de pacote para uso em outras partes do seu aplicativo, em vez de procurá-lo nos URLs do OneSpan Sign.

Se você quiser ver esse código de pacote proveniente da classe C # criada no tutorial do último blog, adicione a linha, Debug.WriteLine ("PackageId:" + packageId); depois da linha PackageId packageId = eslClient.createPackage (superDuperPackage); . Se você executar essa classe novamente, verá a ID do pacote impressa na janela de saída no Visual Studio. 

 

visualStudioOutput_packageId

 

O código

Agora você está pronto para escrever o código na sua classe C #. Copie o código a seguir no arquivo "CheckStatusAndDownload.cs" (ou o nome que desejar) que você criou acima.

using System;
using System.Diagnostics;
using Silanis.ESL.SDK;
using Silanis.ESL.SDK.Builder;
using System.IO;

namespace CheckStatusAndDownloadDocuments
{
    classe CheckStatusAndDownloadDocuments
    {
        string estática privada apiUrl = "https://sandbox.esignlive.com/api";
        // USE https://apps.e-signlive.com/api PARA PRODUÇÃO
        string estática privada apiKey = "YOUR_API_KEY";

        public static void Main (string [] args)
        {
            EslClient eslClient = novo EslClient (apiKey, apiUrl);

            PackageId packageId = new PackageId ("YOUR_PACKAGE_ID");
            DocumentPackage sentPackage = eslClient.GetPackage (packageId);

            DocumentPackageStatus packageStatus = sentPackage.Status;
            Debug.WriteLine ("Status do Pacote:" + packageStatus);

            SigningStatus signatureStatus = eslClient
                            .GetSigningStatus (packageId, null, null);
            Debug.WriteLine ("Status de assinatura:" + signatureStatus);

            if (signatureStatus.ToString () == "SIGNING_PENDING")
            {
                Debug.WriteLine ("Não é possível fazer o download: assinatura não concluída");
            }
            outro
            {
                byte [] zipContent = eslClient.DownloadZippedDocuments (packageId);
                File.WriteAllBytes (Directory.GetCurrentDirectory () 
                                    + "/package-documents.zip", zipContent);
                Debug.WriteLine ("Arquivo zip de documento baixado");

                byte [] evidênciaContent = eslClient
                                    .DownloadEvidenceSummary (packageId);
                File.WriteAllBytes (Directory.GetCurrentDirectory () 
                                    + "/evidence-summary.pdf", evidênciaContent);
                Debug.WriteLine ("Resumo da evidência baixado");
            } 
        }
    }
}

Agora, vamos dar uma olhada no código. Assim como da última vez, as primeiras linhas definem suas informações de conexão para o OneSpan Sign.

Acesse o pacote

string estática privada apiUrl = "https://sandbox.esignlive.com/api";
// USE https://apps.e-signlive.com/api PARA PRODUÇÃO
string estática privada apiKey = "YOUR_API_KEY";

 

Coloque sua API_KEY no lugar do espaço reservado.

Novamente, porque este é um exemplo muito simples, o resto é feito dentro do método principal. A primeira linha dentro do método principal é onde você se conecta ao OneSpan Sign usando suas informações de conexão, de cima.

EslClient eslClient = novo EslClient (apiKey, apiUrl);

 

Em seguida, um objeto PackageId é criado usando o ID do pacote obtido da sua URL (ou classe C # de criação de pacote) acima. Em seguida, você usará esse objeto PackageId para obter seu pacote enviado anteriormente do cliente OneSpan Sign.

PackageId packageId = new PackageId ("YOUR_PACKAGE_ID");
DocumentPackage sentPackage = eslClient.GetPackage (packageId);

 

Verifique o status

Agora que você tem acesso ao pacote de documentos, pode verificar seu pacote para ver qual é o status do pacote. Os valores possíveis são ARQUIVADOS, COMPLETADOS, DECLINADOS, DRAFT, EXPIRED, OPTED_OUT e SENT. Vá em frente e imprima o status para que possamos vê-lo no console quando executamos nossa classe.

 

DocumentPackageStatus packageStatus = sentPackage.Status;
Debug.WriteLine ("Status do Pacote:" + packageStatus);

 

Em seguida, verifique o status de assinatura do pacote. Os valores possíveis para este são ARQUIVADOS, CANCELADOS, COMPLETOS, DECLINADOS, EXPIRADOS, INATIVOS, OPTED_OUT, COMPLETED e SIGNING_PENDING. Escreva isso na janela de saída Debug também.

SigningStatus signatureStatus = eslClient.GetSigningStatus (packageId, nulo, nulo);
Debug.WriteLine ("Status de assinatura:" + signatureStatus);

 

Faça o download dos arquivos

Para a última parte, você verificará se o pacote está completo. Se for, o arquivo zip de todos os documentos será baixado, bem como o resumo das evidências. Após cada etapa, escreva na saída Debug para que você saiba que o evento aconteceu ao testar a classe na próxima etapa.

if (signatureStatus.ToString () == "SIGNING_PENDING")
{
   Debug.WriteLine ("Não é possível fazer o download: assinatura não concluída");
}
outro
{
   byte [] zipContent = eslClient.DownloadZippedDocuments (packageId);
   File.WriteAllBytes (Directory.GetCurrentDirectory () 
                       + "/package-documents.zip", zipContent);
   Debug.WriteLine ("Arquivo zip de documento baixado");

   byte [] evidênciaContent = eslClient.DownloadEvidenceSummary (packageId);
   File.WriteAllBytes (Directory.GetCurrentDirectory () 
                       + "/evidence-summary.pdf", evidênciaContent);
   Debug.WriteLine ("Resumo da evidência baixado");
}

 

Executando o código

Com sua classe simples concluída, é hora de executar a classe C #. Execute a classe na barra de ferramentas, clicando no botão Iniciar.

Se você ainda não assinou seu pacote, sua saída deve ser semelhante à seguinte:

 

visualStudioOutput_signingNotComplete

 

Depois de assinar seu pacote, você obterá o seguinte na janela Saída:

 

visualStudioOutput_downloadComplete

 

Se você agora procurar o local onde salvou seus arquivos (se você usou o código acima e está no modo Debug, eles estarão na pasta Debug dentro do seu projeto, no seu sistema de arquivos), verá que seus arquivos foram baixado com sucesso.

 

packageFilesDownload com .NET SDK

 

Aí está. Você verificou com êxito o status e baixou os arquivos do seu pacote.

Obrigado pela leitura! Se você tiver alguma dúvida ou recurso que gostaria de ver coberto da perspectiva de um novo usuário, fique à vontade para postar na seção de comentários. Os links para todas as postagens desta série de blogs podem ser encontrados abaixo.

- Michael Williams
Twitter | Facebook | LinkedIn

 

Série de blogs do eSignLive para novos usuários