2017-09-05 3 views
0

Docusign에서 새롭게 변경되었습니다.사용자가 직접 서명 할 수있는 봉투의 Iframe URL을 가져옵니다.

사용자의 서명을 추가하기 위해 봉투를 만들고 Iframe 내부에 봉투를 표시해야한다는 요구 사항이 있습니다. 그러나 나는 사용자가 직접 서명함으로써 직접 URL을 얻지 못하고있다. 현재 사용자는 URL을 받고있는 메일을 받고 있습니다. 해당 URL을 클릭하면 사용자가 서명 할 수 있습니다. 내가 코드 아래 사용하고

내가 URL을 얻고있다 위의 코드를 사용하여 iframe이

public ViewUrl getViewUrl(EnvelopeSummary envelopeSummary, Recipients recipients) throws ApiException{ 
     EnvelopesApi envelopesApi = new EnvelopesApi(DocusignFactory.appClient()); 
     RecipientViewRequest returnUrl = new RecipientViewRequest(); 
     returnUrl.setReturnUrl("https://www.docusign.com/devcenter"); 
     returnUrl.setAuthenticationMethod("email"); 
     Signer signer = recipients.getSigners().get(0); 
     returnUrl.setEmail("[email protected]"); 
     Tabs tabs = signer.getTabs(); 
     String usename= tabs.getFirstNameTabs().get(0).getName()+" "+tabs.getLastNameTabs().get(0).getName(); 
     returnUrl.setUserName(usename); 

     return envelopesApi.createRecipientView(DocusignFactory.getDocusignLogin().getAccountId(), envelopeSummary.getEnvelopeId().toString(), returnUrl);} 

에 대한 URL을 생성합니다. 하지만 그 URL은 단지 봉투를 보여주고 있습니다.

얻기받는 사람이 내 입력하면받는 사람의보기에 필요한 매개 변수 중 하나를 놓치고

public Recipients populateRecipients(Recipients recipients) { 
     Signer signer = recipients.getSigners().get(0); 
     signer.setEmail("[email protected]"); 
     signer.setName("My Name"); 
     //signer.setNote("Here"); 
     signer.setRecipientId("1"); 
     signer.setClientUserId("1001"); 
     signer.setDeliveryMethod("Email"); 
     Tabs tabs = signer.getTabs(); 

     DateSigned dateSigned = tabs.getDateSignedTabs().get(0); 
     dateSigned.setValue("01/01/2017"); 
     dateSigned.setDocumentId("1"); 
     dateSigned.setRecipientId("1"); 
     //dateSigned.setTabId("1"); 
     List<DateSigned> dateSigneds = new ArrayList<DateSigned>(); 
     dateSigneds.add(dateSigned); 
     tabs.setDateSignedTabs(dateSigneds); 

     EmailAddress emailAddress =tabs.getEmailAddressTabs().get(0); 
     emailAddress.setName("[email protected]"); 
     emailAddress.setDocumentId(""); 
     emailAddress.setRecipientId("1"); 
     //emailAddress.setTabId("2"); 
     List<EmailAddress> emailAddresss = new ArrayList<EmailAddress>(); 
     emailAddresss.add(emailAddress); 
     tabs.setEmailAddressTabs(emailAddresss); 

     FirstName firstName = tabs.getFirstNameTabs().get(0); 
     firstName.setName("firstName"); 
     firstName.setDocumentId("1"); 
     firstName.setRecipientId("1"); 
     //firstName.setTabId("3"); 
     List<FirstName> firstNames = new ArrayList<FirstName>(); 
     firstNames.add(firstName); 
     tabs.setFirstNameTabs(firstNames); 

     LastName lastName = tabs.getLastNameTabs().get(0); 
     lastName.setName("lastName"); 
     lastName.setDocumentId("1"); 
     lastName.setRecipientId("1"); 
     //lastName.setTabId("4"); 
     List<LastName> lastNames = new ArrayList<LastName>(); 
     lastNames.add(lastName); 
     tabs.setLastNameTabs(lastNames); 

     signer.setTabs(tabs); 
     List<Signer> signers = new ArrayList<Signer>(); 
     signers.add(signer); 
     recipients.setSigners(signers); 
     return recipients; 

답변

0

을 (https://docs.docusign.com/esign/restapi/Envelopes/EnvelopeViews/createRecipient) 방법에 따라 EnvelopeTemplate 개체 및 수정 객체에서 객체 -

은 보낸 사람을 clientUserId 수신자가 임베디드 (포로)임을 나타내는 [생성 된 값]. 최대 100 자. clientUserId에 대한 값을 만들고 트랜잭션을 만들 때 (서명 요청을 보낼 때) 서명자에 값을 포함시킵니다.

그런 다음받는 사람보기를 원할 때 포함시킵니다. 웹 응용 프로그램이 서명자를 인증하는 것이 좋은지 확인하는 보안 조치입니다.

직접 인증 할 수있는 서명자 용 clientUserId 만 포함하고 포함 된 서명보기를 제공 할 계획입니다.

+0

clientUserId를 추가 할 때 'UNKNOWN_ENVELOPE_RECIPIENT' 메시지가 표시됩니다. –

+0

수신자 뷰를 검색하는 방법을 호출 할 수 있습니까? –

+0

https://github.com/docusign/docusign-java-client받는 사람 개체를 EnvelopeTemplate 개체에서 가져 와서 내 입력으로 수정하는 중 –