2015-12-10 63 views
0

我需要以編程方式添加Docusign模板,並使用包含多個表單域的單個PDF文檔進行配置。儘管PDF表單字段沒有被轉換爲docusign字段,但我目前能夠創建一個新的模板。使用已轉換的PDF表單域創建模板

當創建模板時,JSON有效負載看起來如下,使用HTTP POST提交給[baseUrl]/templates作爲多部分請求,包括PDF。

{ 
    "documents": [ 
    { 
     "documentId": "1", 
     "name": "fillable-form.pdf", 
     "transformPdfFields": "true" 
    } 
    ], 
    "emailSubject": "Default Blurb", 
    "enableWetSign": "false", 
    "envelopeTemplateDefinition": { 
    "name": "My Template Name", 
    "shared": "false", 
    "folderName": "Template Folder" 
    }, 
    "recipients": { 
    "signers": [ 
     { 
     "routingOrder": "1", 
     "recipientId": "1", 
     "roleName": "primary-signer", 
     "defaultRecipient": "true" 
     } 
    ] 
    } 
} 

Post Template Documentation索賠,你應該能夠使transformPdfFields財產,按照Document parameter specification,但設置該屬性似乎沒有任何效果。

我在DocuSign API auto convert PDF fields to SecureFields中發現了一個類似相關的問題,但是沒有真正足夠的迴應。我想知道Docusign是否可以衡量並提供一些指導。


更新#1

聽從由@ergin提供的建議,我已經改變了我的請求負載略(注意,這是類似於響應早些時候企圖@ C-戴維斯)。

不幸的是,按照案例2中描述的建議(它可以用來從現有的PDF表單域創建新的標籤),它似乎沒有按預期工作。

重要的是要注意,這是模板創建,而不是信封創建。

嘗試#1:

{ 
    "envelopeTemplateDefinition": { 
    "name": "Test Template Name", 
    "shared": false, 
    "folderName": "test-folder" 
    }, 
    "emailSubject": "Test Subject", 
    "enableWetSign": false, 
    "compositeTemplates": [ 
    { 
     "inlineTemplates": [ 
     { 
      "sequence": 1, 
      "recipients": { 
      "signers": [ 
       { 
       "recipientId": 1, 
       "roleName": "primary-signer", 
       "defaultRecipient": true 
       } 
      ] 
      } 
     } 
     ], 
     "document": { 
     "documentId": 1, 
     "name": "test-document.pdf", 
     "transformPdfFields": true 
     } 
    } 
    ] 
} 

的結果,當發送的是,在多部分請求,與所述多部分的第二位是PDF文檔作爲正常的是,模板都沒有指定的收件人並沒有文件。

enter image description here

嘗試#2(表示模板要求的收件人屬性):

{ 
    "envelopeTemplateDefinition": { 
    "name": "Test Template Name", 
    "shared": false, 
    "folderName": "test-folder" 
    }, 
    "emailSubject": "Test Subject", 
    "enableWetSign": false, 
    "compositeTemplates": [ 
    { 
     "inlineTemplates": [ 
     { 
      "sequence": 1, 
      "recipients": { 
      "signers": [ 
       { 
       "recipientId": 1, 
       "roleName": "primary-signer", 
       "defaultRecipient": true 
       } 
      ] 
      } 
     } 
     ], 
     "document": { 
     "documentId": 1, 
     "name": "test-document.pdf", 
     "transformPdfFields": true 
     } 
    } 
    ], 
    "recipients": { 
    "signers": [ 
     { 
     "recipientId": 1, 
     "roleName": "primary-signer", 
     "defaultRecipient": true 
     } 
    ] 
    } 
} 

結果是稍微靠近 - 收件人現已被列爲人們所期望的,但是文檔仍然不被視爲此模板的一部分。文檔與模板關聯的唯一方法是當我將其設置爲模板創建的外部屬性時。

enter image description here

嘗試#3(表示兩個模板請求的接收者&文檔屬性):

{ 
    "envelopeTemplateDefinition": { 
    "name": "Test Template Name", 
    "shared": false, 
    "folderName": "test-folder" 
    }, 
    "emailSubject": "Test Subject", 
    "enableWetSign": false, 
    "compositeTemplates": [ 
    { 
     "inlineTemplates": [ 
     { 
      "sequence": 1, 
      "recipients": { 
      "signers": [ 
       { 
       "recipientId": 1, 
       "roleName": "primary-signer", 
       "defaultRecipient": true 
       } 
      ] 
      } 
     } 
     ], 
     "document": { 
     "documentId": 1, 
     "name": "test-document.pdf", 
     "transformPdfFields": true 
     } 
    } 
    ], 
    "recipients": { 
    "signers": [ 
     { 
     "recipientId": 1, 
     "roleName": "primary-signer", 
     "defaultRecipient": true 
     } 
    ] 
    }, 
    "documents": [ 
    { 
     "documentId": 1, 
     "name": "test-document.pdf", 
     "transformPdfFields": true 
    } 
    ] 
} 

在此最後一次嘗試的結果是相似的,包括recipients的和documents屬性並完全消除compositeTemplates屬性(似乎屬性不管它是否存在)。收件人佔位符已存在且文檔與模板關聯,但PDF文檔中的PDF字段未「分配」/轉換爲Docusign字段。

enter image description here

回答

0

至於transormPdfFields參數而言,我永遠只能當一個文檔是CompositeTemplate內相關之所以能夠把這個參數設置工作。誠然,我正在討論在這裏發送信封,但我敢打賭,創建模板時也是如此,即使文檔可能以其他方式出現。

我沒有這個特定調用的代碼示例,但是如果我有空閒時間,我會嘗試將其放在一起。

+0

我已經給這一個鏡頭,現在也無濟於事。在幫助參考@ https://www.docusign.net/restapi/help中爲'POST {vx}/accounts/{accountid}/templates'找到的請求籤名似乎並沒有提供作爲有效負載的屬性。 你碰巧也找到了相同的東西嗎? – Steve

0

所以這沒有很好的記錄(很快就會有所改進),但transformPdfFields屬性有兩個不同的目的,基於您在請求主體中的使用方式/位置。

  • 案例1:它可用於將現有PDF表單域中包含的值轉移到DocuSign選項卡中。
  • 案例2:它可以用來從現有的PDF表單域創建新的標籤。

對於#1,PDF表單字段的名稱需要對應於DocuSign選項卡的tabLabels。爲做到這一點是樣品JSON:

{ 
    "emailSubject": "test subject", 
    "documents": [ 
    { 
     "documentId": "1", 
     "name": "document.pdf", 
     "transformPdfFields": true 
    } 
} 

#2,您需要使用compositeTemplates結構與內聯模板部分啓用transformPdfFields屬性,使平臺創建新的DocuSign標籤。您還應該記得爲您的收件人設置defaultRecipient屬性爲true,以便系統知道將新創建的選項卡分配給哪個人(即,您不能具有未分配的選項卡)。

例如,下面的JSON應該工作:

{ 
    "compositeTemplates": [{ 
     "inlineTemplates": [{ 
      "sequence": 1, 
      "recipients": { 
       "signers": [{ 
        "email": "[email protected]", 
        "name": "John Doe", 
        "recipientId": "1", 
        "defaultRecipient": true 
       }] 
      } 
     }], 
     "document": { 
      "documentId": 1, 
      "name": "Contract.pdf", 
      "transformPdfFields": true 
     } 
    }] 
}