DEV Community

Cover image for How to Integrate BoldSign into Your ASP.NET Core Application
Suresh Mohan for Syncfusion, Inc.

Posted on • Originally published at syncfusion.com on

How to Integrate BoldSign into Your ASP.NET Core Application

BoldSign is a web application that enables users to sign documents digitally and allows you to send documents for e-signatures from within your app. It has a set of APIs that gives you complete control over documents and properties. You can send documents for signature, track document status with webhooks, download signed documents and audit trails, remind signers to complete the signing process, and much more.

This blog post will teach you how to integrate BoldSign into an ASP.NET Core application!

Getting started

Note: Refer to the Getting Started with BoldSign documentation before proceeding.

  1. Sign up for a BoldSign trial.
  2. Create an ASP.NET Core web app using the following command:
dotnet new webapp -o ASPCoreEsignApp
Enter fullscreen mode Exit fullscreen mode
  1. Install the BoldSign API NuGet package with the following command:
dotnet add package BoldSign.Api
Enter fullscreen mode Exit fullscreen mode
  1. Acquire the necessary BoldSign app credentials.

Add BoldSign services through dependency injection

To communicate with the BoldSign API, you need to add authentication details such as headers and a base path to the HttpClient.

Include the following code in the ConfigureServices () method in your startup.cs file.

var apiClient = new ApiClient("https://api.boldsign.com/", " ***API Key***");
services.AddSingleton(apiClient);
services.AddSingleton(new DocumentClient());
services.AddSingleton(new TemplateClient());
Enter fullscreen mode Exit fullscreen mode

Now you can start using the BoldSign APIs in your app.

Send a document for signing

Using the following code in your ASP.NET Core app, you can initiate the signing process. Send a request to sign a document to one or more recipients with the signing workflow, auto-reminders, expiration date, and more.

Refer to the following code example.

private readonly IDocumentClient documentClient;
private readonly ITemplateClient templateClient;

public IndexModel(IDocumentClient documentClient, ITemplateClient templateClient, ILogger logger)
{
  this.documentClient = documentClient;
  this.templateClient = templateClient;
}

public void SignDocument()
{

  // Read the document from local path as stream.
  using var fileStream = System.IO.File.OpenRead("doc-2.pdf");
  var documentStream = new DocumentFileStream
  {
    ContentType = "application/pdf",
    FileData = fileStream,
    FileName = "doc-2.pdf",
  };


  // Creating collection with the loaded document.
  var filesToUpload = new List
  {
    documentStream,
  };

  // Creating signature field.
  var signatureField = new FormField(
  id: "Sign",
  type: FieldType.Signature,
  pageNumber: 1,
  isRequired: true,
  bounds: new Rectangle(x: 50, y: 50, width: 200, height: 30));

  // Adding the field to the collection.
  List formFeilds = new List();
  formFeilds.Add(signatureField);

  // Creating signer field.
  var signer = new DocumentSigner(
    name: "Signer Name 1",
    emailAddress: "signer@boldsign.dev",
    signerOrder: 1,
    authenticationCode: "123",
    signerType: SignerType.Signer,
    privateMessage: "This is private message for signer",
    // Assign the created form fields to the signer.
    formFields: formFeilds);

  // Adding the signer to the collection.
  var documentSigners = new List<DocumentSigner>
  {
    signer
  };

  // Create send for sign request object.
  var sendForSign = new SendForSign
  {
    Title = "Sent from API SDK",
    Message = "This is document message sent from API SDK",
    EnableSigningOrder = false,

  // Assign the signers collection.
  Signers = documentSigners,

  // Assign the loaded files collection.
  Files = filesToUpload
  };

  // Send the document for signing.
  var createdDocumentResult = this.documentClient.SendDocument(sendForSign);
}
Enter fullscreen mode Exit fullscreen mode

Note: For more details, refer to the send document for signing using BoldSign documentation.

Send a document using a template

Also, you can send documents for signing with predefined templates. Templates help users save time when they need to repeatedly send the same contracts for signing to different sets of people. Once we set up a template, sending documents takes less than a minute.

First, create a template in the BoldSign app and then get the template ID by following these steps:

  1. Navigate to the My Templates section in the BoldSign app. You can see the created templates in the list. Navigate to the My Templates section in the BoldSign app
  2. Click the more options button at the right end of the template you want to send and choose the Copy template ID option to copy the template’s ID. Choose the Copy template ID option
  3. Use the copied template ID to send your document for signing. You can directly use the template with a predefined set of recipients or add the recipients to the document before sending the signature request. Refer to the following code example.
public void SendDocumentUsingTemplate()
{

  var templateDetails = new SendForSignFromTemplate(
  templateId: " **templateId**",
  title: "Document from Template",
  message: "This document description");
  var createdDocumentResult = this.templateClient.SendUsingTemplate(templateDetails);
}
Enter fullscreen mode Exit fullscreen mode

Refer to the following images.

Sending a PDF Document for Signing Using BoldSign

Sending a PDF Document for Signing Using BoldSign

Signing a PDF Document using BoldSign Web App

Signing a PDF Document using BoldSign Web App

Note: For more details, refer to the send document to sign using templates in BoldSign documentation.

Conclusion

Thanks for reading about how to integrate BoldSign into your ASP.NET Core web application! Check out our online demo and enjoy a hassle-free signing experience.

The Syncfusion ASP.NET Core UI controls library, powered by Essential JS 2, is the only control suite you will ever need to build an app. It contains over 70 high-performance, lightweight, modular, and responsive UI controls in a single package. Use them to increase your productivity in your development projects!

You can download the product setup if you’re already a Syncfusion user. If you’re not one yet, you can download a free 30-day trial to evaluate our products.

You can contact us through our support forum, support portal, or feedback portal. As always, we are happy to assist you!

Related blogs

Top comments (0)