Skip to content

Commit 82025dc

Browse files
committed
2 parents ec1d2fb + 6a24fe7 commit 82025dc

File tree

3 files changed

+67
-13
lines changed

3 files changed

+67
-13
lines changed

launcher-csharp/WebForms/Examples/CreateAndEmbedFormService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@ public static class CreateAndEmbedFormService
1717
{
1818
public static WebFormSummaryList GetForms(Client.DocuSignClient docuSignClient, string accountId)
1919
{
20+
//ds-snippet-start:WebForms1Step3
2021
FormManagementApi formManagementApi = new FormManagementApi(docuSignClient);
2122
FormManagementApi.ListFormsOptions listFormsOptions = new FormManagementApi.ListFormsOptions();
2223
listFormsOptions.search = "Web Form Example Template";
2324
return formManagementApi.ListForms(accountId, listFormsOptions);
25+
//ds-snippet-end:WebForms1Step3
2426
}
2527

2628
public static void AddTemplateIdToForm(string fileLocation, string templateId)
@@ -73,13 +75,11 @@ public static List<EnvelopeTemplate> GetTemplatesByName(
7375
string accountId,
7476
string templateName)
7577
{
76-
//ds-snippet-start:WebForms1Step3
7778
var templatesApi = new TemplatesApi(docuSignClient);
7879
var listTemplateOptions = new TemplatesApi.ListTemplatesOptions();
7980
listTemplateOptions.searchText = templateName;
8081

8182
EnvelopeTemplateResults templates = templatesApi.ListTemplates(accountId, listTemplateOptions);
82-
//ds-snippet-end:WebForms1Step3
8383

8484
return templates.EnvelopeTemplates;
8585
}

launcher-csharp/WebForms/Views/CreateAndEmbedForm/Embed.cshtml

Lines changed: 40 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ async function loadWebform() {
2929
var instanceToken = '@ViewBag.InstanceToken'.replace(/&#x2B;/g, "+");
3030
const { loadDocuSign } = window.DocuSign
3131
const docusign = await loadDocuSign('@ViewBag.IntegrationKey');
32-
32+
3333
const webFormOptions = {
3434
//Used with the runtime API workflow, for private webforms this is needed to render anything
3535
instanceToken: instanceToken,
@@ -46,21 +46,50 @@ async function loadWebform() {
4646
minHeight: "1500px",
4747
},
4848
//Controls the auto resize behavior of the iframe
49-
autoResizeHeight: true,
50-
//These values are passed to the iframe URL as query params
51-
tracking: {
52-
"tracking-field": "tracking-value",
53-
},
54-
//These values are passed to the iframe URL as hash params
55-
hidden: {
56-
"hidden-field": "hidden-value",
57-
},
49+
autoResizeHeight: true
5850
};
5951
6052
const webFormWidget = docusign.webforms({
6153
url: "@ViewBag.Url",
6254
options: webFormOptions,
63-
})
55+
});
56+
57+
//Basic milestones in this workflow
58+
webFormWidget.on('ready', (event) => {
59+
// event = { type: 'ready' };
60+
console.log('debug form loaded', event);
61+
});
62+
63+
webFormWidget.on('submitted', (event) => {
64+
// event = { type: 'submitted', envelopeId: 'abcd1234' };
65+
console.log('debug form submitted', event);
66+
});
67+
68+
webFormWidget.on('signingReady', (event) => {
69+
// event = { type: 'submitted', envelopeId: 'abcd1234' };
70+
console.log('debug form signingReady', event);
71+
});
72+
73+
webFormWidget.on('sessionEnd', (event) => {
74+
//There are 3 sessionEnd types sessionTimeout, remoteSigningInitiated, signingResult
75+
76+
// event = { type: 'sessionEnd', sessionEndType: 'sessionTimeout' };
77+
// event = {
78+
// type: 'sessionEnd',
79+
// sessionEndType: 'signingResult',
80+
// signingResultType: 'signing_complete',
81+
// returnUrl: 'bigcorp.com',
82+
// envelopeId: 'abcd1234',
83+
// };
84+
// event = { type: 'sessionEnd', sessionEndType: 'remoteSigningInitiated', envelopeId: 'abcd1234' };
85+
console.log('debug form signingResult', event);
86+
});
87+
88+
//Less commonly used events
89+
webFormWidget.on('userActivity', (event) => {
90+
// event = { type: 'userActivity', activityType: 'click' | 'keydown' };
91+
console.log('debug form userActivity', event);
92+
});
6493
6594
webFormWidget.mount("#docusign");
6695
}

launcher-csharp/eSignature/Examples/DocumentGeneration.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,31 @@ public static string DocumentGenerationExample(
4545
DocuSignClient docuSignClient = new DocuSignClient(basePath);
4646
docuSignClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken);
4747

48+
//ds-snippet-start:eSign42Step2
4849
TemplatesApi templatesApi = new TemplatesApi(docuSignClient);
4950
TemplateSummary template = templatesApi.CreateTemplate(accountId, MakeTemplate());
5051
string templateId = template.TemplateId;
52+
//ds-snippet-end:eSign42Step2
5153

54+
//ds-snippet-start:eSign42Step3
5255
templatesApi.UpdateDocument(accountId, templateId, DefaultId, AddDocumentTemplate(offerDocDocx));
56+
//ds-snippet-end:eSign42Step3
5357

58+
//ds-snippet-start:eSign42Step4
5459
templatesApi.CreateTabs(accountId, templateId, DefaultId, PrepareTabs());
60+
//ds-snippet-end:eSign42Step4
5561

62+
//ds-snippet-start:eSign42Step5
5663
EnvelopesApi envelopesApi = new EnvelopesApi(docuSignClient);
5764
EnvelopeSummary envelope = envelopesApi.CreateEnvelope(accountId, MakeEnvelope(candidateEmail, candidateName, templateId));
5865
string envelopeId = envelope.EnvelopeId;
66+
//ds-snippet-end:eSign42Step5
5967

68+
//ds-snippet-start:eSign42Step6
6069
DocGenFormFieldResponse formFields = envelopesApi.GetEnvelopeDocGenFormFields(accountId, envelope.EnvelopeId);
70+
//ds-snippet-end:eSign42Step6
71+
72+
//ds-snippet-start:eSign42Step7
6173
DocGenFormFieldRequest preparedFormFields = FormFields(
6274
formFields.DocGenFormFields.FirstOrDefault()?.DocumentId,
6375
candidateName,
@@ -70,18 +82,22 @@ public static string DocumentGenerationExample(
7082
accountId,
7183
envelopeId,
7284
preparedFormFields);
85+
//ds-snippet-end:eSign42Step7
7386

87+
//ds-snippet-start:eSign42Step8
7488
EnvelopeUpdateSummary envelopeWithDocGen = envelopesApi.Update(
7589
accountId,
7690
envelopeId,
7791
new Envelope
7892
{
7993
Status = "sent",
8094
});
95+
//ds-snippet-end:eSign42Step8
8196

8297
return envelopeWithDocGen.EnvelopeId;
8398
}
8499

100+
//ds-snippet-start:eSign42Step2
85101
public static EnvelopeTemplate MakeTemplate()
86102
{
87103
Signer signer = new Signer
@@ -106,7 +122,9 @@ public static EnvelopeTemplate MakeTemplate()
106122
Status = "created",
107123
};
108124
}
125+
//ds-snippet-end:eSign42Step2
109126

127+
//ds-snippet-start:eSign42Step4
110128
public static TemplateTabs PrepareTabs()
111129
{
112130
SignHere signHere = new SignHere
@@ -130,7 +148,9 @@ public static TemplateTabs PrepareTabs()
130148
DateSignedTabs = new List<DateSigned> { dateSignedTabs },
131149
};
132150
}
151+
//ds-snippet-end:eSign42Step4
133152

153+
//ds-snippet-start:eSign42Step3
134154
public static EnvelopeDefinition AddDocumentTemplate(string offerDocumentDocx)
135155
{
136156
string documentBase64 = Convert.ToBase64String(System.IO.File.ReadAllBytes(offerDocumentDocx));
@@ -149,7 +169,9 @@ public static EnvelopeDefinition AddDocumentTemplate(string offerDocumentDocx)
149169
Documents = new List<Document> { document },
150170
};
151171
}
172+
//ds-snippet-end:eSign42Step3
152173

174+
//ds-snippet-start:eSign42Step5
153175
public static EnvelopeDefinition MakeEnvelope(string candidateEmail, string candidateName, string templateId)
154176
{
155177
TemplateRole signer = new TemplateRole
@@ -166,7 +188,9 @@ public static EnvelopeDefinition MakeEnvelope(string candidateEmail, string cand
166188
TemplateId = templateId,
167189
};
168190
}
191+
//ds-snippet-end:eSign42Step5
169192

193+
//ds-snippet-start:eSign42Step7
170194
public static DocGenFormFieldRequest FormFields(
171195
string documentId,
172196
string candidateName,
@@ -214,5 +238,6 @@ public static DocGenFormFieldRequest FormFields(
214238
},
215239
};
216240
}
241+
//ds-snippet-end:eSign42Step7
217242
}
218243
}

0 commit comments

Comments
 (0)