Document Event Subscriptions
There are two methods that are supported for notifying your application of these status change events: (1) HTTP POST, and (2) HTTP GET.
If using HTTP POST, data elements are sent via a standard HTTP(S) POST of urlencoded name value pairs as an “application/x-www-form-urlencoded” mime type. This is the same format used by standard HTTP form post actions, so most server side processors understand how to parse form posts.
For information about controlling event behavior, timeout settings, and retry configuration, see Webhook Configuration.
Common Data Elements
Below are common data elements that will be included in all Participants Event Subscriptions.
| Name | Value |
|---|---|
| TransID | The TransID is a standard 10 digit ID used for a transaction as discussed elsewhere. Example: 1234567890 |
| PartID | The PartID is a standard 10 digit ID used for a participant as discussed elsewhere. Example: 1234567890 |
| PartStatus | The PartStatus will be one of the following one-digit integer values:
|
| TXStatus | The TXStatus will be one of the following one-digit integer values:
|
| PartAccessToken | DEPRECATED |
| ps_securitytoken | guid |
Status Change
You can subscribe to Document status change events by adding a Workflow Action to the Document.
The data elements sent in the GET or POST are all the common data elements plus the following:
| Name | Value |
|---|---|
| EventType | document |
If the Participant's CancelledTaskBehaviorType is set to AutomaticCancel or DisplayCancelOrSuspendOption and they cancel a transaction, the notification will be sent and the returned TXStatus and DocStatus values for the transaction will be 8. If the Participant's CancelledTaskBehavior is set to AutomaticSuspend, no notification will be sent because the status stays as a 2 which is the pending status. Likewise, if the Participant's CancelledTaskBehavior is set to DisplayCancelOrSuspend and they choose to only suspend their process after hitting the initial cancel button, no notification will be sent because the status stays in a 2 pending status.
document = new DocumentInsertModel()
{
...
WorkflowActions = new List<object>
{
new DocumentWorkflowActionModel()
{
Type = DocumentWorkflowActionModel.TypeEnum.SubscribeToStatusChangeNotificationsByPost,
Data = "required-response-text=RECEIVED", // Note: timeout and retry parameters are now server-configured
Url = "https://myapp.mydomain.com/statuslistener.php"
}
}
...
}
A completed document from that uses the above code would see something like the following as the posted status notification values:
{
"TransID": "1234567890",
"DocID": "1234567890",
"TXStatus": 2,
"DocStatus": 4,
"EventType": "document",
"ps_securitytoken": "4bf44fb0-f695-40b5-821d-c22273e11c30"
}
Likewise, if the document was using a SubscribeToStatusChangeNotificationsByGet method type, the posted status notification value might look something like this:
https://myapp.mydomain.com/statuslistener.aspx?TransID=1234567890&DocID=1234567890&TXStatus=2&DocStatus=4EventType=document&ps_securitytoken=4bf44fb0-f695-40b5-821d-c22273e11c30
Skipped Document
You can subscribe to Skipped-Document events by adding a Workflow Action to the Document.
The data elements sent in the GET or POST are all the common data elements plus the following:
| Name | Value |
|---|---|
| PartID | The PartID is a standard 10 digit ID used for a document as discussed elsewhere and is the participant ID for the participant that skipped the document. Example: 1234567890 |
| EventType | skipped-document |
document = new DocumentInsertModel()
{
...
WorkflowActions = new List<object>
{
new DocumentWorkflowActionModel()
{
Type = DocumentWorkflowActionModel.TypeEnum.SubscribeToSkippedDocumentNotificationsByPost, //or ...ByGet
Data = "required-response-text=RECEIVED", // Note: timeout and retry parameters are now server-configured
Url = "https://myapp.mydomain.com/statuslistener.php"
}
}
...
}
A completed document from that uses the above code would see something like the following as the posted status notification values:
{
"TransID": "1234567890",
"DocID": "1234567890",
"TXStatus": 2,
"DocStatus": 4,
"EventType": "skipped-document",
"PartID": "1234567890",
"ps_securitytoken": "4bf44fb0-f695-40b5-821d-c22273e11c30"
}
Likewise, if the document was using a SubscribeToSkippedDocumentNotificationsByGet method type, the posted status notification value might look something like this:
https://myapp.mydomain.com/statuslistener.aspx?TransID=1234567890&DocID=1234567890&TXStatus=2&DocStatus=4&EventType=skipped-document&PartID=1234567890&ps_securitytoken=4bf44fb0-f695-40b5-821d-c22273e11c30
Document Seal
You can subscribe to Document Seal events by adding a Workflow Action to the Document.
The data elements sent in the GET or POST are all the common data elements plus the following:
| Name | Value |
|---|---|
| EventType | document-seal |
document = new DocumentInsertModel()
{
...
WorkflowActions = new List<object>
{
new DocumentWorkflowActionModel()
{
Type = DocumentWorkflowActionModel.TypeEnum.SubscribeToSealStatusNotificationsByPost,
Data = "required-response-text=RECEIVED", // Note: timeout and retry parameters are now server-configured
Url = "https://myapp.mydomain.com/statuslistener.php"
}
}
...
}
A completed document from that uses the above code would see something like the following as the posted status notification values:
{
"TransID": "1234567890",
"DocID": "1234567890",
"TXStatus": 2,
"DocStatus": 4,
"EventType": "document-seal",
"ps_securitytoken": "4bf44fb0-f695-40b5-821d-c22273e11c30"
}
Likewise, if the document was using a SubscribeToSealStatusNotificationsByGet method type, the posted status notification value might look something like this:
https://myapp.mydomain.com/statuslistener.aspx?TransID=1234567890&DocID=1234567890&TXStatus=2&DocStatus=4EventType=document-seal&ps_securitytoken=4bf44fb0-f695-40b5-821d-c22273e11c30
Document Certification
WARNING Document Certification has been deprecated in v5.16+.
You can subscribe to Document Certification events by adding a Workflow Action to the Document.
The data elements sent in the GET or POST are all the common data elements plus the following:
| Name | Value |
|---|---|
| EventType | document-certify |
document = new DocumentInsertModel()
{
...
WorkflowActions = new List<object>
{
new DocumentWorkflowActionModel()
{
Type = DocumentWorkflowActionModel.TypeEnum.SubscribeToCertifyStatusNotificationsByPost,
Data = "required-response-text=RECEIVED", // Note: timeout and retry parameters are now server-configured
Url = "https://myapp.mydomain.com/statuslistener.php"
}
}
...
}
A completed document from that uses the above code would see something like the following as the posted status notification values:
{
"TransID": "1234567890",
"DocID": "1234567890",
"TXStatus": 2,
"DocStatus": 4,
"EventType": "document-certify",
"ps_securitytoken": "4bf44fb0-f695-40b5-821d-c22273e11c30"
}
Likewise, if the document was using a SubscribeToCertifyStatusNotificationsByGet method type, the posted status notification value might look something like this:
https://myapp.mydomain.com/statuslistener.aspx?TransID=1234567890&DocID=1234567890&TXStatus=2&DocStatus=4EventType=document-certify&ps_securitytoken=4bf44fb0-f695-40b5-821d-c22273e11c30
Participant Event Subscriptions
There are two methods that are supported for notifying your application of these status change events: (1) HTTP POST, and (2) HTTP GET.
Task Event Subscriptions
There are two methods that are supported for notifying your application of these status change events: (1) HTTP POST, and (2) HTTP GET.