2016-06-07 5 views
0

Я использую SDK DocuSign Java и нуждаюсь в функциональности CarbonCopy, поскольку мне нужно отправить каждый документ человеку внутри нашей компании, кроме Signer.CarbonCopy на адрес gmail, похоже, не работает

Поэтому, когда я использую адрес gmail для Signer, отправляется электронное письмо. Но когда я использую адрес gmail для получателя CarbonCopy, письмо никогда не отправляется, и я не получаю сообщение об ошибке. Идентификатор конверта возвращается, как будто все пошло нормально.

Есть ли что-нибудь, что мне не хватает? Можно ли сделать эту работу?

 // login call available off the AuthenticationApi 
    AuthenticationApi authApi = new AuthenticationApi(); 

    // login has some optional parameters we can set 
    AuthenticationApi.LoginOptions loginOps = authApi.new LoginOptions(); 
    loginOps.setApiPassword("true"); 
    loginOps.setIncludeAccountIdGuid("true"); 
    LoginInformation loginInfo = authApi.login(loginOps); 

    // note that a given user may be a member of multiple accounts 
    List<LoginAccount> loginAccounts = loginInfo.getLoginAccounts(); 

    String accountId = loginAccounts.get(0).getAccountId(); 

    Path path = Paths.get(sFilePath); 
    byte[] PDFContents = Files.readAllBytes(path); 

    // Create an envelope that will store the document(s), field(s), and recipient(s) 
    EnvelopeDefinition envDef = new EnvelopeDefinition(); 
    envDef.setEmailSubject("Please sign this document sent from Java SDK)"); 

    // Add a document to the envelope 
    Document doc = new Document(); 
    String base64Doc = DatatypeConverter.printBase64Binary(PDFContents); 
    doc.setDocumentBase64(base64Doc); 
    doc.setName("MaterialRequisition.pdf"); // can be different from actual file name 
    doc.setDocumentId("1"); 

    List<Document> docs = new ArrayList<Document>(); 
    docs.add(doc); 
    envDef.setDocuments(docs); 

    // add a recipient to sign the document, identified by name and email we used above 
    Signer signer = new Signer(); 
    signer.setEmail(sApproverEmail); 
    signer.setName(sApproverName); 
    signer.setRecipientId("1"); 

    CarbonCopy cc = new CarbonCopy(); 
    cc.setEmail(sCCEmail); 
    cc.setName(sCCName); 
    cc.setRecipientId("2"); 

    // create a signHere tab somewhere on the document for the signer to sign 
    // default unit of measurement is pixels, can be mms, cms, inches also 
    SignHere signHere = new SignHere(); 
    signHere.setDocumentId("1"); 
    signHere.setPageNumber("1"); 
    signHere.setRecipientId("1"); 
    signHere.setXPosition("100"); 
    signHere.setYPosition("710"); 

    // Can have multiple tabs, so need to add to envelope as a single element list 
    List<SignHere> signHereTabs = new ArrayList<SignHere>();  
    signHereTabs.add(signHere); 
    Tabs tabs = new Tabs(); 
    tabs.setSignHereTabs(signHereTabs); 
    signer.setTabs(tabs); 

    // add recipients (in this case a single signer) to the envelope 
    envDef.setRecipients(new Recipients()); 
    envDef.getRecipients().setSigners(new ArrayList<Signer>()); 
    envDef.getRecipients().getSigners().add(signer); 
    envDef.getRecipients().getCarbonCopies().add(cc); 

    // send the envelope by setting |status| to "sent". To save as a draft set to "created" 
    envDef.setStatus("sent"); 

    // instantiate a new EnvelopesApi object 
    EnvelopesApi envelopesApi = new EnvelopesApi(); 

    // call the createEnvelope() API to send the signature request! 
    EnvelopeSummary envelopeSummary = envelopesApi.createEnvelope(accountId, envDef); 
    logger.debug("Envelope Id "+ envelopeSummary.getEnvelopeId()); 

    // Delete the PDF file that Logi generated 
    Files.delete(path); 

ответ

2

получатели CarbonCopy будут получать электронную почту только тогда, когда конверт получает заполненную все стороны на основании поручения получателя. Посмотрите описание получателей Carbon Copies в этом link.

Отладить код и убедиться, что значения carbonCopy добавлены внутри envDef.getRecipients(). GetCarbonCopies() до того, как он попадет в createEnvelope, и после того, как полный процесс конвертации будет завершен подписывающим лицом после этого, копия будет отправлена ​​на почтовый адрес получателя электронной почты с копией, чтобы убедиться в этом знаке на адрес электронной почты получателя CarbonCopy, необходимо получить электронное письмо вместе с завершенным документом, в котором вы можете просмотреть документ.

+0

Это очень странно, потому что когда я перелистал адреса электронной почты и сделал gmail моим подписывающим лицом и моей фирмой электронной почтой мой CarbonCopy, я получил оба письма без необходимости подписывать документ первым. – LostAndConfused

+0

Вы пробовали установить порядок маршрутизации для Signer как 1 i.e, signer.RoutingOrder = "1" и для CarbonCopy как 2 i.e, cc.RoutingOrder = "2" ... –

+0

Привет, Рам. Попытался окончательно установить порядок маршрутизации. Установите подписчика на 1 и «Углеродная копия» на 2 и не получите адрес электронной почты. Однако, как вы уже сказали, после того, как документ был подписан, электронная почта действительно поступает в Carbon Copy, так что это нужно будет сделать сейчас. Спасибо. – LostAndConfused

Смежные вопросы