自定义流程中的Docusign iOS SDK集成问题(集成自己的后端和docusign iOS SDK) [英] Docusign iOS SDK integration issue in custom flow(in integrating own backend and docusign iOS SDK)

查看:81
本文介绍了自定义流程中的Docusign iOS SDK集成问题(集成自己的后端和docusign iOS SDK)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有自己的应用程序,用于集成Doucsign iOS SDK,我们在做什么.我们正在使用Docusign API从后端上传PDF,然后需要使用Docusign SDK在iOS App中打开此上传的PDF.为此,我们正在使用iOS SDK调用,

  func displayTemplateForSignature(templateId:字符串,控制器:UIViewController,tabData:字典< String,String> ;, receiverData:Array< DSMRecipientDefault> ;, customFields:DSMCustomFields?转义((UIViewController ?, Error?)-> Void) 

但是我们无法使用模板ID加载PDF,它也需要收件人数据,但是在上传PDF(模板)时,尽管iOS SDK中仍在请求收件人数据,但我们并未添加收件人数据,如果我们在iOS SDK中的接收者数据中发送了一些数据,那么它要么给出错误信息,要么不做任何事情.它给出的错误是

  2020-08-07 15:30:00.063586 + 0530 Public Adjuster [8759:2454775]签名期间遇到错误:模板具有与roleName:签名者关联的无效收件人.DSM_SETUP_RECIPIENT_DEFAULTS_CASE_INSENSITIVELY_MATCH_ROLE_NAME的当前设置配置:false2020-08-07 15:30:00.063945 + 0530公共调节器[8759:2454775]警告:在签名过程中遇到未查看" 

有时会出现此错误

  DSM_SETUP_RECIPIENT_DEFAULTS_CASE_INSENSITIVELY_MATCH_ROLE_NAME允许覆盖对roleNames的严格匹配. 

我还想知道在对PDF进行签名和发送后,我们是否会得到信封ID,因为我在iOS SDK中没有看到任何返回信封ID的方法.

任何帮助将不胜感激,已经与docusign支持团队进行了交谈,他们要求将我们的查询发布在stackoverflow上.

解决方案

可以使用n < tabData & recipientData .您是否在完成块中遇到了 error 错误?

  func displayTemplateForSignature(templateId:字符串,控制器:UIViewController,tabData:字典< String,String> ;, receiverData:Array< DSMRecipientDefault> ;, customFields:DSMCustomFields?转义((UIViewController ?, Error?)-> Void) 

是否已经使用名称/电子邮件/角色名称将任何签名者添加到模板中?如果是,则SDK可能会使用给定的模板创建一个信封并直接发送.要确认直接发送,请添加通知侦听器,并检查在DocuSign网站上是否看到新的已发送信封.

根据使用的签名模式(在线还是离线),SDK会发送DSMSigningCompletedNotification或DSMEnvelopeCachedNotification通知.如果发生任何错误,例如,如果将不支持的选项卡类型添加到模板,则SDK会发送DSMSigningCancelledNotification进行在线签名.请注意,所有这些通知都具有包含 envelopeId templateId 的userInfo对象,如果遇到此类故障,请添加此详细信息,请在 GitHub页面.

a)通知可用于取回已签名信封的 envelopeId . NotificationCodes标头

b)通过编辑 recipientDefaults 以匹配模板设置,可以修复以下错误.如果您决定这样做,请参阅公开问题..a>

  2020-08-07 15:30:00.063586 + 0530 Public Adjuster [8759:2454775]签名期间遇到错误:模板具有与roleName:签名者关联的无效收件人.DSM_SETUP_RECIPIENT_DEFAULTS_CASE_INSENSITIVELY_MATCH_ROLE_NAME的当前设置配置:false 

We have our own app where we are integrating Doucsign iOS SDK, What we are doing. We are uploading PDFs from backend using Docusign API, and then this uploaded PDF needs to be opened in iOS App, using Docusign SDK. For that we are using iOS SDK call,

func displayTemplateForSignature(templateId: String, controller: UIViewController, tabData: Dictionary<String, String>, recipientData: Array<DSMRecipientDefault>, customFields:DSMCustomFields?, onlineSign: Bool, attachmentUrl: URL?, completionHandler: @escaping ((UIViewController?, Error?) -> Void))

but we are unable to load the PDF using template id, it also needs recipient data, but we are not adding recipient data while uploading the PDF(template) still it is asking for recipient data in iOS SDK, If we send some data in recipient data in iOS SDK then it either gives error or dosen't do anything. The error it gives is

2020-08-07 15:30:00.063586+0530 Public Adjuster[8759:2454775] Error encountered during signing: Template has invalid recipient(s) associated with roleName: signer. Current Setup config for DSM_SETUP_RECIPIENT_DEFAULTS_CASE_INSENSITIVELY_MATCH_ROLE_NAME : false
2020-08-07 15:30:00.063945+0530 Public Adjuster[8759:2454775] Warning: Encountered `nil view` during signing

Sometime it gives this error

DSM_SETUP_RECIPIENT_DEFAULTS_CASE_INSENSITIVELY_MATCH_ROLE_NAME allows to override strict matching for roleNames.

Also i want to know that do we get envelope ID after the PDF is signed and sent, as i didnt see any method where it return the envelope ID in iOS SDK.

Any help will be appreciated, already talked with docusign support team and they asked to post our queries here on stackoverflow.

解决方案

The following call can be made for an existing template on the account with nil tabData & recipientData. Are you getting an error back in the completion block?

func displayTemplateForSignature(templateId: String, controller: UIViewController, tabData: Dictionary<String, String>, recipientData: Array<DSMRecipientDefault>, customFields:DSMCustomFields?, onlineSign: Bool, attachmentUrl: URL?, completionHandler: @escaping ((UIViewController?, Error?) -> Void))

Are there any signers already added to the template with name/email/rolename? If yes, then it's likely that SDK is creating an envelope with the given template and sending it directly. To confirm direct send, add the notification listeners and check if on DocuSign web, you see a newly sent envelopes.

Depending on the signing mode (online vs offline) used, SDK would send the DSMSigningCompletedNotification or DSMEnvelopeCachedNotification notifications. In case of any error, for example, if unsupported tab types added to template, SDK sends DSMSigningCancelledNotification for online signing. Please note that all of these notifications have userInfo object that contains the envelopeId or templateId, please add this detail if you are getting such failures, open an issue at GitHub page.

a) Notifications can be used to get the envelopeId back for a signed envelope. NotificationCodes Header

b) The following error can be fixed by editing the recipientDefaults to match the template setup. If you decided to do that, do refer to helpful info at open issue.

2020-08-07 15:30:00.063586+0530 Public Adjuster[8759:2454775] Error encountered during signing: Template has invalid recipient(s) associated with roleName: signer. Current Setup config for DSM_SETUP_RECIPIENT_DEFAULTS_CASE_INSENSITIVELY_MATCH_ROLE_NAME : false

这篇关于自定义流程中的Docusign iOS SDK集成问题(集成自己的后端和docusign iOS SDK)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆