通过Docusign SDK PHP无法创建信封

时间:2013-11-01 10:10:34

标签: php docusignapi

使用CreateEnvelope sample code

的示例

我收到一条消息:

  

Guid应包含32位数字,包含4个破折号   (XXXXXXXXXXXX-XXXXXXXX-XXXXXXXXXXXX)

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

形式的字符串

我收到一条消息:

  

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

无效

收件人ID的格式有效吗?

2 个答案:

答案 0 :(得分:1)

在DocuSign中,当您将收件人添加到信封时,您需要至少3个数据来唯一标识每个收件人。您需要设置收件人nameemailrecipientId。 (如果您使用的是Embedding feature,则需要为SOAP设置CaptiveInfo,如果使用REST则设置clientUserId

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

但是, 0 是您无法设置的值。因此,请尝试将recipientId的值更改为12onetwo1abc2def并查看如果这可以解决你的问题。

答案 1 :(得分:0)

我使用以下代码:

$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个破折号(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

如果我使用以下代码:

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

$ this-> getUid()使用SDK的guid()方法,该方法返回{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来说太大或太小了。