OneSpan Sign for New Users:Check Package Status and Download Files(.NET SDK)

Michael Williams, 2015年7月7日

前回は、Microsoft Visual Studio内でC#プロジェクトを設定して、パッケージを作成して送信する OneSpan Sign .NET SDKを使用する。今週は、パッケージの送信後にできることをいくつか説明します。

  • パッケージ/署名ステータスの確認
  • 電子署名されたドキュメントのダウンロード
  • 証拠要約のダウンロード

先週のブログで、中断したところから再開します。先に進んだ場合は、OneSpan Signの受信トレイを見て、チュートリアルに組み込まれているC#クラスを実行した後にドキュメントパッケージが作成され、適切に送信されたことを確認しました。

 

InboxShowingPackageCreatedWithCSharp

 

構成

初期設定

このチュートリアル用に新しいプロジェクトと.csファイルを作成します。ファイルに「CheckStatusAndDownload.cs」という名前を付けました。この設定についてサポートが必要な場合は、前のブログ詳細な手順については。

電子署名

電子署名の初心者向けガイド

この電子署名に関する包括的な初心者向けガイドでは、電子署名を活用してビジネスプロセスのデジタル化を構築する際の重要な法律上の概念や主要な検討事項を31ページにわたって紹介しています。  

今すぐダウンロード

既存のプロジェクトのパッケージIDを見つける

使用しているパッケージは以前に作成されているため、このプロジェクトで使用するパッケージIDを見つける必要があります。上記のように、UIインボックスからプロジェクトを選択すると、URLは次のようにパッケージIDを持ちます。

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

前回のブログで作成したC#クラスでは、パッケージを作成し、それを使用してパッケージを送信したときに、このパッケージIDにアクセスできたことがわかります。より複雑なアプリケーションを作成している場合、OneSpan Sign URLで検索するのではなく、アプリケーションの他の部分で使用するためにこのパッケージIDを保存する可能性があります。

前のブログのチュートリアルで作成したC#クラスからこのパッケージIDを取得したい場合は、次の行を追加できます。 Debug.WriteLine( "PackageId:" + packageId); 行の後、 PackageId packageId = eslClient.createPackage(superDuperPackage); 。そのクラスを再度実行すると、Visual Studioの出力ウィンドウに印刷されたパッケージIDが表示されます。 

 

visualStudioOutput_packageId

 

コード

これで、C#クラスでコードを書く準備ができました。次のコードを、上記で作成した「CheckStatusAndDownload.cs」ファイル(または名前を付けたもの)にコピーします。

システムの使用;
System.Diagnosticsを使用します。
Silanis.ESL.SDKを使用;
Silanis.ESL.SDK.Builderを使用;
System.IOを使用します。

名前空間CheckStatusAndDownloadDocuments
{
    クラスCheckStatusAndDownloadDocuments
    {
        プライベート静的文字列apiUrl = "https://sandbox.esignlive.com/api";
        // https://apps.e-signlive.com/api for PRODUCTIONを使用します
        プライベート静的文字列apiKey = "YOUR_API_KEY";

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

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

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

            SigningStatus signingStatus = eslClient
                            .GetSigningStatus(packageId、null、null);
            Debug.WriteLine( "Signing Status:" + signingStatus);

            if(signingStatus.ToString()== "SIGNING_PENDING")
            {
                Debug.WriteLine( "ダウンロードできません:署名が完了していません");
            }
            そうしないと
            {
                byte [] zipContent = eslClient.DownloadZippedDocuments(packageId);
                File.WriteAllBytes(Directory.GetCurrentDirectory() 
                                    + "/package-documents.zip"、zipContent);
                Debug.WriteLine( "Document Zip File Downloaded");

                byte []証拠コンテンツ= eslClient
                                    .DownloadEvidenceSummary(packageId);
                File.WriteAllBytes(Directory.GetCurrentDirectory() 
                                    + "/evidence-summary.pdf"、証拠コンテンツ);
                Debug.WriteLine( "Evidence Summary Downloaded");
            } 
        }
    }
}

それでは、コードを詳しく見てみましょう。前回と同様に、最初の数行でOneSpan Signの接続情報を定義します。

パッケージにアクセスする

プライベート静的文字列apiUrl = "https://sandbox.esignlive.com/api";
// https://apps.e-signlive.com/api for PRODUCTIONを使用します
プライベート静的文字列apiKey = "YOUR_API_KEY";

 

プレースホルダーの代わりに必ずAPI_KEYを配置してください。

繰り返しますが、これは非常に単純な例であるため、残りはmainメソッド内で行われます。mainメソッド内の最初の行は、上から接続情報を使用してOneSpan Signに接続する場所です。

EslClient eslClient = new EslClient(apiKey、apiUrl);

 

次に、上記のURL(またはパッケージ作成C#クラス)から取得したパッケージIDを使用してPackageIdオブジェクトが作成されます。次に、そのPackageIdオブジェクトを使用して、以前に送信したパッケージをOneSpan Signクライアントから取得します。

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

 

ステータスを確認する

ドキュメントパッケージにアクセスできるようになったので、パッケージをチェックして、パッケージのステータスを確認できます。可能な値は、ARCHIVED、COMPLETED、DECLINED、DRAFT、EXPIRED、OPTED_OUT、およびSENTです。クラスを実行したときにコンソールに表示されるように、ステータスを出力します。

 

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

 

次に、パッケージの署名ステータスを確認します。これに使用できる値は、ARCHIVED、CANCELED、COMPLETE、DECLINED、EXPIRED、INACTIVE、OPTED_OUT、COMPLETED、およびSIGNING_PENDINGです。これをデバッグ出力ウィンドウにも書き込みます。

SigningStatus signingStatus = eslClient.GetSigningStatus(packageId、null、null);
Debug.WriteLine( "Signing Status:" + signingStatus);

 

ファイルをダウンロードする

最後の部分では、パッケージが完成しているかどうかを確認します。ある場合は、すべてのドキュメントのzipファイルと証拠の概要がダウンロードされます。各ステップの後、次のステップでクラスをテストしたときにイベントが発生したことを確認できるように、デバッグ出力に書き込みます。

if(signingStatus.ToString()== "SIGNING_PENDING")
{
   Debug.WriteLine( "ダウンロードできません:署名が完了していません");
}
そうしないと
{
   byte [] zipContent = eslClient.DownloadZippedDocuments(packageId);
   File.WriteAllBytes(Directory.GetCurrentDirectory() 
                       + "/package-documents.zip"、zipContent);
   Debug.WriteLine( "Document Zip File Downloaded");

   byte []証拠コンテンツ= eslClient.DownloadEvidenceSummary(packageId);
   File.WriteAllBytes(Directory.GetCurrentDirectory() 
                       + "/evidence-summary.pdf"、証拠コンテンツ);
   Debug.WriteLine( "Evidence Summary Downloaded");
}

 

コードを実行する

単純なクラスが完成したら、C#クラスを実行します。[スタート]ボタンをクリックして、ツールバーからクラスを実行します。

パッケージにまだ署名していない場合、出力は次のようになります。

 

visualStudioOutput_signingNotComplete

 

パッケージに署名すると、出力ウィンドウに次のようになります。

 

visualStudioOutput_downloadComplete

 

ここで、ファイルを保存した場所を参照すると(上記のコードを使用していて、デバッグモードの場合は、ファイルシステムのプロジェクト内のDebugフォルダーにあります)、ファイルが保存されていることがわかります。ダウンロードに成功しました。

 

.NET SDKを使用したpackageFilesDownload

 

そこにあります。ステータスの確認とパッケージからのファイルのダウンロードが完了しました。

読んでくれてありがとう!新規ユーザーの視点からカバーしたい質問や機能がある場合は、コメントセクションに投稿してください。このブログシリーズのすべての投稿へのリンクは、以下にあります。

–マイケル・ウィリアムズ
ツイッター | フェイスブック | LinkedIn

 

eSignLive for New Usersブログシリーズ