Проблема со слиянием данных - PullRequest
0 голосов
/ 19 мая 2018

Мне тяжело переносить данные из моего кода в шаблон с помощью библиотеки c #.

У меня есть настройка шаблона, в которую я добавил текстовое поле для использования онлайн-инструмента редактирования шаблона.Я пытаюсь обновить значение этого текстового поля с помощью его метки данных.Могу я получить пример AC # этого?

Это фрагмент моего текущего кода:

Text name = new Text();
name.TabLabel = "Data Label";
name.Value = "My Name";
tRole.Tabs = new EnvelopeRecipientTabs();
tRole.Tabs.TextTabs = new List<Text>();
tRole.Tabs.TextTabs.Add(name);

List<TemplateRole> rolesList = new List<TemplateRole>() { tRole };
envDef.TemplateRoles = rolesList;

Я попробовал некоторые комментарии и вопросы, и вот что у меня сейчас:

C #

//define signer            
TemplateRole signer1 = new TemplateRole();
signer1.Name = "John Doe";
signer1.Email = "BOB@AOL.COM";
signer1.RoleName = "Owner";

//populate envelope object
EnvelopeDefinition envelopeDefinition = new EnvelopeDefinition();
envelopeDefinition.TemplateId = "bd417d79-2a0b-4d76-8970-e2d18451c2f5";
envelopeDefinition.Status = "created";
envelopeDefinition.EmailSubject = "eSign";

//create text tab object
Text text1 = new Text();
text1.TabLabel = "FullName";
text1.Value = "EP";

//apply tab to signer
signer1.Tabs = new Tabs();
signer1.Tabs.TextTabs = new List<Text>();
signer1.Tabs.TextTabs.Add(text1);

//apply signer 
List<TemplateRole> templateroles = new List<TemplateRole>() { signer1 };
envelopeDefinition.TemplateRoles = templateroles;

// execute it
EnvelopesApi envelopesApi = new EnvelopesApi();
EnvelopeSummary envelopeSummary = await envelopesApi.CreateEnvelopeAsync(account.accountId, envelopeDefinition);
return envelopeSummary.EnvelopeId;

JSON

POST https://demo.docusign.net:7801/restapi/v2/accounts/4794997/envelopes

TraceToken: fe59bc72-61f3-4c07-9eeb-0d53d558437a
Timestamp: 2018-05-21T18:36:48.4260253Z

Content-Length: 255
Content-Type: application/json
Connection: Keep-Alive
Accept: application/json
Host: demo.docusign.net
X-DocuSign-SDK: C#
X-DocuSign-Authentication: {"Username":"[omitted]", "Password":"[omitted]", "IntegratorKey":"[omitted]"}
x-ms-request-root-id: dba2cd44-40b5e3581ae1a62d
x-ms-request-id: |dba2cd44-40b5e3581ae1a62d.2.
Request-Id: |dba2cd44-40b5e3581ae1a62d.2.
X-SecurityProtocol-Version: TLSv1.2
X-SecurityProtocol-CipherSuite: ECDHE-RSA-AES256-GCM-SHA384
x-forwarded-for: 24.1.74.183

{"emailSubject":"eSign With Payment From API","status":"created","templateId":"bd417d79-2a0b-4d76-8970-e2d18451c2f5","templateRoles":[{"email":"BOB@AOL.COM","name":"John Doe","roleName":"Owner","tabs":{"textTabs":[{"tabLabel":"FullName","value":"EP"}]}}]}
201 Created
Content-Type: application/json; charset=utf-8
X-DocuSign-TraceToken: fe59bc72-61f3-4c07-9eeb-0d53d558437a

{
  "envelopeId": "13fb444c-79cc-43bb-b6d4-3a6241c84ebc",
  "uri": "/envelopes/13fb444c-79cc-43bb-b6d4-3a6241c84ebc",
  "statusDateTime": "2018-05-21T18:36:46.9570000Z",
  "status": "created"
}

Метка данных https://i.stack.imgur.com/Lo1dx.jpg

Получатель https://i.stack.imgur.com/ZtrNH.jpg

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Вы создаете конверт в состоянии created, и Подписывающее лицо не сможет увидеть значение dataLabel для конверта draft, так как Подписывающее лицо не имеет доступа к конверту для конверта draft.Вам необходимо создать / обновить конверт со статусом sent, как только подписавшая сторона начнет церемонию подписания, он увидит предварительно заполненное текстовое значение табуляции.

0 голосов
/ 19 мая 2018

Свойство name.TabLabel должно точно соответствовать метке, используемой в вашем шаблоне.Так, например, если бы ваш тег был настроен так:

tagger

вы бы использовали name.TabLabel = "Text1";.После установки name.Value = "My Name"; этот тег будет заполнен «Моим именем», при условии, что на ваш шаблон ссылаются, а подписывающее лицо сопоставляется с ролью шаблона.

Ниже приведен пример кода для отправки из шаблона с заполненными тегами.Предполагается, что имя подписывающей роли - «Подписывающий 1», а метка тега - «Текст 1»

        //define signer            
        TemplateRole signer1 = new TemplateRole();
        signer1.Name = "Example User";
        signer1.Email = "user@example.com";
        signer1.RoleName = "Signer 1";

        //populate envelope object
        EnvelopeDefinition envelopeDefinition = new EnvelopeDefinition();
        envelopeDefinition.TemplateId = "xxx-yyy-zzz"; // Replace with template ID
        envelopeDefinition.Status = "created"; //generates draft instead of immediately sending

        //create text tab object
        Text text1 = new DocuSign.eSign.Model.Text();
        text1.TabLabel = "Text1";
        text1.Value = "Example Text";

        //apply tab to signer
        signer1.Tabs = new Tabs();
        signer1.Tabs.TextTabs = new List<DocuSign.eSign.Model.Text>();
        signer1.Tabs.TextTabs.Add(text1);

        //apply signer 
        List<TemplateRole> templateroles = new List<TemplateRole>() { signer1 };
        envelopeDefinition.TemplateRoles = templateroles;

        //create EnvelopesApi object
        EnvelopesApi template = new EnvelopesApi(apiClient.Configuration);

        //execute envelope generation
        EnvelopeSummary response = template.CreateEnvelope(accountId, envelopeDefinition);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...