OneSpan Signハウツー:テンプレートの作成

Haris Haidary, 2022年11月16日

テンプレートを使用すると、送信者は以前のパッケージをブループリントとして使用して、新しいドキュメントパッケージをすばやく作成できます。定期的に署名するために同じドキュメントを送信する場合は、優れたツールです。このブログでは、OneSpan Sign Java SDK、.NET SDK、およびREST APIを使用して、テンプレートを最初から作成する方法と既存のパッケージから作成する方法を紹介します。

UIのテンプレート

まず、UIでテンプレートセクションを見つけます。OneSpan Signアカウントにログインした後、ツールバーの[TEMPLATES]をクリックします。コードを実行すると、保存したテンプレートがここに表示されます。

uitemplate

コード

前に述べたように、OneSpan Sign Java SDK、.NET SDK、およびREST APIを使用してこれを行う方法を示します。先に進んで、該当するセクションに進んでください。すべてのセクションでまったく同じ情報を扱います。この例では、1つのドキュメントと2つの署名者でテンプレートを作成する方法を示します。このブログの完全なサンプルコードは、開発者コミュニティコードシェア( ジャワ 。ネット残り )。[プロモーションid = "14439"] Java SDK まず、Java SDKから始めます。以下のサンプルコードは、1つのドキュメントと2つの署名者を含むテンプレートを最初から作成します。最初のステップは、OneSpan Signクライアントを作成することです。API_KEYとAPI_URLプレースホルダーを実際の値に置き換えてください。その後、適切なプロパティを使用してドキュメントパッケージをビルドします。パッケージがビルドされたら、TemplateServiceを呼び出してテンプレートを作成します。

パッケージcom.esignlive.example;

import com.silanis.esl.sdk.DocumentPackage;
import com.silanis.esl.sdk.EslClient;
import com.silanis.esl.sdk.PackageId;
 
import static com.silanis.esl.sdk.builder.DocumentBuilder.newDocumentWithName;
import static com.silanis.esl.sdk.builder.PackageBuilder.newPackageNamed;
import static com.silanis.esl.sdk.builder.SignatureBuilder.signatureFor;
import static com.silanis.esl.sdk.builder.SignerBuilder.newSignerWithEmail;

パブリッククラステンプレート{
	
    public static final String API_KEY = "your_api_key";
    public static final String API_URL = "https://sandbox.e-signlive.com/api"; 
    // https://apps.e-signlive.com/api for PRODUCTIONを使用します
 
    public static void main(String [] args){
    	
    	EslClient eslClient = new EslClient(API_KEY、API_URL);
    	
    	DocumentPackage documentPackage = newPackageNamed( "My template from scratch Java SDK") 
    					.withSigner(newSignerPlaceholder(new Placeholder( "PlaceholderId1")))) 
    					.withSigner(newSignerPlaceholder(new Placeholder( "PlaceholderId2")))
    					.withDocument(newDocumentWithName( "My Document") 
    							.fromFile( "YOUR_FILE_PATH") 
    							.withSignature(signatureFor(new Placeholder( "PlaceholderId1")) 
    									.onPage(0) 
    									.atPosition(100、140))
    							.withSignature(signatureFor(new Placeholder( "PlaceholderId2"))
    									.onPage(0) 
    									.atPosition(100、205)))
    					.build();
    	
    	PackageId templateId = eslClient.getTemplateService()。createTemplate(documentPackage);
    }

}

既存のパッケージからテンプレートを作成することもできます。これには、パッケージのpackageIdが必要です。

PackageId packageId = new PackageId( "d9355f04-9bb2-4219-b9fa-734f2650a939");
PackageId templateFromPackage = eslClient.getTemplateService()。createTemplateFromPackage(packageId、"パッケージからの新しいテンプレート");

.NET SDK 次に、.NET SDKについて説明します。以下のサンプルコードは、1つのドキュメントと2つの署名者を含むテンプレートを最初から作成します。最初のステップは、OneSpan Signクライアントを作成することです。API_KEYとAPI_URLプレースホルダーを実際の値に置き換えてください。その後、適切なプロパティを使用してドキュメントパッケージをビルドします。パッケージがビルドされたら、TemplateServiceを呼び出してテンプレートを作成します。

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

名前空間createTemplateFrom
{
    クラスcreateTemplateFrom
    {
        プライベート静的文字列apiUrl = "https://sandbox.e-signlive.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);

            FileStream fs = File.OpenRead( "YOUR_FILE_PATH");

           DocumentPackage documentPackage = PackageBuilder
                    .NewPackageNamed( "マイテンプレートをゼロから作成します。NETSDK")
                    .WithSigner(SignerBuilder.NewSignerPlaceholder(new Placeholder( "PlaceholderId1"))))
                    .WithSigner(SignerBuilder.NewSignerPlaceholder(new Placeholder( "PlaceholderId2")))
                    .WithDocument(DocumentBuilder.NewDocumentNamed( "マイドキュメント")
                                  .FromStream(fs、DocumentType.PDF)
                                  .WithSignature(SignatureBuilder
                                       .SignatureFor(new Placeholder( "PlaceholderId1"))
                                         .OnPage(0)
                                         .AtPosition(100、140))
                                  .WithSignature(SignatureBuilder
                                       .SignatureFor(new Placeholder( "PlaceholderId2"))
                                         .OnPage(0)
                                         .AtPosition(100、205)))
                    .Build();

            PackageId templateId = eslClient.CreateTemplate(documentPackage);
        }
    }
}

既存のパッケージからテンプレートを作成することもできます。これを行うには、パッケージのpackageIdが必要です。

PackageId packageId = new PackageId( "d9355f04-9bb2-4219-b9fa-734f2650a939");
PackageId templateFromPackage = eslClient.CreateTemplateFromPackage(packageId、"パッケージからの新しいテンプレート");

REST API 最後に、REST APIを使用してこれを行う方法を示します。以下は、新しいテンプレートを最初から作成するためのPOSTリクエストを作成するC#クラスです。JSONリクエストのペイロードには、新しいテンプレートの作成に不要な多くの空のプロパティが含まれています。それらを含めて、利用可能なオプションのリストと、それらがJSONでどのように解析されるかを示します。

システムの使用;
System.Diagnosticsを使用します。
System.IOを使用します。
System.Netを使用します。
System.Net.Httpを使用します。
System.Net.Http.Headersを使用します。
System.Textを使用します。

名前空間createTemplateREST
{
    パブリッククラスcreateTemplateREST
    {
        public static void Main(string [] args)
        {

            string apiKey = "your_api_key";
            string url = "https://sandbox.e-signlive.com/api";

            string jsonString = "{\" name \ ":\"マイテンプレートを一から作成REST \ "、\" description \ ":\" \ "、\" roles \ ":[{\" name \ ":\" PlaceholderId1 \ "、\" index \ ":0、\" id \ ":\" PlaceholderId1 \ "、\" locked \ ":false、\" reassign \ ":false}、{\" name \ ":\" PlaceholderId2 \ "、\" index \ ":0、\" id \ ":\" PlaceholderId2 \ "、\" locked \ ":false、\" reassign \ ":false}]、\" type \ ":\" TEMPLATE \ "、\" due \ ":null、\" autocomplete \ ":true、\" emailMessage \ ":\" \ "、\" documents \ ":[{\" approvals \ ":[{\" role \ " :\ "PlaceholderId1 \"、\ "signed \":null、\ "accepted \":null、\ "data \":null、\ "fields \":[{\ "page \":0、\ "subtype \ ":\" FULLNAME \ "、\" width \ ":200、\" binding \ ":null、\" extract \ ":false、\" extractAnchor \ ":null、\" left \ ":175、\ "top \":165、\ "validation \":null、\ "height \":50、\ "data \":null、\ "type \":\ "SIGNATURE \"、\ "value \":\ "\"}]、\ "name \":\ "\"}、{\ "role \":\ "PlaceholderId2 \"、\ "signed \":null、\ "accepted \":null、\ "data \ ":null、\"フィールド\ ":[{\"ページ\ ":0、\"サブタイプ\ ":\" FULLNAME \ "、\"幅\ ":200、\"バインディング\ ":null、\ "extract \":false、\ "extractAnchor \":null 、\ "left \":550、\ "top \":165、\ "validation \":null、\ "height \":50、\ "data \":null、\ "type \":\ "SIGNATURE \ "、\" value \ ":\" \ "}]、\" name \ ":\" \ "}]、\" name \ ":\" YOUR_FILE_NAME \ "}]}";
            
            StringContent jsonContent = new StringContent(jsonString、Encoding.UTF8、"application / json"); 

            byte [] fileByteArray = File.ReadAllBytes( "YOUR_FILE_PATH");
            ByteArrayContent content = new ByteArrayContent(fileByteArray);

            content.Headers.ContentDisposition = new ContentDispositionHeaderValue( "form-data");
            content.Headers.ContentDisposition.Name = "\" file \ "";
            content.Headers.ContentDisposition.FileName = "\" myDocument.pdf \ "";
            content.Headers.ContentType = new MediaTypeHeaderValue( "application / pdf");

            MultipartFormDataContent form = new MultipartFormDataContent();
            form.Add(content、"\" file \ ""、"\" myDocument.pdf \ "");
            form.Add(jsonContent、"\" payload \ "");

            HttpClient myClient = new HttpClient();
            myClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue( "Basic"、apiKey);
            myClient.DefaultRequestHeaders.Add( "Accept"、"application / json");

            var response = myClient.PostAsync(new Uri(url)+ "/ packages /"、form).Result;
            Debug.WriteLine(response.Content.ReadAsStringAsync()。Result);
        }
    }
}

同様に、既存のパッケージから新しいテンプレートを作成できます。クローンを作成するパッケージのpackageIdが必要です。

string jsonString = "{\" name \ ":\" your_cloned_template \ "、\" description \ ":\" \ "、\" emailMessage \ ":\" \ "、\" autocomplete \ ":true、\" settings \ ":{\" ceremony \ ":{\" inPerson \ ":false}}、\" type \ ":\" TEMPLATE \ "、\" sender \ ":{\" lastName \ ":\" Sender_Last_Name \ "、\" firstName \ ":\" Sender_First_Name \ "、\" email \ ":\" first.signer @example .com \ "}、\" visibility \ ":\" ACCOUNT \ "、\" due \ ":null、\" language \ ":\" en \ "}";
StringContent jsonContent = new StringContent(jsonString、Encoding.UTF8、"application / json");

HttpClient myClient = new HttpClient();
myClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue( "Basic"、apiKey);
myClient.DefaultRequestHeaders.Add( "Accept"、"application / json");

var response = myClient.PostAsync(new Uri(url + "d9355f04-9bb2-4219-b9fa-734f2650a939 / clone")、jsonContent).Result;
Debug.WriteLine(response.Content.ReadAsStringAsync()。Result);

コードを実行する

コードを実行してください。OneSpan Signアカウントで新しく作成したテンプレートを表示できるはずです。

結果テンプレート

どうぞ。テンプレートを最初から作成し、以前に作成したパッケージから作成しました。

このブログや、OneSpan Signをアプリケーションに統合することに関するその他の質問がある場合は、開発者コミュニティフォーラムにアクセスしてください。 https://developer.onespan.com 。それは私からです。読んでくれてありがとう!この投稿が役に立った場合は、Facebook、Twitter、またはLinkedInで共有してください。

ハリスハイダリージュニア

テクニカルプロダクトエバンジェリスト

LinkedIn | ツイッター