
Docusign Adds Python and Ruby to the Growing Family of SDKs

Docusign just released two new SDKs: Python and Ruby. Each enable you to seamlessly integrate with the Docusign eSignature API. With just a few lines of code you can automate workflows such as requesting signatures or signing documents directly inside your Python or Ruby apps.
Similar to our other SDKs, the new Python and Ruby SDKs were generated using Swagger Codegen Opens in a new tab. They provide complete access to all Docusign eSignature REST API endpoints. The SDKs do all the hard work - creating and sending HTTP requests and parsing the HTTP responses - so that you can focus on what matters the most to you: your business.
If you haven’t done it yet, sign up for a free developer sandbox account. Developer sandboxes are completely free – no credit card required – and they do not expire.
Next create an integrator key and generate an RSA key pair in your sandbox account. Save the private key to a local file. You will need it later to generate JWT tokens for either the Python or Ruby SDKs.
I’d like to thank one of my fellow Docusign engineers on the Developer Center team, Naveen Gopala, for helping me to create these SDKs.
Python SDK
The new Python SDK supports both Python 2 and Python 3 versions. Also, it can be used with both 2-legged and 3-legged authentication.
Installing the Python SDK
To install the SDK, you can either copy the source code Opens in a new tab to your project or install the PyPI package Opens in a new tab using the pip command: pip install docusign_esign. If you use PyPI, make sure to configure PYTHONPATH Opens in a new tab environment variable.
Ready. Set. Code.
First import a few classes from the SDK:
from docusign_esign import ApiClient, AuthenticationApi, EnvelopesApi, configuration
Then initialize the API Client:
api_client = ApiClient('https://demo.docusign.net/restapi Opens in a new tab')
Pass the previously saved private key file to the API client to get an OAuth JWT token:
api_client.configure_jwt_authorization_flow('/PATH/TO/YOUR_PRIVA E_KEY', 'account-d.docusign.com', 'YOUR_INTEGRATOR_KEY', 'YOUR_USER_ID', 3600)
Set that API client as the default client across the SDK:
configuration.api_client = api_client
Docusign service categories are suffixed with 'Api'. Here is how to initialize the 'Authentication' service:
auth_api = AuthenticationApi()
Finally, you can call any function from that service. For instance, this call will list the user accounts (for the user identified above with 'USER_ID'):
print(auth_api.login())
Python SDK Links
GitHub repo: https://github.com/docusign/docusign-python-client Opens in a new tab
Python code snippets: https://github.com/docusign/docusign-python-client/blob/master/test/unit_tests.py Opens in a new tab
PyPI webpage: https://pypi.python.org/pypi/docusign_esign Opens in a new tab
Ruby SDK
The Ruby SDK has been tested with version 2.3. It supports all three types of authentication including Service authentication.
Installing the Ruby SDK
To install the SDK, you can either copy the source code Opens in a new tab to your project or install the Ruby gem Opens in a new tab using the gem command: gem install docusign_esign.
Ready. Set. Code.
First import the SDK:
require ‘docusign_esign’
Then initialize the API Client:
host = 'https://demo.docusign.net/restapi Opens in a new tab' integrator_key = 'YOUR_INTEGRATOR_KEY' user_id = 'YOUR_USER_ID' expires_in_seconds = 3600 #1 hour auth_server = 'account-d.docusign.com' private_key_filename = '/PATH/TO/YOUR_PRIVATE_KEY' configuration = DocuSign_eSign::Configuration.new configuration.host = host api_client = DocuSign_eSign::ApiClient.new(configuration)
Pass the previously saved private key file to the API client to get an OAuth JWT token:
api_client.configure_jwt_authorization_flow(private_key_filename, auth_server, integrator_key, user_id, expires_in_seconds)
Docusign service categories are suffixed with 'Api'. Here is how to initialize the 'Authentication' service:
authentication_api = DocuSign_eSign::AuthenticationApi.new(api_client)
Finally, you can call any function from that service. For instance, this call will list the user accounts (for the user identified above with 'USER_ID'):
login_options = DocuSign_eSign::LoginOptions.new login_information = authentication_api.login(login_options)
Ruby SDK Links
Github repo: https://github.com/docusign/docusign-ruby-client Opens in a new tab
Ruby code snippets: https://github.com/docusign/docusign-ruby-client/blob/master/tests/spec/unit_tests_using_jwt_spec.rb Opens in a new tab
RubyGems webpage: https://rubygems.org/gems/docusign_esign Opens in a new tab
Additional Resources
Get more information about Docusign’s SDKs and stay up-to-date with Docusign developer news and information by visiting these additional resources:
We can’t wait to see what you will build with any of our SDKs.
Happy DocuSigning!
Majid Mallis joined Docusign in 2016, as an early engineer on the Developer Center team. He now leads the team’s mission to make Docusign integration seamless and fun with a new incubation program. Previously Majid worked on many projects ranging from our site, to API Explorer, to SDKs. You can find him on Github, mostly contributing to SDKs or occasionally responding to dev community questions.
Related posts
Docusign IAM is the agreement platform your business needs



