我有Soap API工作來獲取令牌以通過IFrame加載文檔並允許用戶簽名。但是,我需要獲取它,以便可以將文檔發送給其他人進行簽名。正如我理解的事情,應該有一種方法來使用工作流將文檔發送到一系列電子郵件地址,以便按特定順序進行簽名。不過,我還沒有在顯示這個的文檔中找到任何東西。我也搜索了谷歌。 Docusign銷售團隊表示要麼購買支持時間,要麼使用Stackoverflow,所以我在這裏。肥皂API和工作流程
我目前擁有將在Docusign系統中創建文檔的代碼,並且我可以在「等待他人」部分看到文檔在那裏並正在等待客戶。但是,我從來沒有收到任何地址的電子郵件。以下是我用來調用服務的代碼。
我已檢查所有電子郵件帳戶,但他們沒有任何docusign地址被阻止,並且沒有任何垃圾郵件文件夾中。
public void CreateDocs(string emailSubject, List<FileToSign> files, IEnumerable<Recipient> recipents, IEnumerable<Tab> tabs)
{
var envelope = new Envelope
{
Subject = emailSubject,
EmailBlurb = emailSubject,
AccountId = _apiAccountId,
Recipients = recipents.ToArray(),
Documents = files.Select((t, i) => new Document
{
PDFBytes = File.ReadAllBytes(t.PathToFile),
Name = t.DocumentName,
ID = (i + 1).ToString(),
FileExtension = t.Extension
}).ToArray(),
Tabs = tabs.ToArray()
};
using (var client = new DSAPIServiceSoapClient("DSAPIServiceSoap"))
{
EnvelopeStatus status;
using (new OperationContextScope(client.InnerChannel))
{
var httpRequestProperty = new HttpRequestMessageProperty();
httpRequestProperty.Headers.Add("X-DocuSign-Authentication", _auth);
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;
status = client.CreateAndSendEnvelope(envelope);
}
if (!status.SentSpecified) return;
EnvelopeStatus = status;
}
}
編輯:添加樣品收件人:
Recipients.Add(new Recipient
{
UserName = row["FirstSigner"].ToString(),
Email = row["SignerEmail"].ToString(),
ID = "1",
Type = RecipientTypeCode.Signer,
CaptiveInfo = new RecipientCaptiveInfo { ClientUserId = "1" },
RoleName = "Signer1",
RoutingOrder = 1
});
你能告訴我們你在'IEnumerable recipents'中設置的屬性嗎?它很難說,沒有看到你的整個代碼。 –
我很好奇你是否有理由使用DocuSign SOAP api。 DocuSign [REST api](https://docs.docusign.com/esign/)具有更豐富的功能,並具有易於使用的[c#SDK](https://github.com/docusign/docusign-csharp-client) –