1

DocuSign API ウォークスルーのドキュメントからの署名の要求を使用しています。私がやりたいのは、特定のフィールドを持つテンプレートを定義し、そのテンプレートをこのリクエストで送信するドキュメントに適用することです。私が抱えている問題は、テンプレートの詳細をコードに追加すると、エンベロープが完全ではないというエラーが発生することです。

これは私が参照として使用しているページです: http://iodocs.docusign.com/APIWalkthrough/requestSignatureFromDocument

[[canidate_signature]] などのフィールドをアンカーとして定義したテンプレートがあります。UI では、そのアンカーを使用してドキュメントをアップロードし、定義したテンプレートを割り当てることができます。しかし、API に同じことをさせることはできません。

これは、PHP での JSON ビルド コードです。これは、compositeTemplate セクションがなくても機能しますが、追加するとすぐにエラーが発生します。

封筒は完全ではありません。完全な封筒には、ドキュメント、受信者、タブ、および件名が必要です。

$data = array (
        "emailSubject" => "DocuSign API - Signature Request on Document"

        ,"compositeTemplates" => array(
                                    array(
                                        "serverTemplates" => 
                                            array(
                                                array(
                                                    "sequence" => 1,
                                                    "templateId" => "B1E2A5C9-9818-4BF0-AD9F-F4B1A3E2D39D"
                                                )
                                            )   
                                    )
                                )
        ,"documents" => array( 
                            array( 
                                "documentId" => "1"
                                ,"name" => $documentName
                            )
                            ,array(
                                "documentId" => "2"
                                ,"name" => $documentName
                            )
                        )
        ,"recipients" => array( 
                            "signers" => array(
                                            array(  
                                                "email" => $email,
                                                "name" => $recipientName,
                                                "recipientId" => "1"
                                            )
                                            ,array(  
                                                "email" => "***@gmail.com",
                                                "name" => "Scott Gmail",
                                                "recipientId" => "2"
                                            )
                                        )
                        )
    ,"status" => "sent"
);
4

1 に答える 1

3

DocuSign API を介して署名を要求する場合、テンプレートを使用する方法とローカル ドキュメントを使用する方法の 2 つの一般的な方法があります。テンプレートには、ドキュメントがサーバー側に保存されています。ローカル ドキュメント メソッドでは、リクエストの一部としてドキュメント バイトをアップロードする必要があります。

これら 2 つのリクエストの主な違いの 1 つは、Content-Typeローカル ドキュメントリクエストのドキュメントを作成し、リクエスト本文でプロパティを指定するだけです。multipart/form-dataapplication/jsonapplication/xml

必要なのは、代わりにこの API ウォークスルー、テンプレート経由の署名要求です。送信する本文を変更して、次の内容を含める必要がありますcompositeTemplates

http://iodocs.docusign.com/APIWalkthrough/requestSignatureFromTemplate

詳細については、テンプレートと複合テンプレートに関して昨年開催したウェビナーの次の git リポジトリを参照してください。特に例 3 は、注目すべき良い例です。

https://github.com/Ergin008/DocuSign-REST-API-Webinar-April2013

これは、例 3 がコンポジット テンプレートに使用するサンプル リクエスト ボディです。

{
  "emailSubject": "DocuSign Templates Webinar - Example 3",
  "emailBlurb": "Example #3 - Composite Templates",
  "status": "sent",
  "compositeTemplates": [
    {
      "serverTemplates": [
        {
          "sequence": "1",
          "templateId": "55A80182-2E9F-435D-9B16-FD1E1C0F9D74"
        }
      ],
      "inlineTemplates": [
        {
          "sequence": "1",
          "recipients": {
            "signers": [
              {
                "email": "firstrecipient@gmail.com",
                "name": "John Doe",
                "recipientId": "1",
                "roleName": "RoleOne"
              }
            ]
          }
        }
      ]
    },
    {
      "serverTemplates": [
        {
          "sequence": "2",
          "templateId": "44D9E888-3D86-4186-8EE9-7071BC87A0DA"
        }
      ],
      "inlineTemplates": [
        {
          "sequence": "2",
          "recipients": {
            "signers": [
              {
                "email": "secondrecipient@gmail.com",
                "name": "Jane Doe",
                "recipientId": "1",
                "roleName": "RoleOne"
              }
            ]
          }
        }
      ]
    }
  ]
}
于 2014-06-26T23:22:57.953 に答える