Skip to content

Commit

Permalink
Version 3.9.0rc1 release (#106)
Browse files Browse the repository at this point in the history
* Version 3.9.0rc1-v2.1-21.1.01 release

* Update .travis.yml

Co-authored-by: DevCenter-DocuSign <[email protected]>
  • Loading branch information
harsharahul and DevCenter-DocuSign authored Apr 16, 2021
1 parent 543168c commit 47ffad4
Show file tree
Hide file tree
Showing 33 changed files with 5,295 additions and 260 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ script: nosetests -s
matrix:
allow_failures:
- python: nightly # Allow all tests to fail for nightly

8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file.

See [DocuSign Support Center](https://support.docusign.com/en/releasenotes/) for Product Release Notes.

## [3.8.1] - eSignature API v2.1-20.4.01 - 2021-02-26
### Changed
- Added support for version v2.1-20.4.01 of the DocuSign eSignature API.
- Updated the SDK release version.
### Fixed
- Exposed BulkEnvelopeApi and other api files as public and accessible.
- Adding `Type` fix in envelope_document model.

## [3.7.1] - eSignature API v2.1-20.3.01 - 2020-10-30
### Changed
- Added support for version v2.1-20.3.01 of the DocuSign eSignature API.
Expand Down
138 changes: 51 additions & 87 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# The Official DocuSign Python Client
# The Official DocuSign eSignature Python Client SDK

[![PyPI version][pypi-image]][pypi-url]
<!--[![PyPI downloads][downloads-image]][downloads-url]-->
Expand All @@ -9,108 +9,72 @@
[Documentation about the DocuSign API](https://developers.docusign.com/)

## Requirements

- Python 2.7 (3.7+ recommended)
- Free [Developer Sandbox](https://go.docusign.com/sandbox/productshot/?elqCampaignId=16531)
* Python 2.7 (3.7+ recommended)
* Free [developer account](https://go.docusign.com/sandbox/productshot/?elqCampaignId=16531)

## Compatibility

- Python 2.7+

## Note

This open-source SDK is provided for cases where you would like to make additional changes that the SDK does not provide out-of-the-box. If you simply want to use the SDK with any of the examples shown in the [Developer Center](https://developers.docusign.com/esign-rest-api/code-examples), follow the installation instructions below.
* Python 2.7+

## Installation

### Path Setup:

1. Locate your Python installation, also referred to as a **site-packages** folder. This folder is usually labeled in a format of Python{VersionNumber}.

**Examples:**

- **Unix/Linux:** /usr/lib/python2.7
- **Mac:** /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
- **Windows:** C:\Users\{username}\AppData\Local\Programs\Python\Python37

1. Add the path to your Python folder as an environment variable.

**Unix/Linux:**

- Type the following command into your console:
**export PYTHONPATH = "${PYTHONPATH}:.:/path/to/site-packages"**
- Optionally, you can add this command to your system profile, which will run the command each time Python is launched.

**Windows:**

<ol>
<li>Open the Windows <b>Control Panel.</b></li>
<li>Under the System and Security category, open the <b>System</b></li>
<li>Select <b>Advanced System Settings</b> to open the <b>System Properties</b> dialog box.</li>
<li>On the <b>Advanced</b> tab, select the <b>Environmental Variables</b> button at the lower-right corner.
<ol style="list-style-type: lower-alpha">
<li>Check if <b>PYTHONPATH</b> has been added as a <b>system variable.</b></li>
<li>If it has not, select <b>New</b> to add it. The variable you add is the path to the <b>site-packages</b></li>
</ol>
</li>
</ol>

**Note:** If you are still unable to reference python or pip via your command console,you can also add the path to the site-packages folder to the built-in environment variable labeled **Path** , which will take effect the next time you start your machine.
This SDK is provided as open source, which enables you to customize its functionality to suit your particular use case. To do so, download or clone the repository. If the SDK’s given functionality meets your integration needs, or if you’re working through our [code examples](https://developers.docusign.com/docs/esign-rest-api/how-to/) from the [DocuSign Developer Center](https://developers.docusign.com/), you merely need to install it by following the instructions below.

### Path setup:
1. Locate your Python installation, also referred to as a **site-packages** folder. This folder is usually labeled in a format of **Python{VersionNumber}**.
**Examples:**
* Unix/Linux: **/usr/lib/python2.7**
* Mac: **/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7**
* Windows: **C:\Users{username}\AppData\Local\Programs\Python\Python37**
2. Add your Python folder’s path to your system as an environment variable.
**Unix/Linux:**
1. Type the following command into your console: \
**export PYTHONPATH = "${PYTHONPATH}:.:/_path_/_to_/_site-packages_"**
2. Optionally, you can add this command to your system profile, which will run the command each time Python is launched.

**Windows:**
<ol>
<li>Open the Windows <strong>Control Panel.</strong></li>
<li>Under the System and Security category, open the <strong>System</strong> information panel.</li>
<li>Select <strong>Advanced System Settings</strong> to open the <strong>System Properties</strong> dialog box.</li>
<li>On the <strong>Advanced</strong> tab, select the <strong>Environment Variables</strong> button at the lower-right corner.
<ol style="list-style-type: lower-alpha">
<li>Check to see whether <strong>PYTHONPATH</strong> has been added as a <strong>system variable.</strong></li>
<li>If it has not, select <strong>New</strong> to add it. The variable you add is the path to the <strong>site-packages</strong> folder.</li>
</ol>
</li>
</ol>

**Note:** If you are still unable to reference Python or pip via your command console, you can also add the path to the **site-packages** folder to the built-in environment variable labeled **Path**, which will take effect the next time you start your machine.

### Install via PIP:

1. In your command console, type:
pip install docusign-esign

Note: This may require the command console be elevated. You can accomplish this via sudoin Unix/Linux, or by running the command console as an administrator in Windows.
In your command console, type: **pip install docusign-esign**
**Note:** This may require the command console to be elevated. You can accomplish this via sudo in Unix/Linux, or by running the command console as an administrator in Windows.

## Dependencies

This client has the following external dependencies:
* certifi v14.05.14+
* six v1.8.0+
* python_dateutil v2.5.3+
* setuptools v21.0.0+
* urllib3 v1.15.1+
* jwcrypto v0.4.2+
* py-oauth2 v0.0.10+

- certifi v14.05.14+
- six v1.8.0+
- python\_dateutil v2.5.3+
- setuptools v21.0.0+
- urllib3 v1.15.1+
- jwcrypto v0.4.2+
- py-oauth2 v0.0.10+

## Code Examples

### Launchers

DocuSign provides a sample application code referred to as a [Launcher](https://github.com/docusign/code-examples-python). The Launcher contains a set of 31 common use cases and associated source files. These examples use either DocuSign&#39;s [Authorization Code Grant](https://developers.docusign.com/esign-rest-api/guides/authentication/oauth2-code-grant) or [JSON Web Tokens (JWT)](https://developers.docusign.com/esign-rest-api/guides/authentication/oauth2-jsonwebtoken) flows.

## Proof-of-concept applications
## Code examples
You can find on our GitHub a self-executing package of code examples for the eSignature C# SDK, called a [Launcher](https://github.com/docusign/code-examples-python/blob/master/README.md), that demonstrates common use cases. You can also download a version preconfigured for your DocuSign developer account from [Quickstart](https://developers.docusign.com/docs/esign-rest-api/quickstart/). These examples can use either the [Authorization Code Grant](https://developers.docusign.com/esign-rest-api/guides/authentication/oauth2-code-grant) or [JSON Web Token (JWT)](https://developers.docusign.com/esign-rest-api/guides/authentication/oauth2-jsonwebtoken) authentication workflows.

If your goal is to create a proof of concept application, DocuSign provides a set of [Quick Start](https://github.com/docusign/qs-python) examples. The Quick Start examples are meant to be used with DocuSign&#39;s [OAuth Token Generator](https://developers.docusign.com/oauth-token-generator), which will allow you to generate tokens for the Demo/Sandbox environment only. These tokens last for eight hours and will enable you to build your proof-of-concept application without the need to fully implement an OAuth solution.

## OAuth Implementations

For details regarding which type of OAuth grant will work best for your DocuSign integration, see the [REST API Authentication Overview](https://developers.docusign.com/esign-rest-api/guides/authentication) guide located on the [DocuSign Developer Center](https://developers.docusign.com/esign-rest-api/guides/authentication).
## OAuth implementations
For details regarding which type of OAuth grant will work best for your DocuSign integration, see [Choose OAuth Type](https://developers.docusign.com/platform/auth/choose/) in the [DocuSign Developer Center](https://developers.docusign.com/).

For security purposes, DocuSign recommends using the [Authorization Code Grant](https://developers.docusign.com/esign-rest-api/guides/authentication/oauth2-code-grant) flow.


## Support

Log issues against this client through GitHub. We also have an [active developer community on Stack Overflow](https://stackoverflow.com/questions/tagged/docusignapi).

## License
The DocuSign eSignature Python Client SDK is licensed under the [MIT License](https://github.com/docusign/docusign-python-client/blob/master/LICENSE).

The DocuSign Python Client is licensed under the [MIT License](https://github.com/docusign/docusign-python-client/blob/master/LICENSE).


[pypi-image]: https://img.shields.io/pypi/v/docusign_esign.svg?style=flat
[pypi-url]: https://pypi.python.org/pypi/docusign_esign
[downloads-image]: https://img.shields.io/pypi/dm/docusign_esign.svg?style=flat
[downloads-url]: https://pypi.python.org/pypi/docusign_esign
[travis-image]: https://img.shields.io/travis/docusign/docusign-python-client.svg?style=flat
[travis-url]: https://travis-ci.org/docusign/docusign-python-client

### Additional Resources
* [DocuSign Developer Center](https://developers.docusign.com)
* [DocuSign API on Twitter](https://twitter.com/docusignapi)
* [DocuSign For Developers on LinkedIn](https://www.linkedin.com/showcase/docusign-for-developers/)
* [DocuSign For Developers on YouTube](https://www.youtube.com/channel/UCJSJ2kMs_qeQotmw4-lX2NQ)
### Additional resources
* [DocuSign Developer Center](https://developers.docusign.com/)
* [DocuSign API on Twitter](https://twitter.com/docusignapi)
* [DocuSign For Developers on LinkedIn](https://www.linkedin.com/showcase/docusign-for-developers/)
* [DocuSign For Developers on YouTube](https://www.youtube.com/channel/UCJSJ2kMs_qeQotmw4-lX2
6 changes: 4 additions & 2 deletions docusign_esign/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
from .apis.accounts_api import AccountsApi
from .apis.authentication_api import AuthenticationApi
from .apis.billing_api import BillingApi
from .apis.bulk_envelopes_api import BulkEnvelopesApi
from .apis.cloud_storage_api import CloudStorageApi
from .apis.connect_api import ConnectApi
from .apis.custom_tabs_api import CustomTabsApi
Expand All @@ -31,12 +32,11 @@
from .apis.notary_api import NotaryApi
from .apis.organizations_api import OrganizationsApi
from .apis.power_forms_api import PowerFormsApi
from .apis.signature_api import SignatureApi
from .apis.signing_groups_api import SigningGroupsApi
from .apis.templates_api import TemplatesApi
from .apis.trust_service_providers_api import TrustServiceProvidersApi
from .apis.users_api import UsersApi
from .apis.workspaces_api import WorkspacesApi
from .apis.bulk_envelopes_api import BulkEnvelopesApi

# import models into sdk package
from docusign_esign.models.access_code_format import AccessCodeFormat
Expand Down Expand Up @@ -191,6 +191,7 @@
from docusign_esign.models.credential import Credential
from docusign_esign.models.credit_card_information import CreditCardInformation
from docusign_esign.models.credit_card_types import CreditCardTypes
from docusign_esign.models.currency import Currency
from docusign_esign.models.currency_feature_set_price import CurrencyFeatureSetPrice
from docusign_esign.models.currency_plan_price import CurrencyPlanPrice
from docusign_esign.models.custom_field import CustomField
Expand Down Expand Up @@ -298,6 +299,7 @@
from docusign_esign.models.intermediary import Intermediary
from docusign_esign.models.jurisdiction import Jurisdiction
from docusign_esign.models.last_name import LastName
from docusign_esign.models.linked_external_primary_account import LinkedExternalPrimaryAccount
from docusign_esign.models.list import List
from docusign_esign.models.list_custom_field import ListCustomField
from docusign_esign.models.list_item import ListItem
Expand Down
4 changes: 2 additions & 2 deletions docusign_esign/apis/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from .accounts_api import AccountsApi
from .authentication_api import AuthenticationApi
from .billing_api import BillingApi
from .bulk_envelopes_api import BulkEnvelopesApi
from .cloud_storage_api import CloudStorageApi
from .connect_api import ConnectApi
from .custom_tabs_api import CustomTabsApi
Expand All @@ -18,9 +19,8 @@
from .notary_api import NotaryApi
from .organizations_api import OrganizationsApi
from .power_forms_api import PowerFormsApi
from .signature_api import SignatureApi
from .signing_groups_api import SigningGroupsApi
from .templates_api import TemplatesApi
from .trust_service_providers_api import TrustServiceProvidersApi
from .users_api import UsersApi
from .workspaces_api import WorkspacesApi
from .bulk_envelopes_api import BulkEnvelopesApi
101 changes: 101 additions & 0 deletions docusign_esign/apis/accounts_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -4652,6 +4652,107 @@ def get_report_in_product_list_with_http_info(self, account_id, **kwargs):
_request_timeout=params.get('_request_timeout'),
collection_formats=collection_formats)

def get_seal_providers(self, account_id, **kwargs):
"""
Returns Account available seals for specified account.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
>>> def callback_function(response):
>>> pprint(response)
>>>
>>> thread = api.get_seal_providers(account_id, callback=callback_function)
:param callback function: The callback function
for asynchronous request. (optional)
:param str account_id: The external account number (int) or account ID Guid. (required)
:return: AccountSeals
If the method is called asynchronously,
returns the request thread.
"""
kwargs['_return_http_data_only'] = True
if kwargs.get('callback'):
return self.get_seal_providers_with_http_info(account_id, **kwargs)
else:
(data) = self.get_seal_providers_with_http_info(account_id, **kwargs)
return data

def get_seal_providers_with_http_info(self, account_id, **kwargs):
"""
Returns Account available seals for specified account.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
>>> def callback_function(response):
>>> pprint(response)
>>>
>>> thread = api.get_seal_providers_with_http_info(account_id, callback=callback_function)
:param callback function: The callback function
for asynchronous request. (optional)
:param str account_id: The external account number (int) or account ID Guid. (required)
:return: AccountSeals
If the method is called asynchronously,
returns the request thread.
"""

all_params = ['account_id']
all_params.append('callback')
all_params.append('_return_http_data_only')
all_params.append('_preload_content')
all_params.append('_request_timeout')

params = locals()
for key, val in iteritems(params['kwargs']):
if key not in all_params:
raise TypeError(
"Got an unexpected keyword argument '%s'"
" to method get_seal_providers" % key
)
params[key] = val
del params['kwargs']
# verify the required parameter 'account_id' is set
if ('account_id' not in params) or (params['account_id'] is None):
raise ValueError("Missing the required parameter `account_id` when calling `get_seal_providers`")


collection_formats = {}

resource_path = '/v2.1/accounts/{accountId}/seals'.replace('{format}', 'json')
path_params = {}
if 'account_id' in params:
path_params['accountId'] = params['account_id']

query_params = {}

header_params = {}

form_params = []
local_var_files = {}

body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.\
select_header_accept(['application/json'])

# Authentication setting
auth_settings = []

return self.api_client.call_api(resource_path, 'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
response_type='AccountSeals',
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
_preload_content=params.get('_preload_content', True),
_request_timeout=params.get('_request_timeout'),
collection_formats=collection_formats)

def get_supported_languages(self, account_id, **kwargs):
"""
Gets list of supported languages for recipient language setting.
Expand Down
Loading

0 comments on commit 47ffad4

Please sign in to comment.