Clicksign Ruby Client
Official gem to comunicate with the Clicksign REST API.
Installation
With Bundler:
gem 'clicksign'
Manual installation via RubyGems:
gem install clicksignUsage
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'
endRetrieving 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.allUploading 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: 'john.doe@example.com' }], 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 zipIf 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: 'john.doe@example.com', 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.allCreating a new batch for a group of documents:
Clicksign::Batch.create([key1, key2, key3])Destroying an existing batch:
Clicksign::Batch.delete(batch_key)