无法在API中填充模板中的自定义字段

时间:2017-12-04 15:28:35

标签: xml soap advanced-custom-fields docusignapi custom-fields

Docusign API V3 - 我有一个沙箱帐户,一个使用自定义字段设置的模板。我有soap xml代码来创建信封,附加模板(通过ID)但我无法弄清楚如何在通过电子邮件发送之前填充自定义字段。我尝试过使用

          <CustomField>
            <Name>Custom Field List</Name>
            <Show>True</Show>
            <Required>True</Required>
            <Value />
            <CustomFieldType>List</CustomFieldType>
            <ListItems>One; Two; Three</ListItems>
          </CustomField>
        <CustomFields>
          <CustomField>
            <Name>FullName</Name>
            <Show>True</Show>
            <Required>True</Required>
            <Value>John W Smith</Value>
          </CustomField>
          <CustomField>
            <Name>Address</Name>
            <Show>True</Show>
            <Required>True</Required>
            <Value>123 Any Way Tempe, AZ 85082</Value>
            <CustomFieldType>List</CustomFieldType>
            <ListItems>One; Two; Three</ListItems>
          </CustomField>
        </CustomFields>

    <Document>
      <ID>1</ID>
      <Name>3 Page Purchase Contract Template - test </Name>
      <!--PDFBytes>base64Binary</PDFBytes-->
      <!--TransformPdfFields>true</TransformPdfFields-->
      <FileExtension>pdf</FileExtension>
        <DocumentFields>
          <DocumentField>
            <Name>FullName</Name>
            <Value>John W Smith</Value>
          </DocumentField>
        </DocumentFields>
    </Document>

在代码中,即使在不同的地方,我也不会出错,但也没有任何反应。没有填写信息 - 这是我的示例XML代码到目前为止 - 安全性很好 - 模板的信封是通过电子邮件发送的 - 我无法弄清楚我缺少的是什么。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
<CreateEnvelopeFromTemplatesAndForms xmlns="http://www.docusign.net/API/3.0">
  <EnvelopeInformation>
    <TransactionID></TransactionID>
    <Asynchronous>false</Asynchronous>
    <AccountId>123</AccountId>
    <EmailBlurb>Test CreateEnvelopeFromTemplatesAndForms - Customized message goes here. This is good progress, need to complete building the script then integrate with SMS script. </EmailBlurb>
    <Subject>Test CreateEnvelopeFromTemplatesAndForms</Subject>
    <SigningLocation>Online</SigningLocation>
            <CustomFields>
              <CustomField>
                <Name>Home Owner</Name>
                <Show>True</Show>
                <Required>True</Required>
                <Value>John W Smith</Value>
              </CustomField>
              <CustomField>
                <Name>Home Address</Name>
                <Show>True</Show>
                <Required>True</Required>
                <Value>123 Any Way Tempe, AZ 85082</Value>
              </CustomField>
              <!--CustomField>
                <Name>Custom Field List</Name>
                <Show>True</Show>
                <Required>True</Required>
                <Value />
                <CustomFieldType>List</CustomFieldType>
                <ListItems>One; Two; Three</ListItems>
              </CustomField-->
            </CustomFields>
    <AutoNavigation>true</AutoNavigation>
    <EnvelopeIdStamping>true</EnvelopeIdStamping>
    <AuthoritativeCopy>false</AuthoritativeCopy>
    <EnforceSignerVisibility>false</EnforceSignerVisibility>
    <EnableWetSign>false</EnableWetSign>
    <AllowRecipientRecursion>true</AllowRecipientRecursion>
    <AllowMarkup>false</AllowMarkup>
  </EnvelopeInformation>
  <CompositeTemplates>
    <CompositeTemplate>
      <ServerTemplates>
        <ServerTemplate>
          <Sequence>1</Sequence>
          <TemplateID>123</TemplateID>
        </ServerTemplate>
      </ServerTemplates>
      <InlineTemplates>
        <InlineTemplate>
          <Sequence>2</Sequence>
          <Envelope>
            <Recipients>
              <Recipient>
                <ID>1</ID>
                <UserName>Home Owner Email</UserName>
                <Email>mm@mm.com</Email>
                <Type>Signer</Type>
                <AccessCode />
                <RequireIDLookup>false</RequireIDLookup>
                <RoutingOrder>1</RoutingOrder>
                <Note />
                <RoleName>SignerOne</RoleName>
                <DefaultRecipient>true</DefaultRecipient>
              </Recipient>
            </Recipients>
            <Tabs>
              <Tab>
                <DocumentID>1</DocumentID>
                <RecipientID>1</RecipientID>
                <PageNumber>3</PageNumber>
                <XPosition>12</XPosition>
                <YPosition>10</YPosition>
                <ScaleValue>1.00000</ScaleValue>
                <Type>SignHere</Type>
                <Name>SignHere</Name>
                <TabLabel>Sign Here 1</TabLabel>
                <Value />
                <CustomTabHeight>0</CustomTabHeight>
                <CustomTabRequired>false</CustomTabRequired>
                <CustomTabLocked>false</CustomTabLocked>
                <CustomTabDisableAutoSize>false</CustomTabDisableAutoSize>
                <TemplateLocked>false</TemplateLocked>
                <TemplateRequired>false</TemplateRequired>
              </Tab> 
            </Tabs>
            <Subject>Sample Form</Subject>
            <EmailBlurb />
            <SigningLocation>Online</SigningLocation>
            <EnableWetSign>true</EnableWetSign>
          </Envelope>
       </InlineTemplate>
      </InlineTemplates>
        <PDFMetaDataTemplate>
          <Sequence>3</Sequence>
        </PDFMetaDataTemplate>
        <Document>
          <ID>1</ID>
          <Name>3 Page Purchase Contract Powerform.doc.pdf</Name>
          <!--PDFBytes>base64Binary</PDFBytes-->
          <TransformPdfFields />
          <FileExtension>pdf</FileExtension>
            <DocumentFields>
              <DocumentField>
                <Name>Address</Name>
                <Value>123 Any Way Tempe, AZ 85281</Value>
              </DocumentField>
            </DocumentFields>
        </Document>
    </CompositeTemplate>
  </CompositeTemplates>
   <ActivateEnvelope>true</ActivateEnvelope>
</CreateEnvelopeFromTemplatesAndForms>
  </soap:Body>
</soap:Envelope>

1 个答案:

答案 0 :(得分:0)

Tazz602,

DocuSign术语可能有点误导,自定义字段只是发件人不会被抛光到可见文档的字段,也就是收件人无法更改的数据收集元数据。标签|安全字段是可见的,可以是发件人或收件人,可编辑或只读,并且可以打磨到可见文档,除非它们是CarbonCopy用户的字段。

如果您的意思是自定义字段(发件人填写的元数据)或发件人或收件人填写的标签(在此示例中,只是签名标签),那么我建议您查看下面的JSON示例,然后查看下面的XML,以便您将看到设置和检索不同类型的自定义字段和选项卡的方式和位置。记住收件人自定义字段是最旧的,只是一个包含3个100个字符的数组,其中信封和文档自定义字段是键值对的数组。看来你正在通过SOAP发送XML,但同样的规则适用,如果你看一下使用SOAP通过REST发送的信封,你也可以看到通过SOAP发送的实际XML格式。

标题

Content-Type: multipart/form-data; boundary=AAA

<强> JSON

    --AAA
Content-Type: application/json
Content-Disposition: form-data

{
"emailBlurb": "Test for CEFTAF Lab 2 Custom Fields Recipient Fields Document Fields",
"emailSubject": "Test for Dev 201 Lab 2",
"status": "created",
"enforceSignerVisibility" : "true",
               "notification":{
              "useAccountDefaults":"false",
              "reminders":{
                 "reminderEnabled":"true",
                 "reminderDelay":"2",
                 "reminderFrequency":"2"
              },
              "expirations":{
                 "expireEnabled":"true",
                 "expireAfter":"15",
                 "expireWarn":"1"
              }
              }, 
"compositeTemplates": [{
"inlineTemplates": [{
"sequence": "1",
"customFields": {
    "textCustomFields": [
      {
        "fieldId": "123",
        "name": "MYCustomID",
        "show": "false",
        "required": "false",
        "value": "myId012345"
      }
    ],
    "listCustomFields": [
      {
        "listItems": [
          "elementValue1","elementValue2","elementValue3"
        ],
        "fieldId": "1234",
        "name": "myArrayListofItems",
        "show": "false",
        "required": "false",
        "value": "3"
      }
    ]
  },

"documents": [{
"documentId": "1",
"name": "test1.txt",
      "documentFields": [
        {
          "name": "Test1",
          "value": "value for test1"
        }
      ],
},
            {
"documentId": "2",
"name": "test2.txt"
},
            {
"documentId": "3",
"name": "test3.txt"
}

            ],
"recipients": {
            "carbonCopies": [
                            {
                                "email": "dsproservedemosoap01+Testcc@gmail.com",
                                "name": "David Grigsby (see all but 3 document)",
                                "recipientId": "3",
                                "routingOrder": "3"
                            },
                            {
                                "email": "dsproservedemosoap01+Testcc1@gmail.com",
                                "name": "David Grigsby (see all)",
                                "recipientId": "4",
                                "routingOrder": "4"
                            }
                            ],
"signers": [{
"recipientId": "1",
"customFields": [
  "Recip 1 ID 1234"
],
"name": "David Grigsby (Sees all)",
"email": "dsproservedemosoap01+Test1@gmail.com", 
                    "routingOrder": "1",
                    "tabs": {
                    "signHereTabs": [{
                      "anchorString": "Sign1",
                      "tabLabel": "Sign Here 1"
                      }]
                    }
},
                {
"recipientId": "2",
"name": "David Grigsby (sees all but page 2)",
"email": "david.grigsby@example.com", 
                    "requireSignOnPaper": "true",
                    "routingOrder": "2",
                    "tabs": {
                    "signHereTabs": [{
                      "anchorString": "Sign2",
                      "tabLabel": "Sign Here 2"
                      }]
                    }
}
                ]
}
}]
}]
}

--AAA
Content-Type: application/txt
Content-Disposition: file; filename="test1.txt"; documentid=1

Test Document 1 

Sign1 Here _______________________________    Custom1 Approve:



Sign2 Here _______________________________    Custom2 Approve:


--AAA
Content-Type: application/txt
Content-Disposition: file; filename="test2.txt"; documentid=2

Test Document 2

Sign1 Here _______________________________

--AAA
Content-Type: application/txt
Content-Disposition: file; filename="test3.txt"; documentid=3

Test Document 3

No Tabs for anyone means visbile to all by default unless excluded

--AAA--

<强> XML GET - REST

https://demo.docusign.net/restapi/v2/accounts/999999/envelopes/35f51755-5945-4db1-a376-bf5ce7fb4dbf/custom_fields.xml

<customFields xmlns="http://www.docusign.com/restapi" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<listCustomFields>
    <listCustomField>
        <fieldId>210499477</fieldId>
        <name>myArrayListofItems</name>
        <required>false</required>
        <show>false</show>
        <value>3</value>
        <listItems xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <a:string>elementValue1</a:string>
            <a:string>elementValue2</a:string>
            <a:string>elementValue3</a:string>
        </listItems>
    </listCustomField>
</listCustomFields>
<textCustomFields>
    <textCustomField>
        <fieldId>210499476</fieldId>
        <name>MYCustomID</name>
        <required>false</required>
        <show>false</show>
        <value>myId012345</value>
    </textCustomField>
</textCustomFields>

SOAP

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <soap:Header>
        <wsa:Action>http://www.docusign.net/API/3.0/RequestEnvelopeResponse</wsa:Action>
        <wsa:MessageID>urn:uuid:40ffda2d-b9f9-423a-8e39-74dac07cf994</wsa:MessageID>
        <wsa:RelatesTo>urn:uuid:24dc8bbd-92a0-4dcc-b517-6a3aac69d596</wsa:RelatesTo>
        <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
        <wsse:Security>
            <wsu:Timestamp wsu:Id="Timestamp-6ca93662-5aad-4cc0-92ad-f614e4aeb225">
                <wsu:Created>2017-12-05T16:34:20Z</wsu:Created>
                <wsu:Expires>2017-12-05T16:39:20Z</wsu:Expires>
            </wsu:Timestamp>
        </wsse:Security>
    </soap:Header>
    <soap:Body>
        <RequestEnvelopeResponse xmlns="http://www.docusign.net/API/3.0">
            <RequestEnvelopeResult>
                <AccountId>46d46020-570f-9999-8f02-c9859f65fc45</AccountId>
                <Documents>
                    <Document>
                        <ID>1</ID>
                        <Name>test1.txt</Name>
                        <PDFBytes>AA==</PDFBytes>
                        <FileExtension>pdf</FileExtension>
                    </Document>
                    <Document>
                        <ID>2</ID>
                        <Name>test2.txt</Name>
                        <PDFBytes>AA==</PDFBytes>
                        <FileExtension>pdf</FileExtension>
                    </Document>
                    <Document>
                        <ID>3</ID>
                        <Name>test3.txt</Name>
                        <PDFBytes>AA==</PDFBytes>
                        <FileExtension>pdf</FileExtension>
                    </Document>
                </Documents>
                <Recipients>
                    <Recipient>
                        <ID>1</ID>
                        <UserName>David Grigsby (Sees all)</UserName>
                        <Email>dsproservedemosoap01+Test1@gmail.com</Email>
                        <Type>Signer</Type>
                        <AccessCode />
                        <RequireIDLookup>false</RequireIDLookup>
                        <RoutingOrder>1</RoutingOrder>
                        <Note />
                    </Recipient>
                    <Recipient>
                        <ID>2</ID>
                        <UserName>David Grigsby (sees all but page 2)</UserName>
                        <Email>david.grigsby@example.com</Email>
                        <Type>Signer</Type>
                        <AccessCode />
                        <RequireIDLookup>false</RequireIDLookup>
                        <RoutingOrder>2</RoutingOrder>
                        <Note />
                    </Recipient>
                    <Recipient>
                        <ID>3</ID>
                        <UserName>David Grigsby (see all but 3 document)</UserName>
                        <Email>dsproservedemosoapui+Testcc@gmail.com</Email>
                        <Type>CarbonCopy</Type>
                        <AccessCode />
                        <RequireIDLookup>false</RequireIDLookup>
                        <RoutingOrder>3</RoutingOrder>
                        <Note />
                    </Recipient>
                    <Recipient>
                        <ID>4</ID>
                        <UserName>David Grigsby (see all)</UserName>
                        <Email>dsproservedemosoap01+Testcc1@gmail.com</Email>
                        <Type>CarbonCopy</Type>
                        <AccessCode />
                        <RequireIDLookup>false</RequireIDLookup>
                        <RoutingOrder>4</RoutingOrder>
                        <Note />
                    </Recipient>
                </Recipients>
                <Tabs>
                    <Tab>
                        <DocumentID>1</DocumentID>
                        <RecipientID>1</RecipientID>
                        <PageNumber>1</PageNumber>
                        <XPosition>70</XPosition>
                        <YPosition>49</YPosition>
                        <ScaleValue>1</ScaleValue>
                        <AnchorTabItem>
                            <AnchorTabString>Sign1</AnchorTabString>
                            <Unit>Pixels</Unit>
                        </AnchorTabItem>
                        <Type>SignHere</Type>
                        <Name>SignHere</Name>
                        <TabLabel>Sign Here 1</TabLabel>
                        <Value />
                        <CustomTabRequired>false</CustomTabRequired>
                        <CustomTabLocked>false</CustomTabLocked>
                    </Tab>
                    <Tab>
                        <DocumentID>1</DocumentID>
                        <RecipientID>1</RecipientID>
                        <PageNumber>1</PageNumber>
                        <XPosition>350</XPosition>
                        <YPosition>92</YPosition>
                        <ScaleValue>1</ScaleValue>
                        <AnchorTabItem>
                            <AnchorTabString>Custom1 Approve:</AnchorTabString>
                            <Unit>Pixels</Unit>
                        </AnchorTabItem>
                        <Type>Approve</Type>
                        <Name>Please Approve this</Name>
                        <TabLabel>Custom API Approve_1</TabLabel>
                        <Value />
                        <CustomTabWidth>125</CustomTabWidth>
                        <CustomTabHeight>39</CustomTabHeight>
                        <CustomTabRequired>false</CustomTabRequired>
                        <CustomTabLocked>false</CustomTabLocked>
                        <CustomTabDisableAutoSize>false</CustomTabDisableAutoSize>
                    </Tab>
                    <Tab>
                        <DocumentID>1</DocumentID>
                        <RecipientID>2</RecipientID>
                        <PageNumber>1</PageNumber>
                        <XPosition>70</XPosition>
                        <YPosition>92</YPosition>
                        <ScaleValue>1</ScaleValue>
                        <AnchorTabItem>
                            <AnchorTabString>Sign2</AnchorTabString>
                            <Unit>Pixels</Unit>
                        </AnchorTabItem>
                        <Type>SignHere</Type>
                        <Name>SignHere</Name>
                        <TabLabel>Sign Here 2</TabLabel>
                        <Value />
                        <CustomTabRequired>false</CustomTabRequired>
                        <CustomTabLocked>false</CustomTabLocked>
                    </Tab>
                    <Tab>
                        <DocumentID>1</DocumentID>
                        <RecipientID>2</RecipientID>
                        <PageNumber>1</PageNumber>
                        <XPosition>350</XPosition>
                        <YPosition>135</YPosition>
                        <ScaleValue>1</ScaleValue>
                        <AnchorTabItem>
                            <AnchorTabString>Custom2 Approve:</AnchorTabString>
                            <Unit>Pixels</Unit>
                        </AnchorTabItem>
                        <Type>Approve</Type>
                        <Name>Please Approve this</Name>
                        <TabLabel>Custom API Approve_2</TabLabel>
                        <Value />
                        <CustomTabWidth>125</CustomTabWidth>
                        <CustomTabHeight>39</CustomTabHeight>
                        <CustomTabRequired>false</CustomTabRequired>
                        <CustomTabLocked>false</CustomTabLocked>
                        <CustomTabDisableAutoSize>false</CustomTabDisableAutoSize>
                    </Tab>
                </Tabs>
                <Subject>Test for Dev 201 Lab 2</Subject>
                <EmailBlurb>Test for CEFTAF Lab 2 Custom Fields Recipient Fields Document Fields</EmailBlurb>
                <SigningLocation>Online</SigningLocation>
                <CustomFields>
                    <CustomField>
                        <Name>MYCustomID</Name>
                        <Show>False</Show>
                        <Required>False</Required>
                        <Value>myId012345</Value>
                    </CustomField>
                    <CustomField>
                        <Name>myArrayListofItems</Name>
                        <Show>False</Show>
                        <Required>False</Required>
                        <Value>3</Value>
                        <CustomFieldType>List</CustomFieldType>
                        <ListItems>elementValue1;elementValue2;elementValue3</ListItems>
                    </CustomField>
                </CustomFields>
                <AutoNavigation>true</AutoNavigation>
                <EnvelopeIdStamping>true</EnvelopeIdStamping>
                <AuthoritativeCopy>false</AuthoritativeCopy>
                <Notification>
                    <Reminders>
                        <ReminderEnabled>true</ReminderEnabled>
                        <ReminderDelay>2</ReminderDelay>
                        <ReminderFrequency>2</ReminderFrequency>
                    </Reminders>
                    <Expirations>
                        <ExpireEnabled>true</ExpireEnabled>
                        <ExpireAfter>15</ExpireAfter>
                        <ExpireWarn>1</ExpireWarn>
                    </Expirations>
                </Notification>
                <EnforceSignerVisibility>false</EnforceSignerVisibility>
                <AllowMarkup>false</AllowMarkup>
                <AllowReassign>true</AllowReassign>
            </RequestEnvelopeResult>
        </RequestEnvelopeResponse>
    </soap:Body>
</soap:Envelope>