0.01
No commit activity in last 3 years
No release in over 3 years
A ruby gem for using the DocuSign REST API with libcurl
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 5.8
~> 1.1
~> 12.3
~> 3.8

Runtime

< 1.0
 Project Readme

docusign_api

A simple ruby gem for using the DocuSign REST API with libcurl.

Usage

Add to your Gemfile:

gem 'docusign_api'

Initialize with your credentials, either inline or set a constant called DOCUSIGN

  @api = DocusignApi.new username: 'username', password: 'password', integrator_key: 'abc1234', login_url: 'https://demo.docusign.net/restapi/v2/login_information'

Use the API, the DocusignApi instance will return a curb response.

The library will log you in when initialized and will prefix the pathname with the correct endpoint for your account determined by the login process.

Examples:

GET

Get a list of your account's templates

  c = @api.get '/templates'

  puts c.response_code
  puts JSON::parse(c.body)

POST

Create an envelope from a template

  h = {
    emailSubject: email_subject,
    status: 'created',
    templateRoles: [],
    compositeTemplates: [{
      serverTemplates: [
        {
          sequence: '1',
          templateId: template_id
        }
      ],
      document: {
        name: 'document name',
        documentId: document_id,
        documentBase64: Base64.encode64(File.read(pdf)),
        documentFields: [
          { name: 'field1', value: 'value1' },
          { name: 'field2', value: 'value2' }
        ]
      }
    }]
  }

  c = @api.post '/envelopes', h.to_json

  puts c.response_code
  puts JSON::parse(c.body)

PUT

Change envelope recipients

  h = {
    signers: { roleName: 'signer', email: 'test@test.com', name: 'Recipient Name', recipientId: '1' }
  }
  c = @api.put '/envelopes/123/recipients', h.to_json

  puts c.response_code
  puts JSON::parse(c.body)

DELETE

Delete envelope recipients

  h = {
    signers: [{ recipientId: '1' }]
  }
  c = @api.delete '/envelopes/123/recipients', h.to_json

  puts c.response_code
  puts JSON::parse(c.body)

DocuSign REST API Docs

https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm

Source Code

This project was created and is maintained by Open Listings Engineering engineering@openlistings.com

Contributing

Contributions are welcome via pull request. Please write tests, thanks!