我正在尝试使用模板创建嵌入式签名流程,并且我已经按照步骤进行了操作,但对于我的生活,我似乎无法将其余API用于在我创建信封后与我合作。根据我的理解,我应该通过请求收件人视图来获取签名URL,但每次我这样做时,API都会抱怨我的收件人设置不正确。我无法在信封请求中设置收件人,因为我使用的是模板。
我们要求的流程是(1)用户通过在我们的网站www.mycompany.com上输入他或她的信息开始注册过程; (2)用户完成在docusign上的签名; (3)用户被重定向到www.mycompany.com以完成注册过程。
问题:我需要做些什么来获取可用于将用户从我的网络应用重定向到docusign的网址
这是我的代码:
def create_envelope(self, template_id, client_user_id, email, full_name, next_url, **values):
tabs = Tabs()
tabs.text_tabs = [
Text(tab_label=key, value=('%s' % (value,)) if not isinstance(value, str) else value )
for key, value in values.items()
]
member_role = TemplateRole(
email=email,
name=full_name,
role_name='signer',
client_user_id=client_user_id,
tabs=tabs,
)
envelope = EnvelopeDefinition(
email_subject='%s agreement' % (full_name,),
template_roles=[ member_role ],
template_id=template_id,
status='sent',
)
api = EnvelopesApi()
summary = api.create_envelope(
settings.DOCUSIGN_ACCOUNT_ID,
envelope_definition=envelope)
# At this point, everything is fine, and we get a valid envelope
# but the next call to create a recipient view fails with an HTTP 400
envelope_id = summary.envelope_id
data = RecipientViewRequest(
authentication_method='email',
client_user_id=session_key,
email=email,
return_url=next_url,
user_id=settings.DOCUSIGN_USER_ID,
)
response = api.create_recipient_view(
settings.DOCUSIGN_ACCOUNT_ID,
envelope_id,
recipient_view_request=data)
return response.uri
以下是创建收件人视图中的错误:
{
"errorCode": "UNKNOWN_ENVELOPE_RECIPIENT",
"message": "The recipient you have identified is not a valid recipient of the specified envelope."
}
如果我指定为recipient_id
的{{1}},则会收到以下错误:
'1'
答案 0 :(得分:0)
好吧,事实证明user
的语义在创建信封的call inc与创建视图请求时的调用之间发生了变化。在创建视图请求的调用中,我们必须传递收件人的全名/用户ID,而不是api名称/用户ID:
data = RecipientViewRequest(
authentication_method='email',
client_user_id=session_key,
email=email,
return_url=next_url,
user_name=full_name,
)