Missing Signature.signed property
Tuesday, April 2, 2024 at 08:10amWe can verify when a signer signed all the documents as follow:
documentPackage.getDocuments().stream()
.flatMap(d -> d.getSignatures().stream())
.filter(s -> Objects.equals(s.getSignerEmail(), signer.getEmail()))
.allMatch(s -> s.getAccepted() != null);
Our issue is that this is not true if the signer did not confirmed the transaction at the end of the last signed document. Analysing the data, we found out that this would work:
documentPackage.getDocuments().stream()
.flatMap(d -> d.getSignatures().stream())
.filter(s -> Objects.equals(s.getSignerEmail(), signer.getEmail()))
.allMatch(s -> s.getAccepted() != null && s.getSigned() != null);
With the SDK (v11.56 and below), the class Signature does not reference the signed property. By adding this property and setting it within the method SignatureConverter#toSDKSignature() like this would resolve our issue:
Signature signature = signatureBuilder.build();
if (null != apiApproval.getAccepted())
signature.setAccepted(apiApproval.getAccepted());
if (null != apiApproval.getSigned())
signature.setSigned(apiApproval.getSigned());
So, what is the best way to request this fix within the SDK? Do we fix it ourself in a branch and asking for a pull request? If so, is it better to branch from the master or the dev branch?
Reply to: Missing Signature.signed property
Tuesday, April 2, 2024 at 02:39pmHi pascal_eric_servais,
Thanks for your post!
I believe this is a known limitation that the signed date is missing from the SDK modelling. Really appreciate your porposed solution!
Understanding that you have already opened a support ticket, I will coordinate with the support team to escalate your request and explore the possibility of a code fix by the OSS R&D team.
Duo