用户在docusign中签署文档后,如何在webhook URL上获得响应

时间:2018-07-24 06:38:28

标签: php docusignapi

我将用户重定向到他们可以在其上签名文档的页面,签名后,我设置了将用户重定向到的返回URL。
现在如何获得docusign发送的回复。
我尝试了$ _REQUEST和$data = file_get_contents('php://input');,但是没有得到响应。还有其他方法可以获取响应。

1 个答案:

答案 0 :(得分:0)

一旦用户签署了嵌入的URL。信封的状态已更改。在您的webApp中,您必须将eventNotification对象连接到信封创建时使用的EnvelopDefinition对象。在该特定的eventNotification对象中,可以指定要在其上进行通知的信封的各种状态,必须指定回叫端点。可以在eventNotification对象上存在的url参数上配置回叫端点。 以下是该eventConfiguration对象的Java示例

EventNotification eventNotification = new EventNotification();
    eventNotification.setUrl("https://exampleapp.com/api/envelope/status");
    eventNotification.setIncludeCertificateOfCompletion(FALSE);
    eventNotification.setIncludeDocuments(FALSE);
    eventNotification.setRequireAcknowledgment(TRUE);
    eventNotification.setUseSoapInterface(FALSE);
    eventNotification.setLoggingEnabled(TRUE);
    eventNotification.setEnvelopeEvents(getEnvelopeEvents());
    return eventNotification;

以下是配置,您可以在其中指定要通知的信封状态。您可以配置信封的多种状态。

private List<EnvelopeEvent> getEnvelopeEvents() {
    List<EnvelopeEvent> envelopeEvents = new ArrayList<>();
    EnvelopeEvent sentEnvelopeEvent = new EnvelopeEvent();
    sentEnvelopeEvent.setEnvelopeEventStatusCode("sent");
    sentEnvelopeEvent.setIncludeDocuments(FALSE);
    envelopeEvents.add(sentEnvelopeEvent);

    EnvelopeEvent completedEnvelopeEvent = new EnvelopeEvent();
    completedEnvelopeEvent.setEnvelopeEventStatusCode("completed");
    completedEnvelopeEvent.setIncludeDocuments(FALSE);
    envelopeEvents.add(completedEnvelopeEvent);
    return envelopeEvents;
}

在创建信封时,只需将该对象挂接到eventDefiniton对象,该对象将依次传递到EnvelopesApi对象的createEnvelope方法。

EnvelopeDefinition envelopeDef = new EnvelopeDefinition();
envelopeDef.setEventNotification(eventNotification);
envelopesApi.createEnvelope(accountId, envelopeDef);

一旦收到docusign的通知,就可以更新数据库上的合同状态,或者可以将信封状态更改通知给用户界面。