私はアップロードしたpdfテンプレートからドキュメントを送信するために、docusign開発センターの "レシピ"に従いました。それは機能しますが、各受信者が同じドキュメントに追加(および/または署名)できるワークフローです。複数の受信者に同じテンプレートを使用するにはどうすればよいですか?
私は、受信者のリストのために同じテンプレートから文書を生成し、すべて署名する必要があります。私は、各受信者のテンプレートをプログラムで生成し、コードでプルするデータセットを使用して名前と住所情報を記入し、それを各受信者に送信して署名するのが最善の方法です。これは、サンプル・コードI TREIDである:最初
string username = conf.ConfigurationManager.AppSettings["username"];
string password = conf.ConfigurationManager.AppSettings["password"];
string integratorKey = conf.ConfigurationManager.AppSettings["integratorKey"];
// initialize client for desired environment (for production change to www)
ApiClient apiClient = new ApiClient("https://demo.docusign.net/restapi");
Configuration.Default.ApiClient = apiClient;
string username = conf.ConfigurationManager.AppSettings["username"];
string password = conf.ConfigurationManager.AppSettings["password"];
string integratorKey = conf.ConfigurationManager.AppSettings["integratorKey"];
// initialize client for desired environment (for production change to www)
ApiClient apiClient = new ApiClient("https://demo.docusign.net/restapi");
Configuration.Default.ApiClient = apiClient;
// configure 'X-DocuSign-Authentication' header
string authHeader = "{\"Username\":\"" + username + "\", \"Password\":\"" + password + "\", \"IntegratorKey\":\"" + integratorKey + "\"}";
Configuration.Default.AddDefaultHeader("X-DocuSign-Authentication", authHeader);
// we will retrieve this from the login API call
string accountId = null;
/////////////////////////////////////////////////////////////////
// STEP 1: LOGIN API
/////////////////////////////////////////////////////////////////
// login call is available in the authentication api
AuthenticationApi authApi = new AuthenticationApi();
LoginInformation loginInfo = authApi.Login();
// parse the first account ID that is returned (user might belong to multiple accounts)
accountId = loginInfo.LoginAccounts[0].AccountId;
var baseUrl = loginInfo.LoginAccounts[0].BaseUrl;
// Update ApiClient with the new base url from login call
apiClient = new ApiClient(loginInfo.LoginAccounts[0].BaseUrl);
EnvelopeDefinition envDef = new EnvelopeDefinition();
envDef.EmailSubject = "[TEMPLATE NAME]";
// provide a valid template ID from a template in your account
envDef.TemplateId = "[TEMPLATE ID]";
var rolesList = new List<TemplateRole>();
// assign recipient to template role by setting name, email, and role name. Note that the
// template role name must match the placeholder role name saved in your account template.
TemplateRole tRole = new TemplateRole();
tRole.Email = "XXX";
tRole.Name = "XXX";
tRole.RoleName = "Test Role";
rolesList.Add(tRole);
envDef.TemplateRoles = rolesList;
envDef.Status = "sent";
EnvelopesApi envelopesApi = new EnvelopesApi();
EnvelopeSummary envelopeSummary = envelopesApi.CreateEnvelope(accountId, envDef);
私はただ一つ一つを送信するために、エンベロープの定義を使用して、各1用の新しい電子メールaddesssesをassiging、(ここでは「trole」)TemplateRoleをreinstatiatingと試みたが、その依然として各受信者に同じ共有文書を送信していました。
受信者ごとに独自の署名可能な文書を作成する必要がある場合はテンプレートを作成する必要がありますか、これを行うためのより現実的な方法がありますか?
オブジェクトのどのような種類がmyRecipientsで、どこから来るのでしょうか?私は電子メールアドレスと名前のリストを持つことができ、署名する電子メールを受け取る各人のためにpdfを生成できるようにしたいと思います。私が今やっているやり方は、私が設定したすべてのロールにわたって1つのドキュメント(「enevlope」)を共有しているように見えます。私は自分自身に署名できるように、それぞれの人が必要です。 – user609926
myRecipentsは、受信者のリストを含むべきデータ構造の例として使用されています。あなたはどこか正しいメール/名前のリストを持っているべきですか?アイデアはこのリストをループすることです。 envDef.TemplatesRolesを毎回新しいリストにリセットするので、常に1つの受信者データのみが含まれるようになりました。テンプレートロールを追加しないでください。あなたは私のようにして、ループの繰り返しごとにリセットする必要があります。 –