Я следил за «рецептом» в центре docusign dev для отправки документа из шаблона pdf, который я загрузил. Он работает, но это рабочий процесс, где каждый получатель может добавить (и/или подписать) тот же документ.Как использовать один и тот же шаблон для нескольких получателей?
Мне нужно иметь возможность создавать документы из одного и того же шаблона для списка получателей и подписывать их все. Я считаю, что лучший способ сделать это - это программно генерировать шаблоны для каждого получателя, заполнять их имя и адресную информацию, используя набор данных, который я втягиваю через код, а затем отправлять его каждому подписчику для подписывания. Это пример кода я трейд с:
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);
Сначала я попытался просто reinstatiating в TemplateRole («trole» здесь), assiging новые addessses электронной почты для каждого из них, а затем, используя определение конверта для отправки каждого из них, но по-прежнему отправляет каждому получателю один и тот же общий документ.
Должен ли я создать шаблон для каждого получателя, если я хочу, чтобы у них был свой собственный документ, который можно записать, или есть более практичный способ сделать это, что я не вижу?
Какой объект является myRecipients и откуда оно взялось? Я хотел бы иметь список адресов электронной почты и имен и иметь возможность генерировать PDF-файл для каждого человека, который получит электронное письмо для подписания. То, как я это делаю сейчас, похоже, разделяет один документ («или enevlope») на все роли, которые я настраиваю, чтобы они могли вызывать знак. Мне нужно, чтобы каждый человек мог подписать свои собственные. – user609926
myRecipents используется в качестве примера структуры данных, которая должна содержать список получателей, у вас должен быть список адресов электронной почты где-то справа? Идея состоит в том, чтобы просто перебирать этот список. Обратите внимание, что я целенаправленно сбрасываю envDef.TemplatesRoles в новый список каждый раз, так что он всегда содержит 1 и только 1 данные одного получателя. Не добавляйте к нему роли шаблона. Вы должны сделать, как я, и сбросить его на каждой итерации цикла. –