2014-03-31 18 views
0

Docusign의 REST API를 사용하여 documentBase64 속성을 사용하여 PDF 문서와 함께 템플리트를 게시하려고하지만 문서를 인식하지 못하는 것 같습니다.Docusign REST API가 base64의 문서를 인식하지 못합니다.

우리는 POST 요청을 보내는 노드의 request 라이브러리를 사용
params = 
    emailSubject: 'Sample Document' 
    envelopeTemplateDefinition: 
     name: 'Template 1' 
    documents: [ 
     name: 'Document 1' 
     documentId: 1 
     documentBase64: data.toString('base64') 
    ] 
    recipients: 
     signers: [ 
     recipientId: 1 
     roleName: "Signer 1" 
     , 
     recipientId: 2 
     roleName: "Signer 2" 
     , 
     recipientId: 3 
     roleName: "Signer 3" 
     , 
     recipientId: 4 
     roleName: "Signer 4" 
     , 
     recipientId: 0 
     roleName: "Signer 0" 
     ] 

는 정식 헤더가 적절하게 설정하고, API는 응답을 반환하지 : 여기

우리가 사용하는 매개 변수입니다, datafs.readFile에 의해 생성된다 템플릿이 성공적으로 생성되었지만 Docusign 콘솔에서 템플릿을 확인하면 템플릿에 문서가 포함되어 있지 않음을 알 수 있습니다.

초안 봉투를 만드는 데 비슷한 방법을 사용했는데 모든 것이 제대로 작동합니다. 즉, 첨부 된 PDF 문서가 인식되므로 템플릿에서도 사용할 수 있다고 가정합니다.

포스트 포인트 엔드 포인트가 documentBase64를 지원하지 않으므로 두 엔드 포인트 간의 일관성없는 동작으로 인해 혼란 스럽습니다. 다중 파트/양식 데이터 요청을 사용해야합니까?

또한 샌드 박스 계정을 사용하여 테스트하고 있습니다. 제한 사항이 있습니까?

도움을 주시면 감사하겠습니다.

답변

1

은 "템플릿 만들기"작업이 현재 documentBase64 속성을 지원하지 않습니다 -이 API와 템플릿을 생성 할 때, 요청이 대신 첫 번째 부분은 JSON 요청 본문을 포함하는 여러 부분으로 요청을 (수해야 첫 번째 부분 이후의 각 후속 부분은 문서의 내용을 나타냄). DocuSign의 REST API 가이드에서

(https://10226ec94e53f4ca538f-0035e62ac0d194a46695a3b225d72cc8.ssl.cf2.rackcdn.com/rest-api-guide-v2.pdf)

, p197에 POST 템플릿 작업의 정의 (POST/계정/{계정 아이디}/템플릿)입니다 :

Saves a template definition using a multipart request. 

당신이 "에 대한 가이드를 검색하는 경우 documentBase64 "를 사용하면 봉투 작성/보내기 컨텍스트에서만 언급된다는 것을 알 수 있습니다 (불행히도 템플릿을 만드는 컨텍스트에서는 아닙니다). "documentBase64"속성은 "봉투 만들기"작업에 상당히 최근에 추가 된 기능이므로 DocuSign에서 "템플릿 만들기"작업에 곧 지원할 예정입니다. 여기

2 문서를 지정하고 경계로 AAA 사용하는 예를 들어 다중 요청 본문의 : 당신의 다중 요청을 만들 때

POST https://demo.docusign.net/restapi/v2/accounts/295724/envelopes 
X-DocuSign-Authentication: {"Username":"email","Password":"password","IntegratorKey":"key"} 
Content-Type: multipart/form-data; boundary=AAA 
Accept: application/json 
Host: demo.docusign.net 
Content-Length: 31476 
Expect: 100-continue 

--AAA 
Content-Type: application/json 
Content-Disposition: form-data 

JSON_REQUEST_BODY_HERE 
--AAA 
Content-Type:application/pdf 
Content-Disposition: file; filename="ABC.pdf"; documentid=1 

UNENCODED_DOCUMENT_1_BYTES_HERE 
--AAA 
Content-Type:application/pdf 
Content-Disposition: file; filename="DEF.pdf"; documentid=2 

UNENCODED_DOCUMENT_2_BYTES_HERE 
--AAA-- 

, 휴식이 중요한 줄을 염두에 두어야을 (같이 구성해야 문서 바이트는 인코딩되지 않아야합니다.

+0

두 템플릿이 매우 유사하기 때문에 포스트 템플릿에 base64를 사용 설정하지 않는 것이 이상합니다. 다중 요청의 경우 JSON 매개 변수를 파일 또는 요청 본문에 첨부하고 문서를 추가해야합니까? –

+0

멀티 파트 요청 구조/내용에 대한 정보를 포함하도록 내 대답이 업데이트되었습니다. –

+0

고마워요. 요청을하기 위해 [request] (https://github.com/mikeal/request) 및 [form-data] (https://github.com/felixge/node-form-data) 라이브러리를 사용하려고합니다. 하지만 JSON 매개 변수를 첨부하는 방법에 대해 혼란스러워합니다. 다른 파일로 첨부할까요? 아니면 루프를 통해 반복하여 양식의 필드로 설정해야합니까?원시 요청을 생성하는 대신 라이브러리를 사용할 수 있다면 멋질 것입니다. –

관련 문제