我正在使用https://github.com/docusign/docusign-php-client中的PHP SDK,並且正在嘗試向文檔添加日期簽名字段。我正在成功創建一個信封,添加一個簽名者,併發送信封。但我無法弄清楚我缺少日期簽名字段。無法使用Docusign PHP SDK添加日期簽名字段
我已經搜索高和低的一個例子添加它,以及看看API文檔。我覺得我缺少一些實際將字段或「選項卡」放置在文檔上的方法,並且需要一個指向正確方向的指針。我發現了諸如 this Question 之類的東西,它向我展示了我需要在DateSigned對象上設置哪些屬性,但無法幫助我找出需要調用的PHP方法。
我爲我們的項目做了一個包裝類,所以如果你可以忽略這一點,我將共享我有的代碼,爲了添加簽名字段,然後我嘗試爲給定的簽名者添加日期簽名字段。我很困惑,我錯過了將它放在文檔上的東西。我省略了實際調用這些方法的代碼,但Envelope確實發送 - 只是沒有日期簽名字段。
感謝很多
function addSigner($signerName, $signerEmail, $xPos, $yPos, $documentId = 1, $documentPage = 1)
{
$index = count($this->signers);
$this->signers[$index] = new DocuSign\eSign\Model\Signer();
$this->signers[$index]->setName($signerName);
$this->signers[$index]->setEmail($signerEmail);
$this->signers[$index]->setRecipientId((string)$index + 1);
$this->sigFields[$index] = new DocuSign\eSign\Model\SignHere();
$this->sigFields[$index]->setXPosition($xPos);
$this->sigFields[$index]->setYPosition($yPos);
$this->sigFields[$index]->setDocumentId($documentId);
$this->sigFields[$index]->setPageNumber($documentPage);
$this->sigFields[$index]->setRecipientId((string)$index + 1);
$this->sigTabs[$index] = new DocuSign\eSign\Model\Tabs();
$this->sigTabs[$index]->setSignHereTabs(array($this->sigFields[$index]));
$this->signers[$index]->setTabs($this->sigTabs[$index]);
return $index; // signerid
}
function addSignerDate($signerId, $xPos, $yPos, $documentId = 1)
{
$index = count($this->dateSignedFields);
$this->dateSignedFields[$index] = new DocuSign\eSign\Model\DateSigned();
// the date should always be on the same page as the signature
$pageNumber = $this->sigFields[$signerId]->getPageNumber();
$this->dateSignedFields[$index]->setPageNumber($pageNumber);
$this->dateSignedFields[$index]->setDocumentId($documentId);
$this->dateSignedFields[$index]->setRecipientId($signerId);
$this->dateSignedFields[$index]->setName('Date Signed');
$this->dateSignedFields[$index]->setTabLabel('Date Signed');
$this->dateSignedFields[$index]->setXPosition($xPos);
$this->dateSignedFields[$index]->setYPosition($yPos);
// EDIT - I added this bit but still no Date Signed. Probably the right track though.
$this->dateSignedTabs[$index] = new DocuSign\eSign\Model\Tabs();
$this->dateSignedTabs[$index]->setDateSignedTabs(array($this->dateSignedFields[$index]));
$this->dateSignedFields[$index]->setTabId($this->dateSignedTabs[$index]);
return $index;
}
酷,感謝張貼的解決方案。你能接受自己的答案是爲了別人的利益嗎? Thx – Ergin
這讓我等了兩天,但我會。 – NilsonCain