Skip to content

Commit 47ffad4

Browse files
Version 3.9.0rc1 release (#106)
* Version 3.9.0rc1-v2.1-21.1.01 release * Update .travis.yml Co-authored-by: DevCenter-DocuSign <dcdev@docusign.com>
1 parent 543168c commit 47ffad4

33 files changed

+5295
-260
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ script: nosetests -s
1616
matrix:
1717
allow_failures:
1818
- python: nightly # Allow all tests to fail for nightly
19+

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file.
33

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

6+
## [3.8.1] - eSignature API v2.1-20.4.01 - 2021-02-26
7+
### Changed
8+
- Added support for version v2.1-20.4.01 of the DocuSign eSignature API.
9+
- Updated the SDK release version.
10+
### Fixed
11+
- Exposed BulkEnvelopeApi and other api files as public and accessible.
12+
- Adding `Type` fix in envelope_document model.
13+
614
## [3.7.1] - eSignature API v2.1-20.3.01 - 2020-10-30
715
### Changed
816
- Added support for version v2.1-20.3.01 of the DocuSign eSignature API.

README.md

Lines changed: 51 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# The Official DocuSign Python Client
1+
# The Official DocuSign eSignature Python Client SDK
22

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

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

1615
## Compatibility
17-
18-
- Python 2.7+
19-
20-
## Note
21-
22-
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.
16+
* Python 2.7+
2317

2418
## Installation
25-
26-
### Path Setup:
27-
28-
1. Locate your Python installation, also referred to as a **site-packages** folder. This folder is usually labeled in a format of Python{VersionNumber}.
29-
30-
**Examples:**
31-
32-
- **Unix/Linux:** /usr/lib/python2.7
33-
- **Mac:** /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
34-
- **Windows:** C:\Users\{username}\AppData\Local\Programs\Python\Python37
35-
36-
1. Add the path to your Python folder as an environment variable.
37-
38-
**Unix/Linux:**
39-
40-
- Type the following command into your console:
41-
**export PYTHONPATH = "${PYTHONPATH}:.:/path/to/site-packages"**
42-
- Optionally, you can add this command to your system profile, which will run the command each time Python is launched.
43-
44-
**Windows:**
45-
46-
<ol>
47-
<li>Open the Windows <b>Control Panel.</b></li>
48-
<li>Under the System and Security category, open the <b>System</b></li>
49-
<li>Select <b>Advanced System Settings</b> to open the <b>System Properties</b> dialog box.</li>
50-
<li>On the <b>Advanced</b> tab, select the <b>Environmental Variables</b> button at the lower-right corner.
51-
<ol style="list-style-type: lower-alpha">
52-
<li>Check if <b>PYTHONPATH</b> has been added as a <b>system variable.</b></li>
53-
<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>
54-
</ol>
55-
</li>
56-
</ol>
57-
58-
**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.
19+
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.
20+
21+
### Path setup:
22+
1. Locate your Python installation, also referred to as a **site-packages** folder. This folder is usually labeled in a format of **Python{VersionNumber}**.
23+
**Examples:**
24+
* Unix/Linux: **/usr/lib/python2.7**
25+
* Mac: **/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7**
26+
* Windows: **C:\Users{username}\AppData\Local\Programs\Python\Python37**
27+
2. Add your Python folder’s path to your system as an environment variable.
28+
**Unix/Linux:**
29+
1. Type the following command into your console: \
30+
**export PYTHONPATH = "${PYTHONPATH}:.:/_path_/_to_/_site-packages_"**
31+
2. Optionally, you can add this command to your system profile, which will run the command each time Python is launched.
32+
33+
**Windows:**
34+
<ol>
35+
<li>Open the Windows <strong>Control Panel.</strong></li>
36+
<li>Under the System and Security category, open the <strong>System</strong> information panel.</li>
37+
<li>Select <strong>Advanced System Settings</strong> to open the <strong>System Properties</strong> dialog box.</li>
38+
<li>On the <strong>Advanced</strong> tab, select the <strong>Environment Variables</strong> button at the lower-right corner.
39+
<ol style="list-style-type: lower-alpha">
40+
<li>Check to see whether <strong>PYTHONPATH</strong> has been added as a <strong>system variable.</strong></li>
41+
<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>
42+
</ol>
43+
</li>
44+
</ol>
45+
46+
**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.
5947

6048
### Install via PIP:
61-
62-
1. In your command console, type:
63-
pip install docusign-esign
64-
65-
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.
49+
In your command console, type: **pip install docusign-esign**
50+
**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.
6651

6752
## Dependencies
68-
6953
This client has the following external dependencies:
54+
* certifi v14.05.14+
55+
* six v1.8.0+
56+
* python_dateutil v2.5.3+
57+
* setuptools v21.0.0+
58+
* urllib3 v1.15.1+
59+
* jwcrypto v0.4.2+
60+
* py-oauth2 v0.0.10+
7061

71-
- certifi v14.05.14+
72-
- six v1.8.0+
73-
- python\_dateutil v2.5.3+
74-
- setuptools v21.0.0+
75-
- urllib3 v1.15.1+
76-
- jwcrypto v0.4.2+
77-
- py-oauth2 v0.0.10+
78-
79-
## Code Examples
80-
81-
### Launchers
82-
83-
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.
84-
85-
## Proof-of-concept applications
62+
## Code examples
63+
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.
8664

87-
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.
88-
89-
## OAuth Implementations
90-
91-
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).
65+
## OAuth implementations
66+
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/).
9267

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

95-
9670
## Support
97-
9871
Log issues against this client through GitHub. We also have an [active developer community on Stack Overflow](https://stackoverflow.com/questions/tagged/docusignapi).
9972

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

102-
The DocuSign Python Client is licensed under the [MIT License](https://github.com/docusign/docusign-python-client/blob/master/LICENSE).
103-
104-
105-
[pypi-image]: https://img.shields.io/pypi/v/docusign_esign.svg?style=flat
106-
[pypi-url]: https://pypi.python.org/pypi/docusign_esign
107-
[downloads-image]: https://img.shields.io/pypi/dm/docusign_esign.svg?style=flat
108-
[downloads-url]: https://pypi.python.org/pypi/docusign_esign
109-
[travis-image]: https://img.shields.io/travis/docusign/docusign-python-client.svg?style=flat
110-
[travis-url]: https://travis-ci.org/docusign/docusign-python-client
111-
112-
### Additional Resources
113-
* [DocuSign Developer Center](https://developers.docusign.com)
114-
* [DocuSign API on Twitter](https://twitter.com/docusignapi)
115-
* [DocuSign For Developers on LinkedIn](https://www.linkedin.com/showcase/docusign-for-developers/)
116-
* [DocuSign For Developers on YouTube](https://www.youtube.com/channel/UCJSJ2kMs_qeQotmw4-lX2NQ)
76+
### Additional resources
77+
* [DocuSign Developer Center](https://developers.docusign.com/)
78+
* [DocuSign API on Twitter](https://twitter.com/docusignapi)
79+
* [DocuSign For Developers on LinkedIn](https://www.linkedin.com/showcase/docusign-for-developers/)
80+
* [DocuSign For Developers on YouTube](https://www.youtube.com/channel/UCJSJ2kMs_qeQotmw4-lX2

docusign_esign/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from .apis.accounts_api import AccountsApi
2020
from .apis.authentication_api import AuthenticationApi
2121
from .apis.billing_api import BillingApi
22+
from .apis.bulk_envelopes_api import BulkEnvelopesApi
2223
from .apis.cloud_storage_api import CloudStorageApi
2324
from .apis.connect_api import ConnectApi
2425
from .apis.custom_tabs_api import CustomTabsApi
@@ -31,12 +32,11 @@
3132
from .apis.notary_api import NotaryApi
3233
from .apis.organizations_api import OrganizationsApi
3334
from .apis.power_forms_api import PowerFormsApi
35+
from .apis.signature_api import SignatureApi
3436
from .apis.signing_groups_api import SigningGroupsApi
3537
from .apis.templates_api import TemplatesApi
36-
from .apis.trust_service_providers_api import TrustServiceProvidersApi
3738
from .apis.users_api import UsersApi
3839
from .apis.workspaces_api import WorkspacesApi
39-
from .apis.bulk_envelopes_api import BulkEnvelopesApi
4040

4141
# import models into sdk package
4242
from docusign_esign.models.access_code_format import AccessCodeFormat
@@ -191,6 +191,7 @@
191191
from docusign_esign.models.credential import Credential
192192
from docusign_esign.models.credit_card_information import CreditCardInformation
193193
from docusign_esign.models.credit_card_types import CreditCardTypes
194+
from docusign_esign.models.currency import Currency
194195
from docusign_esign.models.currency_feature_set_price import CurrencyFeatureSetPrice
195196
from docusign_esign.models.currency_plan_price import CurrencyPlanPrice
196197
from docusign_esign.models.custom_field import CustomField
@@ -298,6 +299,7 @@
298299
from docusign_esign.models.intermediary import Intermediary
299300
from docusign_esign.models.jurisdiction import Jurisdiction
300301
from docusign_esign.models.last_name import LastName
302+
from docusign_esign.models.linked_external_primary_account import LinkedExternalPrimaryAccount
301303
from docusign_esign.models.list import List
302304
from docusign_esign.models.list_custom_field import ListCustomField
303305
from docusign_esign.models.list_item import ListItem

docusign_esign/apis/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from .accounts_api import AccountsApi
77
from .authentication_api import AuthenticationApi
88
from .billing_api import BillingApi
9+
from .bulk_envelopes_api import BulkEnvelopesApi
910
from .cloud_storage_api import CloudStorageApi
1011
from .connect_api import ConnectApi
1112
from .custom_tabs_api import CustomTabsApi
@@ -18,9 +19,8 @@
1819
from .notary_api import NotaryApi
1920
from .organizations_api import OrganizationsApi
2021
from .power_forms_api import PowerFormsApi
22+
from .signature_api import SignatureApi
2123
from .signing_groups_api import SigningGroupsApi
2224
from .templates_api import TemplatesApi
23-
from .trust_service_providers_api import TrustServiceProvidersApi
2425
from .users_api import UsersApi
2526
from .workspaces_api import WorkspacesApi
26-
from .bulk_envelopes_api import BulkEnvelopesApi

docusign_esign/apis/accounts_api.py

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4652,6 +4652,107 @@ def get_report_in_product_list_with_http_info(self, account_id, **kwargs):
46524652
_request_timeout=params.get('_request_timeout'),
46534653
collection_formats=collection_formats)
46544654

4655+
def get_seal_providers(self, account_id, **kwargs):
4656+
"""
4657+
Returns Account available seals for specified account.
4658+
This method makes a synchronous HTTP request by default. To make an
4659+
asynchronous HTTP request, please define a `callback` function
4660+
to be invoked when receiving the response.
4661+
>>> def callback_function(response):
4662+
>>> pprint(response)
4663+
>>>
4664+
>>> thread = api.get_seal_providers(account_id, callback=callback_function)
4665+
4666+
:param callback function: The callback function
4667+
for asynchronous request. (optional)
4668+
:param str account_id: The external account number (int) or account ID Guid. (required)
4669+
:return: AccountSeals
4670+
If the method is called asynchronously,
4671+
returns the request thread.
4672+
"""
4673+
kwargs['_return_http_data_only'] = True
4674+
if kwargs.get('callback'):
4675+
return self.get_seal_providers_with_http_info(account_id, **kwargs)
4676+
else:
4677+
(data) = self.get_seal_providers_with_http_info(account_id, **kwargs)
4678+
return data
4679+
4680+
def get_seal_providers_with_http_info(self, account_id, **kwargs):
4681+
"""
4682+
Returns Account available seals for specified account.
4683+
This method makes a synchronous HTTP request by default. To make an
4684+
asynchronous HTTP request, please define a `callback` function
4685+
to be invoked when receiving the response.
4686+
>>> def callback_function(response):
4687+
>>> pprint(response)
4688+
>>>
4689+
>>> thread = api.get_seal_providers_with_http_info(account_id, callback=callback_function)
4690+
4691+
:param callback function: The callback function
4692+
for asynchronous request. (optional)
4693+
:param str account_id: The external account number (int) or account ID Guid. (required)
4694+
:return: AccountSeals
4695+
If the method is called asynchronously,
4696+
returns the request thread.
4697+
"""
4698+
4699+
all_params = ['account_id']
4700+
all_params.append('callback')
4701+
all_params.append('_return_http_data_only')
4702+
all_params.append('_preload_content')
4703+
all_params.append('_request_timeout')
4704+
4705+
params = locals()
4706+
for key, val in iteritems(params['kwargs']):
4707+
if key not in all_params:
4708+
raise TypeError(
4709+
"Got an unexpected keyword argument '%s'"
4710+
" to method get_seal_providers" % key
4711+
)
4712+
params[key] = val
4713+
del params['kwargs']
4714+
# verify the required parameter 'account_id' is set
4715+
if ('account_id' not in params) or (params['account_id'] is None):
4716+
raise ValueError("Missing the required parameter `account_id` when calling `get_seal_providers`")
4717+
4718+
4719+
collection_formats = {}
4720+
4721+
resource_path = '/v2.1/accounts/{accountId}/seals'.replace('{format}', 'json')
4722+
path_params = {}
4723+
if 'account_id' in params:
4724+
path_params['accountId'] = params['account_id']
4725+
4726+
query_params = {}
4727+
4728+
header_params = {}
4729+
4730+
form_params = []
4731+
local_var_files = {}
4732+
4733+
body_params = None
4734+
# HTTP header `Accept`
4735+
header_params['Accept'] = self.api_client.\
4736+
select_header_accept(['application/json'])
4737+
4738+
# Authentication setting
4739+
auth_settings = []
4740+
4741+
return self.api_client.call_api(resource_path, 'GET',
4742+
path_params,
4743+
query_params,
4744+
header_params,
4745+
body=body_params,
4746+
post_params=form_params,
4747+
files=local_var_files,
4748+
response_type='AccountSeals',
4749+
auth_settings=auth_settings,
4750+
callback=params.get('callback'),
4751+
_return_http_data_only=params.get('_return_http_data_only'),
4752+
_preload_content=params.get('_preload_content', True),
4753+
_request_timeout=params.get('_request_timeout'),
4754+
collection_formats=collection_formats)
4755+
46554756
def get_supported_languages(self, account_id, **kwargs):
46564757
"""
46574758
Gets list of supported languages for recipient language setting.

0 commit comments

Comments
 (0)