2017-11-29 1 views
0

어쨌든 DocuSign API (폴링)를 사용하여 동일한 요청의 모든 문서를 상태 변경으로 검색하고 봉투화 할 수 있습니까? 그렇지 않은 경우 다음을 수행하는 더 좋은 방법이 있습니까?상태 폴 요청에서 문서를 검색 할 수 있습니까?

현재 봉투 상태 recipe에 대한 폴링을 사용하여 봉투 정보를 검색하고 있습니다.

그 후, 나는 통해 루프 문서 및 다운로드의 목록을 얻을 수있는 요약에서 제공 EnvelopeId을 사용하고하는 것은 :

EnvelopeDocumentsResult docList = envelopesApi.ListDocuments(accountId, envelopeId);   

for (int i = 0; i < docList.EnvelopeDocuments.Count; i++) 
     { 
      // GetDocument() API call returns a MemoryStream 
      MemoryStream docStream = (MemoryStream)envelopesApi.GetDocument(accountId, envelopeId, docList.EnvelopeDocuments[i].DocumentId); 
      // More code below to process the documents 

이것은 내가 3 개 서비스 요청 (상태 일, 다음에 할 것을 요구한다 봉투에있는 문서 목록, 실제 문서 다운로드). 이것은 중복 된 것처럼 보이며이를 수행하는 더 좋은 방법이 있다고 상상합니다.

답변

1

봉투 상태를 폴링하는 대신 DocuSign Connect을 사용할 수 있습니다. DocuSign Connect는 연결 구성 설정에 지정하는 끝점에 HTTP POST 요청을 보냅니다. DocuSign이 트리거 이벤트를 기반으로 Connect 구성에서 다른 트리거링 이벤트를 구독 할 수 있습니다.

해당 끝점에있는 "listener"응용 프로그램이 Connect에서 메시지를 받으면 봉투 처리 상태를 알 수있는 메시지 처리를 수행 할 수 있으며 XML의 봉투 문서도 수신 할 수 있지만 문서 PDF 바이트 XML 메시지에서 XML을 상당히 크게 만들 것이고 문서가 매우 큰 경우 최종 결과에 영향을 미칠 수 있습니다.

당신은 당신을 위해 API 호출을 많이 절약 할 수 DS Connect

이에서 세부 사항을 연결 찾을 수 있습니다, 당신이 관심있는 데이터를 검색하기 위해 더 나은 디자인입니다.

+0

나는 DocuSign의 연결을 사용하는 것으로 간주하지만, 불행히도이 특정 프로젝트에서는 옵션이되지 않습니다. – EnterTheCode

+0

DS 연결을 사용할 때의 문제점은 무엇입니까? DS Connect를 사용할 수없는 경우 배치 프로그램을 구축 할 수 있습니까? envelopeIds의 목록이 있고 DS API를 사용하면 한 번에 모든 봉투에 대한 봉투 상태를 얻을 수 있습니다. 상태를 알면 문서 목록을 검색하고 pdf 문서를 작성할 수 있습니다. 한 번 더 통화를 저장하고 데이터베이스의 어딘가에 documentIds 및 envelopeIds 매핑을 저장하여 한 번 더 통화를 저장할 수 있습니다. –

관련 문제