У нас есть уведомления о событиях, настроенные для отправки нам запроса на уведомление о действиях пользователя.
Я пытаюсь проверить статус документа, чтобы выяснить, подписал ли пользователь документ. Когда пользователь подписал документ с помощью docusign, я могу зафиксировать состояние из TabStatuses в запросе.
Однако я не могу найти способ справиться со сценарием, когда пользователь решил печатать ив качестве ответа на уведомления о печати и подписи не включается TabStatuses
со статусом.
Я попытался просмотреть документацию, чтобы выяснить, есть ли способ подтвердить, что пользователь выбралраспечатайте и подпишите документ, но я не смог найти то, что искал. Я получаю DocumentStatus
, который возвращает имя узла signed_on_paper_<reference_id>
, но это не лучший способ проверить, что пользователь выбрал печать и подпись.
Кроме того, в случае нескольких подписавших, какой будет лучший способ определить статус каждого подписавшего.
Пример ответа, который я получил, когда пользователь решил напечатать и поставить подпись:
<EnvelopeStatus>
<RecipientStatuses>
<RecipientStatus>
<Type>
Signer
</Type>
<Email>
sdasari@plxs.com.au
</Email>
<UserName>
Shyam Dasari
</UserName>
<RoutingOrder>
1
</RoutingOrder>
<Sent>
2019-10-15T16:23:38.06
</Sent>
<Delivered>
2019-10-15T16:23:50.15
</Delivered>
<Signed>
2019-10-15T16:24:35.167
</Signed>
<DeclineReason xsi:nil="true" />
<Status>
Completed
</Status>
<RecipientIPAddress>
115.70.163.1
</RecipientIPAddress>
<ClientUserId>
7422
</ClientUserId>
<CustomFields />
<AccountStatus>
Active
</AccountStatus>
<EsignAgreementInformation>
<AccountEsignId>
e17f1e7a-2d2f-49e7-bdc6-gibberish
</AccountEsignId>
<UserEsignId>
75eda468-405c-48a3-bf8c-gibberish
</UserEsignId>
<AgreementDate>
2019-10-15T16:23:50.15
</AgreementDate>
</EsignAgreementInformation>
<RecipientId>
e1e8e99a-b89f-4d5c-aa27-gibberish
</RecipientId>
</RecipientStatus>
</RecipientStatuses>
<TimeGenerated>
2019-10-15T16:24:55.6107604
</TimeGenerated>
<EnvelopeID>
530aa34b-1991-4bc6-b374-gibberish
</EnvelopeID>
<Subject>
Shyam Dasari has sent you a document to review and sign
</Subject>
<UserName>
Legal Gateway Sandbox
</UserName>
<Email>
callum@testsoftware.com.au
</Email>
<Status>
Completed
</Status>
<Created>
2019-10-15T16:23:37.67
</Created>
<Sent>
2019-10-15T16:23:38.093
</Sent>
<Delivered>
2019-10-15T16:23:50.307
</Delivered>
<Signed>
2019-10-15T16:24:35.167
</Signed>
<Completed>
2019-10-15T16:24:35.167
</Completed>
<ACStatus>
Original
</ACStatus>
<ACStatusDate>
2019-10-15T16:23:37.67
</ACStatusDate>
<ACHolder>
Legal Gateway Sandbox
</ACHolder>
<ACHolderEmail>
callum@test.com.au
</ACHolderEmail>
<ACHolderLocation>
DocuSign
</ACHolderLocation>
<SigningLocation>
Online
</SigningLocation>
<SenderIPAddress>
115.70.163.1
</SenderIPAddress>
<EnvelopePDFHash />
<CustomFields>
<CustomField>
<Name>
AccountId
</Name>
<Show>
false
</Show>
<Required>
false
</Required>
<Value>
12345
</Value>
<CustomFieldType>
Text
</CustomFieldType>
</CustomField>
<CustomField>
<Name>
AccountName
</Name>
<Show>
false
</Show>
<Required>
false
</Required>
<Value>
Legal Gateway
</Value>
<CustomFieldType>
Text
</CustomFieldType>
</CustomField>
<CustomField>
<Name>
AccountSite
</Name>
<Show>
false
</Show>
<Required>
false
</Required>
<Value>
demo
</Value>
<CustomFieldType>
Text
</CustomFieldType>
</CustomField>
</CustomFields>
<AutoNavigation>
true
</AutoNavigation>
<EnvelopeIdStamping>
true
</EnvelopeIdStamping>
<AuthoritativeCopy>
false
</AuthoritativeCopy>
<DocumentStatuses>
<DocumentStatus>
<ID>
4321
</ID>
<Name>
sid_0a_2s_rando_doc_2_1405
</Name>
<TemplateName />
<Sequence>
1
</Sequence>
<DocumentFields>
<DocumentField>
<Name>
reference_id
</Name>
<Value>
gibberish:1iKFJ0:gibberish-Cw
</Value>
</DocumentField>
</DocumentFields>
</DocumentStatus>
<DocumentStatus>
<ID>
2
</ID>
<Name>
Signed-on-Paper_more-gibberish-aa27-bafd4d393c02
</Name>
<TemplateName />
<Sequence>
2
</Sequence>
</DocumentStatus>
</DocumentStatuses>
</EnvelopeStatus>
Если пользователь решил подписать подпись docusign, я получу TabStatuses
в ответе, который поможет мне определитьтекущее состояние документа.
<TabStatuses>
<TabStatus>
<TabType>
SignHere
</TabType>
<Status>
Signed
</Status>
<XPosition>
699
</XPosition>
<YPosition>
754
</YPosition>
<TabLabel>
Signature 1_SignHere_gibberish_id
</TabLabel>
<TabName />
<DocumentID>
2460
</DocumentID>
<PageNumber>
1
</PageNumber>
</TabStatus>
</TabStatuses>
Я использую API-версию docusign 2.