通过 Docusign SDK PHP 创建信封不起作用


Does not work creation an envelope through Docusign SDK PHP

使用 CreateEnvelope 示例代码

的示例

我收到一条消息:

Guid 应包含 32 位数字和 4 个破折号 (xxxxx-xx-xx-xx-xx

使用 SDK 的guid()方法,该方法返回格式为 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

我收到一条消息:

"http://www.docusign.net/API/3.0:ID"元素无效 - 值 '0' 根据其数据类型无效

收件人 ID 的格式是什么?

在DocuSign中,当您将收件人添加到信封时,您至少需要3条数据来唯一标识每个收件人。 您需要设置收件人nameemailrecipientId。(如果您使用的是嵌入功能,那么对于使用 REST,您还需要为 SOAP 或clientUserId设置CaptiveInfo

recipientId是用户定义的,这意味着您可以将其设置为您喜欢的任何内容 - 但是它必须是非负数,例如 1、2、1000、2000。 我相信收件人 ID 的数据类型是字符串,因此您也不仅限于数字。

但是,0 是您无法将其设置为的一个值。 因此,请尝试将recipientId的值更改为12onetwo1abc2def,看看是否可以解决您的问题。

我使用以下代码:

$r = new Recipient();
$r->ID = '1';
$r->UserName = 'john';
$r->SignerName = 'John Doe';
$r->Email = 'john@example.com';
$r->Type = RecipientTypeCode::Signer;
$r->RoutingOrder = 1;
$r->RequireIDLookup = false;
$r->CaptiveInfo = new RecipientCaptiveInfo();
$r->CaptiveInfo->ClientUserId = '1';
...

并收到错误消息:

未捕获的 SoapFault 异常: [soap:Client] 358101:Guid 应包含 32 个数字和 4 个短划线(xxxx-xx-xx-xx-xxxxxx

如果我使用以下代码:

$uid = $this->getUid();
$r->ID = $uid;
...
$r->CaptiveInfo->ClientUserId = $uid;
...

$this->getUid() 使用guid() SDK 的方法,该方法返回格式为 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 的字符串

收到错误消息:

未捕获的 SoapFault 异常: [soap:Client] 验证错误:"http://www.docusign.net/API/3.0:ID"元素无效 - 根据其数据类型"http://www.docusign.net/API/3.0:LocalId",值"0"无效 - 值"0"对于 PositiveInteger 来说太大或太小。