From 8bc36ee881380f16336feb4917a4016fc6336197 Mon Sep 17 00:00:00 2001 From: Harsha Rahul Boggaram Date: Fri, 16 Apr 2021 10:33:59 -0700 Subject: [PATCH] Version 2.9.0rc1 release (#105) * Version 2.9.0rc1-v2-21.1.01 release * Update __init__.py * Update __init__.py Co-authored-by: DevCenter-DocuSign --- CHANGELOG.md | 8 + README.md | 110 ++-- docusign_esign/__init__.py | 3 +- docusign_esign/apis/__init__.py | 3 +- docusign_esign/apis/accounts_api.py | 101 ++++ docusign_esign/apis/billing_api.py | 4 +- docusign_esign/apis/connect_api.py | 110 +--- docusign_esign/apis/signature_api.py | 526 ++++++++++++++++++ docusign_esign/client/configuration.py | 7 +- docusign_esign/models/account_billing_plan.py | 58 +- docusign_esign/models/billing_charge.py | 4 +- setup.py | 2 +- test/unit_tests.py | 21 +- 13 files changed, 748 insertions(+), 209 deletions(-) create mode 100644 docusign_esign/apis/signature_api.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 60db389f..1b80b87c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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. +## [2.8.1] - eSignature API v2-20.4.01 - 2021-02-26 +### Changed +- Added support for version v2-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. + ## [2.7.0] - eSignature API v2-20.3.00 - 2020-09-24 ### Changed * Added support for version v2-20.3.00 of the DocuSign eSignature API. diff --git a/README.md b/README.md index 097a53d1..530ad275 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# The Official DocuSign Python Client +# The Official DocuSign eSignature Python Client SDK [![PyPI version][pypi-image]][pypi-url] @@ -17,55 +17,41 @@ - 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. - ## 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:** - -
    -
  1. Open the Windows Control Panel.
  2. -
  3. Under the System and Security category, open the System
  4. -
  5. Select Advanced System Settings to open the System Properties dialog box.
  6. -
  7. On the Advanced tab, select the Environmental Variables button at the lower-right corner. -
      -
    1. Check if PYTHONPATH has been added as a system variable.
    2. -
    3. If it has not, select New to add it. The variable you add is the path to the site-packages
    4. -
    -
  8. -
- -**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:** +
    +
  1. Open the Windows Control Panel.
  2. +
  3. Under the System and Security category, open the System information panel.
  4. +
  5. Select Advanced System Settings to open the System Properties dialog box.
  6. +
  7. On the Advanced tab, select the Environment Variables button at the lower-right corner. +
      +
    1. Check to see whether PYTHONPATH has been added as a system variable.
    2. +
    3. If it has not, select New to add it. The variable you add is the path to the site-packages folder.
    4. +
    +
  8. +
+ +**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+ @@ -76,41 +62,29 @@ This client has the following external dependencies: - 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'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'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). - +### 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 [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) +[travis-url]: https://travis-ci.org/docusign/docusign-python-client \ No newline at end of file diff --git a/docusign_esign/__init__.py b/docusign_esign/__init__.py index 4ab03a69..ee16334d 100644 --- a/docusign_esign/__init__.py +++ b/docusign_esign/__init__.py @@ -29,12 +29,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.account_address import AccountAddress diff --git a/docusign_esign/apis/__init__.py b/docusign_esign/apis/__init__.py index 9cad3db7..301fb8b5 100644 --- a/docusign_esign/apis/__init__.py +++ b/docusign_esign/apis/__init__.py @@ -16,9 +16,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 diff --git a/docusign_esign/apis/accounts_api.py b/docusign_esign/apis/accounts_api.py index 3d80917f..7b4cb7a3 100644 --- a/docusign_esign/apis/accounts_api.py +++ b/docusign_esign/apis/accounts_api.py @@ -3255,6 +3255,107 @@ def get_provisioning_with_http_info(self, **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/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. diff --git a/docusign_esign/apis/billing_api.py b/docusign_esign/apis/billing_api.py index 67dc3960..979473d8 100644 --- a/docusign_esign/apis/billing_api.py +++ b/docusign_esign/apis/billing_api.py @@ -247,7 +247,7 @@ def get_credit_card_info_with_http_info(self, account_id, **kwargs): def get_invoice(self, account_id, invoice_id, **kwargs): """ Retrieves a billing invoice. - Retrieves the specified invoice. ###### Note: If the `pdfAvailable` property in the response is set to *true*, you can download a PDF version of the invoice. To download the PDF, make the call again and change the value of the `Accept` property in the header to `Accept: application/pdf`. Privileges required: account administrator The response returns a list of charges and information about the charges. Quantities are usually shown as 'unlimited' or an integer. Amounts are shown in the currency set for the account. **Response** The following table provides a description of the different `chargeName` property values. The information will grow as more chargeable items are added to the system. | chargeName | Description | | --- | --- | | id_check | IDÂ Check Charge | | in_person_signing | In Person Signing charge | | envelopes Included | Sent Envelopes for the account | | age_verify | Age verification check | | ofac | OFAC Check | | id_confirm | ID confirmation check | | student_authentication | STAN PIN authentication check | | wet_sign_fax | Pages for returning signed documents by fax | | attachment_fax | Pages for returning attachments by fax | | phone_authentication | Phone authentication charge | | powerforms | PowerForm envelopes sent | | signer_payments | Payment processing charge | | outbound_fax | Send by fax charge | | bulk_recipient_envelopes | Bulk Recipient Envelopes sent | | sms_authentications | SMS authentication charge | | saml_authentications | SAML authentication charge | | express_signer_certificate | DocuSign Express Certificate charge | | personal_signer_certificate | Personal Signer Certificate charge | | safe_certificate | SAFE BioPharma Signer Certificate charge | | seats | Included active seats charge | | open_trust_certificate | OpenTrust Signer Certificate charge | + Retrieves the specified invoice. ###### Note: If the `pdfAvailable` property in the response is set to *true*, you can download a PDF version of the invoice. To download the PDF, make the call again and change the value of the `Accept` property in the header to `Accept: application/pdf`. Privileges required: account administrator The response returns a list of charges and information about the charges. Quantities are usually shown as 'unlimited' or an integer. Amounts are shown in the currency set for the account. **Response** The following table provides a description of the different `chargeName` property values. The information will grow as more chargeable items are added to the system. | chargeName | Description | | --- | --- | | id_check | ID Check Charge | | in_person_signing | In Person Signing charge | | envelopes Included | Sent Envelopes for the account | | age_verify | Age verification check | | ofac | OFAC Check | | id_confirm | ID confirmation check | | student_authentication | STAN PIN authentication check | | wet_sign_fax | Pages for returning signed documents by fax | | attachment_fax | Pages for returning attachments by fax | | phone_authentication | Phone authentication charge | | powerforms | PowerForm envelopes sent | | signer_payments | Payment processing charge | | outbound_fax | Send by fax charge | | bulk_recipient_envelopes | Bulk Recipient Envelopes sent | | sms_authentications | SMS authentication charge | | saml_authentications | SAML authentication charge | | express_signer_certificate | DocuSign Express Certificate charge | | personal_signer_certificate | Personal Signer Certificate charge | | safe_certificate | SAFE BioPharma Signer Certificate charge | | seats | Included active seats charge | | open_trust_certificate | OpenTrust Signer Certificate charge | 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. @@ -274,7 +274,7 @@ def get_invoice(self, account_id, invoice_id, **kwargs): def get_invoice_with_http_info(self, account_id, invoice_id, **kwargs): """ Retrieves a billing invoice. - Retrieves the specified invoice. ###### Note: If the `pdfAvailable` property in the response is set to *true*, you can download a PDF version of the invoice. To download the PDF, make the call again and change the value of the `Accept` property in the header to `Accept: application/pdf`. Privileges required: account administrator The response returns a list of charges and information about the charges. Quantities are usually shown as 'unlimited' or an integer. Amounts are shown in the currency set for the account. **Response** The following table provides a description of the different `chargeName` property values. The information will grow as more chargeable items are added to the system. | chargeName | Description | | --- | --- | | id_check | IDÂ Check Charge | | in_person_signing | In Person Signing charge | | envelopes Included | Sent Envelopes for the account | | age_verify | Age verification check | | ofac | OFAC Check | | id_confirm | ID confirmation check | | student_authentication | STAN PIN authentication check | | wet_sign_fax | Pages for returning signed documents by fax | | attachment_fax | Pages for returning attachments by fax | | phone_authentication | Phone authentication charge | | powerforms | PowerForm envelopes sent | | signer_payments | Payment processing charge | | outbound_fax | Send by fax charge | | bulk_recipient_envelopes | Bulk Recipient Envelopes sent | | sms_authentications | SMS authentication charge | | saml_authentications | SAML authentication charge | | express_signer_certificate | DocuSign Express Certificate charge | | personal_signer_certificate | Personal Signer Certificate charge | | safe_certificate | SAFE BioPharma Signer Certificate charge | | seats | Included active seats charge | | open_trust_certificate | OpenTrust Signer Certificate charge | + Retrieves the specified invoice. ###### Note: If the `pdfAvailable` property in the response is set to *true*, you can download a PDF version of the invoice. To download the PDF, make the call again and change the value of the `Accept` property in the header to `Accept: application/pdf`. Privileges required: account administrator The response returns a list of charges and information about the charges. Quantities are usually shown as 'unlimited' or an integer. Amounts are shown in the currency set for the account. **Response** The following table provides a description of the different `chargeName` property values. The information will grow as more chargeable items are added to the system. | chargeName | Description | | --- | --- | | id_check | ID Check Charge | | in_person_signing | In Person Signing charge | | envelopes Included | Sent Envelopes for the account | | age_verify | Age verification check | | ofac | OFAC Check | | id_confirm | ID confirmation check | | student_authentication | STAN PIN authentication check | | wet_sign_fax | Pages for returning signed documents by fax | | attachment_fax | Pages for returning attachments by fax | | phone_authentication | Phone authentication charge | | powerforms | PowerForm envelopes sent | | signer_payments | Payment processing charge | | outbound_fax | Send by fax charge | | bulk_recipient_envelopes | Bulk Recipient Envelopes sent | | sms_authentications | SMS authentication charge | | saml_authentications | SAML authentication charge | | express_signer_certificate | DocuSign Express Certificate charge | | personal_signer_certificate | Personal Signer Certificate charge | | safe_certificate | SAFE BioPharma Signer Certificate charge | | seats | Included active seats charge | | open_trust_certificate | OpenTrust Signer Certificate charge | 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. diff --git a/docusign_esign/apis/connect_api.py b/docusign_esign/apis/connect_api.py index 1f5ee93a..ba340e93 100644 --- a/docusign_esign/apis/connect_api.py +++ b/docusign_esign/apis/connect_api.py @@ -429,7 +429,7 @@ def delete_connect_secret_with_http_info(self, account_id, key_id, **kwargs): collection_formats = {} - resource_path = '/v2/accounts/{accountId}/connect/secret/{keyId}/delete'.replace('{format}', 'json') + resource_path = '/v2/accounts/{accountId}/connect/secret/{keyId}'.replace('{format}', 'json') path_params = {} if 'account_id' in params: path_params['accountId'] = params['account_id'] @@ -1750,114 +1750,6 @@ def list_mobile_notifiers_with_http_info(self, account_id, **kwargs): _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def list_tests(self, account_id, connect_id, **kwargs): - """ - Test connect configuration. - 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.list_tests(account_id, connect_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) - :param str connect_id: The ID of the custom Connect configuration being accessed. (required) - :return: ResourceInformation - If the method is called asynchronously, - returns the request thread. - """ - kwargs['_return_http_data_only'] = True - if kwargs.get('callback'): - return self.list_tests_with_http_info(account_id, connect_id, **kwargs) - else: - (data) = self.list_tests_with_http_info(account_id, connect_id, **kwargs) - return data - - def list_tests_with_http_info(self, account_id, connect_id, **kwargs): - """ - Test connect configuration. - 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.list_tests_with_http_info(account_id, connect_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) - :param str connect_id: The ID of the custom Connect configuration being accessed. (required) - :return: ResourceInformation - If the method is called asynchronously, - returns the request thread. - """ - - all_params = ['account_id', 'connect_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 list_tests" % 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 `list_tests`") - # verify the required parameter 'connect_id' is set - if ('connect_id' not in params) or (params['connect_id'] is None): - raise ValueError("Missing the required parameter `connect_id` when calling `list_tests`") - - - collection_formats = {} - - resource_path = '/v2/accounts/{accountId}/connect/{connectId}/tests'.replace('{format}', 'json') - path_params = {} - if 'account_id' in params: - path_params['accountId'] = params['account_id'] - if 'connect_id' in params: - path_params['connectId'] = params['connect_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='ResourceInformation', - 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 list_users(self, account_id, connect_id, **kwargs): """ Returns users from the configured Connect service. diff --git a/docusign_esign/apis/signature_api.py b/docusign_esign/apis/signature_api.py new file mode 100644 index 00000000..55e3e1e5 --- /dev/null +++ b/docusign_esign/apis/signature_api.py @@ -0,0 +1,526 @@ +# coding: utf-8 + +""" + DocuSign REST API + + The DocuSign REST API provides you with a powerful, convenient, and simple Web services API for interacting with DocuSign. # noqa: E501 + + OpenAPI spec version: v2 + Contact: devcenter@docusign.com + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import sys +import os +import re + +# python 2 and python 3 compatibility library +from six import iteritems + +from ..client.configuration import Configuration +from ..client.api_client import ApiClient + + +class SignatureApi(object): + """ + NOTE: This class is auto generated by the swagger code generator program. + Do not edit the class manually. + Ref: https://github.com/swagger-api/swagger-codegen + """ + + def __init__(self, api_client=None): + config = Configuration() + if api_client: + self.api_client = api_client + else: + if not config.api_client: + config.api_client = ApiClient() + self.api_client = config.api_client + + def complete_sign_hash(self, **kwargs): + """ + Complete Sign Hash + 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.complete_sign_hash(callback=callback_function) + + :param callback function: The callback function + for asynchronous request. (optional) + :param CompleteSignRequest complete_sign_request: + :return: CompleteSignHashResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('callback'): + return self.complete_sign_hash_with_http_info(**kwargs) + else: + (data) = self.complete_sign_hash_with_http_info(**kwargs) + return data + + def complete_sign_hash_with_http_info(self, **kwargs): + """ + Complete Sign Hash + 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.complete_sign_hash_with_http_info(callback=callback_function) + + :param callback function: The callback function + for asynchronous request. (optional) + :param CompleteSignRequest complete_sign_request: + :return: CompleteSignHashResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['complete_sign_request'] + 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 complete_sign_hash" % key + ) + params[key] = val + del params['kwargs'] + + + collection_formats = {} + + resource_path = '/v2/signature/completesignhash'.replace('{format}', 'json') + path_params = {} + + query_params = {} + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + if 'complete_sign_request' in params: + body_params = params['complete_sign_request'] + # 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, 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='CompleteSignHashResponse', + 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_user_info(self, **kwargs): + """ + Get User Info To Sign Document + 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_user_info(callback=callback_function) + + :param callback function: The callback function + for asynchronous request. (optional) + :return: UserInfoResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('callback'): + return self.get_user_info_with_http_info(**kwargs) + else: + (data) = self.get_user_info_with_http_info(**kwargs) + return data + + def get_user_info_with_http_info(self, **kwargs): + """ + Get User Info To Sign Document + 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_user_info_with_http_info(callback=callback_function) + + :param callback function: The callback function + for asynchronous request. (optional) + :return: UserInfoResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = [] + 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_user_info" % key + ) + params[key] = val + del params['kwargs'] + + collection_formats = {} + + resource_path = '/v2/signature/userInfo'.replace('{format}', 'json') + path_params = {} + + 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='UserInfoResponse', + 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 health_check(self, **kwargs): + """ + Report status from the TSP to DocuSign + 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.health_check(callback=callback_function) + + :param callback function: The callback function + for asynchronous request. (optional) + :param TspHealthCheckRequest tsp_health_check_request: + :return: None + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('callback'): + return self.health_check_with_http_info(**kwargs) + else: + (data) = self.health_check_with_http_info(**kwargs) + return data + + def health_check_with_http_info(self, **kwargs): + """ + Report status from the TSP to DocuSign + 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.health_check_with_http_info(callback=callback_function) + + :param callback function: The callback function + for asynchronous request. (optional) + :param TspHealthCheckRequest tsp_health_check_request: + :return: None + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['tsp_health_check_request'] + 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 health_check" % key + ) + params[key] = val + del params['kwargs'] + + + collection_formats = {} + + resource_path = '/v2/signature/healthcheck'.replace('{format}', 'json') + path_params = {} + + query_params = {} + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + if 'tsp_health_check_request' in params: + body_params = params['tsp_health_check_request'] + # 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, 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + 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 sign_hash_session_info(self, **kwargs): + """ + Get Signature Session Info To Sign Document Hash + 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.sign_hash_session_info(callback=callback_function) + + :param callback function: The callback function + for asynchronous request. (optional) + :param SignSessionInfoRequest sign_session_info_request: + :return: SignHashSessionInfoResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('callback'): + return self.sign_hash_session_info_with_http_info(**kwargs) + else: + (data) = self.sign_hash_session_info_with_http_info(**kwargs) + return data + + def sign_hash_session_info_with_http_info(self, **kwargs): + """ + Get Signature Session Info To Sign Document Hash + 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.sign_hash_session_info_with_http_info(callback=callback_function) + + :param callback function: The callback function + for asynchronous request. (optional) + :param SignSessionInfoRequest sign_session_info_request: + :return: SignHashSessionInfoResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['sign_session_info_request'] + 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 sign_hash_session_info" % key + ) + params[key] = val + del params['kwargs'] + + + collection_formats = {} + + resource_path = '/v2/signature/signhashsessioninfo'.replace('{format}', 'json') + path_params = {} + + query_params = {} + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + if 'sign_session_info_request' in params: + body_params = params['sign_session_info_request'] + # 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, 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SignHashSessionInfoResponse', + 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 update_transaction(self, **kwargs): + """ + Report an error from the tsp to docusign + 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.update_transaction(callback=callback_function) + + :param callback function: The callback function + for asynchronous request. (optional) + :param UpdateTransactionRequest update_transaction_request: + :return: UpdateTransactionResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('callback'): + return self.update_transaction_with_http_info(**kwargs) + else: + (data) = self.update_transaction_with_http_info(**kwargs) + return data + + def update_transaction_with_http_info(self, **kwargs): + """ + Report an error from the tsp to docusign + 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.update_transaction_with_http_info(callback=callback_function) + + :param callback function: The callback function + for asynchronous request. (optional) + :param UpdateTransactionRequest update_transaction_request: + :return: UpdateTransactionResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['update_transaction_request'] + 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 update_transaction" % key + ) + params[key] = val + del params['kwargs'] + + + collection_formats = {} + + resource_path = '/v2/signature/updatetransaction'.replace('{format}', 'json') + path_params = {} + + query_params = {} + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + if 'update_transaction_request' in params: + body_params = params['update_transaction_request'] + # 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, 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='UpdateTransactionResponse', + 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) diff --git a/docusign_esign/client/configuration.py b/docusign_esign/client/configuration.py index e306a157..39084758 100644 --- a/docusign_esign/client/configuration.py +++ b/docusign_esign/client/configuration.py @@ -18,7 +18,7 @@ import sys import logging -from six import iteritems +from six import iteritems, PY3 from six.moves import http_client as httplib @@ -89,7 +89,10 @@ def __init__(self): # client key file self.key_file = None - self.user_agent = 'Swagger-Codegen/1.0.0/python' + if PY3: + self.user_agent = 'Swagger-Codegen/v2/2.9.0rc1/python3' + else: + self.user_agent = 'Swagger-Codegen/v2/2.9.0rc1/python2' @property def logger_file(self): diff --git a/docusign_esign/models/account_billing_plan.py b/docusign_esign/models/account_billing_plan.py index 0eb69acf..914429e1 100644 --- a/docusign_esign/models/account_billing_plan.py +++ b/docusign_esign/models/account_billing_plan.py @@ -32,6 +32,8 @@ class AccountBillingPlan(object): """ swagger_types = { 'add_ons': 'list[AddOn]', + 'app_store_receipt_expiration_date': 'str', + 'app_store_receipt_purchase_date': 'str', 'can_cancel_renewal': 'str', 'can_upgrade': 'str', 'currency_code': 'str', @@ -56,6 +58,8 @@ class AccountBillingPlan(object): attribute_map = { 'add_ons': 'addOns', + 'app_store_receipt_expiration_date': 'appStoreReceiptExpirationDate', + 'app_store_receipt_purchase_date': 'appStoreReceiptPurchaseDate', 'can_cancel_renewal': 'canCancelRenewal', 'can_upgrade': 'canUpgrade', 'currency_code': 'currencyCode', @@ -78,10 +82,12 @@ class AccountBillingPlan(object): 'support_plan_fee': 'supportPlanFee' } - def __init__(self, add_ons=None, can_cancel_renewal=None, can_upgrade=None, currency_code=None, enable_support=None, included_seats=None, incremental_seats=None, is_downgrade=None, notification_type=None, other_discount_percent=None, payment_cycle=None, payment_method=None, per_seat_price=None, plan_classification=None, plan_feature_sets=None, plan_id=None, plan_name=None, renewal_status=None, seat_discounts=None, support_incident_fee=None, support_plan_fee=None): # noqa: E501 + def __init__(self, add_ons=None, app_store_receipt_expiration_date=None, app_store_receipt_purchase_date=None, can_cancel_renewal=None, can_upgrade=None, currency_code=None, enable_support=None, included_seats=None, incremental_seats=None, is_downgrade=None, notification_type=None, other_discount_percent=None, payment_cycle=None, payment_method=None, per_seat_price=None, plan_classification=None, plan_feature_sets=None, plan_id=None, plan_name=None, renewal_status=None, seat_discounts=None, support_incident_fee=None, support_plan_fee=None): # noqa: E501 """AccountBillingPlan - a model defined in Swagger""" # noqa: E501 self._add_ons = None + self._app_store_receipt_expiration_date = None + self._app_store_receipt_purchase_date = None self._can_cancel_renewal = None self._can_upgrade = None self._currency_code = None @@ -106,6 +112,10 @@ def __init__(self, add_ons=None, can_cancel_renewal=None, can_upgrade=None, curr if add_ons is not None: self.add_ons = add_ons + if app_store_receipt_expiration_date is not None: + self.app_store_receipt_expiration_date = app_store_receipt_expiration_date + if app_store_receipt_purchase_date is not None: + self.app_store_receipt_purchase_date = app_store_receipt_purchase_date if can_cancel_renewal is not None: self.can_cancel_renewal = can_cancel_renewal if can_upgrade is not None: @@ -170,6 +180,52 @@ def add_ons(self, add_ons): self._add_ons = add_ons + @property + def app_store_receipt_expiration_date(self): + """Gets the app_store_receipt_expiration_date of this AccountBillingPlan. # noqa: E501 + + # noqa: E501 + + :return: The app_store_receipt_expiration_date of this AccountBillingPlan. # noqa: E501 + :rtype: str + """ + return self._app_store_receipt_expiration_date + + @app_store_receipt_expiration_date.setter + def app_store_receipt_expiration_date(self, app_store_receipt_expiration_date): + """Sets the app_store_receipt_expiration_date of this AccountBillingPlan. + + # noqa: E501 + + :param app_store_receipt_expiration_date: The app_store_receipt_expiration_date of this AccountBillingPlan. # noqa: E501 + :type: str + """ + + self._app_store_receipt_expiration_date = app_store_receipt_expiration_date + + @property + def app_store_receipt_purchase_date(self): + """Gets the app_store_receipt_purchase_date of this AccountBillingPlan. # noqa: E501 + + # noqa: E501 + + :return: The app_store_receipt_purchase_date of this AccountBillingPlan. # noqa: E501 + :rtype: str + """ + return self._app_store_receipt_purchase_date + + @app_store_receipt_purchase_date.setter + def app_store_receipt_purchase_date(self, app_store_receipt_purchase_date): + """Sets the app_store_receipt_purchase_date of this AccountBillingPlan. + + # noqa: E501 + + :param app_store_receipt_purchase_date: The app_store_receipt_purchase_date of this AccountBillingPlan. # noqa: E501 + :type: str + """ + + self._app_store_receipt_purchase_date = app_store_receipt_purchase_date + @property def can_cancel_renewal(self): """Gets the can_cancel_renewal of this AccountBillingPlan. # noqa: E501 diff --git a/docusign_esign/models/billing_charge.py b/docusign_esign/models/billing_charge.py index 52ffb815..c936e40c 100644 --- a/docusign_esign/models/billing_charge.py +++ b/docusign_esign/models/billing_charge.py @@ -157,7 +157,7 @@ def blocked(self, blocked): def charge_name(self): """Gets the charge_name of this BillingCharge. # noqa: E501 - Provides information on what services the charge item is for. The following table provides a description of the different chargeName values available at this time. | chargeName | Description | | --- | --- | | id_check | ID Check Charge | | in_person_signing | In Person Signing charge | | envelopes Included | Sent Envelopes for the account | | age_verify | Age verification check | | ofac | OFAC Check | | id_confirm | ID confirmation check | | student_authentication | STAN PIN authentication check | | wet_sign_fax | Pages for returning signed documents by fax | | attachment_fax | Pages for returning attachments by fax | | phone_authentication | Phone authentication charge | | powerforms | PowerForm envelopes sent | | signer_payments | Payment processing charge | | outbound_fax | Send by fax charge | | bulk_recipient_envelopes | Bulk Recipient Envelopes sent | | sms_authentications | SMS authentication charge | | saml_authentications | SAML authentication charge | | express_signer_certificate | DocuSign Express Certificate charge | | personal_signer_certificate | Personal Signer Certificate charge | | safe_certificate | SAFE BioPharma Signer Certificate charge | | seats | Included active seats charge | | open_trust_certificate | OpenTrust Signer Certificate charge | # noqa: E501 + Provides information on what services the charge item is for. The following table provides a description of the different chargeName values available at this time. | chargeName | Description | | --- | --- | | id_check | ID Check Charge | | in_person_signing | In Person Signing charge | | envelopes Included | Sent Envelopes for the account | | age_verify | Age verification check | | ofac | OFAC Check | | id_confirm | ID confirmation check | | student_authentication | STAN PIN authentication check | | wet_sign_fax | Pages for returning signed documents by fax | | attachment_fax | Pages for returning attachments by fax | | phone_authentication | Phone authentication charge | | powerforms | PowerForm envelopes sent | | signer_payments | Payment processing charge | | outbound_fax | Send by fax charge | | bulk_recipient_envelopes | Bulk Recipient Envelopes sent | | sms_authentications | SMS authentication charge | | saml_authentications | SAML authentication charge | | express_signer_certificate | DocuSign Express Certificate charge | | personal_signer_certificate | Personal Signer Certificate charge | | safe_certificate | SAFE BioPharma Signer Certificate charge | | seats | Included active seats charge | | open_trust_certificate | OpenTrust Signer Certificate charge | # noqa: E501 :return: The charge_name of this BillingCharge. # noqa: E501 :rtype: str @@ -168,7 +168,7 @@ def charge_name(self): def charge_name(self, charge_name): """Sets the charge_name of this BillingCharge. - Provides information on what services the charge item is for. The following table provides a description of the different chargeName values available at this time. | chargeName | Description | | --- | --- | | id_check | ID Check Charge | | in_person_signing | In Person Signing charge | | envelopes Included | Sent Envelopes for the account | | age_verify | Age verification check | | ofac | OFAC Check | | id_confirm | ID confirmation check | | student_authentication | STAN PIN authentication check | | wet_sign_fax | Pages for returning signed documents by fax | | attachment_fax | Pages for returning attachments by fax | | phone_authentication | Phone authentication charge | | powerforms | PowerForm envelopes sent | | signer_payments | Payment processing charge | | outbound_fax | Send by fax charge | | bulk_recipient_envelopes | Bulk Recipient Envelopes sent | | sms_authentications | SMS authentication charge | | saml_authentications | SAML authentication charge | | express_signer_certificate | DocuSign Express Certificate charge | | personal_signer_certificate | Personal Signer Certificate charge | | safe_certificate | SAFE BioPharma Signer Certificate charge | | seats | Included active seats charge | | open_trust_certificate | OpenTrust Signer Certificate charge | # noqa: E501 + Provides information on what services the charge item is for. The following table provides a description of the different chargeName values available at this time. | chargeName | Description | | --- | --- | | id_check | ID Check Charge | | in_person_signing | In Person Signing charge | | envelopes Included | Sent Envelopes for the account | | age_verify | Age verification check | | ofac | OFAC Check | | id_confirm | ID confirmation check | | student_authentication | STAN PIN authentication check | | wet_sign_fax | Pages for returning signed documents by fax | | attachment_fax | Pages for returning attachments by fax | | phone_authentication | Phone authentication charge | | powerforms | PowerForm envelopes sent | | signer_payments | Payment processing charge | | outbound_fax | Send by fax charge | | bulk_recipient_envelopes | Bulk Recipient Envelopes sent | | sms_authentications | SMS authentication charge | | saml_authentications | SAML authentication charge | | express_signer_certificate | DocuSign Express Certificate charge | | personal_signer_certificate | Personal Signer Certificate charge | | safe_certificate | SAFE BioPharma Signer Certificate charge | | seats | Included active seats charge | | open_trust_certificate | OpenTrust Signer Certificate charge | # noqa: E501 :param charge_name: The charge_name of this BillingCharge. # noqa: E501 :type: str diff --git a/setup.py b/setup.py index c16243cf..f0b1caab 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ from setuptools import setup, find_packages, Command, os # noqa: H301 NAME = "docusign-esign" -VERSION = "2.8.1rc3" +VERSION = "2.9.0rc1" # To install the library, run the following # # python setup.py install diff --git a/test/unit_tests.py b/test/unit_tests.py index 4471f5df..b77788a3 100644 --- a/test/unit_tests.py +++ b/test/unit_tests.py @@ -81,8 +81,6 @@ def testLogin(self): assert len(login_info.login_accounts) > 0 login_accounts = login_info.login_accounts assert login_accounts[0].account_id is not None - print("LoginInformation: ", end="") - pprint(login_info) # parse first account's baseUrl base_url, _ = login_accounts[0].base_url.split('/v2') @@ -156,9 +154,6 @@ def testRequestASignature(self): assert envelope_summary.envelope_id is not None assert envelope_summary.status == 'sent' - print("EnvelopeSummary: ", end="") - pprint(envelope_summary) - except ApiException as e: print("\nException when calling DocuSign API: %s" % e) assert e is None # make the test case fail in case of an API exception @@ -204,9 +199,6 @@ def testRequestSignatureFromTemplate(self): assert envelope_summary.envelope_id is not None assert envelope_summary.status == 'sent' - print("EnvelopeSummary: ", end="") - pprint(envelope_summary) - except ApiException as e: print("\nException when calling DocuSign API: %s" % e) assert e is None # make the test case fail in case of an API exception @@ -291,13 +283,10 @@ def testEmbeddedSigning(self): view_url = envelopes_api.create_recipient_view(self.user_info.accounts[0].account_id, envelope_id, recipient_view_request=recipient_view_request) + # This Url should work in an Iframe or browser to allow signing assert view_url is not None assert view_url.url is not None - # This Url should work in an Iframe or browser to allow signing - print("ViewUrl is ", end="") - pprint(view_url) - except ApiException as e: print("\nException when calling DocuSign API: %s" % e) assert e is None # make the test case fail in case of an API exception @@ -366,9 +355,6 @@ def testCreateTemplate(self): assert template_summary is not None assert template_summary.template_id is not None - print("TemplateSummary: ", end="") - pprint(template_summary) - except ApiException as e: print("\nException when calling DocuSign API: %s" % e) assert e is None # make the test case fail in case of an API exception @@ -463,9 +449,6 @@ def testListDocuments(self): assert docs_list is not None assert (docs_list.envelope_id == self.envelope_id) - print("EnvelopeDocumentsResult: ", end="") - pprint(docs_list) - except ApiException as e: print("\nException when calling DocuSign API: %s" % e) assert e is None # make the test case fail in case of an API exception @@ -541,8 +524,6 @@ def testResendEnvelope(self): assert recipients_update_summary is not None assert len(recipients_update_summary.recipient_update_results) > 0 assert ("SUCCESS" == recipients_update_summary.recipient_update_results[0].error_details.error_code) - print("RecipientsUpdateSummary: ", end="") - pprint(recipients_update_summary) except ApiException as e: print("\nException when calling DocuSign API: %s" % e)