2013-08-12 19 views
6

Mam wiele kart tekstowych, które mają dokładnie tę samą etykietę w szablonie. Kiedy wysyłam dane z karty odbiorcy, aby je wstępnie wypełnić, tylko pierwsza z nich jest wstępnie wypełniona, pozostałe są puste.DocuSign: Jak wypełniać wiele kart tekstowych tą samą etykietą?

Znalazłem this support ticket. Ale zawiera sprzeczne informacje:

Yes I believe you do need to set the value 10 times (one for each text tab), 
... 
So if you give them all the same label and make them editable (by setting "locked" to false) then when a recipient types a value into one text box ALL of them will get updated with that value. 

Jeśli jesteśmy wszyscy uznawany za jednego, dlaczego API trzeba wysłać te same dane 10 razy? Jeśli przesyła informacje 5 razy, które zakładki są wypełnione? Pierwsze 5? Jakieś 5 z nich losowo?

Należy pamiętać, że mogę uzyskać zakładki tekstowe z unikatowymi etykietami wstępnie wypełnionymi.

EDIT:

Oto zrzut JSON żądania:

{ 
    "compositeTemplates": null, 
    "status": "sent", 
    "allowReassign": false, 
    "allowRecipientRecursion": false, 
    "templateRoles": [ 
    { 
     "name": "Atamert Olcgen", 
     "tabs": { 
     "radioGroupTabs": [], 
     "textTabs": [ 
      ... 
      { 
      "name": "Text", 
      "value": "<EMAIL1>", 
      "tabLabel": "Email" 
      }, 
      ... 
      { 
      "name": "Text", 
      "value": "Atamert Olcgen", 
      "tabLabel": "FullName" 
      }, 
      ... 
     ], 
     "checkboxTabs": [] 
     }, 
     "recipientId": "1", 
     "accessCode": null, 
     "clientUserId": "******", 
     "roleName": "Client", 
     "emailNotification": null, 
     "email": "<EMAIL1>" 
    }, 
    { 
     "name": "*****", 
     "tabs": { 
     ... // Secondary signer, mostly empty 
     }, 
     "recipientId": "2", 
     "accessCode": null, 
     "clientUserId": null, 
     "roleName": "!", 
     "emailNotification": null, 
     "email": "<EMAIL2>" 
    }, 
    { 
     "name": "******", 
     "tabs": { 
     "radioGroupTabs": [], 
     "textTabs": [], 
     "checkboxTabs": [] 
     }, 
     "recipientId": "1", 
     "accessCode": null, 
     "clientUserId": null, 
     "roleName": "EmailOnlyRecipient", 
     "emailNotification": null, 
     "email": "<EMAIL3>" 
    } 
    ], 
    "enableWetSign": false, 
    "signingLocation": "Online", 
    "eventNotification": null, 
    "enforceSignerVisibility": false, 
    "brandId": "", 
    "allowMarkup": false, 
    "envelopeIdStamping": false, 
    "asynchronous": false, 
    "templateId": "<TEMPLATE_ID>", 
    "emailBlurb": "", 
    "customFields": null, 
    "authoritativeCopy": false, 
    "emailSubject": "<PRODUCT> - Secure Authorization Document", 
    "autoNavigation": false 
} 

(usunąłem jakieś poufne informacje)

I tu jest odpowiedź JSON:

{ 
    "envelopeId": "******", 
    "uri": "/envelopes/******", 
    "statusDateTime": "2013-08-12T10:25:00.7159991Z", 
    "status": "sent" 
} 

Jak powiedziałem powyżej pierwszy Zakładka FullName jest wstępnie wypełniona, kolejne są puste.

Odpowiedz

14

Opublikowany przez ciebie wpis jest już nieaktualny - jest tak naprawdę sztuczka, którą musisz zrobić, gdy masz wiele kart z tą samą etykietą, które chcesz wstępnie wypełnić z tą samą wartością.

Zasadniczo, jeśli masz kilka kart z tym samym tabLabel i chcesz je wszystkie, aby rozpocząć się o tej samej wartości początkowej to trzeba poprzedzić tabLabel z wieloznacznym ciąg

\\* 

Na przykład , załóżmy, że masz kartę ubezpieczenia społecznego, którą dodałeś do swojego dokumentu w wielu miejscach zwanych "SocialSecurityTab". Aby wypełnić WSZYSTKIE textTabs które zawierają „SocialSecurityTab”, jak ich tabLabel użyć następującego JSON:

"textTabs": [ 
     { 
     "tabLabel": "\\*SocialSecurityTab", 
     "value": "012-34-5678" 
     } 

Ważne jest, aby nie zapomnieć zarówno backslash znaków (\), a także upewnić się, że nie używasz systemu (takich jak Salesforce), które mogą usuwać jeden z ukośników z różnych powodów.

+1

Dzięki temu rozwiązano problem. Ale dlaczego nie było to domyślne zachowanie? Wszyscy twórcy, o których wspomniałem, wyrazili zdziwienie. Dlaczego ktoś powinien nadawać tę samą nazwę dwóm zakładkom, jeśli nie spodziewają się, że zostaną one wypełnione tą samą wartością? – muhuk

+1

Zgadzam się z tym, że @muhuk jest źle zaprojektowany i niezbyt dobrze udokumentowany w dokumentach API. –

+1

Dla tych, którzy są ciekawi tego w samej dokumentacji.Można go znaleźć [tutaj w DocuSign API Docs] (https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Tabs/Automatically%20Populating%20APIs.htm) – acorre

0

@Ergin - The wieloznaczny ciąg łamie dla mnie jeśli 2 tabLabels skończyć z tym samym ciąg znaków, to ostatnia wzmianka o tabLabel zostanie odwzorowane nieprawidłowo do niewłaściwych pól na szablonie.

Więc z przykładu:

"textTabs": [ { "tabLabel": "\\*SocialSecurityTab", "value": "012-34-5678" }, { "tabLabel": "\\*Tab", "value": "SomeValue" }

Więc upewnij się, że mają wyjątkowe TabLabels wszędzie do obejścia.

Powiązane problemy