【问题标题】:Docusign iOS SDK integration issue in custom flow(in integrating own backend and docusign iOS SDK)自定义流程中的 Docusign iOS SDK 集成问题(在集成自己的后端和 docusign iOS SDK 时)
【发布时间】:2020-08-08 05:33:31
【问题描述】:

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

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

但是我们无法使用模板 id 加载 PDF,它还需要收件人数据,但是我们在上传 PDF(模板)时没有添加收件人数据,它仍然在 iOS SDK 中要求收件人数据, 如果我们在 iOS SDK 中的接收者数据中发送一些数据,那么它要么给出错误,要么不做任何事情。 它给出的错误是

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

有时会出现此错误

DSM_SETUP_RECIPIENT_DEFAULTS_CASE_INSENSITIVELY_MATCH_ROLE_NAME allows to override strict matching for roleNames.

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

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

【问题讨论】:

标签: ios swift docusignapi


【解决方案1】:

可以使用 nil tabDatarecipientData 对帐户上的现有模板进行以下调用。您是否在完成块中返回error

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

是否已将任何签名者添加到具有姓名/电子邮件/角色名称的模板中?如果是,那么 SDK 很可能正在使用给定模板创建信封并直接发送。要确认直接发送,请添加通知侦听器并检查 DocuSign 网页上是否看到新的sent 信封。

根据使用的签名模式(在线与离线),SDK 会发送 DSMSigningCompletedNotification 或 DSMenvelopeCachedNotification 通知。如果出现任何错误,例如,如果模板中添加了不支持的选项卡类型,SDK 会发送 DSMSigningCancelledNotification 进行在线签名。请注意,所有这些通知都有包含 envelopeIdtemplateId 的 userInfo 对象,如果您遇到此类故障,请添加此详细信息,请在 GitHub page 处打开问题。

a) 通知可用于取回 envelopeId 以获取已签名的信封。 NotificationCodes Header

b) 可以通过编辑recipientDefaults 以匹配模板设置来修复以下错误。如果您决定这样做,请参考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

【讨论】:

  • 是的,我们正在使用我们自己的后端调用创建一个模板,并使用新创建的模板 id 我正在打开 SDK 的签名控制器,但问题是没有添加发件人或收件人的信息,而上传模板。因此,如果我们在接收者数据中传递 nil 数据,则 SDK 不会显示任何错误,也不会打开任何内容。如果我在收件人数据中添加姓名和电子邮件,则“签名期间遇到错误:模板具有与角色名称关联的无效收件人:”此错误来了。
  • 现在我手动添加了roleName、recipientName、recipientEmail,并在应用程序中为recipientData 使用了相同的数据。现在当我调用 displayTemplateForSignature 时没有打开屏幕,我直接得到。名称 = DSMSigningCompletedNotification,对象 = 可选(),用户信息 = 可选([AnyHashable(“envelopeId”):7b4f0edb-e1d0-4154-aa5a-4497d294d085,AnyHashable(“templateId”):506346f5-7ad- 4132-b15f-d288aa268398, AnyHashable("signingMode"): online]) 信封不要求签名直接发送
  • 感谢 Ashokds 帮助获取信封ID..我现在可以提取信封 ID..请帮助打开 pdf 的签名屏幕..现在无需签名即可发送文档。 .
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-28
相关资源
最近更新 更多