【開発者向け】印鑑フィールドの設定方法

アジアの国々(特に東アジア)では伝統的に、契約当事者が本人であることを証明するために印鑑が使われています。近年では、「印鑑」に代わり「署名」を採用する企業も増えていますが、ビジネスシーンで印鑑が使われることもまだまだ多く、特に日本企業で顕著です。印鑑を使う習慣が残っている国・地域や文化圏でもドキュサインの電子署名(製品名:DocuSign eSignature)をご活用いただけますよう、ドキュサインでは電子印鑑の機能を提供しています。本記事では、開発者向けに印鑑フィールドの使い方をコード例とともに紹介します。

事前準備

エンベロープ内で印鑑フィールドを使用する前に、ドキュサインの開発者アカウントにログインし、[設定] >[送信設定]ページにて[印鑑フィールドを有効にする]が有効になっているかどうかを確認してください。無効の場合は、有効にして、変更を保存します。設定がグレーアウトされていて有効にできない場合は、カスタマーサポートまでご連絡(新規ケースの追加)ください。印鑑フィールドの設定を有効にすると、コードの記述が可能になります。

印鑑フィールドをエンベロープに挿入する方法

以下のコードで、エンベロープに印鑑フィールドを入れることができます。ここでは Apex Toolkit を使って説明しますが、その下に SDK のコード例も記載しています。

Apex Toolkit

dfsle.Tab signHereTab = new dfsle.SignHereTab()
    .withStamp(new dfsle.SignHereTab.Stamp( 
        'stamp', // Type of stamp [signature | stamp] 
        null, // externalId 
        null, // format of the stamp [NameHanko | NameDateHanko] 
        null, // specifies the user's signature name 
        null, // phonetic spelling of the signature name, Hiragana version in Japanese 
        null, // stamp image 
        null, // date stamp 
        null // optional custom field 
    )) 
    .withPosition(new dfsle.Tab.Position(1, 1, 320, 290, null, null));

Apex Toolkit リファレンス

「印鑑」は署名フィールドのサブタイプとして定義されているため、印鑑フィールドを実装するには SignHereTab.withStamp メソッドを使用する必要があります。

第1パラメータは、種類(Type of stamp)を指定します。印鑑か署名のどちらかを選択できます。署名に設定すると、このフィールドは通常の SignHere タブとして表示されます。

第2パラメータは、外部IDを指定します。このパラメータは内部で更新されるため、値は null にしてください。

第3パラメータは、印鑑のフォーマットを指定します。有効な値は、NameHanko と NameDateHanko です。NameHanko は名前だけの印鑑、NameDateHanko は名前と日付の両方が入った印鑑となります。この値は受信者が指定しますので、null で設定してください。

第4パラメータは、署名の名前を指定するために使われます。日本語を使用する場合、このパラメータに受信者の名前を漢字で入れることができます。ただし、この値は受信者が指定するので、null に指定してください。

第5パラメータは、署名の名前の読み方を指定するために使います。日本語を使用する場合、受信者の署名のふりがなを平仮名にするか片仮名にするか設定できます。ただし、この値は受信者が指定するため、null で設定してください。

第6パラメータは、印影(印鑑イメージ)を指定します。この値は受信者が指定するため、null 指定にしてください。

第7パラメータは、日付印を配置する領域を指定します。この値は受信者が指定するため、null で設定してください。

第8パラメータは、印鑑のカスタムフィールド(オプション)を指定します。

なお、SDK がサポートする各言語の対応コードは以下の通りです。

 

C#

SignHere signHere1 = new SignHere {
    AnchorString = "signHere",
    AnchorUnits = "pixels",
    AnchorYOffset = "10",
    AnchorXOffset = "20",
    StampType = "stamp"
};

C# SDK リファレンス

Java

SignHere signHere = new SignHere();
signHere.setAnchorString("signature");
signHere.setAnchorUnits("pixels");
signHere.setAnchorYOffset("10");
signHere.setAnchorXOffset("20");
signHere.setStampType("stamp");

Java SDK リファレンス

Node.js

let signHere1 = docusign.SignHere.constructFromObject({
    anchorString: "signHere",
    anchorYOffset: "10",
    anchorUnits: "pixels",
    anchorXOffset: "20",
    stampType: "stamp"
})

Node.js SDK リファレンス

PHP

$sign_here = new SignHere([
    'anchor_string' => 'signature',
    'anchor_units' => 'pixels',
    'anchor_y_offset' => '10', 
    'anchor_x_offset' => '20',
    'stamp_type' => 'stamp'
]);

PHP SDK リファレンス

Python

sign_here1 = SignHere(
    anchor_string="signature",
    anchor_units="pixels",
    anchor_y_offset="10",
    anchor_x_offset="20",
    stamp_type="stamp"
)

Python SDK リファレンス

Ruby

sign_here1 = DocuSign_eSign::SignHere.new
sign_here1.anchor_string = '/sn1/'
sign_here1.anchor_units = 'pixels'
sign_here1.anchor_x_offset = '20'
sign_here1.anchor_y_offset = '10'
sign_here1.stamp_type = 'stamp'

Ruby SDK リファレンス

Rest API

以下は、Raw JSON の例になります。

"tabs": { 
    "signHereTabs": [
        { 
            "name": "New Signature Tab", 
            "tabLabel": "SignatureTab", 
            "xPosition": "269", 
            "yPosition": "701", 
            "required": "true", 
            "documentId": "1", 
            "pageNumber": "1", 
            "stampType": "stamp" 
        } 
    ] 
}

Rest API リファレンス

以上、印鑑フィールドをエンベロープに挿入する方法をご紹介しました。電子印鑑の機能を使えば、日本語で苗字を入力するだけで自動で電子印鑑が生成され、受信者は電子文書に簡単に押印することができます。これにより、ハンコが手元になくても手続きができ、合意・契約プロセスの効率化やセキュリティの向上が期待できます。ぜひ一度お試しください。

おすすめ記事:ドキュサインの電子印鑑とは?メリットや使い方を紹介

※本ブログは「Sending envelopes with a Stamp field」の抄訳になります。

Byungjae Chung
筆者
Byungjae Chung
Developer Support Engineer
公開