Soap DocuSign-标记放置

Soap DocuSign-标记放置,soap,tags,docusignapi,Soap,Tags,Docusignapi,我一直在使用DocuSign的基于SOAP的API调用“createandsendevelope”将信封创建到指定的DocuSign帐户中。一切似乎都很好,除了我在为收件人配置标签时遇到了困难。我使用锚定标签以及常规标签。由于我可以指定标记单位,所以锚定标记的放置稍微容易一些 我想知道以下情况 1) 对于常规标记(不是锚定标记),默认单位是什么?我可以在配置常规标记时指定单位吗 2) 在DocuSign中创建信封时,当我向文档添加新标记时,DocuSign会立即配置标记位置,并将位置放在“从左”

我一直在使用DocuSign的基于SOAP的API调用“createandsendevelope”将信封创建到指定的DocuSign帐户中。一切似乎都很好,除了我在为收件人配置标签时遇到了困难。我使用锚定标签以及常规标签。由于我可以指定标记单位,所以锚定标记的放置稍微容易一些

我想知道以下情况

1) 对于常规标记(不是锚定标记),默认单位是什么?我可以在配置常规标记时指定单位吗

2) 在DocuSign中创建信封时,当我向文档添加新标记时,DocuSign会立即配置标记位置,并将位置放在“从左”和“从上”字段中

我想知道这些职位的单位。我曾尝试在常规标记和锚定标记中使用这些位置作为X和Y偏移,但根本不起作用。 如果DocuSign可以提供从这些单位到英寸/厘米/像素的某种转换,那么我们就可以更轻松地配置标签位置

3) 我还尝试从使用状态更新API调用创建的信封中检索标记位置,但在那里我也找到了相同的值

下面是我用来添加标记的代码片段

    If Len(oldtab.AnchorTabString) > 0 Then
                'this is an anchor tag
                Dim tabitem As DocuSignServ.AnchorTab = New DocuSignServ.AnchorTab
                tabitem.AnchorTabString = oldtab.AnchorTabString
                If oldtab.AnchorTabUnit = "Inches" Then
                    tabitem.Unit = UnitTypeCode.Inches
                ElseIf oldtab.AnchorTabUnit = "Pixels" Then
                    tabitem.Unit = UnitTypeCode.Pixels
                ElseIf oldtab.AnchorTabUnit = "Centimeters" Then
                    tabitem.Unit = UnitTypeCode.Cms
                ElseIf oldtab.AnchorTabUnit = "Millimeters" Then
                    tabitem.Unit = UnitTypeCode.Mms
                End If

                tabitem.UnitSpecified = True
                tabitem.XOffset = CDbl(oldtab.XPosition)
                tabitem.YOffset = CDbl(oldtab.YPosition)

                tabitem.IgnoreIfNotPresent = oldtab.IgnoreIfNotPresent
                tab.AnchorTabItem = tabitem
            Else
                'this is a regular tag
                tab.PageNumber = oldtab.PageNumber                    
                tab.XPosition = oldtab.XPosition
                tab.YPosition = oldtab.YPosition                    
            End If
请告知


对您的问题的主要回答:

1) 常规(即非锚定标记)的默认单位为像素。例如,如果将
xPosition
=100和
yPosition
=50,则表示标签将放置在文档的右侧100像素和左上方50像素处。正如API文档所述,默认坐标空间的原点位于文档的左上角(每页)

2) 同样,单位是像素。要进行测试,您可以进行获取收件人的选项卡信息API调用,这是我对#3的回答。我刚刚测试了调用,它确实返回了选项卡位置,以像素为单位:

3) 这是您可以进行的API调用:

GET https://{{server}}/restapi/{{apiVersion}}/accounts/{{accountId}}/envelopes/{{envelopeId}}/recipients/{{recipientId}}/tabs

X-DocuSign-Authentication: <DocuSignCredentials><Username>{name}</Username><Password>{password}</Password><IntegratorKey>{integrator_key}</IntegratorKey></DocuSignCredentials>
Accept: application/json
Content-Type: application/json`

非常感谢您的详细回答

为了找出标签在文档上的位置,下面是我所做的

1) 我已经在我的DocuSign帐户中创建了一个草稿信封,并添加了一些标签-常规标签和锚定标签

2) 通过单击标签的属性,我得到了标签的位置坐标(以像素为单位)

3) 然后,我尝试使用API调用(基于SOAP的API-CreateandSendEnvelope)创建一个信封,其中 我包含了相同的文档,并创建了与草稿信封中相同的标签。 我已经使用从标签属性中检索到的值指定了标签的X/Y坐标 信封草稿

4) 我无法创建信封,因此出错。。 选项卡位于该页之外。选项卡“signHere”位于第1页之外

5) 我还尝试从您指定并尝试使用的API调用中检索选项卡位置 这些值使用API调用创建信封,但得到了相同的错误。 我的目标是首先在DocuSign中创建一个信封,并获取所有标记的标记位置,这样我就不会 当我使用API调用创建信封时,必须自己配置所有标记

看起来,我检索到的标记位置不是可用于创建信封的实际标记位置
使用API调用

非常感谢你详细的回答,没问题。如果它回答了你的问题,你能接受答案吗?谢谢
{
  "signHereTabs": [
    {
      "name": "Sign Here",
      "tabLabel": "Signature 1",
      "scaleValue": 1.0,
      "optional": "false",
      "documentId": "1",
      "recipientId": "152935b3-ace6-481f-be92-f2785e0bf28c",
      "pageNumber": "1",
      "xPosition": "474",
      "yPosition": "265",
      "tabId": "937521e5-7f3a-4a8a-9602-639c63a2b369"
    }
  ]
}