2016-08-10 1 views
0

봉투 이벤트 알림을 수신하도록 봉투를 설정했습니다. 레일과 함께 Docusign_REST 보석을 사용하고 있습니다.DocuSign이 요청한 URL로 알림을 보내지 만받을 수 없습니다.

DocuSign 시스템의 연결 로그를 확인하면 DocuSign에서 알림을 보냈지 만 서버에서 처리하지 못했음을 알 수 있습니다. 추가 정보가 도움이 될 것입니다.

event_notification: { 
     url: "<MY_REQUEST_URL>", 
     logging: true, 
     envelope_events: [ 
      { 
      include_documents: false, 
      envelope_event_status_code: "Sent" 
      }, 
      { 
      include_documents: false, 
      envelope_event_status_code: "Completed" 
      }, 
      { 
      include_documents: false, 
      envelope_event_status_code: "Delivered" 
      } 
     ] 
     }, 

답변

1

기본 사항

당신이 사용하고있는 "으로 webhook을." DocuSign에 URL을 등록했습니다. DocuSign 플랫폼은 봉투의 상태가 변경되면 webhook url을 호출합니다. 문제

당신은 DocuSign의이 DocuSign의 관리 도구에서 "연결"메시지 로그를보고 (당신의 "webhook_url"에서) 알림 메시지를 보내하려고하는 것을 알고 진단

. - 그리고 관리 도구의 "재전송"버튼을 사용하여 쉽게 통지를 다시 보낼 수 있습니다.

DocuSign이 사용자에게 보내는 것을 알고 있으므로이 문제는 시스템의 어딘가에 있습니다. 나는 문제를 진단하기 위해 다음을 수행합니다 :

  1. 가정 당신의 webhook_address는 "http://my-server.com/my_app/webhook"같은 당신이 DocuSign의와 전체 URL을 등록 했입니까? http 또는 https를 남기지 마십시오! 프로덕션 환경에서는 https가 필요하지만 개발자 샌드 박스에서는 필요하지 않습니다.
  2. 들어오는 서버 로그를 확인하십시오. DocuSign에서 들어오는 POST 요청을 확인해야합니다. 방화벽, 인터넷상의 Webhook 주소 사용 가능 여부 등을 확인하지 않으려면
  3. webhook_url은 공용 인터넷에서 사용할 수 있습니까? www.hurl.it 서비스를 사용하여 테스트 할 수 있습니다. hurl.it이 빈 요청 본문을 전송할 것이기 때문에 청취자가 질식 할 것입니다. 물론 비어있는 요청 기관을 확인하기 위해 청취자를 방화 처리 한 경우에도 유용합니다.
  4. 자신의 개발 컴퓨터에서 webbrick 또는 다른 Ruby 웹 서버를 실행하는 경우 DocuSign이 개발 컴퓨터로 직접 보낼 수 없기 때문에 공용 인터넷에 주소가 필요합니다. ngrok (및 이와 유사한 앱)은 좋은 해결책입니다. 로컬 컴퓨터에서 ngrok를 실행하고 Ruby 서버의 localhost 포트 번호를 지정하십시오. ngrok은 공용 인터넷에서 DocuSign에서 사용할 수있는 URL을 제공합니다.
  5. 개발을 위해 webhook 리스너 url은 http 또는 https를 사용할 수 있습니다. SSL 인증서에는 일반적인 신뢰할 수있는 루트 인증서 중 하나에 대한 신뢰 경로가 있어야합니다. (모질라 목록). $ 4 인증서를 사용하는 것이 좋습니다. Extended Validation 인증서 등을 사용할 필요가 없습니다. 자체 서명 된 인증서를 사용하지 마십시오. DocuSign 플랫폼에서 신뢰할 수 없으며 웹 훅을 통해 알림을받지 못합니다.
관련 문제