SDKs overview
HelloSign provides Software Development Kits (SDKs) designed to streamline the integration of its e-signature functionality into various programming environments. These SDKs serve as wrappers around the HelloSign RESTful API, abstracting the complexities of HTTP requests, JSON parsing, and error handling. By using an SDK, developers can interact with the HelloSign API using familiar language constructs and objects, reducing development time and potential for errors. The SDKs typically include methods for creating signature requests, managing templates, embedding signing processes, and handling callbacks or webhooks for status updates. HelloSign maintains official SDKs for several popular programming languages, alongside community-contributed libraries which may offer additional features or support for less common environments. A dedicated HelloSign API reference details all available endpoints and parameters.
Integrating with HelloSign’s API through an SDK often involves obtaining API credentials, typically an API key, which authenticates requests. The API is built on standard web protocols, aligning with principles described by the OpenAPI Specification for RESTful APIs. Developers can choose the SDK that best fits their project's technology stack, ensuring compatibility and ease of development. The HelloSign API supports various use cases, from automating document signing for internal workflows to embedding full e-signature capabilities directly within customer-facing applications, as detailed in the HelloSign API documentation.
Official SDKs by language
HelloSign offers officially supported SDKs for a range of programming languages. These SDKs are maintained by HelloSign and are recommended for most integration projects due to their reliability and direct support from the vendor. Each SDK provides idiomatic access to the HelloSign API endpoints, simplifying common operations such as sending signature requests, embedding signing processes, and managing documents and templates. The table below outlines the key details for each official SDK, including its package name, installation command, and maturity level. Developers can find comprehensive guides and examples for each SDK on the HelloSign developer documentation portal.
| Language | Package Name | Installation Command | Maturity |
|---|---|---|---|
| Node.js | hellosign-sdk |
npm install hellosign-sdk |
Stable |
| Python | hellosign-sdk |
pip install hellosign-sdk |
Stable |
| Ruby | hellosign-sdk |
gem install hellosign-sdk |
Stable |
| .NET (C#) | HelloSignSDK |
Install-Package HelloSignSDK (NuGet) |
Stable |
| Java | hellosign-java-sdk |
Maven/Gradle dependency | Stable |
| PHP | hellosign/hellosign-php-sdk |
composer require hellosign/hellosign-php-sdk |
Stable |
Each SDK is designed to align with the best practices of its respective language ecosystem, offering features like asynchronous request handling for Node.js, object-oriented mapping for Python and Java, and dependency management through package managers like npm, pip, RubyGems, NuGet, and Composer. This approach ensures that developers can quickly integrate HelloSign functionality without significant learning curves related to API specifics. Detailed API usage and object models are provided in the HelloSign developer guides.
Installation
Installing a HelloSign SDK typically follows the standard package management practices for the target programming language. For most languages, this involves using a command-line tool to add the SDK package to your project's dependencies. Below are specific instructions for each official SDK:
Node.js
The Node.js SDK can be installed via npm (Node Package Manager). Navigate to your project directory in the terminal and execute:
npm install hellosign-sdk
After installation, you can import the SDK into your JavaScript or TypeScript files. The Node.js SDK facilitates server-side integrations, allowing applications to send signature requests and manage documents programmatically. Further details are available in the HelloSign Node.js SDK documentation.
Python
For Python projects, the SDK is available through pip (Python Package Installer). Run the following command in your terminal:
pip install hellosign-sdk
Once installed, you can import the hellosign_sdk module and begin making API calls. The Python SDK is commonly used for backend applications, data processing, and scripting automated workflows that involve e-signatures. Consult the HelloSign Python SDK documentation for usage examples.
Ruby
Ruby applications can integrate the HelloSign SDK using RubyGems. Add the following to your Gemfile:
gem 'hellosign-sdk'
Then, run bundle install. Alternatively, you can install it directly:
gem install hellosign-sdk
The Ruby SDK is suitable for Ruby on Rails applications and other Ruby-based systems needing e-signature capabilities. Detailed installation and usage instructions are provided in the HelloSign Ruby SDK guide.
.NET (C#)
The .NET SDK is distributed via NuGet. In your Visual Studio Package Manager Console, or via the .NET CLI, execute:
Install-Package HelloSignSDK
Or using the .NET CLI:
dotnet add package HelloSignSDK
This SDK supports C# and other .NET languages, enabling integrations within Windows applications, ASP.NET web services, and Azure functions. The HelloSign .NET SDK documentation offers examples for common use cases.
Java
For Java projects, the SDK is typically managed through Maven or Gradle. Add the following dependency to your pom.xml (Maven):
<dependency>
<groupId>com.hellosign</groupId>
<artifactId>hellosign-java-sdk</artifactId>
<version>LATEST_VERSION</version>
</dependency>
Or to your build.gradle (Gradle):
implementation 'com.hellosign:hellosign-java-sdk:LATEST_VERSION'
Replace LATEST_VERSION with the most current version number, which can be found on the HelloSign Java SDK documentation page. This SDK is suitable for enterprise Java applications and Android development.
PHP
The PHP SDK is installed via Composer. In your project's root directory, run:
composer require hellosign/hellosign-php-sdk
This command adds the SDK to your composer.json file and downloads the necessary files. The PHP SDK is commonly used in web applications built with frameworks like Laravel or Symfony, providing server-side e-signature functionality. The HelloSign PHP SDK guide provides setup and usage examples.
Quickstart example
This quickstart example demonstrates how to send a simple signature request using the Python SDK. This process involves initializing the client with your API key, specifying the signer and document, and then sending the request. Ensure you have installed the Python SDK as described in the HelloSign Python SDK installation guide.
import hellosign_sdk
# Your HelloSign API Key
# It's recommended to store API keys securely, e.g., in environment variables
API_KEY = "YOUR_HELLOSIGN_API_KEY"
# Initialize the HelloSign client
client = hellosign_sdk.HSClient(api_key=API_KEY)
# Define signer details
signer_email_address = "[email protected]"
signer_name = "John Doe"
# Define document details
document_path = "path/to/your/document.pdf" # Make sure this path is correct
# Optional: CC recipient
cc_email_address = "[email protected]"
# Prepare the signature request parameters
signature_request_parameters = {
"test_mode": 1, # Set to 1 for testing, 0 for live requests
"client_id": "YOUR_CLIENT_ID", # Required for embedded signing, optional for email-based
"subject": "Please sign this document",
"message": "Please review and sign the attached document.",
"signers": [
{
"email_address": signer_email_address,
"name": signer_name
}
],
"cc_email_addresses": [cc_email_address],
"files": [document_path] # Path to the document to be signed
}
try:
# Send the signature request
response = client.send_signature_request(**signature_request_parameters)
# Print the response details
print("Signature Request Sent Successfully!")
print(f"Signature Request ID: {response['signature_request']['signature_request_id']}")
print(f"Signing URL: {response['signature_request']['signing_url']}") # For embedded signing
print(f"Details: {response}")
except hellosign_sdk.utils.HSException as e:
print(f"Error sending signature request: {e}")
except FileNotFoundError:
print(f"Error: Document not found at {document_path}. Please check the path.")
except Exception as e:
print(f"An unexpected error occurred: {e}")
Before running this code, ensure you replace "YOUR_HELLOSIGN_API_KEY" with your actual HelloSign API key, "YOUR_CLIENT_ID" (if applicable for embedded signing), "[email protected]" with the recipient's email, and "path/to/your/document.pdf" with the absolute or relative path to the PDF document you wish to send. The test_mode: 1 parameter ensures that the request is treated as a test and does not consume your HelloSign credits, which is useful for initial development and debugging. For live requests, set test_mode: 0. More complex scenarios involving templates, embedded signing, or custom fields are detailed in the HelloSign API reference documentation.
Community libraries
While HelloSign provides official SDKs for several major programming languages, the developer community sometimes creates and maintains additional libraries or wrappers for other languages or specific frameworks. These community-contributed libraries can offer support for languages not officially covered, or provide specialized functionalities that complement the official SDKs. Examples might include integrations with specific web frameworks, or enhanced tooling for development workflows. Although these libraries are not officially supported by HelloSign, they can be valuable resources for developers working outside the officially supported ecosystems or looking for alternative approaches.
When considering a community library, it is important to evaluate its maintenance status, documentation, and the activity of its maintainers. Developers should check the project's repository (e.g., on GitHub) for recent updates, issue resolution, and community engagement. Examples of platforms where such libraries might be found include public package repositories like PyPI for Python, npm for Node.js, or community forums and GitHub searches. While HelloSign's primary documentation focuses on its official SDKs and API, the broader developer ecosystem contributes to the versatility of its integrations. For security and stability in production environments, the official SDKs are generally recommended. However, community contributions can expand the reach and flexibility of HelloSign's e-signature capabilities into niche development environments or address specific developer needs not met by the official offerings, as explored in discussions around client-side web APIs and worker scripts.