2013-10-29 7 views
1

내가 "봉투를 보내거나 초안 봉투 만들기"를 DocuSign의 휴식 API를 V2에 따라 서명 문서를 전송하고있어, 93 페이지eventNotification XML 구조

문서는 전송 및 서명,하지만 난 도착 이벤트 통지 기능에 문제점이 있습니다.

이 기능의 xml 구조에 대해서는 약간 혼란 스럽습니다. 나는 다양한 조합을 시도했지만, 나는 그것을 이해할 수 없다. 어떤 도움이 필요합니까?

이 내가 시도 중 하나입니다 ...

<eventNotification> 
    <url>xxxxxx</url> 
    <includeDocuments>false</includeDocuments> 
    <loggingEnabled>true</loggingEnabled> 
    <envelopeEvents> 
     <envelopeEvent> 
      <envelopeEventStatusCode>completed</envelopeEventStatusCode> 
     </envelopeEvent> 
    </envelopeEvents> 
</eventNotification> 
+0

당신은 당신이 그것을 알아낼 수 없습니다라고, 오류가 발생했다는 뜻입니까? 그렇다면 그것은 무엇을 말하는가? – Ergin

+0

죄송합니다. 저는 일주일 동안 떨어져 있었고 막 돌아 왔습니다! 나는 오류가 없지만 docusign은 메시지를 보내지 않습니다. 귀하의 XML 형식은 거의 내 것과 동일하지만, 대문자와 일치하는지 확인하고 차이가 있는지 확인하십시오. –

답변

2

김이 DocuSign의 현재 XML 형식의 요청 기관에 대한 좋은 문서가없는 권리이다. 그러나 때때로 JSON은 기술적 한계로 인해 옵션이 아니며, 파싱 코드 또는 다른 이유를 다시 쓰지 않으려 고하며 개발자는 XML 형식을 고수해야합니다. 그와

여기 eventNotifications에 대한 적절한 XML 형식입니다 말했다 개체, 당신이 그것에 설정할 수있는 모든 가능한 속성과 함께 :

<eventNotification> 
    <EnvelopeEvents> 
     <envelopeEvent> 
     <envelopeEventStatusCode>sample string 1</envelopeEventStatusCode> 
     <includeDocuments>sample string 2</includeDocuments> 
     </envelopeEvent> 
     <envelopeEvent> 
     <envelopeEventStatusCode>sample string 1</envelopeEventStatusCode> 
     <includeDocuments>sample string 2</includeDocuments> 
     </envelopeEvent> 
    </EnvelopeEvents> 
    <includeCertificateWithSoap>sample string 6</includeCertificateWithSoap> 
    <includeDocuments>sample string 8</includeDocuments> 
    <includeEnvelopeVoidReason>sample string 9</includeEnvelopeVoidReason> 
    <includeSenderAccountAsCustomField>sample string 11</includeSenderAccountAsCustomField> 
    <includeTimeZone>sample string 10</includeTimeZone> 
    <loggingEnabled>sample string 2</loggingEnabled> 
    <recipientEvents> 
     <recipientEvent> 
     <includeDocuments>sample string 2</includeDocuments> 
     <recipientEventStatusCode>sample string 1</recipientEventStatusCode> 
     </recipientEvent> 
     <recipientEvent> 
     <includeDocuments>sample string 2</includeDocuments> 
     <recipientEventStatusCode>sample string 1</recipientEventStatusCode> 
     </recipientEvent> 
    </recipientEvents> 
    <requireAcknowledgment>sample string 3</requireAcknowledgment> 
    <signMessageWithX509Cert>sample string 7</signMessageWithX509Cert> 
    <soapNameSpace>sample string 5</soapNameSpace> 
    <url>sample string 1</url> 
    <useSoapInterface>sample string 4</useSoapInterface> 
</eventNotification> 
+0

감사합니다. Ergin! 이 기능을 작동시키는 열쇠는 EnvelopeEvents 요소에 적절한 "대소 문자"를 사용하는 것입니다. 즉, "봉투"와 "이벤트"를 모두 사용하십시오. 대신 "envelopeEvents"(소문자 'envelope'및 대문자 'Events')를 사용하면 작동하지 않습니다.일반적으로 소문자로 시작하는 DocuSign REST API 요소의 이름과 일관성이 없지만 이것이 작동하는 방식을 잘 알고 있습니다. Connect 알림을 성공적으로 트리거하는 XML 요청을 포함하도록 이전 응답을 업데이트하겠습니다. –

2

기술적으로 말하자면, DocuSign의 REST API는 모두 XML 형식과 JSON 포맷을 지원하지만, DocuSign의 REST API 문서, 코드 샘플의 대부분, 개발자 리소스는 JSON에 있습니다. 불행하게도 DocuSign REST API로 XML 형식을 사용하면 XML 요청이 예상대로 작동하지 않을 때 어떤 작업을 수행할지 알 수 없기 때문에 매우 기본적인 작업 이외의 작업을 수행하기 위해 XML 형식을 사용하려고하면 매우 실망 할 수 있습니다. 올바른 형식입니다.

그런 이유로 DocuSign REST API에서 XML 대신 JSON을 사용하는 것이 좋습니다. 다음은 봉투에 대한 알림을 성공적으로 생성하는 JSON 요청입니다.

POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes 
{ 
    "templateId": "TEMPLATE_ID", 
    "templateRoles": [ 
    { 
     "roleName": "Signer1", 
     "name": "John Doe", 
     "email": "[email protected]" 
    } 
    ], 
    "eventNotification":  { 
    "url": "http://www.google.com", 
    "loggingEnabled": "true", 
    "requireAcknowledgement": "true", 
    "includeDocuments" : "false", 
    "envelopeEvents" : [{ 
     "envelopeEventStatusCode" : "completed"  
    }] 
    }, 
    "status": "sent" 
} 

UPDATE : - 키가 EnvelopeEvents 모두 '봉투'와 '이벤트'에 대한 대문자를 사용하는 것입니다 아래 Ergin에서 제공하는 정보를 사용하여, 나는이 XML을 사용하여 작동시킬 수 있었다 요소. 여기에 성공적으로 연결 알림을 트리거하는 요청의 예

POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes 
<envelopeDefinition xmlns="http://www.docusign.com/restapi"> 
    <accountId>ACCOUNT_ID</accountId> 
    <status>sent</status> 
    <templateId>TEMPLATE_ID</templateId> 
    <templateRoles> 
     <templateRole> 
     <email>[email protected]</email> 
     <name>John Doe</name> 
     <roleName>Signer1</roleName> 
     </templateRole> 
    </templateRoles> 
    <eventNotification> 
    <EnvelopeEvents> 
     <envelopeEvent> 
     <envelopeEventStatusCode>completed</envelopeEventStatusCode> 
     </envelopeEvent> 
    </EnvelopeEvents> 
    <includeDocuments>false</includeDocuments> 
    <loggingEnabled>true</loggingEnabled> 
    <requireAcknowledgement>true</requireAcknowledgement> 
    <url>http://www.google.com</url> 
    </eventNotification> 
</envelopeDefinition> 
+0

코드에서 json과 xml을 사용하고 싶지 않습니다. 변환하고 싶지 않습니다. 내 모든 XML 코드 json합니다. 나는 누군가가 대답을 알고 있는지보기 위해 기다릴 것이다. json은 더 많은 예제를 가지고 있지만 XML 구조를 문서화해야한다고 생각합니다. 모든 자바 API 연습은 xml을 사용합니다 ... –

+0

그래, AFAIK "walkthrough"예제는 REST API가있는 XML 형식의 예제를 찾을 수있는 유일한 곳입니다. 불행히도이 연습에서는 요청에 사용되는 매개 변수 (요소)가 최소화 된 매우 기본적인 시나리오만을 보여줍니다. DocuSign이 실제로 REST를 사용하여 XML에 대한 전체 요청/응답 구조를 문서화하는 것이 좋을 것이라는 데 전적으로 동의합니다. 행운을 빕니다! –