Docusignapi 使用多个复合模板错误地应用服务器模板

Docusignapi 使用多个复合模板错误地应用服务器模板,docusignapi,docusigncompositetmplts,Docusignapi,Docusigncompositetmplts,我一直致力于将docusignrestapi集成到我公司的应用程序中。情况基本正常,但仍有一个问题。如果我上传多个(>=2)文档,每个文档都有一个关联的服务器模板,那么所有模板最终都会应用到第一个文档 例如,对/accounts/account\u id/envelopes的以下API调用应该上载两个文档:document1.pdf(7页)和document2.pdf(2页)document1.pdf的服务器模板在第7页上有一个sign here字段,document2.pdf的服务器模板在第2

我一直致力于将docusignrestapi集成到我公司的应用程序中。情况基本正常,但仍有一个问题。如果我上传多个(>=2)文档,每个文档都有一个关联的服务器模板,那么所有模板最终都会应用到第一个文档

例如,对
/accounts/account\u id/envelopes
的以下API调用应该上载两个文档:
document1.pdf
(7页)和
document2.pdf
(2页)
document1.pdf
的服务器模板在第7页上有一个sign here字段,
document2.pdf
的服务器模板在第2页上有一个sign here字段

DocuSign网站上显示的是一个信封,信封上正确上载了两个文档,但
document2.pdf
的签名字段出现在
document1.pdf
的第2页。如果我手动删除并重新应用
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"
              }
            ]
          }
        }
      ]
    }
  ]
}

关于顺序,请参见
序列号应表示当前复合模板范围内的对象序列。我增加了内联模板的seq#,效果很好。这就是说,这可能不是关于sig页面被不当附加的问题。不过,我还是从那里开始。希望这能有所帮助。

我已经成功地重新描述了您描述的问题,并尝试通过使用各种组合的序列值来修复该问题,但都无济于事。对我来说,这似乎是一个bug。

本例中的问题不是顺序。它是传递的文档的文档ID

创建服务器端模板时,将其视为documentId=1。在这种情况下,将使用两个服务器端模板,每个复合模板部分使用一个模板,每个模板的documentId=1。放置在这些模板文档上的选项卡与documentId=1相关联。 为中的每个复合模板传递的文档的documentId也应为documentId=1,以便当该文档覆盖时,ID匹配

该示例将传入的第二个文档设置为documentId=2。因此,当信封/模板信息折叠在一起时,选项卡保留documentId=1的关联,因此它们出现在第一个文档的第2页和第7页上,第二个模板覆盖documentId 2,因此它将没有任何选项卡

如果两个复合模板的传入文档都使用documentId=1,则选项卡将在每个复合模板中正确关联,然后documentId将与选项卡Id一起在最终信封中重新排序

序列号在第一个复合模板中可以是1,2,3,4或1,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"
  }

啊,我很害怕。我一直在四处寻找向DocuSign报告bug的地方,但我一直找不到他们的bug追踪器。你知道我在哪里能找到吗?谢谢。我不相信有一个面向公众的bug追踪器来跟踪DocuSign API问题。他们的人经常参加这个stackoverflow论坛,所以希望他们能看到这篇文章并做出相应的回应。到目前为止,我无法复制这个问题。我会尝试一些其他的东西,但我也想在这里确认一些东西。在JSON中,您为两个收件人设置了相同的
收件人ID
路由顺序
,以及
名称
,但是您为他们提供了不同的
电子邮件地址。您的预期用例是什么?这应该是同一个收件人,还是两个不同的收件人?我很抱歉花了这么长时间。这些电子邮件本来应该是相同的,但我在构建JSON时一定输入错了。我编辑了JSON以反映这一点。至于用例,它的目的是上传两个定制文档,发送给一个用户,每个用户应用不同的服务器模板。