1

DocuSign REST API を会社のアプリに統合する作業を行っています。おおむね順調に進んでいますが、まだ問題が 1 つあります。複数 (>= 2) のドキュメントをアップロードし、それぞれにサーバー テンプレートが関連付けられている場合、すべてのテンプレートが最初のドキュメントに適用されてしまいます。

たとえば、次の API 呼び出しでは、(7 ページ) と(2 ページ)/accounts/account_id/envelopesの 2 つのドキュメントをアップロードする必要があります。のサーバー テンプレートには 7 ページ目に sign-here フィールドがあり、のサーバー テンプレートには 2 ページ目に sign-here フィールドがあります。document1.pdfdocument2.pdfdocument1.pdfdocument2.pdf

DocuSign Web サイトに表示されるのは、2 つのドキュメントが正しくアップロードされた封筒ですが、document2.pdfの署名欄が の 2 ページ目に表示されていますdocument1.pdf。でテンプレートを手動で削除して再適用するとdocument2.pdf、フィールドが正しく配置されます。これは私のsequence属性の微妙な問題によるものと思われますが、何が問題なのか正確に把握できていません。

{
  "allowReassign": false,
  "emailBlurb": "email text",
  "emailSubject": "subject",
  "status": "created",
  "compositeTemplates": [
    {
      "document": {
        "name": "document1.pdf",
        "documentId": "1"
      },
      "serverTemplates": [
        {
          "sequence": "1",
          "templateId": "12345678-abcd-1234-abcd-1234567890ab"
        }
      ],
      "inlineTemplates": [
        {
          "sequence": "1",
          "recipients": {
            "signers": [
              {
                "name": "Test Primary",
                "email": "test@example.com",
                "recipientId": "1",
                "routingOrder": "1",
                "roleName": "RoleOne"
              }
            ]
          }
        }
      ]
    },
    {
      "document": {
        "name": "document2.pdf",
        "documentId": "2"
      },
      "serverTemplates": [
        {
          "sequence": "2",
          "templateId": "abcdef12-1234-abcd-1234-abcdef123456"
        }
      ],
      "inlineTemplates": [
        {
          "sequence": "2",
          "recipients": {
            "signers": [
              {
                "name": "Test Primary",
                "email": "test@example.com",
                "recipientId": "1",
                "routingOrder": "1",
                "roleName": "RoleOne"
              }
            ]
          }
        }
      ]
    }
  ]
}
4

3 に答える 3

2

この例の問題は、シーケンスではありません。渡されたドキュメントの documentId です。

サーバー側のテンプレートが作成されるとき、それは documentId=1 を持つと考えてください。この場合、複合テンプレート セクションごとに 1 つずつ、2 つのサーバー側テンプレートが使用され、それぞれが documentId=1 を持ちます。これらのテンプレート ドキュメントに配置されたタブは、documentId=1 に関連付けられています。で各複合テンプレートに渡されるドキュメントの documentId も documentId=1 にする必要があるため、そのドキュメントがオーバーレイされたときに ID が一致します。

この例では、渡された 2 番目のドキュメントを documentId=2 として設定します。したがって、封筒/テンプレート情報が一緒に折り畳まれると、タブは documentId=1 との関連付けを保持するため、最初のドキュメントの 2 ページ目と 7 ページ目に表示されます。2 番目のテンプレートは documentId 2 でオーバーレイされるため、任意のタブ。

両方の複合テンプレートに渡されたドキュメントで documentId=1 が使用されている場合、タブは各複合テンプレート内で適切に関連付けられ、最終エンベロープで documentID がタブ ID とともに並べ替えられます。

シーケンス番号は、最初の複合テンプレートでは 1、2、3、4 または 1,2 であり、2 番目の複合テンプレートでは 1,2 です。

作業例:

POST http://localhost/restapi/v2/accounts/2/envelopes
X-DocuSign-Authentication: [omitted]
Accept: application/json
Content-Type: multipart/form-data; boundary=70fcb373-f40d-40bb-bddb-204fe789087f
X-DocuSign-ClientTransactionId: T635316112162595227

--70fcb373-f40d-40bb-bddb-204fe789087f
Content-Type: application/json
Content-Disposition: form-data

{
  "compositeTemplates": [
      {
        "compositeTemplateId": "1",
        "serverTemplates": [
          {
            "sequence": "1",
            "templateId": "99B09A06-95AF-47A5-964B-A58E78B981DF"
          }
        ],
        "inlineTemplates": [
          {
            "sequence": "1",
            "recipients": {
              "signers": [
                {
                  "name": "Resty Tester",
                  "email": "resty.tester@gmail.com",
                  "recipientId": "1",
                  "routingOrder": "1",
                  "roleName": "RoleOne"
                }
              ]
            }
          }
        ],
        "document": {
          "documentId": "1",
          "name": "document1In.pdf"
        }
      },
      {
        "compositeTemplateId": "2",
        "serverTemplates": [
          {
            "sequence": "2",
            "templateId": "36FD0433-AAE0-43A7-B795-E06738159A59"
          }
        ],
        "inlineTemplates": [
          {
            "sequence": "2",
            "recipients": {
              "signers": [
                {
                  "name": "Resty Tester",
                  "email": "resty.tester@gmail.com",
                  "recipientId": "1",
                  "routingOrder": "1",
                  "roleName": "RoleOne"
                }
              ]
            }
          }
        ],
        "document": {
          "documentId": "1",
          "name": "document2In.pdf"
        }
      }
    ],
    "status": "created",
    "emailSubject": "Subject PostCompositeTemplate_PLAT_1647_20140328014654",
    "emailBlurb": "Blurb PostCompositeTemplate_PLAT_1647_20140328014654",
    "allowReassign": "false"
  }
  --70fcb373-f40d-40bb-bddb-204fe789087f
  Content-Type: application/pdf
  Content-Disposition: file; filename="document1In.pdf"; documentId=1;             compositeTemplateId="1"
  Content-Transfer-Encoding: base64

  [bytes omitted]
  --70fcb373-f40d-40bb-bddb-204fe789087f
  Content-Type: application/pdf
  Content-Disposition: file; filename="document2In.pdf"; documentId=1; compositeTemplateId="2"
  Content-Transfer-Encoding: base64

  [bytes omitted]
  --70fcb373-f40d-40bb-bddb-204fe789087f--
  201 Created
  Pragma: no-cache
  X-DocuSign-ClientTransactionId: T635316112162595227
  Content-Length: 198
  Cache-Control: no-cache
  Content-Type: application/json; charset=utf-8
  Date: Fri, 28 Mar 2014 20:46:58 GMT
  Expires: -1

  {
    "envelopeId": "5b28e38e-84c0-4af0-a3d0-e3c1e6cee17d",
    "uri": "/envelopes/5b28e38e-84c0-4af0-a3d0-e3c1e6cee17d",
    "statusDateTime": "2014-03-28T20:46:57.4300000Z",
    "status": "created"
  }
于 2014-03-28T22:49:48.727 に答える
0

シーケンスに関しては、ここで私の質問を参照してください。 シーケンス番号は、現在の複合テンプレートの範囲内のオブジェクト シーケンスを示す必要があります。インライン テンプレートの seq# をインクリメントすると、正常に動作します。そうは言っても、sig ページが不適切に追加されているという問題ではないかもしれません。しかし、私はそこから始めます。お役に立てれば。

于 2013-11-22T22:18:00.717 に答える
0

あなたが説明した問題をうまく再現し、シーケンス値のさまざまな組み合わせを使用して問題を解決しようとしましたが、すべて役に立ちませんでした。これは私にはバグのようです。

于 2013-11-22T22:25:23.657 に答える