Clicksign Ruby Client

Official gem to comunicate with the Clicksign REST API.

Installation

With Bundler:

gem 'clicksign'

Manual installation via RubyGems:

gem install clicksign

Usage

Setting up the client

You must provide a valid token in order to use the library. As an option, you can also set a different endpoint.

The required token is provided by the Clicksign support team.

require 'clicksign'

Clicksign.configure do |config|
  config.token = ENV['CLICKSIGN_TOKEN']
  config.endpoint = 'https://api.clicksign-demo.com' # Default: 'api.clicksign.com'
end

Retrieving a list of documents

You'll be able to make requests to the Clicksign API right after the initial setup. The first step would be to retrieve a list of documents that you've previously uploaded to your account.

documents = Clicksign::Document.all

Uploading a document

To upload a new document to Clicksign you can use the following snippet:

document = Clicksign::Document.create(File.new('example.pdf'))

You can also upload a new document and at the same time set up a signature list as follow:

document = Clicksign::Document.create(File.new('example.pdf'), signers: [{ act: 'sign', email: '[email protected]' }], message: 'Please sign it', skip_email: true)

It is important to notice that the additional parameters to create method is the same as the ones in the section Creating a signature list

Retrieving a document

found = Clicksign::Document.find(document_key)

Downloading a document

zip = Clicksign::Document.download(document_key)
File.open('mydoc.zip', 'wb') { |f| f.write(zip) } if zip

If found is nil, it means that the server is preparing the zip file. When the zip is ready, its contents are retrieved.

Creating a signature list

The method Clicksign::Document.create_list accepts 3 arguments, the latter being optional.

The first argument is document_key, which represents the document's unique identification.

The second argument is signers, an array of hashes with the e-mails of the signers and their actions (act). The available options for act are described in our documentation.

The third and optional parameter is skip_email, a boolean that says whether the API should send e-mails to the signers or not.

Example:

document_key = KEY
signers = [{ email: '[email protected]', act: 'sign' }]
result = Clicksign::Document.create_list(document, signers, true)

Resending a signature request

Use the following snippet to send a email to a signer that have not signed yet:

messsage = 'This is a reminder for you to sign the document.'
Clicksign::Document.resend(key, email, message)

Canceling a document

doc = Clicksign::Document.cancel(document_key)

The method returns the canceled document.

Hooks

You can perform three different actions with hooks: retrieve all, create a new one or delete an existing hook.

Listing all hooks that belong to a document:

Clicksign::Hook.all(document_key)

Creating a new hook for a specific document:

Clicksign::Hook.create(document_key, 'http://example.com')

Destroying an existing hook:

Clicksign::Hook.delete(document_key, hook_id)

Batches

Batches are you used to group documents in a package and perform batch signatures via the Clicksign Widget.

You can perform three different actions with batches: retrieve all, create a new one or delete an existing batch.

Listing all batches:

Clicksign::Batch.all

Creating a new batch for a group of documents:

Clicksign::Batch.create([key1, key2, key3])

Destroying an existing batch:

Clicksign::Batch.delete(batch_key)