From b26c2098460d2a9db39263c51ee40eed07a709ba Mon Sep 17 00:00:00 2001 From: inbargazit Date: Fri, 26 Jan 2024 14:46:38 -0800 Subject: [PATCH 1/4] We will no longer support VS 2019, you must have VS 2022 to use the C# Code examples --- JWT-Console/JWT-Console - VS2019.csproj | 37 ---------- JWT-Console/JWT-Console - VS2019.sln | 25 ------- Quick_ACG/Quick_ACG - VS2019.csproj | 67 ----------------- Quick_ACG/Quick_ACG - VS2019.sln | 25 ------- README.md | 6 +- launcher-csharp - VS2019.sln | 48 ------------- .../launcher-csharp.Tests - VS2019.csproj | 44 ------------ launcher-csharp/Admin/Examples/AuditUsers.cs | 2 - .../launcher-csharp - VS2019.csproj | 71 ------------------- 9 files changed, 3 insertions(+), 322 deletions(-) delete mode 100644 JWT-Console/JWT-Console - VS2019.csproj delete mode 100644 JWT-Console/JWT-Console - VS2019.sln delete mode 100644 Quick_ACG/Quick_ACG - VS2019.csproj delete mode 100644 Quick_ACG/Quick_ACG - VS2019.sln delete mode 100644 launcher-csharp - VS2019.sln delete mode 100644 launcher-csharp.Tests/launcher-csharp.Tests - VS2019.csproj delete mode 100644 launcher-csharp/launcher-csharp - VS2019.csproj diff --git a/JWT-Console/JWT-Console - VS2019.csproj b/JWT-Console/JWT-Console - VS2019.csproj deleted file mode 100644 index fd2d65d6..00000000 --- a/JWT-Console/JWT-Console - VS2019.csproj +++ /dev/null @@ -1,37 +0,0 @@ - - - - Exe - net5.0 - JWT_Console - JWT - - - - bin\Debug\net6.0 - false - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/JWT-Console/JWT-Console - VS2019.sln b/JWT-Console/JWT-Console - VS2019.sln deleted file mode 100644 index 9a6e3926..00000000 --- a/JWT-Console/JWT-Console - VS2019.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.33214.272 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JWT-Console - VS2019", "JWT-Console - VS2019.csproj", "{A23AA1F5-82BD-44CC-AB96-815E24B4FBC1}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A23AA1F5-82BD-44CC-AB96-815E24B4FBC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A23AA1F5-82BD-44CC-AB96-815E24B4FBC1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A23AA1F5-82BD-44CC-AB96-815E24B4FBC1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A23AA1F5-82BD-44CC-AB96-815E24B4FBC1}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {6B9D4E78-4299-44F0-8F18-7042283EE4EF} - EndGlobalSection -EndGlobal diff --git a/Quick_ACG/Quick_ACG - VS2019.csproj b/Quick_ACG/Quick_ACG - VS2019.csproj deleted file mode 100644 index 14f9a59b..00000000 --- a/Quick_ACG/Quick_ACG - VS2019.csproj +++ /dev/null @@ -1,67 +0,0 @@ - - - - netcoreapp3.1 - 8.0 - DocuSign.CodeExamples - - - - - - bin\Debug\net6.0 - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - diff --git a/Quick_ACG/Quick_ACG - VS2019.sln b/Quick_ACG/Quick_ACG - VS2019.sln deleted file mode 100644 index 190f2436..00000000 --- a/Quick_ACG/Quick_ACG - VS2019.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.33214.272 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Quick_ACG - VS2019", "Quick_ACG - VS2019.csproj", "{732D5F91-456C-4792-9008-493ED6F03D62}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {732D5F91-456C-4792-9008-493ED6F03D62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {732D5F91-456C-4792-9008-493ED6F03D62}.Debug|Any CPU.Build.0 = Debug|Any CPU - {732D5F91-456C-4792-9008-493ED6F03D62}.Release|Any CPU.ActiveCfg = Release|Any CPU - {732D5F91-456C-4792-9008-493ED6F03D62}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {1E2E62CA-F08D-4C92-9245-C4D178287148} - EndGlobalSection -EndGlobal diff --git a/README.md b/README.md index 6cfcc49e..0eca6e6a 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ For a list of code examples that use the Admin API, see the [How-to guides overv where {base_url} is the URL for the web app. 1. [C# .NET Core](https://dotnet.microsoft.com/download/dotnet-core) 3.1 or later. -1. [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) with ASP.NET package (Visual Studio 2019 is also supported). +1. [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) with ASP.NET package ### Installation steps @@ -118,11 +118,11 @@ Also, in order to select JSON Web Token authentication in the launcher, in launc 1. Select your desired code example. ## Authorization Code Grant embedded signing example: -1. Double click the Quick_ACG.csproj (or Quick_ACG-2019.csproj for VS 2109) file in the Quick_ACG folder of your Quickstart project. +1. Double click the Quick_ACG.csproj file in the Quick_ACG folder of your Quickstart project. 1. Select the green Play IIS Express button. ## JWT grant remote signing project -1. Double click the JWT-Console.csproj (or JWT-Console-2019.csproj for VS 2109) file in the JWT-Console folder of your Quickstart project. +1. Double click the JWT-Console.csproj file in the JWT-Console folder of your Quickstart project. 1. Select the green Play JWT Console button. ## Payments code example diff --git a/launcher-csharp - VS2019.sln b/launcher-csharp - VS2019.sln deleted file mode 100644 index 32ee10f6..00000000 --- a/launcher-csharp - VS2019.sln +++ /dev/null @@ -1,48 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.33214.272 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{DB51B51C-3F00-413F-B0FA-1B933BA50D22}" - ProjectSection(SolutionItems) = preProject - .editorconfig = .editorconfig - EndProjectSection -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "launcher-csharp - VS2019", "launcher-csharp\launcher-csharp - VS2019.csproj", "{A1F9E952-DF16-468F-A9FD-09A2668B4DFE}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JWT-Console - VS2019", "JWT-Console\JWT-Console - VS2019.csproj", "{A8FDC5E3-7357-4318-AF5E-BA33D7AC6A21}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Quick_ACG - VS2019", "Quick_ACG\Quick_ACG - VS2019.csproj", "{E2402A99-15A7-4D9E-A0CD-2B8CE3210ADF}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "launcher-csharp.Tests - VS2019", "launcher-csharp.Tests\launcher-csharp.Tests - VS2019.csproj", "{018B36EC-FEB6-4AE7-9E32-DA9A1C25854E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A1F9E952-DF16-468F-A9FD-09A2668B4DFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A1F9E952-DF16-468F-A9FD-09A2668B4DFE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A1F9E952-DF16-468F-A9FD-09A2668B4DFE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A1F9E952-DF16-468F-A9FD-09A2668B4DFE}.Release|Any CPU.Build.0 = Release|Any CPU - {A8FDC5E3-7357-4318-AF5E-BA33D7AC6A21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A8FDC5E3-7357-4318-AF5E-BA33D7AC6A21}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A8FDC5E3-7357-4318-AF5E-BA33D7AC6A21}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A8FDC5E3-7357-4318-AF5E-BA33D7AC6A21}.Release|Any CPU.Build.0 = Release|Any CPU - {E2402A99-15A7-4D9E-A0CD-2B8CE3210ADF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E2402A99-15A7-4D9E-A0CD-2B8CE3210ADF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E2402A99-15A7-4D9E-A0CD-2B8CE3210ADF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E2402A99-15A7-4D9E-A0CD-2B8CE3210ADF}.Release|Any CPU.Build.0 = Release|Any CPU - {018B36EC-FEB6-4AE7-9E32-DA9A1C25854E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {018B36EC-FEB6-4AE7-9E32-DA9A1C25854E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {018B36EC-FEB6-4AE7-9E32-DA9A1C25854E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {018B36EC-FEB6-4AE7-9E32-DA9A1C25854E}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {4D55DE36-4AC1-4E20-8A32-D56A8EF4839C} - EndGlobalSection -EndGlobal diff --git a/launcher-csharp.Tests/launcher-csharp.Tests - VS2019.csproj b/launcher-csharp.Tests/launcher-csharp.Tests - VS2019.csproj deleted file mode 100644 index f932a596..00000000 --- a/launcher-csharp.Tests/launcher-csharp.Tests - VS2019.csproj +++ /dev/null @@ -1,44 +0,0 @@ - - - - net5.0 - launcher_csharp.Tests - - false - - - - bin\Debug\net6.0 - false - - - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - diff --git a/launcher-csharp/Admin/Examples/AuditUsers.cs b/launcher-csharp/Admin/Examples/AuditUsers.cs index b9c3c4a4..a158caf8 100644 --- a/launcher-csharp/Admin/Examples/AuditUsers.cs +++ b/launcher-csharp/Admin/Examples/AuditUsers.cs @@ -51,8 +51,6 @@ public static IEnumerable GetRecentlyModifiedUsersData(st //ds-snippet-end:Admin5Step5 } - - return usersData; } } diff --git a/launcher-csharp/launcher-csharp - VS2019.csproj b/launcher-csharp/launcher-csharp - VS2019.csproj deleted file mode 100644 index 30929848..00000000 --- a/launcher-csharp/launcher-csharp - VS2019.csproj +++ /dev/null @@ -1,71 +0,0 @@ - - - - netcoreapp3.1 - 8.0 - - - - - - - bin\Debug\net6.0 - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - $(IncludeRazorContentInPack) - - - $(IncludeRazorContentInPack) - - - $(IncludeRazorContentInPack) - - - - From 8fa98b58efbe420ade68f651eb4f608baaae453b Mon Sep 17 00:00:00 2001 From: inbargazit Date: Wed, 7 Feb 2024 12:26:27 -0800 Subject: [PATCH 2/4] Adding Web Forms API code example --- .gitignore | 3 +- ExamplesAPIType.cs | 6 + ExamplesApiTypeExtensions.cs | 6 + JWTAuth.cs | 7 + .../JwtLoginMethodUnitTest.cs | 3 + .../Common/IRequestItemsService.cs | 2 + launcher-csharp/Common/LocalsFilter.cs | 2 + launcher-csharp/Common/RequestItemsService.cs | 11 + launcher-csharp/Startup.cs | 41 ++-- launcher-csharp/Views/Home/Index.cshtml | 1 + .../Controllers/CreateAndEmbedForm.cs | 127 +++++++++++ .../Examples/CreateAndEmbedFormService.cs | 215 ++++++++++++++++++ .../Views/CreateAndEmbedForm/Embed.cshtml | 72 ++++++ .../Views/CreateAndEmbedForm/embedForm.cshtml | 10 + .../Views/CreateAndEmbedForm/web001.cshtml | 37 +++ launcher-csharp/appsettings.example.json | 1 + .../Controllers/AccountController.cs | 4 + .../eSignature/Models/DSConfiguration.cs | 2 + launcher-csharp/eSignature/Models/Session.cs | 2 + launcher-csharp/launcher-csharp.csproj | 1 + launcher-csharp/wwwroot/js/search.js | 5 +- 21 files changed, 533 insertions(+), 25 deletions(-) create mode 100644 launcher-csharp/WebForms/Controllers/CreateAndEmbedForm.cs create mode 100644 launcher-csharp/WebForms/Examples/CreateAndEmbedFormService.cs create mode 100644 launcher-csharp/WebForms/Views/CreateAndEmbedForm/Embed.cshtml create mode 100644 launcher-csharp/WebForms/Views/CreateAndEmbedForm/embedForm.cshtml create mode 100644 launcher-csharp/WebForms/Views/CreateAndEmbedForm/web001.cshtml diff --git a/.gitignore b/.gitignore index ad8aa6e3..ce67317f 100644 --- a/.gitignore +++ b/.gitignore @@ -263,4 +263,5 @@ __pycache__/ #configuration files (secrets), should not be checked in to source control appsettings.json private.key -app.config \ No newline at end of file +app.config +web-form-config.json \ No newline at end of file diff --git a/ExamplesAPIType.cs b/ExamplesAPIType.cs index c8ac93ff..f08a9595 100644 --- a/ExamplesAPIType.cs +++ b/ExamplesAPIType.cs @@ -43,6 +43,12 @@ public enum ExamplesApiType /// [Description("con")] Connect = 5, + + /// + /// Web Forms API + /// + [Description("web")] + WebForms = 6, } public static class ExamplesApiTypeExtensions diff --git a/ExamplesApiTypeExtensions.cs b/ExamplesApiTypeExtensions.cs index 211ee38b..dc0105ff 100644 --- a/ExamplesApiTypeExtensions.cs +++ b/ExamplesApiTypeExtensions.cs @@ -43,6 +43,12 @@ public enum ExamplesApiType /// [Description("con")] Connect = 5, + + /// + /// Web Forms API + /// + [Description("web")] + WebForms = 6, } public static class ExamplesApiTypeExtensions diff --git a/JWTAuth.cs b/JWTAuth.cs index 3ae21b7d..935125a7 100644 --- a/JWTAuth.cs +++ b/JWTAuth.cs @@ -78,6 +78,13 @@ public static OAuthToken AuthenticateWithJwt(string api, string clientId, string }); } + if (apiType == ExamplesApiType.WebForms) + { + scopes.Add("webforms_read"); + scopes.Add("webforms_instance_write"); + scopes.Add("webforms_instance_read"); + } + return docuSignClient.RequestJWTUserToken( clientId, impersonatedUserId, diff --git a/launcher-csharp.Tests/JwtLoginMethodUnitTest.cs b/launcher-csharp.Tests/JwtLoginMethodUnitTest.cs index 44994bf7..36f497e8 100644 --- a/launcher-csharp.Tests/JwtLoginMethodUnitTest.cs +++ b/launcher-csharp.Tests/JwtLoginMethodUnitTest.cs @@ -92,6 +92,9 @@ private string BuildConsentUrl(ExamplesApiType apiType, TestConfig testConfig) scopes += "%20user_read%20user_write%20organization_read%20account_read%20group_read%20" + "permission_read%20identity_provider_read%20domain_read%20user_data_redact%20" + "asset_group_account_read%20asset_group_account_clone_write%20asset_group_account_clone_read"; + } else if (apiType == ExamplesApiType.WebForms) + { + scopes += "%20webforms_manage"; } string caret = ""; diff --git a/launcher-csharp/Common/IRequestItemsService.cs b/launcher-csharp/Common/IRequestItemsService.cs index 3262643c..ea254750 100644 --- a/launcher-csharp/Common/IRequestItemsService.cs +++ b/launcher-csharp/Common/IRequestItemsService.cs @@ -34,6 +34,8 @@ public interface IRequestItemsService public string TemplateId { get; set; } + public string WebFormsTemplateId { get; set; } + public string PausedEnvelopeId { get; set; } public string Status { get; set; } diff --git a/launcher-csharp/Common/LocalsFilter.cs b/launcher-csharp/Common/LocalsFilter.cs index 7a66e728..c92f5ddb 100644 --- a/launcher-csharp/Common/LocalsFilter.cs +++ b/launcher-csharp/Common/LocalsFilter.cs @@ -97,6 +97,7 @@ public void OnActionExecuting(ActionExecutingContext context) BasePath = identity.FindFirst(x => x.Type.Equals("base_uri")).Value, RoomsApiBasePath = this.configuration["DocuSign:RoomsApiEndpoint"], AdminApiBasePath = this.configuration["DocuSign:AdminApiEndpoint"], + WebFormsBasePath = this.configuration["DocuSign:WebFormsBasePath"], } : new Session @@ -106,6 +107,7 @@ public void OnActionExecuting(ActionExecutingContext context) BasePath = this.requestItemsService.Session.BasePath, RoomsApiBasePath = this.configuration["DocuSign:RoomsApiEndpoint"], AdminApiBasePath = this.configuration["DocuSign:AdminApiEndpoint"], + WebFormsBasePath = this.configuration["DocuSign:WebFormsBasePath"], }; this.requestItemsService.Session = locals.Session; diff --git a/launcher-csharp/Common/RequestItemsService.cs b/launcher-csharp/Common/RequestItemsService.cs index 93c4ddf8..e0a18747 100644 --- a/launcher-csharp/Common/RequestItemsService.cs +++ b/launcher-csharp/Common/RequestItemsService.cs @@ -148,6 +148,12 @@ public string TemplateId set => this.cache.Set(this.GetKey("TemplateId"), value); } + public string WebFormsTemplateId + { + get => this.cache.Get(this.GetKey("WebFormsTemplateId")); + set => this.cache.Set(this.GetKey("WebFormsTemplateId"), value); + } + public string ClickwrapId { get => this.cache.Get(this.GetKey("ClickwrapId")); @@ -206,6 +212,7 @@ public void UpdateUserFromJwt() BasePath = account.BaseUri, RoomsApiBasePath = this.Configuration["DocuSign:RoomsApiEndpoint"], AdminApiBasePath = this.Configuration["DocuSign:AdminApiEndpoint"], + WebFormsBasePath = this.Configuration["DocuSign:WebFormsBasePath"], }; } @@ -255,6 +262,10 @@ public string IdentifyApiOfCodeExample(string eg) { currentApiType = ExamplesApiType.Connect.ToString(); } + else if (eg.Contains(ExamplesApiType.WebForms.ToKeywordString())) + { + currentApiType = ExamplesApiType.WebForms.ToString(); + } else { currentApiType = ExamplesApiType.ESignature.ToString(); diff --git a/launcher-csharp/Startup.cs b/launcher-csharp/Startup.cs index 36238fa4..6520295e 100644 --- a/launcher-csharp/Startup.cs +++ b/launcher-csharp/Startup.cs @@ -7,11 +7,14 @@ namespace DocuSign.CodeExamples { using System; using System.Collections.Generic; + using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Security.Claims; using System.Text.Json; + using System.Text.RegularExpressions; using System.Threading.Tasks; + using System.Web; using DocuSign.CodeExamples.Common; using DocuSign.CodeExamples.Models; using DocuSign.Rooms.Api; @@ -35,7 +38,7 @@ public Startup(IConfiguration configuration) { this.Configuration = configuration; - this.apiTypes.Add(ExamplesApiType.ESignature, new List { "signature" }); + this.apiTypes.Add(ExamplesApiType.ESignature, new List { "signature", }); this.apiTypes.Add(ExamplesApiType.Rooms, new List { @@ -77,6 +80,11 @@ public Startup(IConfiguration configuration) "asset_group_account_clone_write", "asset_group_account_clone_read", }); + + this.apiTypes.Add(ExamplesApiType.WebForms, new List + { + "signature", "webforms_read", "webforms_instance_write", "webforms_instance_read", + }); } public IConfiguration Configuration { get; } @@ -175,28 +183,7 @@ public void ConfigureServices(IServiceCollection services) { List scopesForCurrentApi = this.apiTypes.GetValueOrDefault(Enum.Parse(this.Configuration["API"])); - foreach (var api in this.apiTypes) - { - if (this.Configuration["API"] != api.Key.ToString()) - { - foreach (var scope in api.Value) - { - if (scopesForCurrentApi != null && !scopesForCurrentApi.Contains(scope)) - { - var scopeWithSeperator = scope + "%20"; - - if (redirectContext.RedirectUri.Contains(scopeWithSeperator)) - { - redirectContext.RedirectUri = redirectContext.RedirectUri.Replace(scopeWithSeperator, string.Empty); - } - else - { - redirectContext.RedirectUri = redirectContext.RedirectUri.Replace(scope, string.Empty); - } - } - } - } - } + redirectContext.RedirectUri = this.UpdateRedirectUriScopes(redirectContext.RedirectUri, scopesForCurrentApi); redirectContext.HttpContext.Response.Redirect(redirectContext.RedirectUri); return Task.FromResult(0); @@ -327,5 +314,13 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) return keyValue; } + + private string UpdateRedirectUriScopes(string uri, List wantedScopes) + { + const string pattern = @"(?:&|\?)scope=([^&]+)"; + + var encodedScopes = string.Join(" ", wantedScopes); + return Regex.Replace(uri, pattern, $"&scope={HttpUtility.UrlPathEncode(encodedScopes)}"); + } } } diff --git a/launcher-csharp/Views/Home/Index.cshtml b/launcher-csharp/Views/Home/Index.cshtml index 27774867..37fea8a3 100644 --- a/launcher-csharp/Views/Home/Index.cshtml +++ b/launcher-csharp/Views/Home/Index.cshtml @@ -43,6 +43,7 @@ : ((ApIs) api).Name.ToLower() == ExamplesApiType.Monitor.ToString().ToLower() ? ExamplesApiType.Monitor.ToKeywordString() : ((ApIs) api).Name.ToLower() == ExamplesApiType.Rooms.ToString().ToLower() ? ExamplesApiType.Rooms.ToKeywordString() : ((ApIs) api).Name.ToLower() == ExamplesApiType.Connect.ToString().ToLower() ? ExamplesApiType.Connect.ToKeywordString() + : ((ApIs) api).Name.ToLower() == ExamplesApiType.WebForms.ToString().ToLower() ? ExamplesApiType.WebForms.ToKeywordString() : ExamplesApiType.Admin.ToKeywordString(); @foreach(var exampleGroup in api.Groups) diff --git a/launcher-csharp/WebForms/Controllers/CreateAndEmbedForm.cs b/launcher-csharp/WebForms/Controllers/CreateAndEmbedForm.cs new file mode 100644 index 00000000..daa99b49 --- /dev/null +++ b/launcher-csharp/WebForms/Controllers/CreateAndEmbedForm.cs @@ -0,0 +1,127 @@ +// +// Copyright (c) DocuSign. All rights reserved. +// + +namespace DocuSign.CodeExamples.WebForms.Controllers +{ + using System; + using System.Collections.Generic; + using System.Linq; + using DocuSign.CodeExamples.Common; + using DocuSign.CodeExamples.Controllers; + using DocuSign.CodeExamples.Models; + using DocuSign.eSign.Client; + using DocuSign.eSign.Model; + using DocuSign.WebForms.Examples; + using DocuSign.WebForms.Model; + using Microsoft.AspNetCore.Mvc; + using Microsoft.Extensions.Configuration; + + [Area("WebForms")] + [Route("web001")] + public class CreateAndEmbedForm : EgController + { + public const string TemplateName = "Web Form Example Template"; + + private IConfiguration configuration; + + public CreateAndEmbedForm( + DsConfiguration config, + IConfiguration configuration, + LauncherTexts launcherTexts, + IRequestItemsService requestItemsService) + : base(config, launcherTexts, requestItemsService) + { + this.configuration = configuration; + this.CodeExampleText = this.GetExampleText(this.EgName, ExamplesApiType.WebForms); + this.ViewBag.title = this.CodeExampleText.ExampleName; + } + + public override string EgName => "web001"; + + [SetViewBag] + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult CheckTemplates() + { + string basePath = this.RequestItemsService.Session.BasePath + "/restapi"; + string accessToken = this.RequestItemsService.User.AccessToken; + string accountId = this.RequestItemsService.Session.AccountId; + + //ds-snippet-start:WebForms1Step2 + var docuSignClient = new DocuSignClient(basePath); + docuSignClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken); + //ds-snippet-end:WebForms1Step2 + + List templates = CreateAndEmbedFormService.GetTemplatesByName( + docuSignClient, + accountId, + TemplateName); + + if (templates == null || templates.Count == 0) + { + TemplateSummary template = CreateAndEmbedFormService.CreateTemplate( + docuSignClient, + accountId, + this.Config.DocumentTemplatePdf, + TemplateName); + + this.RequestItemsService.WebFormsTemplateId = template.TemplateId; + } + else + { + this.RequestItemsService.WebFormsTemplateId = templates.First().TemplateId; + } + + CreateAndEmbedFormService.AddTemplateIdToForm( + this.Config.WebFormConfig, + this.RequestItemsService.WebFormsTemplateId); + + this.ViewBag.CodeExampleText = this.CodeExampleText; + this.ViewBag.Description = this.CodeExampleText.AdditionalPages + .First(x => x.Name == "create_web_form").ResultsPageText; + + return this.View("embedForm"); + } + + [MustAuthenticate] + [SetViewBag] + [Route("EmbedForm")] + [HttpPost] + [ValidateAntiForgeryToken] + public ActionResult EmbedForm() + { + string basePath = this.RequestItemsService.Session.WebFormsBasePath; + string accessToken = this.RequestItemsService.User.AccessToken; + string accountId = this.RequestItemsService.Session.AccountId; + + var docuSignClient = new DocuSign.WebForms.Client.DocuSignClient(basePath); + docuSignClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken); + + WebFormSummaryList forms = CreateAndEmbedFormService.GetForms( + docuSignClient, + accountId); + + if (forms.Items == null || forms.Items.Count == 0) + { + this.ViewBag.CodeExampleText = this.CodeExampleText; + this.ViewBag.Description = this.CodeExampleText.AdditionalPages + .First(x => x.Name == "create_web_form").ResultsPageText; + + return this.View("embedForm"); + } + + string formId = forms.Items.First(x => x.FormProperties.Name == TemplateName).Id; + WebFormInstance form = CreateAndEmbedFormService.CreateInstance( + docuSignClient, + accountId, + formId); + + this.ViewBag.InstanceToken = form.InstanceToken; + this.ViewBag.Url = form.FormUrl; + this.ViewBag.IntegrationKey = this.configuration["DocuSign:ClientId"]; + + return this.View("Embed"); + } + } +} diff --git a/launcher-csharp/WebForms/Examples/CreateAndEmbedFormService.cs b/launcher-csharp/WebForms/Examples/CreateAndEmbedFormService.cs new file mode 100644 index 00000000..0e11f433 --- /dev/null +++ b/launcher-csharp/WebForms/Examples/CreateAndEmbedFormService.cs @@ -0,0 +1,215 @@ +// +// Copyright (c) DocuSign. All rights reserved. +// + +namespace DocuSign.WebForms.Examples +{ + using System; + using System.Collections.Generic; + using System.IO; + using DocuSign.eSign.Api; + using DocuSign.eSign.Client; + using DocuSign.eSign.Model; + using DocuSign.WebForms.Api; + using DocuSign.WebForms.Model; + + public static class CreateAndEmbedFormService + { + public static WebFormSummaryList GetForms(Client.DocuSignClient docuSignClient, string accountId) + { + FormManagementApi formManagementApi = new FormManagementApi(docuSignClient); + FormManagementApi.ListFormsOptions listFormsOptions = new FormManagementApi.ListFormsOptions(); + listFormsOptions.search = "Web Form Example Template"; + return formManagementApi.ListForms(accountId, listFormsOptions); + } + + public static void AddTemplateIdToForm(string fileLocation, string templateId) + { + string targetString = "template-id"; + + try + { + string fileContent = File.ReadAllText(fileLocation); + string modifiedContent = fileContent.Replace(targetString, templateId); + + File.WriteAllText(fileLocation, modifiedContent); + } + catch (Exception ex) + { + Console.WriteLine($"An error occurred: {ex.Message}"); + } + } + + public static WebFormInstance CreateInstance( + Client.DocuSignClient docuSignClient, + string accountId, + string formId) + { + //ds-snippet-start:WebForms1Step4 + var formValues = new WebFormValues + { + { "PhoneNumber", "555-555-5555" }, + { "Yes", new[] { "Yes" } }, + { "Company", "Tally" }, + { "JobTitle", "Programmer Writer" }, + }; + + var options = new CreateInstanceRequestBody() + { + ClientUserId = "1234-5678-abcd-ijkl", + FormValues = formValues, + ExpirationOffset = 3600, + }; + //ds-snippet-end:WebForms1Step4 + + //ds-snippet-start:WebForms1Step5 + FormInstanceManagementApi formManagementApi = new FormInstanceManagementApi(docuSignClient); + return formManagementApi.CreateInstance(accountId, formId, options); + //ds-snippet-end:WebForms1Step5 + } + + public static List GetTemplatesByName( + DocuSignClient docuSignClient, + string accountId, + string templateName) + { + //ds-snippet-start:WebForms1Step3 + var templatesApi = new TemplatesApi(docuSignClient); + var listTemplateOptions = new TemplatesApi.ListTemplatesOptions(); + listTemplateOptions.searchText = templateName; + + EnvelopeTemplateResults templates = templatesApi.ListTemplates(accountId, listTemplateOptions); + //ds-snippet-end:WebForms1Step3 + + return templates.EnvelopeTemplates; + } + + public static TemplateSummary CreateTemplate( + DocuSignClient docuSignClient, + string accountId, + string documentPdf, + string templateName) + { + TemplatesApi templatesApi = new TemplatesApi(docuSignClient); + + EnvelopeTemplate templateReqObject = PrepareEnvelopeTemplate(templateName, documentPdf); + + TemplateSummary template = templatesApi.CreateTemplate(accountId, templateReqObject); + + return template; + } + + public static EnvelopeTemplate PrepareEnvelopeTemplate(string resultsTemplateName, string documentPdf) + { + Document document = new Document() + { + DocumentBase64 = Convert.ToBase64String(File.ReadAllBytes(documentPdf)), + Name = "World_Wide_Web_Form", + FileExtension = "pdf", + DocumentId = "1", + }; + + Signer signer = new Signer() + { + RoleName = "signer", + RecipientId = "1", + RoutingOrder = "1", + }; + + Tabs signerTabs = new Tabs() + { + CheckboxTabs = new List + { + new Checkbox() + { + DocumentId = "1", + TabLabel = "Yes", + AnchorString = "/SMS/", + AnchorUnits = "pixels", + AnchorXOffset = "20", + AnchorYOffset = "10", + }, + }, + SignHereTabs = new List + { + new SignHere() + { + DocumentId = "1", + TabLabel = "Signature", + AnchorString = "/SignHere/", + AnchorUnits = "pixels", + AnchorXOffset = "20", + AnchorYOffset = "10", + }, + }, + TextTabs = new List + { + new Text() + { + DocumentId = "1", + TabLabel = "FullName", + AnchorString = "/FullName/", + AnchorUnits = "pixels", + AnchorXOffset = "20", + AnchorYOffset = "10", + }, + new Text() + { + DocumentId = "1", + TabLabel = "PhoneNumber", + AnchorString = "/PhoneNumber/", + AnchorUnits = "pixels", + AnchorXOffset = "20", + AnchorYOffset = "10", + }, + new Text() + { + DocumentId = "1", + TabLabel = "Company", + AnchorString = "/Company/", + AnchorUnits = "pixels", + AnchorXOffset = "20", + AnchorYOffset = "10", + }, + new Text() + { + DocumentId = "1", + TabLabel = "JobTitle", + AnchorString = "/Title/", + AnchorUnits = "pixels", + AnchorXOffset = "20", + AnchorYOffset = "10", + }, + }, + DateSignedTabs = new List + { + new DateSigned() + { + DocumentId = "1", + TabLabel = "DateSigned", + AnchorString = "/Date/", + AnchorUnits = "pixels", + AnchorXOffset = "20", + AnchorYOffset = "10", + }, + }, + }; + + signer.Tabs = signerTabs; + + Recipients recipients = new Recipients(); + recipients.Signers = new List { signer }; + + return new EnvelopeTemplate() + { + Description = "Example template created via the API", + Name = resultsTemplateName, + Shared = "false", + Documents = new List { document }, + EmailSubject = "Please sign this document", + Recipients = recipients, + Status = "created", + }; + } + } +} diff --git a/launcher-csharp/WebForms/Views/CreateAndEmbedForm/Embed.cshtml b/launcher-csharp/WebForms/Views/CreateAndEmbedForm/Embed.cshtml new file mode 100644 index 00000000..f74fbdbd --- /dev/null +++ b/launcher-csharp/WebForms/Views/CreateAndEmbedForm/Embed.cshtml @@ -0,0 +1,72 @@ +@{ + //ds-snippet-start:WebForms1Step6 +} + + + + + @Html.Raw("") + + + +
+
+
The web form has been embedded below using the DocuSign.js library.
+
+

Web Form will render here

+
+
+
+ + + +

@Html.Raw(ViewBag.SupportingTexts.ContinueButton)

+ +@Html.Raw("") + + +@{ + //ds-snippet-end:WebForms1Step6 +} \ No newline at end of file diff --git a/launcher-csharp/WebForms/Views/CreateAndEmbedForm/embedForm.cshtml b/launcher-csharp/WebForms/Views/CreateAndEmbedForm/embedForm.cshtml new file mode 100644 index 00000000..387bdb6f --- /dev/null +++ b/launcher-csharp/WebForms/Views/CreateAndEmbedForm/embedForm.cshtml @@ -0,0 +1,10 @@ +

@Html.Raw(ViewBag.CodeExampleText.ExampleName)

+ +

+ @ViewBag.Description +

+ +
+ +
+ diff --git a/launcher-csharp/WebForms/Views/CreateAndEmbedForm/web001.cshtml b/launcher-csharp/WebForms/Views/CreateAndEmbedForm/web001.cshtml new file mode 100644 index 00000000..21b8e5af --- /dev/null +++ b/launcher-csharp/WebForms/Views/CreateAndEmbedForm/web001.cshtml @@ -0,0 +1,37 @@ +@{ + var additionalPages = ViewBag.CodeExampleText.AdditionalPages; + var description = ""; + foreach (var additionalPage in additionalPages) + { + if (additionalPage.Name == "create_web_form_template") + { + description = additionalPage.ResultsPageText; + } + } +} + +

@Html.Raw(ViewBag.CodeExampleText.ExampleName)

+

+ @description +

+ +

+ API methods used: + Templates::list, and + Templates::create. +

+ +

+ @Html.Raw( + @String.Format( + ViewBag.SupportingTexts.ViewSourceFile, + "CreateAndEmbedFormService.cs" + ) + ) +

+ + +
+ +
+ diff --git a/launcher-csharp/appsettings.example.json b/launcher-csharp/appsettings.example.json index 7ab79b9e..879bbfbd 100644 --- a/launcher-csharp/appsettings.example.json +++ b/launcher-csharp/appsettings.example.json @@ -15,6 +15,7 @@ "AppUrl": "https://localhost:44333", "RoomsApiEndpoint": "https://demo.rooms.docusign.com", "AdminApiEndpoint": "https://api-d.docusign.net/management", + "WebFormsBasePath": "https://demo.services.docusign.net/webforms/v1.1", "CodeExamplesManifest": "https://raw.githubusercontent.com/docusign/code-examples-csharp/master/manifest/CodeExamplesManifest.json", "SignerEmail": "{SIGNER_EMAIL}", "SignerName": "{SIGNER_NAME}", diff --git a/launcher-csharp/eSignature/Controllers/AccountController.cs b/launcher-csharp/eSignature/Controllers/AccountController.cs index 022e7598..f740b1f7 100644 --- a/launcher-csharp/eSignature/Controllers/AccountController.cs +++ b/launcher-csharp/eSignature/Controllers/AccountController.cs @@ -118,6 +118,10 @@ private string BuildConsentUrl() { scopes += " user_read user_write organization_read account_read group_read permission_read identity_provider_read domain_read user_data_redact asset_group_account_read asset_group_account_clone_write asset_group_account_clone_read"; } + else if (apiType == ExamplesApiType.WebForms) + { + scopes += " webforms_read webforms_instance_write webforms_instance_read"; + } return this.Configuration["DocuSign:AuthorizationEndpoint"] + "?response_type=code" + "&scope=" + scopes + diff --git a/launcher-csharp/eSignature/Models/DSConfiguration.cs b/launcher-csharp/eSignature/Models/DSConfiguration.cs index 208f075c..ee04288e 100644 --- a/launcher-csharp/eSignature/Models/DSConfiguration.cs +++ b/launcher-csharp/eSignature/Models/DSConfiguration.cs @@ -10,6 +10,8 @@ public class DsConfiguration public string DocDocx = "World_Wide_Corp_Battle_Plan_Trafalgar.docx"; public string TabsDocx = "World_Wide_Corp_salary.docx"; public string DocPdf = "World_Wide_Corp_lorem.pdf"; + public string DocumentTemplatePdf = "World_Wide_Corp_Web_Form.pdf"; + public string WebFormConfig = "web-form-config.json"; public string OfferDocDocx = "Offer_Letter_Demo.docx"; public string DocCsv = "UserData.csv"; public string DocHtml = "doc_1.html"; diff --git a/launcher-csharp/eSignature/Models/Session.cs b/launcher-csharp/eSignature/Models/Session.cs index e5cd8baa..b89f02ea 100644 --- a/launcher-csharp/eSignature/Models/Session.cs +++ b/launcher-csharp/eSignature/Models/Session.cs @@ -12,6 +12,8 @@ public class Session public string BasePath { get; set; } + public string WebFormsBasePath { get; set; } + public string RoomsApiBasePath { get; set; } public string AdminApiBasePath { get; set; } diff --git a/launcher-csharp/launcher-csharp.csproj b/launcher-csharp/launcher-csharp.csproj index fd9271da..2e9b88e0 100644 --- a/launcher-csharp/launcher-csharp.csproj +++ b/launcher-csharp/launcher-csharp.csproj @@ -41,6 +41,7 @@ + diff --git a/launcher-csharp/wwwroot/js/search.js b/launcher-csharp/wwwroot/js/search.js index 38c203b2..eddd1a72 100644 --- a/launcher-csharp/wwwroot/js/search.js +++ b/launcher-csharp/wwwroot/js/search.js @@ -5,7 +5,8 @@ CLICK: 'click', ROOMS: 'rooms', ADMIN: 'admin', - CONNECT: 'connect' + CONNECT: 'connect', + WEBFORMS: 'webforms' }; let processJSONData = function () { @@ -125,6 +126,8 @@ return "eg"; case API_TYPES.CONNECT: return "con"; + case API_TYPES.WEBFORMS: + return "web"; } } From 60521af0945b068c9d5337ae845fc3af31395060 Mon Sep 17 00:00:00 2001 From: inbargazit Date: Wed, 7 Feb 2024 16:16:10 -0800 Subject: [PATCH 3/4] Updating basePath for Web Forms API --- launcher-csharp/appsettings.example.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/launcher-csharp/appsettings.example.json b/launcher-csharp/appsettings.example.json index 879bbfbd..6dc23744 100644 --- a/launcher-csharp/appsettings.example.json +++ b/launcher-csharp/appsettings.example.json @@ -15,7 +15,7 @@ "AppUrl": "https://localhost:44333", "RoomsApiEndpoint": "https://demo.rooms.docusign.com", "AdminApiEndpoint": "https://api-d.docusign.net/management", - "WebFormsBasePath": "https://demo.services.docusign.net/webforms/v1.1", + "WebFormsBasePath": "https://apps-d.docusign.com/api/webforms/v1.1", "CodeExamplesManifest": "https://raw.githubusercontent.com/docusign/code-examples-csharp/master/manifest/CodeExamplesManifest.json", "SignerEmail": "{SIGNER_EMAIL}", "SignerName": "{SIGNER_NAME}", From 5f36da8a1ae836a8e2e7fb3d56b089bec481c50e Mon Sep 17 00:00:00 2001 From: inbargazit Date: Mon, 12 Feb 2024 08:47:27 -0800 Subject: [PATCH 4/4] New Web Forms code examples in manifest --- manifest/CodeExamplesManifest.json | 5192 ++++++++++++++-------------- 1 file changed, 2614 insertions(+), 2578 deletions(-) diff --git a/manifest/CodeExamplesManifest.json b/manifest/CodeExamplesManifest.json index bcc56808..ae23ffdd 100644 --- a/manifest/CodeExamplesManifest.json +++ b/manifest/CodeExamplesManifest.json @@ -1,2627 +1,2663 @@ { - "SupportingTexts": { - "HomePageText": "Run and explore DocuSign code examples with Authorization Code Grant or JWT Grant authentication", - "ViewSourceFile": "View source file {0} on GitHub.", - "APIMethodUsed": "API method used:", - "APIMethodUsedPlural": "API methods used:", - "SearchFailed": "

The examples with this text could not be found. Please, modify the search field.

", - "SubmitButton": "Submit", - "ContinueButton": "Continue", - "HomeButton": "Home", - "LoginButton": "Login", - "LogoutButton": "Logout", - "ChangeAPITypeButton": "Change API Type", - "WelcomeText": "Welcome {0} (Account: {1})", - "CFRError": "This example is not compatible with your CFR Part 11 account. Please return to the homepage to run one of the examples that is compatible or authenticate with a different account.", - "LoginPage": { - "LoginHeader": "

Please Authenticate with DocuSign

", - "LoginButton": "Authenticate with DocuSign", - "LoginHelperText": "You need to authenticate with DocuSign to continue your request." - }, - "SelectAPIPage": { - "SelectAPIHeader": "

Please choose an API type

", - "SelectAPIButton": "Choose your desired API" - }, - "HelpingTexts": { - "EmailWontBeShared": "We'll never share your email with anyone else.", - "PhoneNumberWontBeShared": "We'll never share your phone number with anyone else.", - "CCEmailShouldDifferFromSigner": "The email for the cc recipient must be different from the signer's email.", - "AccessCodeText": "Provide this string to a recipient that is different such as in person or by mail or via a different email.", - "CountryCodeText": "The country code for the phone number below.", - "ChooseDateInTheFuture": "Please choose a future date.", - "PhoneNumberWillBeNotified": "This phone number will receive a notification.", - "DynamicContentValue": "Provide values for the dynamic content fields shown on the elastic template agreement.", - "DynamicContentNote": "Note: The elastic template must be manually modified through the elastic templates UI to include these dynamic content fields.", - "EmbedClickwrapURL": "Agreement URL returned in the JSON response:", - "NOTAGREED": "NOT AGREED", - "AGREED": "AGREED", - "SaveAgentActivationCode": "Save this code. You'll need it when activating the new agent.", - "EmailAddressOfUserToDelete": "The email address of the user whose data will be deleted. Note that this email address should be associated with a user that has been closed for 24 hours.", - "UserIDOfUserToDelete": "The user ID of the user whose data will be deleted. Note that this ID should be associated with a user that has been closed for 24 hours." - } - }, - "APIs": [ - { - "Name": "eSignature", - "Groups": [ + "SupportingTexts":{ + "HomePageText":"Run and explore DocuSign code examples with Authorization Code Grant or JWT Grant authentication", + "ViewSourceFile":"View source file {0} on GitHub.", + "APIMethodUsed":"API method used:", + "APIMethodUsedPlural":"API methods used:", + "SearchFailed":"

The examples with this text could not be found. Please, modify the search field.

", + "SubmitButton":"Submit", + "ContinueButton":"Continue", + "HomeButton":"Home", + "LoginButton":"Login", + "LogoutButton":"Logout", + "ChangeAPITypeButton":"Change API Type", + "WelcomeText":"Welcome {0} (Account: {1})", + "CFRError":"This example is not compatible with your CFR Part 11 account. Please return to the homepage to run one of the examples that is compatible or authenticate with a different account.", + "LoginPage":{ + "LoginHeader":"

Please Authenticate with DocuSign

", + "LoginButton":"Authenticate with DocuSign", + "LoginHelperText":"You need to authenticate with DocuSign to continue your request." + }, + "SelectAPIPage":{ + "SelectAPIHeader":"

Please choose an API type

", + "SelectAPIButton":"Choose your desired API" + }, + "HelpingTexts":{ + "EmailWontBeShared":"We'll never share your email with anyone else.", + "PhoneNumberWontBeShared":"We'll never share your phone number with anyone else.", + "CCEmailShouldDifferFromSigner":"The email for the cc recipient must be different from the signer's email.", + "AccessCodeText":"Provide this string to a recipient that is different such as in person or by mail or via a different email.", + "CountryCodeText":"The country code for the phone number below.", + "ChooseDateInTheFuture":"Please choose a future date.", + "PhoneNumberWillBeNotified":"This phone number will receive a notification.", + "DynamicContentValue":"Provide values for the dynamic content fields shown on the elastic template agreement.", + "DynamicContentNote":"Note: The elastic template must be manually modified through the elastic templates UI to include these dynamic content fields.", + "EmbedClickwrapURL":"Agreement URL returned in the JSON response:", + "NOTAGREED":"NOT AGREED", + "AGREED":"AGREED", + "SaveAgentActivationCode":"Save this code. You'll need it when activating the new agent.", + "EmailAddressOfUserToDelete":"The email address of the user whose data will be deleted. Note that this email address should be associated with a user that has been closed for 24 hours.", + "UserIDOfUserToDelete":"The user ID of the user whose data will be deleted. Note that this ID should be associated with a user that has been closed for 24 hours." + } + }, + "APIs":[ + { + "Name":"eSignature", + "Groups":[ { - "Name": "Sending a signature request (remote signing)", - "Examples": [ - { - "ExampleNumber": 2, - "CFREnabled": "AllAccounts", - "ExampleName": "Send an envelope with a remote (email) signer and cc recipient", - "ExampleDescription": "The envelope includes a pdf, Word, and HTML document. Anchor text(AutoPlace) is used to position the signing fields in the documents.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - }, - { - "ExampleNumber": 9, - "CFREnabled": "AllAccounts", - "ExampleName": "Send an envelope using a template", - "ExampleDescription": "The envelope is defined by the template. The signer and cc recipient name and email are used to fill in the template's roles.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 8, - "RedirectText": "

Prerequisite: Please first create the template using Create a template.

" - } - ], - "Forms": [ - { - "FormName": "

The template you created via Create a template will be used.
The document list is from your results for List an envelope's documents.

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - }, - { - "ExampleNumber": 42, - "CFREnabled": "NonCFR", - "ExampleName": "Request a signature by email with document generation", - "ExampleDescription": "Creates an envelope from a template with a document that is dynamically generated to include all the customized data specified by the sender.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/templates/templates/create/", - "PathName": "Templates:create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/templates/templatedocuments/update/", - "PathName": "TemplateDocuments:update" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/templates/templaterecipienttabs/create/", - "PathName": "TemplateRecipientTabs:create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/documentgeneration/getenvelopedocgenformfields/", - "PathName": "DocumentGeneration:getEnvelopeDocGenFormFields" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/documentgeneration/updateenvelopedocgenformfields/", - "PathName": "DocumentGeneration:updateEnvelopeDocGenFormFields" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/update/", - "PathName": "Envelopes:update" - } - ], - "Forms": [ - { - "Inputs": [ + "Name":"Sending a signature request (remote signing)", + "Examples":[ + { + "ExampleNumber":2, + "CFREnabled":"AllAccounts", + "ExampleName":"Send an envelope with a remote (email) signer and cc recipient", + "ExampleDescription":"The envelope includes a pdf, Word, and HTML document. Anchor text(AutoPlace) is used to position the signing fields in the documents.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + }, + { + "ExampleNumber":9, + "CFREnabled":"AllAccounts", + "ExampleName":"Send an envelope using a template", + "ExampleDescription":"The envelope is defined by the template. The signer and cc recipient name and email are used to fill in the template's roles.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":8, + "RedirectText":"

Prerequisite: Please first create the template using Create a template.

" + } + ], + "Forms":[ + { + "FormName":"

The template you created via Create a template will be used.
The document list is from your results for List an envelope's documents.

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + }, + { + "ExampleNumber":42, + "CFREnabled":"NonCFR", + "ExampleName":"Request a signature by email with document generation", + "ExampleDescription":"Creates an envelope from a template with a document that is dynamically generated to include all the customized data specified by the sender.", + "LinksToAPIMethod":[ { - "InputName": "Candidate Email", - "InputPlaceholder": "pat@example.com" + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/templates/templates/create/", + "PathName":"Templates:create" }, { - "InputName": "Candidate Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Manager Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Job Title" - }, - { - "InputName": "Salary" - }, - { - "InputName": "Start Date", - "InputPlaceholder": "mm/dd/yyyy" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - }, - { - "ExampleNumber": 37, - "CFREnabled": "NonCFR", - "ExampleName": "Request a signature by SMS or WhatsApp delivery", - "ExampleDescription": "Sends a signature request via an SMS or WhatsApp message.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes::create" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Country Code", - "InputPlaceholder": "1" + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/templates/templatedocuments/update/", + "PathName":"TemplateDocuments:update" }, { - "InputName": "Signer Phone Number", - "InputPlaceholder": "4155551212" + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/templates/templaterecipienttabs/create/", + "PathName":"TemplateRecipientTabs:create" }, { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" }, { - "InputName": "CC Country Code", - "InputPlaceholder": "1" + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/documentgeneration/getenvelopedocgenformfields/", + "PathName":"DocumentGeneration:getEnvelopeDocGenFormFields" }, { - "InputName": "CC Phone Number", - "InputPlaceholder": "4155551212" + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/documentgeneration/updateenvelopedocgenformfields/", + "PathName":"DocumentGeneration:updateEnvelopeDocGenFormFields" }, { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/update/", + "PathName":"Envelopes:update" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Candidate Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Candidate Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Manager Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Job Title" + }, + { + "InputName":"Salary" + }, + { + "InputName":"Start Date", + "InputPlaceholder":"mm/dd/yyyy" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + }, + { + "ExampleNumber":37, + "CFREnabled":"NonCFR", + "ExampleName":"Request a signature by SMS or WhatsApp delivery", + "ExampleDescription":"Sends a signature request via an SMS or WhatsApp message.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes::create" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Country Code", + "InputPlaceholder":"1" + }, + { + "InputName":"Signer Phone Number", + "InputPlaceholder":"4155551212" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"CC Country Code", + "InputPlaceholder":"1" + }, + { + "InputName":"CC Phone Number", + "InputPlaceholder":"4155551212" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Delivery Method:" + }, + { + "InputName":"SMS" + }, + { + "InputName":"WhatsApp" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + } + ] + }, + { + "Name":"Hosting the signing experience (embedded signing)", + "Examples":[ + { + "ExampleNumber":1, + "CFREnabled":"NonCFR", + "ExampleName":"Request a signature through your app (embedded signing)", + "ExampleDescription":"Sends an envelope, then uses embedded signing for the first signer. With embedded signing, DocuSign signing is initiated from your website.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" }, { - "InputName": "Delivery Method:" + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", + "PathName":"EnvelopeViews:createRecipient" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"" + }, + { + "ExampleNumber":41, + "CFREnabled":"CFROnly", + "ExampleName":"Request a signature through your app (embedded signing) with a CFR Part 11 account", + "ExampleDescription":"Sends an envelope, then uses embedded signing with recipient authentication by phone for the first signer. With embedded signing, DocuSign signing is initiated from your website.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/getenvelopeworkflowdefinition/", + "PathName":"EnvelopeWorkflowDefinition:getEnvelopeWorkflowDefinition" }, { - "InputName": "SMS" + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" }, { - "InputName": "WhatsApp" + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", + "PathName":"EnvelopeViews:createRecipient" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Signer Country Code", + "InputPlaceholder":"1" + }, + { + "InputName":"Signer Phone Number", + "InputPlaceholder":"4155551212" + } + ] + } + ], + "ResultsPageText":"" + }, + { + "ExampleNumber":13, + "CFREnabled":"AllAccounts", + "ExampleName":"Embedded Signing Ceremony from a template with an added document", + "ExampleDescription":"

This example sends an envelope based on a template.

In addition to the template's document(s), the example adds an additional document to the envelope by using the Composite Templates feature.

", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", + "PathName":"EnvelopeViews:createRecipient" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":8, + "RedirectText":"

Prerequisite: Please first create the template using Create a template.

" + } + ], + "Forms":[ + { + "FormName":"

The template you created via Create a template will be used.

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Item" + }, + { + "InputName":"Quantity" + } + ] } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - } - ] + ], + "ResultsPageText":"" + }, + { + "ExampleNumber":44, + "CFREnabled":"NonCFR", + "ExampleName":"Request a signature using focused view", + "ExampleDescription":"Sends an envelope, then uses focused view for the signer.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", + "PathName":"EnvelopeViews:createRecipient" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"The document has been embedded with focused view.", + "SkipForLanguages":"bash;powershell" + }, + { + "ExampleNumber":39, + "CFREnabled":"NonCFR", + "ExampleName":"Send an envelope to an In Person Signer", + "ExampleDescription":"Demonstrates how to host an In Person Signing session with embedded signing.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", + "PathName":"EnvelopeViews:createRecipient" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"" + }, + { + "ExampleNumber":14, + "CFREnabled":"NonCFR", + "ExampleName":"Send an envelope with an order form and payment field", + "ExampleDescription":"Anchor text (AutoPlace) is used to position the fields in the documents.", + "Notes":"
Note: This example will only work if the sender's DocuSign account is set up with a DocuSign payment gateway. Since the Payment Gateway ID is set in the configuration file, you will need to run your own instance of this project to set it.
", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", + "PathName":"EnvelopeViews:createRecipient" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "RedirectText":"

Prerequisite: Please set the DS_PAYMENT_GATEWAY_ID value in the configuration file.

" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"pat@example.com" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + } + ] }, { - "Name": "Hosting the signing experience (embedded signing)", - "Examples": [ - { - "ExampleNumber": 1, - "CFREnabled": "NonCFR", - "ExampleName": "Request a signature through your app (embedded signing)", - "ExampleDescription": "Sends an envelope, then uses embedded signing for the first signer. With embedded signing, DocuSign signing is initiated from your website.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", - "PathName": "EnvelopeViews:createRecipient" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "" - }, - { - "ExampleNumber": 41, - "CFREnabled": "CFROnly", - "ExampleName": "Request a signature through your app (embedded signing) with a CFR Part 11 account", - "ExampleDescription": "Sends an envelope, then uses embedded signing with recipient authentication by phone for the first signer. With embedded signing, DocuSign signing is initiated from your website.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeworkflowdefinition/getenvelopeworkflowdefinition/", - "PathName": "EnvelopeWorkflowDefinition:getEnvelopeWorkflowDefinition" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", - "PathName": "EnvelopeViews:createRecipient" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Signer Country Code", - "InputPlaceholder": "1" - }, - { - "InputName": "Signer Phone Number", - "InputPlaceholder": "4155551212" - } - ] - } - ], - "ResultsPageText": "" - }, - { - "ExampleNumber": 13, - "CFREnabled": "AllAccounts", - "ExampleName": "Embedded Signing Ceremony from a template with an added document", - "ExampleDescription": "

This example sends an envelope based on a template.

In addition to the template's document(s), the example adds an additional document to the envelope by using the Composite Templates feature.

", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", - "PathName": "EnvelopeViews:createRecipient" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 8, - "RedirectText": "

Prerequisite: Please first create the template using Create a template.

" - } - ], - "Forms": [ - { - "FormName": "

The template you created via Create a template will be used.

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Item" - }, - { - "InputName": "Quantity" - } - ] - } - ], - "ResultsPageText": "" - }, - { - "ExampleNumber": 44, - "CFREnabled": "NonCFR", - "ExampleName": "Request a signature using focused view", - "ExampleDescription": "Sends an envelope, then uses focused view for the signer.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", - "PathName": "EnvelopeViews:createRecipient" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "The document has been embedded with focused view.", - "SkipForLanguages": "bash;powershell" - }, - { - "ExampleNumber": 39, - "CFREnabled": "NonCFR", - "ExampleName": "Send an envelope to an In Person Signer", - "ExampleDescription": "Demonstrates how to host an In Person Signing session with embedded signing.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", - "PathName": "EnvelopeViews:createRecipient" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "" - }, - { - "ExampleNumber": 14, - "CFREnabled": "NonCFR", - "ExampleName": "Send an envelope with an order form and payment field", - "ExampleDescription": "Anchor text (AutoPlace) is used to position the fields in the documents.", - "Notes": "
Note: This example will only work if the sender's DocuSign account is set up with a DocuSign payment gateway. Since the Payment Gateway ID is set in the configuration file, you will need to run your own instance of this project to set it.
", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", - "PathName": "EnvelopeViews:createRecipient" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "RedirectText": "

Prerequisite: Please set the DS_PAYMENT_GATEWAY_ID value in the configuration file.

" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "pat@example.com" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - } - ] + "Name":"Using envelopes and templates", + "Examples":[ + { + "ExampleNumber":4, + "CFREnabled":"AllAccounts", + "ExampleName":"Get an envelope's basic information and status", + "ExampleDescription":"List the basic information about an envelope, including its overall status. Additional API/SDK methods may be used to get additional information about the envelope, its documents, recipients, etc.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/get/", + "PathName":"Envelopes:get" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":2, + "RedirectText":"

Problem: please first create an envelope using Send an envelope with a remote (email) signer and cc recipient.
You will then need to use List an envelope's documents to create the list of documents.
Thank you.

" + } + ], + "Forms":[ + { + "FormName":"

The envelope you created via Send an envelope with a remote (email) signer and cc recipient will be queried.

" + } + ], + "ResultsPageText":"Results from the Envelopes::get method:" + }, + { + "ExampleNumber":5, + "CFREnabled":"AllAccounts", + "ExampleName":"List an envelope's recipients and their status", + "ExampleDescription":"List the envelope's recipients, including their current status.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/enveloperecipients/list/", + "PathName":"EnvelopeRecipients:list" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":2, + "RedirectText":"

Problem: please first create an envelope using Send an envelope with a remote (email) signer and cc recipient.
You will then need to use List an envelope's documents to create the list of documents.
Thank you.

" + } + ], + "Forms":[ + { + "FormName":"

The envelope you created via Send an envelope with a remote (email) signer and cc recipient will be queried.

" + } + ], + "ResultsPageText":"" + }, + { + "ExampleNumber":3, + "CFREnabled":"AllAccounts", + "ExampleName":"List envelopes in the user's account", + "ExampleDescription":"List the envelopes created in the last 30 days.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/liststatuschanges/", + "PathName":"Envelopes:listStatusChanges" + } + ], + "ResultsPageText":"Results from the Envelopes::listStatusChanges method:" + }, + { + "ExampleNumber":8, + "CFREnabled":"AllAccounts", + "ExampleName":"Create a template", + "ExampleDescription":"Create a template with two roles, signer and cc.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/templates/templates/list/", + "PathName":"Templates:list" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/templates/templates/create/", + "PathName":"Templates:create" + } + ], + "ResultsPageText":"
Template name: {0}, ID {1}." + }, + { + "ExampleNumber":11, + "CFREnabled":"AllAccounts", + "ExampleName":"Embedded sending", + "ExampleDescription":"An envelope will be created in draft mode. The DocuSign web tool (NDSE) will then be shown, enabling further updates to the envelope before it is sent.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createsender/", + "PathName":"EnvelopeViews:createSender" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Starting View" + }, + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"Sender view URL: {0}" + }, + { + "ExampleNumber":31, + "CFREnabled":"AllAccounts", + "ExampleName":"Bulk send envelopes", + "ExampleDescription":"Demonstrates how to send envelopes in bulk to multiple recipients. First, this example creates a bulk-send recipients list, then creates an envelope. After that, it initiates bulk envelope sending.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendlist/", + "PathName":"BulkSend::createBulkSendList" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes::create" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopecustomfields/create/", + "PathName":"EnvelopeCustomFields::create" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendrequest/", + "PathName":"BulkSend::createBulkSendRequest" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/bulkenvelopes/bulksend/getbulksendbatchstatus/", + "PathName":"BulkSend::getBulkSendBatchStatus" + } + ], + "CustomErrorTexts":[ + { + "ErrorMessage":"Bulk send envelope failed." + } + ], + "Forms":[ + { + "FormName":"

Bulk copy #1

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"Signer Email" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Signer Name" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"CC Email" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"CC Name" + } + ] + }, + { + "FormName":"

Bulk copy #2

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"Signer Email" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Signer Name" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"CC Email" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"CC Name" + } + ] + } + ], + "ResultsPageText":"Results from BulkSend:getBulkSendBatchStatus method:" + } + ] }, { - "Name": "Using envelopes and templates", - "Examples": [ - { - "ExampleNumber": 4, - "CFREnabled": "AllAccounts", - "ExampleName": "Get an envelope's basic information and status", - "ExampleDescription": "List the basic information about an envelope, including its overall status. Additional API/SDK methods may be used to get additional information about the envelope, its documents, recipients, etc.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/get/", - "PathName": "Envelopes:get" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 2, - "RedirectText": "

Problem: please first create an envelope using Send an envelope with a remote (email) signer and cc recipient.
You will then need to use List an envelope's documents to create the list of documents.
Thank you.

" - } - ], - "Forms": [ - { - "FormName": "

The envelope you created via Send an envelope with a remote (email) signer and cc recipient will be queried.

" - } - ], - "ResultsPageText": "Results from the Envelopes::get method:" - }, - { - "ExampleNumber": 5, - "CFREnabled": "AllAccounts", - "ExampleName": "List an envelope's recipients and their status", - "ExampleDescription": "List the envelope's recipients, including their current status.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/enveloperecipients/list/", - "PathName": "EnvelopeRecipients:list" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 2, - "RedirectText": "

Problem: please first create an envelope using Send an envelope with a remote (email) signer and cc recipient.
You will then need to use List an envelope's documents to create the list of documents.
Thank you.

" - } - ], - "Forms": [ - { - "FormName": "

The envelope you created via Send an envelope with a remote (email) signer and cc recipient will be queried.

" - } - ], - "ResultsPageText": "" - }, - { - "ExampleNumber": 3, - "CFREnabled": "AllAccounts", - "ExampleName": "List envelopes in the user's account", - "ExampleDescription": "List the envelopes created in the last 30 days.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/liststatuschanges/", - "PathName": "Envelopes:listStatusChanges" - } - ], - "ResultsPageText": "Results from the Envelopes::listStatusChanges method:" - }, - { - "ExampleNumber": 8, - "CFREnabled": "AllAccounts", - "ExampleName": "Create a template", - "ExampleDescription": "Create a template with two roles, signer and cc.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/templates/templates/list/", - "PathName": "Templates:list" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/templates/templates/create/", - "PathName": "Templates:create" - } - ], - "ResultsPageText": "
Template name: {0}, ID {1}." - }, - { - "ExampleNumber": 11, - "CFREnabled": "AllAccounts", - "ExampleName": "Embedded sending", - "ExampleDescription": "An envelope will be created in draft mode. The DocuSign web tool (NDSE) will then be shown, enabling further updates to the envelope before it is sent.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createsender/", - "PathName": "EnvelopeViews:createSender" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Starting View" - }, - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "Sender view URL: {0}" - }, - { - "ExampleNumber": 31, - "CFREnabled": "AllAccounts", - "ExampleName": "Bulk send envelopes", - "ExampleDescription": "Demonstrates how to send envelopes in bulk to multiple recipients. First, this example creates a bulk-send recipients list, then creates an envelope. After that, it initiates bulk envelope sending.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendlist/", - "PathName": "BulkSend::createBulkSendList" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes::create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopecustomfields/create/", - "PathName": "EnvelopeCustomFields::create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendrequest/", - "PathName": "BulkSend::createBulkSendRequest" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/bulkenvelopes/bulksend/getbulksendbatchstatus/", - "PathName": "BulkSend::getBulkSendBatchStatus" - } - ], - "CustomErrorTexts": [ - { - "ErrorMessage": "Bulk send envelope failed." - } - ], - "Forms": [ - { - "FormName": "

Bulk copy #1

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "Signer Email" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Signer Name" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "CC Email" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "CC Name" - } - ] - }, - { - "FormName": "

Bulk copy #2

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "Signer Email" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Signer Name" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "CC Email" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "CC Name" + "Name":"Using advanced recipient routing", + "Examples":[ + { + "ExampleNumber":32, + "CFREnabled":"NonCFR", + "ExampleName":"Pause a signature workflow", + "ExampleDescription":"This example creates and envelope and then pauses the signature workflow.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "Forms":[ + { + "FormName":"

Signer 1

", + "Inputs":[ + { + "InputName":"Signer name", + "InputPlaceholder":"Signer name" + }, + { + "InputName":"Signer Email", + "InputPlaceholder":"Signer Email" + } + ] + }, + { + "FormName":"

Signer 2

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"Signer Email" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Signer name" + } + ] + } + ], + "ResultsPageText":"Results from the Envelopes::create method:" + }, + { + "ExampleNumber":33, + "CFREnabled":"NonCFR", + "ExampleName":"Unpause a signature workflow", + "ExampleDescription":"This example unpauses a signature workflow for the previously created envelope that was paused.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/update/", + "PathName":"Envelopes:update" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":32, + "RedirectText":"

Prerequisite: Please first create an envelope with a paused signature workflow using Pause a signature workflow.

" + } + ], + "Forms":[ + { + "FormName":"

Signer 1

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"Signer Email" + }, + { + "InputName":"Signer name", + "InputPlaceholder":"Signer name" + } + ] + }, + { + "FormName":"

Conditional signer 2 when unchecked

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"Signer Email" + }, + { + "InputName":"Signer name", + "InputPlaceholder":"Signer name" + } + ] + }, + { + "FormName":"

Conditional signer 2 when checked

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"Signer Email" + }, + { + "InputName":"Signer name", + "InputPlaceholder":"Signer name" + } + ] + } + ], + "ResultsPageText":"Results from the Envelopes::update method:" + }, + { + "ExampleNumber":34, + "CFREnabled":"NonCFR", + "ExampleName":"Use conditional recipients", + "ExampleDescription":"Demonstrates how to create an envelope where the workflow is routed to different recipients based on the value of a transaction.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" } - ] - } - ], - "ResultsPageText": "Results from BulkSend:getBulkSendBatchStatus method:" - } - ] + ], + "CustomErrorTexts":[ + { + "ErrorMessageCheck":"WORKFLOW_UPDATE_RECIPIENTROUTING_NOT_ALLOWED", + "ErrorMessage":"Update to the workflow with recipient routing is not allowed for your account! Please contact with our support team to resolve this issue." + } + ], + "Forms":[ + { + "FormName":"

Signer 1

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"Signer Email" + }, + { + "InputName":"Signer name", + "InputPlaceholder":"Signer name" + } + ] + }, + { + "FormName":"

Conditional signer 2 when unchecked

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"Signer Email" + }, + { + "InputName":"Signer name", + "InputPlaceholder":"Signer name" + } + ] + }, + { + "FormName":"

Conditional signer 2 when checked

", + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"Signer Email" + }, + { + "InputName":"Signer name", + "InputPlaceholder":"Signer name" + } + ] + } + ], + "ResultsPageText":"Envelope ID {0} with conditional routing criteria has been created and sent to the first recipient!" + }, + { + "ExampleNumber":35, + "CFREnabled":"AllAccounts", + "ExampleName":"Schedule an envelope", + "ExampleDescription":"Demonstrates how to schedule an envelope using the scheduled sending feature.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Resume Date" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and scheduled!
Envelope ID {0}." + }, + { + "ExampleNumber":36, + "CFREnabled":"NonCFR", + "ExampleName":"Send an envelope with delayed routing", + "ExampleDescription":"Demonstrates how to delay an envelope’s delivery between recipients using the delayed routing feature.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer 1 Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer 1 Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Signer 2 Email", + "InputPlaceholder":"dana@example.com" + }, + { + "InputName":"Signer 2 Name", + "InputPlaceholder":"Dana Paxon" + }, + { + "InputName":"Delay (in hours)" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + } + ] }, { - "Name": "Using advanced recipient routing", - "Examples": [ - { - "ExampleNumber": 32, - "CFREnabled": "NonCFR", - "ExampleName": "Pause a signature workflow", - "ExampleDescription": "This example creates and envelope and then pauses the signature workflow.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "Forms": [ - { - "FormName": "

Signer 1

", - "Inputs": [ - { - "InputName": "Signer name", - "InputPlaceholder": "Signer name" - }, - { - "InputName": "Signer Email", - "InputPlaceholder": "Signer Email" - } - ] - }, - { - "FormName": "

Signer 2

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "Signer Email" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Signer name" - } - ] - } - ], - "ResultsPageText": "Results from the Envelopes::create method:" - }, - { - "ExampleNumber": 33, - "CFREnabled": "NonCFR", - "ExampleName": "Unpause a signature workflow", - "ExampleDescription": "This example unpauses a signature workflow for the previously created envelope that was paused.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/update/", - "PathName": "Envelopes:update" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 32, - "RedirectText": "

Prerequisite: Please first create an envelope with a paused signature workflow using Pause a signature workflow.

" - } - ], - "Forms": [ - { - "FormName": "

Signer 1

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "Signer Email" - }, - { - "InputName": "Signer name", - "InputPlaceholder": "Signer name" - } - ] - }, - { - "FormName": "

Conditional signer 2 when unchecked

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "Signer Email" - }, - { - "InputName": "Signer name", - "InputPlaceholder": "Signer name" - } - ] - }, - { - "FormName": "

Conditional signer 2 when checked

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "Signer Email" - }, - { - "InputName": "Signer name", - "InputPlaceholder": "Signer name" - } - ] - } - ], - "ResultsPageText": "Results from the Envelopes::update method:" - }, - { - "ExampleNumber": 34, - "CFREnabled": "NonCFR", - "ExampleName": "Use conditional recipients", - "ExampleDescription": "Demonstrates how to create an envelope where the workflow is routed to different recipients based on the value of a transaction.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "CustomErrorTexts": [ - { - "ErrorMessageCheck": "WORKFLOW_UPDATE_RECIPIENTROUTING_NOT_ALLOWED", - "ErrorMessage": "Update to the workflow with recipient routing is not allowed for your account! Please contact with our support team to resolve this issue." - } - ], - "Forms": [ - { - "FormName": "

Signer 1

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "Signer Email" - }, - { - "InputName": "Signer name", - "InputPlaceholder": "Signer name" - } - ] - }, - { - "FormName": "

Conditional signer 2 when unchecked

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "Signer Email" - }, - { - "InputName": "Signer name", - "InputPlaceholder": "Signer name" - } - ] - }, - { - "FormName": "

Conditional signer 2 when checked

", - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "Signer Email" - }, - { - "InputName": "Signer name", - "InputPlaceholder": "Signer name" - } - ] - } - ], - "ResultsPageText": "Envelope ID {0} with conditional routing criteria has been created and sent to the first recipient!" - }, - { - "ExampleNumber": 35, - "CFREnabled": "AllAccounts", - "ExampleName": "Schedule an envelope", - "ExampleDescription": "Demonstrates how to schedule an envelope using the scheduled sending feature.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Resume Date" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and scheduled!
Envelope ID {0}." - }, - { - "ExampleNumber": 36, - "CFREnabled": "NonCFR", - "ExampleName": "Send an envelope with delayed routing", - "ExampleDescription": "Demonstrates how to delay an envelope’s delivery between recipients using the delayed routing feature.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer 1 Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer 1 Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Signer 2 Email", - "InputPlaceholder": "dana@example.com" + "Name":"Using documents", + "Examples":[ + { + "ExampleNumber":6, + "CFREnabled":"AllAccounts", + "ExampleName":"List an envelope's documents", + "ExampleDescription":"List the envelope's documents. A Certificate of Completion document is also associated with every envelope.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopedocuments/list/", + "PathName":"EnvelopeDocuments:list" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":2, + "RedirectText":"

Problem: please first create an envelope using Send an envelope with a remote (email) signer and cc recipient.
You will then need to use List an envelope's documents to create the list of documents.
Thank you.

" + } + ], + "Forms":[ + { + "FormName":"

The envelope you created via Send an envelope with a remote (email) signer and cc recipient will be queried.

" + } + ], + "ResultsPageText":"Results from the EnvelopeDocuments::list method:" + }, + { + "ExampleNumber":7, + "CFREnabled":"AllAccounts", + "ExampleName":"Download a document from an envelope", + "ExampleDescription":"An envelope's documents can be downloaded one by one or as a complete set.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopedocuments/get/", + "PathName":"EnvelopeDocuments:get" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":2, + "RedirectText":"

Problem: please first create an envelope using Send an envelope with a remote (email) signer and cc recipient.
You will then need to use List an envelope's documents to create the list of documents.
Thank you.

" }, { - "InputName": "Signer 2 Name", - "InputPlaceholder": "Dana Paxon" + "CodeExampleToRedirectTo":6, + "RedirectText":"

Problem: please first create a list of the envelope's documents usingList an envelope's documents.
Thank you.

" + } + ], + "Forms":[ + { + "FormName":"

Please choose a document.
The document list is from your results for List an envelope's documents.

", + "Inputs":[ + { + "InputName":"Document selection" + } + ] + } + ], + "ResultsPageText":"" + }, + { + "ExampleNumber":10, + "CFREnabled":"AllAccounts", + "ExampleName":"Send an envelope using binary document transfer", + "ExampleDescription":"

The envelope includes a pdf, Word, and HTML document.

Multipart data transfer is used to send the documents in binary format to DocuSign. Binary transfer is 33% more efficient than base64 encoding and is recommended for documents over 15M Bytes. Binary transfer is not yet supported by the SDK.

", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + }, + { + "ExampleNumber":38, + "CFREnabled":"AllAccounts", + "ExampleName":"Create a signable HTML document", + "ExampleDescription":"Demonstrates how to create an HTML document for responsive signing.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes::create" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", + "PathName":"EnvelopeViews:createRecipient" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"" + }, + { + "ExampleNumber":40, + "CFREnabled":"NonCFR", + "ExampleName":"Set document visibility for envelope recipients", + "ExampleDescription":"Demonstrates how to set document visibility for envelope recipients.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes::create" + } + ], + "CustomErrorTexts":[ + { + "ErrorMessageCheck":"ACCOUNT_LACKS_PERMISSIONS", + "ErrorMessage":"See How to set document visibility for envelope recipients in the DocuSign Developer Center for instructions on how to enable document visibility in your developer account." + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer1 Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer1 Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Signer2 Email", + "InputPlaceholder":"bob@mail.com" + }, + { + "InputName":"Signer2 Name", + "InputPlaceholder":"Bob" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent! Envelope ID {0}." + } + ] + }, + { + "Name":"Using tabs", + "Examples":[ + { + "ExampleNumber":15, + "CFREnabled":"AllAccounts", + "ExampleName":"Get the tab data from an envelope", + "ExampleDescription":"This example retrieves the tab (field) values from an envelope.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeformdata/get/", + "PathName":"EnvelopeFormData:get" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":9, + "RedirectText":"

Prerequisite: Please first create an envelope using Send an envelope using a template.

" + } + ], + "Forms":[ + { + "FormName":"

The last envelope you created with this example launcher will be queried. Recommendation: Use Send an envelope using a template, then this example, since Send an envelope using a template includes many tabs of different types.

" + } + ], + "ResultsPageText":"Results from the Envelopes::get method:" + }, + { + "ExampleNumber":16, + "CFREnabled":"AllAccounts", + "ExampleName":"Set tab values for a envelope", + "ExampleDescription":"This example sets the tab (field) values for an envelope including tabs that can and cannot be changed by the signer.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + } + ] + } + ], + "ResultsPageText":"" + }, + { + "ExampleNumber":17, + "CFREnabled":"AllAccounts", + "ExampleName":"Set template tab values", + "ExampleDescription":"This example sets the tab (field) values for a template being used by an envelope.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":8, + "RedirectText":"

Prerequisite: Please first create the template using Create a template.

" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"pat@example.com" + } + ] + } + ], + "ResultsPageText":"" + }, + { + "ExampleNumber":18, + "CFREnabled":"AllAccounts", + "ExampleName":"List envelope custom metadata field values", + "ExampleDescription":"This example lists the envelope's custom metadata field values.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopecustomfields/list/", + "PathName":"EnvelopeCustomFields:list" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":16, + "RedirectText":"

Problem: Please first create an envelope using Set tab values for a envelope.

" + } + ], + "Forms":[ + { + "FormName":"

The last envelope you created with this example launcher will be queried. Recommendation: Create an envelope using Set tab values for a envelope then use this example in order to see an example of custom tab values.

" + } + ], + "ResultsPageText":"Results from the EnvelopeCustomFields::list method:" + } + ] + }, + { + "Name":"Using brands", + "Examples":[ + { + "ExampleNumber":28, + "CFREnabled":"AllAccounts", + "ExampleName":"Create a new Brand", + "ExampleDescription":"Create a new Brand", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/accounts/accountbrands/create/", + "PathName":"AccountBrands:create" + } + ], + "Forms":[ + { + "FormName":"

New brand

", + "Inputs":[ + { + "InputName":"Brand name", + "InputPlaceholder":"New Brand" + }, + { + "InputName":"Default Brand language" + } + ] + } + ], + "ResultsPageText":"The brand has been created!
Brand ID: {0}." + }, + { + "ExampleNumber":29, + "CFREnabled":"AllAccounts", + "ExampleName":"Applying a brand to an envelope", + "ExampleDescription":"Applies brand to an envelope.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":28, + "RedirectText":"

No brands were found for this account; please create one first.

" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Brand" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + }, + { + "ExampleNumber":30, + "CFREnabled":"AllAccounts", + "ExampleName":"Applying a brand to a template", + "ExampleDescription":"Applies brand to a template.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":28, + "RedirectText":"

No brands were found for this account; please create one first.

" }, { - "InputName": "Delay (in hours)" + "CodeExampleToRedirectTo":8, + "RedirectText":"

Prerequisite: Please first create the template using Create a template.

" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"CC Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"CC Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Brand" + } + ] } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - } - ] + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + } + ] }, { - "Name": "Using documents", - "Examples": [ - { - "ExampleNumber": 6, - "CFREnabled": "AllAccounts", - "ExampleName": "List an envelope's documents", - "ExampleDescription": "List the envelope's documents. A Certificate of Completion document is also associated with every envelope.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopedocuments/list/", - "PathName": "EnvelopeDocuments:list" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 2, - "RedirectText": "

Problem: please first create an envelope using Send an envelope with a remote (email) signer and cc recipient.
You will then need to use List an envelope's documents to create the list of documents.
Thank you.

" - } - ], - "Forms": [ - { - "FormName": "

The envelope you created via Send an envelope with a remote (email) signer and cc recipient will be queried.

" - } - ], - "ResultsPageText": "Results from the EnvelopeDocuments::list method:" - }, - { - "ExampleNumber": 7, - "CFREnabled": "AllAccounts", - "ExampleName": "Download a document from an envelope", - "ExampleDescription": "An envelope's documents can be downloaded one by one or as a complete set.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopedocuments/get/", - "PathName": "EnvelopeDocuments:get" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 2, - "RedirectText": "

Problem: please first create an envelope using Send an envelope with a remote (email) signer and cc recipient.
You will then need to use List an envelope's documents to create the list of documents.
Thank you.

" - }, - { - "CodeExampleToRedirectTo": 6, - "RedirectText": "

Problem: please first create a list of the envelope's documents usingList an envelope's documents.
Thank you.

" - } - ], - "Forms": [ - { - "FormName": "

Please choose a document.
The document list is from your results for List an envelope's documents.

", - "Inputs": [ - { - "InputName": "Document selection" - } - ] - } - ], - "ResultsPageText": "" - }, - { - "ExampleNumber": 10, - "CFREnabled": "AllAccounts", - "ExampleName": "Send an envelope using binary document transfer", - "ExampleDescription": "

The envelope includes a pdf, Word, and HTML document.

Multipart data transfer is used to send the documents in binary format to DocuSign. Binary transfer is 33% more efficient than base64 encoding and is recommended for documents over 15M Bytes. Binary transfer is not yet supported by the SDK.

", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - }, - { - "ExampleNumber": 38, - "CFREnabled": "AllAccounts", - "ExampleName": "Create a signable HTML document", - "ExampleDescription": "Demonstrates how to create an HTML document for responsive signing.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes::create" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/", - "PathName": "EnvelopeViews:createRecipient" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "" - }, - { - "ExampleNumber": 40, - "CFREnabled": "NonCFR", - "ExampleName": "Set document visibility for envelope recipients", - "ExampleDescription": "Demonstrates how to set document visibility for envelope recipients.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes::create" - } - ], - "CustomErrorTexts": [ - { - "ErrorMessageCheck": "ACCOUNT_LACKS_PERMISSIONS", - "ErrorMessage": "See How to set document visibility for envelope recipients in the DocuSign Developer Center for instructions on how to enable document visibility in your developer account." - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer1 Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer1 Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Signer2 Email", - "InputPlaceholder": "bob@mail.com" - }, - { - "InputName": "Signer2 Name", - "InputPlaceholder": "Bob" + "Name":"Using permissions", + "Examples":[ + { + "ExampleNumber":24, + "CFREnabled":"AllAccounts", + "ExampleName":"Create a new permission profile", + "ExampleDescription":"Creating new permission profile.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/accounts/accountpermissionprofiles/create/", + "PathName":"AccountPermissionProfiles:create" + } + ], + "Forms":[ + { + "FormName":"

Permission profile

", + "Inputs":[ + { + "InputName":"Profile name", + "InputPlaceholder":"Profile name" + } + ] + } + ], + "ResultsPageText":"The permission profile was created!
Permission profile ID: {0}, name:{1}." + }, + { + "ExampleNumber":25, + "CFREnabled":"AllAccounts", + "ExampleName":"Setting a permission profile", + "ExampleDescription":"Setting a permission profile.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/usergroups/groups/update/", + "PathName":"Groups:update" + } + ], + "CustomErrorTexts":[ + { + "ErrorMessage":"The permission profile failed to set to the user group" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Permission profile", + "InputPlaceholder":"Select permission profile" + }, + { + "InputName":"User group", + "InputPlaceholder":"Select user group" + } + ] + } + ], + "ResultsPageText":"The permission profile was successfully set to the user group!" + }, + { + "ExampleNumber":26, + "CFREnabled":"AllAccounts", + "ExampleName":"Updating individual permission profile settings", + "ExampleDescription":"Updating individual permissions.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/accounts/accountpermissionprofiles/update/", + "PathName":"AccountPermissionProfiles:update" + } + ], + "Forms":[ + { + "FormName":"

Permission profile

", + "Inputs":[ + { + "InputName":"Profile name", + "InputPlaceholder":"Profile name" + } + ] + } + ], + "ResultsPageText":"The permission profile was updated!
Permission profile ID: {0}." + }, + { + "ExampleNumber":27, + "CFREnabled":"AllAccounts", + "ExampleName":"Deleting a permission profile", + "ExampleDescription":"Deleting a permission profile", + "Notes":"Note: You cannot remove \"Everyone\" nor \"Administrator\" permission profiles.

", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/accounts/accountpermissionprofiles/delete/", + "PathName":"AccountPermissionProfiles:delete" + } + ], + "CustomErrorTexts":[ + { + "ErrorMessage":"The permission profile failed to delete" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Permission profile", + "InputPlaceholder":"Select permission profile" + } + ] + } + ], + "ResultsPageText":"The permission profile is deleted!" + }, + { + "ExampleNumber":43, + "CFREnabled":"AllAccounts", + "ExampleName":"Share access to a DocuSign envelope inbox", + "ExampleDescription":"Share envelope inbox access with an agent user and view the principal user's envelopes using the Shared Access view in the DocuSign UI", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/users/users/create/", + "PathName":"Users:create" + }, + { + "Path":"", + "PathName":"Users:authorization" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/liststatus/", + "PathName":"Envelopes:listStatus" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"New Agent Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"New Agent Name", + "InputPlaceholder":"Pat Johnson" + }, + { + "InputName":"Activation Code", + "InputPlaceholder":"123" + } + ] + } + ], + "ResultsPageText":"Agent has been created. Please go to the agent's email to activate the agent.", + "AdditionalPage":[ + { + "Name":"authenticate_as_agent", + "ResultsPageText":"Please go to the principal's developer account at admindemo.docusign.com and log out, then come back to this page and press continue. You will be redirected to the log in page where you should authenticate as the agent user that you just created." }, { - "InputName": "CC Email", - "InputPlaceholder": "pat@example.com" + "Name":"list_status_successful", + "ResultsPageText":"

Go to the Manage tab in the agent's DocuSign developer account, select shared access in the upper left, then select the principal's account to view the principal's envelopes. For details, see How to share access to a DocuSign inbox.

Results from Envelopes:listStatus method:

" }, { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" + "Name":"list_status_unsuccessful", + "ResultsPageText":"The principal user's account does not have any envelopes in it. Please log out of the launcher and log in as a principal user and create an envelope." + }, + { + "Name":"user_not_found", + "ResultsPageText":"User has not been activated. Please go to the agent's email to activate the agent." } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent! Envelope ID {0}." - } - ] + ], + "SkipForLanguages":"java" + } + ] }, { - "Name": "Using tabs", - "Examples": [ - { - "ExampleNumber": 15, - "CFREnabled": "AllAccounts", - "ExampleName": "Get the tab data from an envelope", - "ExampleDescription": "This example retrieves the tab (field) values from an envelope.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeformdata/get/", - "PathName": "EnvelopeFormData:get" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 9, - "RedirectText": "

Prerequisite: Please first create an envelope using Send an envelope using a template.

" - } - ], - "Forms": [ - { - "FormName": "

The last envelope you created with this example launcher will be queried. Recommendation: Use Send an envelope using a template, then this example, since Send an envelope using a template includes many tabs of different types.

" - } - ], - "ResultsPageText": "Results from the Envelopes::get method:" - }, - { - "ExampleNumber": 16, - "CFREnabled": "AllAccounts", - "ExampleName": "Set tab values for a envelope", - "ExampleDescription": "This example sets the tab (field) values for an envelope including tabs that can and cannot be changed by the signer.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - } - ] - } - ], - "ResultsPageText": "" - }, - { - "ExampleNumber": 17, - "CFREnabled": "AllAccounts", - "ExampleName": "Set template tab values", - "ExampleDescription": "This example sets the tab (field) values for a template being used by an envelope.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 8, - "RedirectText": "

Prerequisite: Please first create the template using Create a template.

" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "pat@example.com" - } - ] - } - ], - "ResultsPageText": "" - }, - { - "ExampleNumber": 18, - "CFREnabled": "AllAccounts", - "ExampleName": "List envelope custom metadata field values", - "ExampleDescription": "This example lists the envelope's custom metadata field values.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopecustomfields/list/", - "PathName": "EnvelopeCustomFields:list" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 16, - "RedirectText": "

Problem: Please first create an envelope using Set tab values for a envelope.

" - } - ], - "Forms": [ - { - "FormName": "

The last envelope you created with this example launcher will be queried. Recommendation: Create an envelope using Set tab values for a envelope then use this example in order to see an example of custom tab values.

" - } - ], - "ResultsPageText": "Results from the EnvelopeCustomFields::list method:" - } - ] + "Name":"Using multi-factor recipient (signer) authentication", + "Examples":[ + { + "ExampleNumber":23, + "CFREnabled":"AllAccounts", + "ExampleName":"Send an envelope with ID Verification Authentication", + "ExampleDescription":"Submit an envelope that requires verification of a government issued identity.", + "Notes":"

Note: The access code for this example is the Signer Name.

", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "CustomErrorTexts":[ + { + "ErrorMessageCheck":"IDENTITY_WORKFLOW_INVALID_ID", + "ErrorMessage":"Please contact
Support to enable IDV in your account." + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + }, + { + "ExampleNumber":22, + "CFREnabled":"AllAccounts", + "ExampleName":"Send an envelope with Recipient Knowledged Based Authentication", + "ExampleDescription":"Submit an envelope with multiple choice, public records based questions to provide multi-factor authentication.", + "Notes":"

Note: The access code for this example is the Signer Name.

", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + }, + { + "ExampleNumber":20, + "CFREnabled":"NonCFR", + "ExampleName":"Require Phone Authentication for a Recipient", + "ExampleDescription":"Sends an envelope that requires entering a six-digit code from a text message or phone call for the purpose of multifactor authentication.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "CustomErrorTexts":[ + { + "ErrorMessageCheck":"IDENTITY_WORKFLOW_INVALID_ID", + "ErrorMessage":"Please contact Support to enable recipient phone authentication in your account." + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Signer Country Code", + "InputPlaceholder":"1" + }, + { + "InputName":"Signer Phone Number", + "InputPlaceholder":"4155551212" + }, + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + }, + { + "ExampleNumber":19, + "CFREnabled":"AllAccounts", + "ExampleName":"Send an envelope with Access Code Recipient Authentication", + "ExampleDescription":"Submit an envelope with an access code for multi-factor authentication.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", + "PathName":"Envelopes:create" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Access Code", + "InputPlaceholder":"Enter a recipient access code here" + }, + { + "InputName":"Signer Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"Signer Name", + "InputPlaceholder":"Pat Johnson" + } + ] + } + ], + "ResultsPageText":"The envelope has been created and sent!
Envelope ID {0}." + } + ] }, { - "Name": "Using brands", - "Examples": [ - { - "ExampleNumber": 28, - "CFREnabled": "AllAccounts", - "ExampleName": "Create a new Brand", - "ExampleDescription": "Create a new Brand", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/accounts/accountbrands/create/", - "PathName": "AccountBrands:create" - } - ], - "Forms": [ - { - "FormName": "

New brand

", - "Inputs": [ - { - "InputName": "Brand name", - "InputPlaceholder": "New Brand" - }, - { - "InputName": "Default Brand language" - } - ] - } - ], - "ResultsPageText": "The brand has been created!
Brand ID: {0}." - }, - { - "ExampleNumber": 29, - "CFREnabled": "AllAccounts", - "ExampleName": "Applying a brand to an envelope", - "ExampleDescription": "Applies brand to an envelope.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 28, - "RedirectText": "

No brands were found for this account; please create one first.

" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Brand" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - }, - { - "ExampleNumber": 30, - "CFREnabled": "AllAccounts", - "ExampleName": "Applying a brand to a template", - "ExampleDescription": "Applies brand to a template.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 28, - "RedirectText": "

No brands were found for this account; please create one first.

" - }, - { - "CodeExampleToRedirectTo": 8, - "RedirectText": "

Prerequisite: Please first create the template using Create a template.

" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "CC Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "CC Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Brand" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - } - ] - }, + "Name":"Embedded DocuSign web tool", + "Examples":[ + { + "ExampleNumber":12, + "CFREnabled":"AllAccounts", + "ExampleName":"Embedded DocuSign web tool", + "ExampleDescription":"Redirect the user to the DocuSign web tool.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createconsole/", + "PathName":"EnvelopeViews:createConsole" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":2, + "RedirectText":"

Optional: To use the envelope's Documents view, please first create an envelope using Send an envelope with a remote (email) signer and cc recipient.

" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Starting View" + } + ] + } + ], + "ResultsPageText":"NDSE view URL: {0}." + } + ] + } + ] + }, + { + "Name":"Click", + "Groups":[ { - "Name": "Using permissions", - "Examples": [ - { - "ExampleNumber": 24, - "CFREnabled": "AllAccounts", - "ExampleName": "Create a new permission profile", - "ExampleDescription": "Creating new permission profile.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/accounts/accountpermissionprofiles/create/", - "PathName": "AccountPermissionProfiles:create" - } - ], - "Forms": [ - { - "FormName": "

Permission profile

", - "Inputs": [ - { - "InputName": "Profile name", - "InputPlaceholder": "Profile name" - } - ] - } - ], - "ResultsPageText": "The permission profile was created!
Permission profile ID: {0}, name:{1}." - }, - { - "ExampleNumber": 25, - "CFREnabled": "AllAccounts", - "ExampleName": "Setting a permission profile", - "ExampleDescription": "Setting a permission profile.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/usergroups/groups/update/", - "PathName": "Groups:update" - } - ], - "CustomErrorTexts": [ - { - "ErrorMessage": "The permission profile failed to set to the user group" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Permission profile", - "InputPlaceholder": "Select permission profile" - }, - { - "InputName": "User group", - "InputPlaceholder": "Select user group" - } - ] - } - ], - "ResultsPageText": "The permission profile was successfully set to the user group!" - }, - { - "ExampleNumber": 26, - "CFREnabled": "AllAccounts", - "ExampleName": "Updating individual permission profile settings", - "ExampleDescription": "Updating individual permissions.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/accounts/accountpermissionprofiles/update/", - "PathName": "AccountPermissionProfiles:update" - } - ], - "Forms": [ - { - "FormName": "

Permission profile

", - "Inputs": [ - { - "InputName": "Profile name", - "InputPlaceholder": "Profile name" - } - ] - } - ], - "ResultsPageText": "The permission profile was updated!
Permission profile ID: {0}." - }, - { - "ExampleNumber": 27, - "CFREnabled": "AllAccounts", - "ExampleName": "Deleting a permission profile", - "ExampleDescription": "Deleting a permission profile", - "Notes": "Note: You cannot remove \"Everyone\" nor \"Administrator\" permission profiles.

", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/accounts/accountpermissionprofiles/delete/", - "PathName": "AccountPermissionProfiles:delete" - } - ], - "CustomErrorTexts": [ - { - "ErrorMessage": "The permission profile failed to delete" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Permission profile", - "InputPlaceholder": "Select permission profile" - } - ] - } - ], - "ResultsPageText": "The permission profile is deleted!" - }, - { - "ExampleNumber": 43, - "CFREnabled": "AllAccounts", - "ExampleName": "Share access to a DocuSign envelope inbox", - "ExampleDescription": "Share envelope inbox access with an agent user and view the principal user's envelopes using the Shared Access view in the DocuSign UI", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/users/users/create/", - "PathName": "Users:create" - }, - { - "Path": "", - "PathName": "Users:authorization" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/liststatus/", - "PathName": "Envelopes:listStatus" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "New Agent Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "New Agent Name", - "InputPlaceholder": "Pat Johnson" - }, - { - "InputName": "Activation Code", - "InputPlaceholder": "123" - } - ] - } - ], - "ResultsPageText": "Agent has been created. Please go to the agent's email to activate the agent.", - "AdditionalPage": [ - { - "Name": "authenticate_as_agent", - "ResultsPageText": "Please go to the principal's developer account at admindemo.docusign.com and log out, then come back to this page and press continue. You will be redirected to the log in page where you should authenticate as the agent user that you just created." - }, - { - "Name": "list_status_successful", - "ResultsPageText": "

Go to the Manage tab in the agent's DocuSign developer account, select shared access in the upper left, then select the principal's account to view the principal's envelopes. For details, see How to share access to a DocuSign inbox.

Results from Envelopes:listStatus method:

" - }, - { - "Name": "list_status_unsuccessful", - "ResultsPageText": "The principal user's account does not have any envelopes in it. Please log out of the launcher and log in as a principal user and create an envelope." - }, - { - "Name": "user_not_found", - "ResultsPageText": "User has not been activated. Please go to the agent's email to activate the agent." - } - ], - "SkipForLanguages": "java" - } - ] - }, + "Name":"Click examples", + "Examples":[ + { + "ExampleNumber":1, + "ExampleName":"Create an elastic template", + "ExampleDescription":"Creates an elastic template that you can embed in your website or app.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/createclickwrap/", + "PathName":"ClickWraps::createClickwrap" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Name", + "InputPlaceholder":"Name of the elastic template" + } + ] + } + ], + "ResultsPageText":"The elastic template {0} has been created!" + }, + { + "ExampleNumber":2, + "ExampleName":"Activate an elastic template", + "ExampleDescription":"Activates a new elastic template that you have already created.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/updateclickwrapversion", + "PathName":"ClickWraps::updateClickwrapVersion" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":1, + "RedirectText":"

Problem: You do not have an active elastic template. Create an elastic template.

" + } + ], + "Forms":[ + { + "FormName":"

Choose an elastic template to activate

", + "Inputs":[ + { + "InputName":"elastic template" + } + ] + } + ], + "ResultsPageText":"The elastic template has been activated!" + }, + { + "ExampleNumber":6, + "ExampleName":"Embed an elastic template", + "ExampleDescription":"Creates a unique URL for an active elastic template and embeds the elastic template on your page.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/createhasagreed/", + "PathName":"ClickWraps::createHasAgreed" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":1, + "RedirectText":"

Problem: You do not have an active elastic template. Create an elastic template.

" + }, + { + "CodeExampleToRedirectTo":2, + "RedirectText":"

Problem: Your elastic template is inactive. Activate an elastic template.

" + } + ], + "Forms":[ + { + "FormName":"

Choose an elastic template to embed:

", + "Inputs":[ + { + "InputName":"elastic template" + }, + { + "InputName":"Full Name" + }, + { + "InputName":"Email" + }, + { + "InputName":"Company" + }, + { + "InputName":"Job Title" + }, + { + "InputName":"Date" + } + ] + } + ], + "ResultsPageText":"See the embedded elastic template in the dialog box." + }, + { + "ExampleNumber":3, + "ExampleName":"Create a new elastic template version", + "ExampleDescription":"Creates a new version of an elastic template.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/createclickwrapversion/", + "PathName":"ClickWraps::createClickwrapVersion" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":1, + "RedirectText":"

Problem: You do not have an active elastic template. Create an elastic template.

" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Clickwrap" + }, + { + "InputName":"New Name" + } + ] + } + ], + "ResultsPageText":"Version {0} of elastic template \"{1}\" has been created." + }, + { + "ExampleNumber":4, + "ExampleName":"Get a list of elastic templates", + "ExampleDescription":"Gets a list of elastic templates associated with a specific DocuSign user.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/getclickwraps", + "PathName":"ClickWraps::getClickwraps" + } + ], + "ResultsPageText":"Results from the ClickWraps::getClickwraps method:" + }, + { + "ExampleNumber":5, + "ExampleName":"Get elastic template responses", + "ExampleDescription":"Gets user responses to your elastic template agreements.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/getclickwrapagreements", + "PathName":"ClickWraps::getClickwrapAgreements" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":1, + "RedirectText":"

Problem: You do not have an active elastic template. Create an elastic template.

" + } + ], + "Forms":[ + { + "FormName":"

Choose an elastic template:

", + "Inputs":[ + { + "InputName":"elastic template" + } + ] + } + ], + "ResultsPageText":"Results from the ClickWraps::getClickwrapAgreements method:" + } + ] + } + ] + }, + { + "Name":"Connect", + "Groups":[ { - "Name": "Using multi-factor recipient (signer) authentication", - "Examples": [ - { - "ExampleNumber": 23, - "CFREnabled": "AllAccounts", - "ExampleName": "Send an envelope with ID Verification Authentication", - "ExampleDescription": "Submit an envelope that requires verification of a government issued identity.", - "Notes": "

Note: The access code for this example is the Signer Name.

", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "CustomErrorTexts": [ - { - "ErrorMessageCheck": "IDENTITY_WORKFLOW_INVALID_ID", - "ErrorMessage": "Please contact Support to enable IDV in your account." - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - }, - { - "ExampleNumber": 22, - "CFREnabled": "AllAccounts", - "ExampleName": "Send an envelope with Recipient Knowledged Based Authentication", - "ExampleDescription": "Submit an envelope with multiple choice, public records based questions to provide multi-factor authentication.", - "Notes": "

Note: The access code for this example is the Signer Name.

", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - }, - { - "ExampleNumber": 20, - "CFREnabled": "NonCFR", - "ExampleName": "Require Phone Authentication for a Recipient", - "ExampleDescription": "Sends an envelope that requires entering a six-digit code from a text message or phone call for the purpose of multifactor authentication.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "CustomErrorTexts": [ - { - "ErrorMessageCheck": "IDENTITY_WORKFLOW_INVALID_ID", - "ErrorMessage": "Please contact Support to enable recipient phone authentication in your account." - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Signer Country Code", - "InputPlaceholder": "1" - }, - { - "InputName": "Signer Phone Number", - "InputPlaceholder": "4155551212" - }, - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - }, - { - "ExampleNumber": 19, - "CFREnabled": "AllAccounts", - "ExampleName": "Send an envelope with Access Code Recipient Authentication", - "ExampleDescription": "Submit an envelope with an access code for multi-factor authentication.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/", - "PathName": "Envelopes:create" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Access Code", - "InputPlaceholder": "Enter a recipient access code here" - }, - { - "InputName": "Signer Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "Signer Name", - "InputPlaceholder": "Pat Johnson" - } - ] - } - ], - "ResultsPageText": "The envelope has been created and sent!
Envelope ID {0}." - } - ] - }, + "Name":"Connect examples", + "Examples":[ + { + "ExampleNumber":1, + "ExampleName":"Validate HMAC signature", + "ExampleDescription":"Demonstrates an example workflow for a client app receiving and validating a webhook (DocuSign Connect) message using HMAC security.", + "Forms":[ + { + "Inputs":[ + { + "InputName":"HMAC secret" + }, + { + "InputName":"Plain text JSON payload" + } + ] + } + ], + "ResultsPageText":"This value should match the value of your x-docusign-signature header:
HMAC signature {0}", + "SkipForLanguages":"bash;powershell;java;php" + } + ] + } + ] + }, + { + "Name":"WebForms", + "Groups":[ { - "Name": "Embedded DocuSign web tool", - "Examples": [ - { - "ExampleNumber": 12, - "CFREnabled": "AllAccounts", - "ExampleName": "Embedded DocuSign web tool", - "ExampleDescription": "Redirect the user to the DocuSign web tool.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeviews/createconsole/", - "PathName": "EnvelopeViews:createConsole" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 2, - "RedirectText": "

Optional: To use the envelope's Documents view, please first create an envelope using Send an envelope with a remote (email) signer and cc recipient.

" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Starting View" - } - ] - } - ], - "ResultsPageText": "NDSE view URL: {0}." - } - ] + "Name":"Web forms", + "Examples":[ + { + "ExampleNumber":1, + "ExampleName":"Create and embed an instance of a web form", + "ExampleDescription":"Creates an instance of a web form and embeds it on an HTML page.", + "LinksToAPIMethod":[ + { + "Path":"", + "PathName":"WebForms:ListWebForms" + }, + { + "Path":"", + "PathName":"WebForms:CreateInstance" + } + ], + "AdditionalPage":[ + { + "Name":"create_web_form_template", + "ResultsPageText":"First the launcher will create a new template in your account that will be used to create the web form." + }, + { + "Name":"create_web_form", + "ResultsPageText":"Go to your DocuSign account to create the Web Form. Go to 'Forms' in your developer account, select 'New,' and choose 'Upload web form.' Upload the JSON config file 'web-form-config.json' found under the demo_documents folder of this project. You will need to activate the web form before proceeding. Press Continue after doing so." + } + ], + "SkipForLanguages":"ruby;" + } + ] + } + ] + }, + { + "Name":"Rooms", + "Groups":[ + { + "Name":"Rooms examples", + "Examples":[ + { + "ExampleNumber":1, + "ExampleName":"Create a room with data", + "ExampleDescription":"Demonstrates how to create a DocuSign room that contains populated data.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/CreateRoom", + "PathName":"Rooms::CreateRoom" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Roles/Roles/GetRoles", + "PathName":"Roles::GetRoles" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Room name", + "InputPlaceholder":"Room name" + } + ] + } + ], + "ResultsPageText":"The room \"{0}\" has been created!
Room ID: {1}." + }, + { + "ExampleNumber":2, + "ExampleName":"Create a room with a template", + "ExampleDescription":"Demonstrates how to create a DocuSign room using a predefined template.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/CreateRoom", + "PathName":"Rooms::CreateRoom" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/RoomTemplates/RoomTemplates/GetRoomTemplates", + "PathName":"RoomTemplates::GetRoomTemplates" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Roles/Roles/GetRoles", + "PathName":"Roles::GetRoles" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "RedirectText":"

Problem: you don't have any templates. Please first create a form template using DocuSign Rooms.
Thank you.

" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Room name", + "InputPlaceholder":"Room name" + }, + { + "InputName":"Template" + } + ] + } + ], + "ResultsPageText":"The room \"{0}\" has been created!
Room ID: {1}." + }, + { + "ExampleNumber":3, + "ExampleName":"Export data from a room", + "ExampleDescription":"Demonstrates how to export data from a room.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetRooms", + "PathName":"Rooms::GetRooms" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetRoomFieldData", + "PathName":"Rooms::GetRoomFieldData" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":1, + "RedirectText":"

Problem: please first create a room using example 1.
Thank you.

" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Room" + } + ] + } + ], + "ResultsPageText":"Results from the Rooms::GetRoomFieldData method:" + }, + { + "ExampleNumber":4, + "ExampleName":"Add a form to a room", + "ExampleDescription":"Demonstrates how to attach a form to a room", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetRooms", + "PathName":"Rooms::GetRooms" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Forms/FormLibraries/GetFormLibraries", + "PathName":"Forms::GetFormLibraries" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Forms/FormLibraries/GetFormLibraryForms", + "PathName":"Forms::GetFormLibraryForms" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/AddFormToRoom", + "PathName":"Rooms::AddFormToRoom" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":1, + "RedirectText":"

Problem: please first create a room using example 1.
Thank you.

" + } + ], + "CustomErrorTexts":[ + { + "ErrorMessageCheck":"FORMS_INTEGRATION_NOT_ENABLED", + "ErrorMessage":"

Problem: This example is not available.

DocuSign Forms is not enabled for your DocuSign account. Please contact DocuSign Rooms Support to enable Forms.

" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Room" + }, + { + "InputName":"Form" + } + ] + } + ], + "ResultsPageText":"Results from the Rooms::AddFormToRoom method:" + }, + { + "ExampleNumber":5, + "ExampleName":"Get a room with a filter", + "ExampleDescription":"Demonstrates how to return rooms filtered by your parameters.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetRooms", + "PathName":"Rooms::GetRooms" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Start date" + }, + { + "InputName":"End date" + } + ] + } + ], + "ResultsPageText":"Results from the Rooms::GetRooms method:" + }, + { + "ExampleNumber":6, + "ExampleName":"Create and embed an external form fill session", + "ExampleDescription":"Demonstrates how to create and embed an external form fill session.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetRooms", + "PathName":"Rooms::GetRooms" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetDocuments", + "PathName":"Rooms::GetDocuments" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/Forms/ExternalFormFillSessions/CreateExternalFormFillSession", + "PathName":"ExternalFormFillSessions::CreateExternalFormFillSession" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":4, + "RedirectText":"

Problem: Selected room does not have any forms. Add a form to a room using example 4.

" + }, + { + "CodeExampleToRedirectTo":1, + "RedirectText":"

Problem: Create a room using example 1.

" + } + ], + "Forms":[ + { + "FormName":"

Please select a form document

", + "Inputs":[ + { + "InputName":"Forms" + } + ] + }, + { + "FormName":"

Please select a room

", + "Inputs":[ + { + "InputName":"Rooms", + "InputPlaceholder":"Select a room" + } + ] + } + ], + "ResultsPageText":"Results from the ExternalFormFillSessions:CreateExternalFormFillSession:" + }, + { + "ExampleNumber":7, + "ExampleName":"Create a form group", + "ExampleDescription":"Demonstrates how to create a form group for your DocuSign Rooms for Real Estate account.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/rooms-api/how-to/create-form-group", + "PathName":"Rooms::CreateFormGroup" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Form group name", + "InputPlaceholder":"Form group name" + } + ] + } + ], + "ResultsPageText":"The Form Group \"{0}\" has been created!" + }, + { + "ExampleNumber":8, + "ExampleName":"Grant office access to a form group", + "ExampleDescription":"Demonstrates how to assign an office to a form group for your DocuSign Rooms for Real Estate account.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/rooms-api/how-to/access-form-group", + "PathName":"Rooms::AccessFormGroup" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/forms/formgroups/getformgroups", + "PathName":"FormGroups::GetFormGroups" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/offices/offices/getoffices", + "PathName":"Offices::GetOffices" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":7, + "RedirectText":"

Problem: please first create a form group using example 7.
Thank you.

" + }, + { + "RedirectText":"

Problem: please first create an office

" + } + ], + "Forms":[ + { + "FormName":"

Please select an office and a form group

", + "Inputs":[ + { + "InputName":"Form group", + "InputPlaceholder":"Please select a form group" + }, + { + "InputName":"Office", + "InputPlaceholder":"Please select an office" + } + ] + } + ], + "ResultsPageText":"Office \"{0}\" has been assigned to Form Group \"{1}\"" + }, + { + "ExampleNumber":9, + "ExampleName":"Assign a form to a form group", + "ExampleDescription":"Demonstrates how to assign a form to a form group for your DocuSign Rooms for Real Estate account.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/rooms-api/how-to/assign-form-group", + "PathName":"Rooms::AssignFormGroup" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/forms/formgroups/getformgroups", + "PathName":"FormGroups::GetFormGroups" + }, + { + "Path":"https://developers.docusign.com/docs/rooms-api/reference/forms/formlibraries/getformlibraries", + "PathName":"FormLibraries:GetFormLibraries" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":7, + "RedirectText":"

Problem: please first create a form group using example 7.
Thank you.

" + }, + { + "RedirectText":"

Problem: please first create a form.
Thank you.

" + } + ], + "CustomErrorTexts":[ + { + "ErrorMessageCheck":"Unhandled response type.", + "ErrorMessage":"Response is empty and could not be cast to FormGroupFormToAssign. Please contact DocuSign support" + } + ], + "Forms":[ + { + "FormName":"

Please select an office and a form group

", + "Inputs":[ + { + "InputName":"Form group", + "InputPlaceholder":"Please select a form group" + }, + { + "InputName":"Form", + "InputPlaceholder":"Please select a form" + } + ] + } + ], + "ResultsPageText":"Form \"{0}\" has been assigned to Form Group \"{1}\"!" + } + ] + } + ] + }, + { + "Name":"Monitor", + "Groups":[ + { + "Name":"Monitor examples", + "Examples":[ + { + "ExampleNumber":1, + "ExampleName":"Get monitoring data", + "ExampleDescription":"Demonstrates how to get and display all of your organization’s monitoring data.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/monitor-api/reference/monitor/dataset/getstream/", + "PathName":"DataSet:getStream" + } + ], + "ResultsPageText":"Results from DataSet:getStream method:" + } + ] + } + ] + }, + { + "Name":"Admin", + "Groups":[ + { + "Name":"Admin examples", + "Examples":[ + { + "ExampleNumber":1, + "ExampleName":"Create a new active eSignature user", + "ExampleDescription":"Demonstrates how to create a new eSignature user and activate their account automatically.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/accounts/accountpermissionprofiles/list", + "PathName":"AccountPermissionProfiles::list" + }, + { + "Path":"https://developers.docusign.com/docs/esign-rest-api/reference/usergroups/groups/list", + "PathName":"Groups::list" + }, + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/esignusermanagement/createuser", + "PathName":"eSignUserManagement::createUser" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"User name", + "InputPlaceholder":"PatJohnson" + }, + { + "InputName":"First name", + "InputPlaceholder":"Pat" + }, + { + "InputName":"Last name", + "InputPlaceholder":"Johnson" + }, + { + "InputName":"Email", + "InputPlaceholder":"pat@example.com" + }, + { + "InputName":"eSignature permission profile" + }, + { + "InputName":"eSignature group" + } + ] + } + ], + "ResultsPageText":"Results from eSignUserManagement:createUser method:" + }, + { + "ExampleNumber":2, + "ExampleName":"Create a new active user for CLM and eSignature", + "ExampleDescription":"Demonstrates how to create a new DocuSign user (valid for both CLM and eSignature APIs) and activate their account automatically.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/getproductpermissionprofiles", + "PathName":"MultiProductUserManagement::getProductPermissionProfiles" + }, + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/getdsgroups", + "PathName":"MultiProductUserManagement::getDsGroups" + }, + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/addorupdateuser", + "PathName":"MultiProductUserManagement::addOrUpdateUser" + } + ], + "CustomErrorTexts":[ + { + "ErrorMessage":"You do not have any groups set in your DocuSign Admin. Please go to DocuSign Admin and create a group to use this code example." + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"User Name", + "InputPlaceholder":"User Name for the new user" + }, + { + "InputName":"First name", + "InputPlaceholder":"First Name of the new user" + }, + { + "InputName":"Last name", + "InputPlaceholder":"Last Name of the new user" + }, + { + "InputName":"Email", + "InputPlaceholder":"Email address of the new user" + }, + { + "InputName":"eSignature Permission Profile" + }, + { + "InputName":"CLM Permission Profile" + }, + { + "InputName":"DocuSign Admin Group" + } + ] + } + ], + "ResultsPageText":"Results from MultiProductUserManagement:addOrUpdateUser method:" + }, + { + "ExampleNumber":3, + "ExampleName":"Bulk export user data", + "ExampleDescription":"Demonstrates how to bulk export user accounts within an organization into a CSV (comma-separated value) file.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/bulkoperations/userexport/createuserlistexport", + "PathName":"UserExport::createUserListExport" + }, + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/bulkoperations/userexport/getuserlistexport", + "PathName":"UserExport::getUserListExport" + } + ], + "ResultsPageText":"User data exported to {0}.
Results from UserExport:getUserListExport:" + }, + { + "ExampleNumber":4, + "ExampleName":"Add users via bulk import", + "ExampleDescription":"Demonstrates how to audit the users in your account by retrieving the profiles of users that were modified after a specified date.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/bulkoperations/userimport/addbulkuserimport", + "PathName":"UserImport::addBulkUserImport" + }, + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/bulkoperations/userimport/getbulkuserimportrequest", + "PathName":"UserImport::getBulkUserImportRequest" + } + ], + "ResultsPageText":"Results from UserImport:addBulkUserImport method:", + "AdditionalPage":[ + { + "Name":"file_state_success", + "ResultsPageText":"Results from UserImport:addBulkUserImport method:" + } + ] + }, + { + "ExampleNumber":5, + "ExampleName":"Audit users", + "ExampleDescription":"Demonstrates how to audit the users in your account by retrieving the profiles of users that were modified after a specified date.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/users/getusers", + "PathName":"Users::getUsers" + }, + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/esignusermanagement/getuserprofiles", + "PathName":"eSignUserManagement::getUserProfiles" + } + ], + "ResultsPageText":"Results from eSignUserManagement:getUserProfiles method:" + }, + { + "ExampleNumber":6, + "ExampleName":"Retrieve the user's DocuSign profile using an email address", + "ExampleDescription":"Demonstrates how to obtain the user’s DocuSign profile information across all DocuSign accounts by specifying the user’s email address.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/esignusermanagement/getuserprofiles", + "PathName":"MultiProductUserManagement::getUserDSProfilesByEmail" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Email address", + "InputPlaceholder":"example@example.com" + } + ] + } + ], + "ResultsPageText":"Results from MultiProductUserManagement:getUserDSProfilesByEmail method:" + }, + { + "ExampleNumber":7, + "ExampleName":"Retrieve the user's DocuSign profile using a User ID", + "ExampleDescription":"Demonstrates how to obtain the user’s DocuSign profile information across all DocuSign accounts by specifying the user’s User ID.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/esignusermanagement/getuserprofiles", + "PathName":"MultiProductUserManagement::getUserDSProfile" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"User ID", + "InputPlaceholder":"00000000-0000-0000-0000-000000000000" + } + ] + } + ], + "ResultsPageText":"Results from MultiProductUserManagement:getUserDSProfile method:" + }, + { + "ExampleNumber":8, + "ExampleName":"Update user product permission profiles using an email address", + "ExampleDescription":"Demonstrates how to update user product permission profiles. There may only be one permission profile assigned to a user per product.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/getproductpermissionprofiles", + "PathName":"MultiProductUserManagement::getProductPermissionProfiles" + }, + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/adduserproductpermissionprofilesbyemail", + "PathName":"MultiProductUserManagement::addUserProductPermissionProfilesByEmail" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":2, + "RedirectText":"

Problem: You do not have the user to change permissions for. Go to example#2 and create one: create active CLM/eSign User.

" + } + ], + "Forms":[ + { + "FormName":"

Update user product permission profile for the following email: {0}

", + "Inputs":[ + { + "InputName":"Choose a product for which you want to update the permission profile" + }, + { + "InputName":"Choose a permission profile" + } + ] + } + ], + "ResultsPageText":"Results from MultiProductUserManagement:addUserProductPermissionProfilesByEmail method:" + }, + { + "ExampleNumber":9, + "ExampleName":"Delete user product permission profiles using an email address", + "ExampleDescription":"Demonstrates how to list and delete DocuSign Admin user product permission profiles.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/getuserproductpermissionprofilesbyemail", + "PathName":"MultiProductUserManagement::getUserProductPermissionProfilesByEmail" + }, + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/removeuserproductpermission", + "PathName":"MultiProductUserManagement::removeUserProductPermission" + } + ], + "RedirectsToOtherCodeExamples":[ + { + "CodeExampleToRedirectTo":2, + "RedirectText":"

Problem: You do not have the user to change permissions for. Go to example#2 and create one: create active CLM/eSign User.

" + } + ], + "Forms":[ + { + "FormName":"

Delete user product permission profile for the following email: {0}

", + "Inputs":[ + { + "InputName":"Choose which product permission profile you would like to delete" + } + ] + } + ], + "ResultsPageText":"Results from MultiProductUserManagement:removeUserProductPermission method:" + }, + { + "ExampleNumber":10, + "ExampleName":"Delete user data from an account as an organization admin", + "ExampleDescription":"Deletes user data from an account.This endpoint should be used by an organization admin.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/datadeletion/redactindividualuserdata/", + "PathName":"DataDeletion:redactIndividualUserData" + }, + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/esignusermanagement/getuserprofiles/", + "PathName":"eSignUserManagement:getUserProfiles" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Email address", + "InputPlaceholder":"example@example.com" + } + ] + } + ], + "ResultsPageText":"Results from DataDeletion:redactIndividualMembershipData method:", + "SkipForLanguages":"java" + }, + { + "ExampleNumber":11, + "ExampleName":"Delete user data from an account as an account admin", + "ExampleDescription":"Deletes user data from an account.This endpoint should be used by an account admin.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/usermanagement/datadeletion/redactindividualmembershipdata/", + "PathName":"DataDeletion:redactIndividualMembershipData" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"User ID", + "InputPlaceholder":"00000000-0000-0000-0000-000000000000" + } + ] + } + ], + "ResultsPageText":"Results from DataDeletion:redactIndividualUserData method:", + "SkipForLanguages":"java" + }, + { + "ExampleNumber":12, + "ExampleName":"Clone an account", + "ExampleDescription":"Creates a new eSignature account in your organization by creating a copy of an existing account.", + "LinksToAPIMethod":[ + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/accountprovisioning/accountcloning/getassetgroupaccounts/", + "PathName":"AccountCloning::getAssetGroupAccounts" + }, + { + "Path":"https://developers.docusign.com/docs/admin-api/reference/accountprovisioning/accountcloning/cloneassetgroupaccount/", + "PathName":"AccountCloning::cloneAssetGroupAccount" + } + ], + "Forms":[ + { + "Inputs":[ + { + "InputName":"Source account" + }, + { + "InputName":"Target account name", + "InputPlaceholder":"" + }, + { + "InputName":"Account admin first name", + "InputPlaceholder":"Pat" + }, + { + "InputName":"Account admin last name", + "InputPlaceholder":"Johnson" + }, + { + "InputName":"Account admin email", + "InputPlaceholder":"example@example.com" + } + ] + } + ], + "ResultsPageText":"Results from AccountCloning::cloneAssetGroupAccount method:" + } + ] } - ] - }, - { - "Name": "Click", - "Groups": [ - { - "Name": "Click examples", - "Examples": [ - { - "ExampleNumber": 1, - "ExampleName": "Create an elastic template", - "ExampleDescription": "Creates an elastic template that you can embed in your website or app.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/createclickwrap/", - "PathName": "ClickWraps::createClickwrap" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Name", - "InputPlaceholder": "Name of the elastic template" - } - ] - } - ], - "ResultsPageText": "The elastic template {0} has been created!" - }, - { - "ExampleNumber": 2, - "ExampleName": "Activate an elastic template", - "ExampleDescription": "Activates a new elastic template that you have already created.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/updateclickwrapversion", - "PathName": "ClickWraps::updateClickwrapVersion" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 1, - "RedirectText": "

Problem: You do not have an active elastic template. Create an elastic template.

" - } - ], - "Forms": [ - { - "FormName": "

Choose an elastic template to activate

", - "Inputs": [ - { - "InputName": "elastic template" - } - ] - } - ], - "ResultsPageText": "The elastic template has been activated!" - }, - { - "ExampleNumber": 6, - "ExampleName": "Embed an elastic template", - "ExampleDescription": "Creates a unique URL for an active elastic template and embeds the elastic template on your page.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/createhasagreed/", - "PathName": "ClickWraps::createHasAgreed" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 1, - "RedirectText": "

Problem: You do not have an active elastic template. Create an elastic template.

" - }, - { - "CodeExampleToRedirectTo": 2, - "RedirectText": "

Problem: Your elastic template is inactive. Activate an elastic template.

" - } - ], - "Forms": [ - { - "FormName": "

Choose an elastic template to embed:

", - "Inputs": [ - { - "InputName": "elastic template" - }, - { - "InputName": "Full Name" - }, - { - "InputName": "Email" - }, - { - "InputName": "Company" - }, - { - "InputName": "Job Title" - }, - { - "InputName": "Date" - } - ] - } - ], - "ResultsPageText": "See the embedded elastic template in the dialog box." - }, - { - "ExampleNumber": 3, - "ExampleName": "Create a new elastic template version", - "ExampleDescription": "Creates a new version of an elastic template.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/createclickwrapversion/", - "PathName": "ClickWraps::createClickwrapVersion" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 1, - "RedirectText": "

Problem: You do not have an active elastic template. Create an elastic template.

" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Clickwrap" - }, - { - "InputName": "New Name" - } - ] - } - ], - "ResultsPageText": "Version {0} of elastic template \"{1}\" has been created." - }, - { - "ExampleNumber": 4, - "ExampleName": "Get a list of elastic templates", - "ExampleDescription": "Gets a list of elastic templates associated with a specific DocuSign user.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/getclickwraps", - "PathName": "ClickWraps::getClickwraps" - } - ], - "ResultsPageText": "Results from the ClickWraps::getClickwraps method:" - }, - { - "ExampleNumber": 5, - "ExampleName": "Get elastic template responses", - "ExampleDescription": "Gets user responses to your elastic template agreements.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/click-api/reference/accounts/clickwraps/getclickwrapagreements", - "PathName": "ClickWraps::getClickwrapAgreements" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 1, - "RedirectText": "

Problem: You do not have an active elastic template. Create an elastic template.

" - } - ], - "Forms": [ - { - "FormName": "

Choose an elastic template:

", - "Inputs": [ - { - "InputName": "elastic template" - } - ] - } - ], - "ResultsPageText": "Results from the ClickWraps::getClickwrapAgreements method:" - } - ] - } - ] - }, - { - "Name": "Rooms", - "Groups": [ - { - "Name": "Rooms examples", - "Examples": [ - { - "ExampleNumber": 1, - "ExampleName": "Create a room with data", - "ExampleDescription": "Demonstrates how to create a DocuSign room that contains populated data.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/CreateRoom", - "PathName": "Rooms::CreateRoom" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Roles/Roles/GetRoles", - "PathName": "Roles::GetRoles" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Room name", - "InputPlaceholder": "Room name" - } - ] - } - ], - "ResultsPageText": "The room \"{0}\" has been created!
Room ID: {1}." - }, - { - "ExampleNumber": 2, - "ExampleName": "Create a room with a template", - "ExampleDescription": "Demonstrates how to create a DocuSign room using a predefined template.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/CreateRoom", - "PathName": "Rooms::CreateRoom" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/RoomTemplates/RoomTemplates/GetRoomTemplates", - "PathName": "RoomTemplates::GetRoomTemplates" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Roles/Roles/GetRoles", - "PathName": "Roles::GetRoles" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "RedirectText": "

Problem: you don't have any templates. Please first create a form template using DocuSign Rooms.
Thank you.

" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Room name", - "InputPlaceholder": "Room name" - }, - { - "InputName": "Template" - } - ] - } - ], - "ResultsPageText": "The room \"{0}\" has been created!
Room ID: {1}." - }, - { - "ExampleNumber": 3, - "ExampleName": "Export data from a room", - "ExampleDescription": "Demonstrates how to export data from a room.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetRooms", - "PathName": "Rooms::GetRooms" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetRoomFieldData", - "PathName": "Rooms::GetRoomFieldData" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 1, - "RedirectText": "

Problem: please first create a room using example 1.
Thank you.

" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Room" - } - ] - } - ], - "ResultsPageText": "Results from the Rooms::GetRoomFieldData method:" - }, - { - "ExampleNumber": 4, - "ExampleName": "Add a form to a room", - "ExampleDescription": "Demonstrates how to attach a form to a room", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetRooms", - "PathName": "Rooms::GetRooms" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Forms/FormLibraries/GetFormLibraries", - "PathName": "Forms::GetFormLibraries" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Forms/FormLibraries/GetFormLibraryForms", - "PathName": "Forms::GetFormLibraryForms" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/AddFormToRoom", - "PathName": "Rooms::AddFormToRoom" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 1, - "RedirectText": "

Problem: please first create a room using example 1.
Thank you.

" - } - ], - "CustomErrorTexts": [ - { - "ErrorMessageCheck": "FORMS_INTEGRATION_NOT_ENABLED", - "ErrorMessage": "

Problem: This example is not available.

DocuSign Forms is not enabled for your DocuSign account. Please contact DocuSign Rooms Support to enable Forms.

" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Room" - }, - { - "InputName": "Form" - } - ] - } - ], - "ResultsPageText": "Results from the Rooms::AddFormToRoom method:" - }, - { - "ExampleNumber": 5, - "ExampleName": "Get a room with a filter", - "ExampleDescription": "Demonstrates how to return rooms filtered by your parameters.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetRooms", - "PathName": "Rooms::GetRooms" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Start date" - }, - { - "InputName": "End date" - } - ] - } - ], - "ResultsPageText": "Results from the Rooms::GetRooms method:" - }, - { - "ExampleNumber": 6, - "ExampleName": "Create and embed an external form fill session", - "ExampleDescription": "Demonstrates how to create and embed an external form fill session.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetRooms", - "PathName": "Rooms::GetRooms" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Rooms/Rooms/GetDocuments", - "PathName": "Rooms::GetDocuments" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/Forms/ExternalFormFillSessions/CreateExternalFormFillSession", - "PathName": "ExternalFormFillSessions::CreateExternalFormFillSession" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 4, - "RedirectText": "

Problem: Selected room does not have any forms. Add a form to a room using example 4.

" - }, - { - "CodeExampleToRedirectTo": 1, - "RedirectText": "

Problem: Create a room using example 1.

" - } - ], - "Forms": [ - { - "FormName": "

Please select a form document

", - "Inputs": [ - { - "InputName": "Forms" - } - ] - }, - { - "FormName": "

Please select a room

", - "Inputs": [ - { - "InputName": "Rooms", - "InputPlaceholder": "Select a room" - } - ] - } - ], - "ResultsPageText": "Results from the ExternalFormFillSessions:CreateExternalFormFillSession:" - }, - { - "ExampleNumber": 7, - "ExampleName": "Create a form group", - "ExampleDescription": "Demonstrates how to create a form group for your DocuSign Rooms for Real Estate account.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/rooms-api/how-to/create-form-group", - "PathName": "Rooms::CreateFormGroup" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Form group name", - "InputPlaceholder": "Form group name" - } - ] - } - ], - "ResultsPageText": "The Form Group \"{0}\" has been created!" - }, - { - "ExampleNumber": 8, - "ExampleName": "Grant office access to a form group", - "ExampleDescription": "Demonstrates how to assign an office to a form group for your DocuSign Rooms for Real Estate account.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/rooms-api/how-to/access-form-group", - "PathName": "Rooms::AccessFormGroup" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/forms/formgroups/getformgroups", - "PathName": "FormGroups::GetFormGroups" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/offices/offices/getoffices", - "PathName": "Offices::GetOffices" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 7, - "RedirectText": "

Problem: please first create a form group using example 7.
Thank you.

" - }, - { - "RedirectText": "

Problem: please first create an office

" - } - ], - "Forms": [ - { - "FormName": "

Please select an office and a form group

", - "Inputs": [ - { - "InputName": "Form group", - "InputPlaceholder": "Please select a form group" - }, - { - "InputName": "Office", - "InputPlaceholder": "Please select an office" - } - ] - } - ], - "ResultsPageText": "Office \"{0}\" has been assigned to Form Group \"{1}\"" - }, - { - "ExampleNumber": 9, - "ExampleName": "Assign a form to a form group", - "ExampleDescription": "Demonstrates how to assign a form to a form group for your DocuSign Rooms for Real Estate account.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/rooms-api/how-to/assign-form-group", - "PathName": "Rooms::AssignFormGroup" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/forms/formgroups/getformgroups", - "PathName": "FormGroups::GetFormGroups" - }, - { - "Path": "https://developers.docusign.com/docs/rooms-api/reference/forms/formlibraries/getformlibraries", - "PathName": "FormLibraries:GetFormLibraries" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 7, - "RedirectText": "

Problem: please first create a form group using example 7.
Thank you.

" - }, - { - "RedirectText": "

Problem: please first create a form.
Thank you.

" - } - ], - "CustomErrorTexts": [ - { - "ErrorMessageCheck": "Unhandled response type.", - "ErrorMessage": "Response is empty and could not be cast to FormGroupFormToAssign. Please contact DocuSign support" - } - ], - "Forms": [ - { - "FormName": "

Please select an office and a form group

", - "Inputs": [ - { - "InputName": "Form group", - "InputPlaceholder": "Please select a form group" - }, - { - "InputName": "Form", - "InputPlaceholder": "Please select a form" - } - ] - } - ], - "ResultsPageText": "Form \"{0}\" has been assigned to Form Group \"{1}\"!" - } - ] - } - ] - }, - { - "Name": "Monitor", - "Groups": [ - { - "Name": "Monitor examples", - "Examples": [ - { - "ExampleNumber": 1, - "ExampleName": "Get monitoring data", - "ExampleDescription": "Demonstrates how to get and display all of your organization’s monitoring data.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/monitor-api/reference/monitor/dataset/getstream/", - "PathName": "DataSet:getStream" - } - ], - "ResultsPageText": "Results from DataSet:getStream method:" - } - ] - } - ] - }, - { - "Name": "Admin", - "Groups": [ - { - "Name": "Admin examples", - "Examples": [ - { - "ExampleNumber": 1, - "ExampleName": "Create a new active eSignature user", - "ExampleDescription": "Demonstrates how to create a new eSignature user and activate their account automatically.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/accounts/accountpermissionprofiles/list", - "PathName": "AccountPermissionProfiles::list" - }, - { - "Path": "https://developers.docusign.com/docs/esign-rest-api/reference/usergroups/groups/list", - "PathName": "Groups::list" - }, - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/esignusermanagement/createuser", - "PathName": "eSignUserManagement::createUser" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "User name", - "InputPlaceholder": "PatJohnson" - }, - { - "InputName": "First name", - "InputPlaceholder": "Pat" - }, - { - "InputName": "Last name", - "InputPlaceholder": "Johnson" - }, - { - "InputName": "Email", - "InputPlaceholder": "pat@example.com" - }, - { - "InputName": "eSignature permission profile" - }, - { - "InputName": "eSignature group" - } - ] - } - ], - "ResultsPageText": "Results from eSignUserManagement:createUser method:" - }, - { - "ExampleNumber": 2, - "ExampleName": "Create a new active user for CLM and eSignature", - "ExampleDescription": "Demonstrates how to create a new DocuSign user (valid for both CLM and eSignature APIs) and activate their account automatically.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/getproductpermissionprofiles", - "PathName": "MultiProductUserManagement::getProductPermissionProfiles" - }, - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/getdsgroups", - "PathName": "MultiProductUserManagement::getDsGroups" - }, - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/addorupdateuser", - "PathName": "MultiProductUserManagement::addOrUpdateUser" - } - ], - "CustomErrorTexts": [ - { - "ErrorMessage": "You do not have any groups set in your DocuSign Admin. Please go to DocuSign Admin and create a group to use this code example." - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "User Name", - "InputPlaceholder": "User Name for the new user" - }, - { - "InputName": "First name", - "InputPlaceholder": "First Name of the new user" - }, - { - "InputName": "Last name", - "InputPlaceholder": "Last Name of the new user" - }, - { - "InputName": "Email", - "InputPlaceholder": "Email address of the new user" - }, - { - "InputName": "eSignature Permission Profile" - }, - { - "InputName": "CLM Permission Profile" - }, - { - "InputName": "DocuSign Admin Group" - } - ] - } - ], - "ResultsPageText": "Results from MultiProductUserManagement:addOrUpdateUser method:" - }, - { - "ExampleNumber": 3, - "ExampleName": "Bulk export user data", - "ExampleDescription": "Demonstrates how to bulk export user accounts within an organization into a CSV (comma-separated value) file.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/bulkoperations/userexport/createuserlistexport", - "PathName": "UserExport::createUserListExport" - }, - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/bulkoperations/userexport/getuserlistexport", - "PathName": "UserExport::getUserListExport" - } - ], - "ResultsPageText": "User data exported to {0}.
Results from UserExport:getUserListExport:" - }, - { - "ExampleNumber": 4, - "ExampleName": "Add users via bulk import", - "ExampleDescription": "Demonstrates how to audit the users in your account by retrieving the profiles of users that were modified after a specified date.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/bulkoperations/userimport/addbulkuserimport", - "PathName": "UserImport::addBulkUserImport" - }, - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/bulkoperations/userimport/getbulkuserimportrequest", - "PathName": "UserImport::getBulkUserImportRequest" - } - ], - "ResultsPageText": "Results from UserImport:addBulkUserImport method:", - "AdditionalPage": [ - { - "Name": "file_state_success", - "ResultsPageText": "Results from UserImport:addBulkUserImport method:" - } - ] - }, - { - "ExampleNumber": 5, - "ExampleName": "Audit users", - "ExampleDescription": "Demonstrates how to audit the users in your account by retrieving the profiles of users that were modified after a specified date.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/users/getusers", - "PathName": "Users::getUsers" - }, - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/esignusermanagement/getuserprofiles", - "PathName": "eSignUserManagement::getUserProfiles" - } - ], - "ResultsPageText": "Results from eSignUserManagement:getUserProfiles method:" - }, - { - "ExampleNumber": 6, - "ExampleName": "Retrieve the user's DocuSign profile using an email address", - "ExampleDescription": "Demonstrates how to obtain the user’s DocuSign profile information across all DocuSign accounts by specifying the user’s email address.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/esignusermanagement/getuserprofiles", - "PathName": "MultiProductUserManagement::getUserDSProfilesByEmail" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Email address", - "InputPlaceholder": "example@example.com" - } - ] - } - ], - "ResultsPageText": "Results from MultiProductUserManagement:getUserDSProfilesByEmail method:" - }, - { - "ExampleNumber": 7, - "ExampleName": "Retrieve the user's DocuSign profile using a User ID", - "ExampleDescription": "Demonstrates how to obtain the user’s DocuSign profile information across all DocuSign accounts by specifying the user’s User ID.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/esignusermanagement/getuserprofiles", - "PathName": "MultiProductUserManagement::getUserDSProfile" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "User ID", - "InputPlaceholder": "00000000-0000-0000-0000-000000000000" - } - ] - } - ], - "ResultsPageText": "Results from MultiProductUserManagement:getUserDSProfile method:" - }, - { - "ExampleNumber": 8, - "ExampleName": "Update user product permission profiles using an email address", - "ExampleDescription": "Demonstrates how to update user product permission profiles. There may only be one permission profile assigned to a user per product.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/getproductpermissionprofiles", - "PathName": "MultiProductUserManagement::getProductPermissionProfiles" - }, - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/adduserproductpermissionprofilesbyemail", - "PathName": "MultiProductUserManagement::addUserProductPermissionProfilesByEmail" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 2, - "RedirectText": "

Problem: You do not have the user to change permissions for. Go to example#2 and create one: create active CLM/eSign User.

" - } - ], - "Forms": [ - { - "FormName": "

Update user product permission profile for the following email: {0}

", - "Inputs": [ - { - "InputName": "Choose a product for which you want to update the permission profile" - }, - { - "InputName": "Choose a permission profile" - } - ] - } - ], - "ResultsPageText": "Results from MultiProductUserManagement:addUserProductPermissionProfilesByEmail method:" - }, - { - "ExampleNumber": 9, - "ExampleName": "Delete user product permission profiles using an email address", - "ExampleDescription": "Demonstrates how to list and delete DocuSign Admin user product permission profiles.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/getuserproductpermissionprofilesbyemail", - "PathName": "MultiProductUserManagement::getUserProductPermissionProfilesByEmail" - }, - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/removeuserproductpermission", - "PathName": "MultiProductUserManagement::removeUserProductPermission" - } - ], - "RedirectsToOtherCodeExamples": [ - { - "CodeExampleToRedirectTo": 2, - "RedirectText": "

Problem: You do not have the user to change permissions for. Go to example#2 and create one: create active CLM/eSign User.

" - } - ], - "Forms": [ - { - "FormName": "

Delete user product permission profile for the following email: {0}

", - "Inputs": [ - { - "InputName": "Choose which product permission profile you would like to delete" - } - ] - } - ], - "ResultsPageText": "Results from MultiProductUserManagement:removeUserProductPermission method:" - }, - { - "ExampleNumber": 10, - "ExampleName": "Delete user data from an account as an organization admin", - "ExampleDescription": "Deletes user data from an account.This endpoint should be used by an organization admin.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/datadeletion/redactindividualuserdata/", - "PathName": "DataDeletion:redactIndividualUserData" - }, - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/esignusermanagement/getuserprofiles/", - "PathName": "eSignUserManagement:getUserProfiles" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Email address", - "InputPlaceholder": "example@example.com" - } - ] - } - ], - "ResultsPageText": "Results from DataDeletion:redactIndividualMembershipData method:", - "SkipForLanguages": "java" - }, - { - "ExampleNumber": 11, - "ExampleName": "Delete user data from an account as an account admin", - "ExampleDescription": "Deletes user data from an account.This endpoint should be used by an account admin.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/usermanagement/datadeletion/redactindividualmembershipdata/", - "PathName": "DataDeletion:redactIndividualMembershipData" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "User ID", - "InputPlaceholder": "00000000-0000-0000-0000-000000000000" - } - ] - } - ], - "ResultsPageText": "Results from DataDeletion:redactIndividualUserData method:", - "SkipForLanguages": "java" - }, - { - "ExampleNumber": 12, - "ExampleName": "Clone an account", - "ExampleDescription": "Creates a new eSignature account in your organization by creating a copy of an existing account.", - "LinksToAPIMethod": [ - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/accountprovisioning/accountcloning/getassetgroupaccounts/", - "PathName": "AccountCloning::getAssetGroupAccounts" - }, - { - "Path": "https://developers.docusign.com/docs/admin-api/reference/accountprovisioning/accountcloning/cloneassetgroupaccount/", - "PathName": "AccountCloning::cloneAssetGroupAccount" - } - ], - "Forms": [ - { - "Inputs": [ - { - "InputName": "Source account" - }, - { - "InputName": "Target account name", - "InputPlaceholder": "" - }, - { - "InputName": "Account admin first name", - "InputPlaceholder": "Pat" - }, - { - "InputName": "Account admin last name", - "InputPlaceholder": "Johnson" - }, - { - "InputName": "Account admin email", - "InputPlaceholder": "example@example.com" - } - ] - } - ], - "ResultsPageText": "Results from AccountCloning::cloneAssetGroupAccount method:" - } - ] - } - ] - }, - { - "Name": "Connect", - "Groups": [ - { - "Name": "Connect examples", - "Examples": [ - { - "ExampleNumber": 1, - "ExampleName": "Validate HMAC signature", - "ExampleDescription": "Demonstrates an example workflow for a client app receiving and validating a webhook (DocuSign Connect) message using HMAC security.", - "Forms": [ - { - "Inputs": [ - { - "InputName": "HMAC secret" - }, - { - "InputName": "Plain text JSON payload" - } - ] - } - ], - "ResultsPageText": "This value should match the value of your x-docusign-signature header:
HMAC signature {0}", - "SkipForLanguages": "bash;powershell;java;php" - } - ] - } - ] - } - ] -} + ] + } + ] +} \ No newline at end of file