You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If a user has changed their name using the DocuSign interface while signing, and that name change is not reflected in the database, pydocusignEnvelope.post_recipient_view will raise an exception via DocuSignClient.post_recipient_view:
DocuSignException: DocuSign request failed: POST https://na2.docusign.net/restapi/v2/accounts/<account-id>/envelopes/<envelope_id>/views/recipient returned code 400 while expecting code 201; Message: {
"errorCode": "UNKNOWN_ENVELOPE_RECIPIENT",
"message": "The recipient you have identified is not a valid recipient of the specified envelope."
} ;
This is because the lookup includes a name that no longer matches the recipient name in DocuSign's database.
My proposal is to only use email and userName in the POST data if clientUserIduserId is unavailable. This would prevent the exception in the case of an out-of-sync name where the more reliable clientUserIduserId can be used instead.
To do this, we would need to only pass the defined keyword arguments to DocuSignClient.post_recipient_view in the POST data, and determine which keyword arguments to use in the method call in pydocusignEnvelope.post_recipient_view.
The text was updated successfully, but these errors were encountered:
@smcoll thank you for the ticket; it is very clear and seems to be legit.
Unfortunately I have no time this month for working on pydocusign. If you want to propose a PR, you are more than welcome.
Narrowing in on a non-callback issue mentioned in peopledoc/django-docusign#65...
If a user has changed their name using the DocuSign interface while signing, and that name change is not reflected in the database,
pydocusignEnvelope.post_recipient_view
will raise an exception viaDocuSignClient.post_recipient_view
:This is because the lookup includes a name that no longer matches the recipient name in DocuSign's database.
According to https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Post%20Recipient%20View.htm,
clientUserId
can be used in conjuction withuserId
in lieu ofemail
+userName
to do the lookup. In our case,userName
is out of sync with DocuSign, butclientUserId
+userId
would work.My proposal is to only use
email
anduserName
in the POST data ifclientUserId
userId
is unavailable. This would prevent the exception in the case of an out-of-sync name where the more reliableclientUserId
userId
can be used instead.To do this, we would need to only pass the defined keyword arguments to
DocuSignClient.post_recipient_view
in the POST data, and determine which keyword arguments to use in the method call inpydocusignEnvelope.post_recipient_view
.The text was updated successfully, but these errors were encountered: