CreateAndSendEnvelope não está funcionando
-
20-12-2019 - |
Pergunta
Estou enviando o envelope usando API SOAP, https://demo.docusign.net/api/3.0/dsapi.asmx.Estou escrevendo o código em VB .NET.Se eu estiver enviando o PDF arquivo, estou recebendo Erro não especificado do webservice.Se eu estou enviando docx arquivo, estou recebendo O sistema não conseguiu converter este documento em PDF.Não é possível converter o documento (DocusignTestDoc.docx) em PDF.Erro:Não foi possível enviar o documento ao Conversion Server:EnvelopeId:00000000-0000-0000-0000-000000000000 DocumentName:DocusignTestDoc.docx - SubmitCode:-10242 erro, voltando da API.Não tenho certeza de onde corrigir o problema.Aqui está minha carga útil.
POST https://demo.docusign.net/api/3.0/dsapi.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
X-DocuSign-Authentication: <DocuSignCredentials><Username>myemail@example.com</Username><Password>mypassword</Password><IntegratorKey>my integratorkey</IntegratorKey></DocuSignCredentials>
SOAPAction: "http://www.docusign.net/API/3.0/CreateAndSendEnvelope"
Host: demo.docusign.net
Content-Length: 17996
Expect: 100-continue
Accept-Encoding: gzip, deflate
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CreateAndSendEnvelope xmlns="http://www.docusign.net/API/3.0">
<Envelope>
<AccountId>Account ID GUID</AccountId>
<Documents>
<Document>
<ID>1</ID>
<Name>DocusignTestDoc.docx</Name>
<PDFBytes>Something like this qAABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAAMAAwA/wIAAG0tAAAAAAA=</PDFBytes>
<FileExtension>.docx</FileExtension>
</Document>
</Documents>
<Recipients>
<Recipient>
<UserName>R1</UserName>
<Email>r1@yahoo.com</Email>
<Type>Signer</Type>
<AccessCode xsi:nil="true" />
</Recipient>
<Recipient>
<UserName>R2</UserName>
<Email>r2@gmail.com</Email>
<Type>Signer</Type>
<AccessCode xsi:nil="true" />
</Recipient>
</Recipients>
<Tabs>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>1</PageNumber>
<XPosition>350</XPosition>
<YPosition>350</YPosition>
<Type>Company</Type>
</Tab>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>1</PageNumber>
<XPosition>350</XPosition>
<YPosition>450</YPosition>
<Type>SignHere</Type>
</Tab>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>2</RecipientID>
<PageNumber>1</PageNumber>
<XPosition>350</XPosition>
<YPosition>550</YPosition>
<Type>SignHere</Type>
</Tab>
</Tabs>
<Subject>Test application</Subject>
<EmailBlurb>Hello, this is the test application for you to sign</EmailBlurb>
</Envelope>
</CreateAndSendEnvelope>
</s:Body>
</s:Envelope>
Por favor me ajude e me avise se estiver faltando alguma coisa aqui.Muito obrigado.
Htwemay
Solução
Primeiro, tente remover o .docx extensão do valor Nome do arquivo (<Nome>) E remova o período (.) do valor da extensão do arquivo (<Extensão de arquivo>).Quando você faz isso, o <Documento> parte da sua solicitação ficará assim (para um arquivo .docx):
<Document>
<ID>1</ID>
<Name>DocusignTestDoc</Name>
<PDFBytes>Something like this qAABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAAMAAwA/wIAAG0tAAAAAAA=</PDFBytes>
<FileExtension>docx</FileExtension>
</Document>
Ou assim, se você estiver enviando um PDF:
<Document>
<ID>1</ID>
<Name>DocusignTestDoc</Name>
<PDFBytes>Something like this qAABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAAMAAwA/wIAAG0tAAAAAAA=</PDFBytes>
<FileExtension>pdf</FileExtension>
</Document>
Se você ainda receber um erro, sugiro fazer o seguinte para solucionar o problema:
Verifique se o arquivo que você está tentando enviar (representado por <PDFBytes>) é de fato do mesmo tipo de arquivo como você especifica para <Extensão de arquivo>.(Consegui reproduzir o erro que você está recebendo enviando bytes para um arquivo PDF, mas definindo <Extensão de arquivo> para docx - portanto, uma extensão de arquivo imprecisa certamente será problemática.)
Verifique se os bytes que você está enviando <PDFBytes> de fato representam o conteúdo completo/preciso do arquivo.
Deixe de lado a API por um momento e teste se o DocuSign é capaz de converter o arquivo em PDF quando você criar um novo envelope por meio do console da web do DocuSign e carregar o arquivo.Se você conseguir carregar o arquivo com êxito para um novo envelope por meio da interface do usuário do DocuSign (console da web), isso prova que o arquivo é válido (ou seja, não está corrompido), é provável que o seu problema esteja no número 1 ou no número 2 acima.