def testCreateTemplate(self): with open(SignTest1File, 'rb') as sign_file: file_contents = sign_file.read() # create an envelope to be signed envelope_template = docusign.EnvelopeTemplate() envelope_template.email_subject = 'Please Sign my Python SDK Envelope (Embedded Signer)' envelope_template.email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the template doc = docusign.Document() base64_doc = base64.b64encode(file_contents).decode("utf-8") doc.document_base64 = base64_doc doc.name = 'TestFile.pdf' doc.document_id = '1' envelope_template.documents = [doc] # Add a recipient to sign the document signer = docusign.Signer() signer.email = Username signer.name = 'Pat Developer' signer.recipient_id = '1' # Create a SignHere tab somewhere on the document for the signer to sign sign_here = docusign.SignHere() sign_here.document_id = '1' sign_here.page_number = '1' sign_here.recipient_id = '1' sign_here.x_position = '100' sign_here.y_position = '100' sign_here.scale_value = '0.5' tabs = docusign.Tabs() tabs.sign_here_tabs = [sign_here] signer.tabs = tabs recipients = docusign.Recipients() recipients.signers = [signer] envelope_template.recipients = recipients env_template_definition = docusign.EnvelopeTemplateDefinition() env_template_definition.name = 'myTemplate' envelope_template.envelope_template_definition = env_template_definition templates_api = TemplatesApi() try: template_summary = templates_api.create_template( self.user_info.accounts[0].account_id, envelope_template=envelope_template) 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
def testMoveEnvelopes(self): with open(SignTest1File, 'rb') as sign_file: file_contents = sign_file.read() # create an envelope to be signed envelope_definition = docusign.EnvelopeDefinition() envelope_definition.email_subject = 'Please Sign my Python SDK Envelope' envelope_definition.email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the envelope doc = docusign.Document() base64_doc = base64.b64encode(file_contents).decode("utf-8") doc.document_base64 = base64_doc doc.name = 'TestFile.pdf' doc.document_id = '1' envelope_definition.documents = [doc] # Add a recipient to sign the document signer = docusign.Signer() signer.email = Username signer.name = 'Pat Developer' signer.recipient_id = '1' # Create a SignHere tab somewhere on the document for the signer to sign sign_here = docusign.SignHere() sign_here.document_id = '1' sign_here.page_number = '1' sign_here.recipient_id = '1' sign_here.x_position = '100' sign_here.y_position = '100' sign_here.scale_value = '0.5' tabs = docusign.Tabs() tabs.sign_here_tabs = [sign_here] signer.tabs = tabs recipients = docusign.Recipients() recipients.signers = [signer] envelope_definition.recipients = recipients envelope_definition.status = 'sent' envelopes_api = EnvelopesApi() try: envelope_summary = envelopes_api.create_envelope( self.user_info.accounts[0].account_id, envelope_definition=envelope_definition) assert envelope_summary is not None assert envelope_summary.envelope_id is not None assert envelope_summary.status == 'sent' folders_api = FoldersApi() folders_request = docusign.FoldersRequest( envelope_ids=[envelope_summary.envelope_id], from_folder_id="sentitems") to_folder_id = "draft" folders_api.move_envelopes(self.user_info.accounts[0].account_id, to_folder_id, folders_request=folders_request) # Wait for 1 second to make sure the newly created envelope was moved to the 'sentitems' folder # Note: It's discouraged to use sleep statement or to poll DocuSign for envelope status or folder id # In production, use DocuSign Connect to get notified when the status of the envelope have changed. sleep(1) # Test if we moved the envelope to the correct folder list_from_drafts_folder = folders_api.list_items( self.user_info.accounts[0].account_id, to_folder_id) assert list_from_drafts_folder is not None for item in list_from_drafts_folder.folder_items: if item.envelope_id == envelope_summary.envelope_id: return assert False 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
def testGetDiagnosticLogs(self): with open(SignTest1File, 'rb') as sign_file: file_contents = sign_file.read() # create an envelope to be signed envelope_definition = docusign.EnvelopeDefinition() envelope_definition.email_subject = 'Please Sign my Python SDK Envelope' envelope_definition.email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the envelope doc = docusign.Document() base64_doc = base64.b64encode(file_contents).decode("utf-8") doc.document_base64 = base64_doc doc.name = 'TestFile.pdf' doc.document_id = '1' envelope_definition.documents = [doc] # Add a recipient to sign the document signer = docusign.Signer() signer.email = Username signer.name = 'Pat Developer' signer.recipient_id = '1' # this value represents the client's unique identifier for the signer client_user_id = '2939' signer.client_user_id = client_user_id # Create a SignHere tab somewhere on the document for the signer to sign sign_here = docusign.SignHere() sign_here.document_id = '1' sign_here.page_number = '1' sign_here.recipient_id = '1' sign_here.x_position = '100' sign_here.y_position = '100' sign_here.scale_value = '0.5' tabs = docusign.Tabs() tabs.sign_here_tabs = [sign_here] signer.tabs = tabs recipients = docusign.Recipients() recipients.signers = [signer] envelope_definition.recipients = recipients # send the envelope (otherwise it will be "created" in the Draft folder) envelope_definition.status = 'sent' envelopes_api = EnvelopesApi() diag_api = DiagnosticsApi() try: docusign.configuration.api_client = self.api_client diagnostics_settings_information = docusign.DiagnosticsSettingsInformation( ) diagnostics_settings_information.api_request_logging = 'true' diag_api.update_request_log_settings( diagnostics_settings_information= diagnostics_settings_information) envelope_summary = envelopes_api.create_envelope( self.user_info.accounts[0].account_id, envelope_definition=envelope_definition) envelope_id = envelope_summary.envelope_id file1 = envelopes_api.get_document( self.user_info.accounts[0].account_id, 'combined', envelope_id) assert len(file1) > 0 subprocess.call('open ' + file1, shell=True) logs_list = diag_api.list_request_logs() request_log_id = logs_list.api_request_logs[0].request_log_id file2 = diag_api.get_request_log(request_log_id) assert len(file2) > 0 subprocess.call('open ' + file2, shell=True) 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
def testResendEnvelope(self): with open(SignTest1File, 'rb') as sign_file: file_contents = sign_file.read() # create an envelope to be signed envelope_definition = docusign.EnvelopeDefinition() envelope_definition.email_subject = 'Please Sign my Python SDK Envelope' envelope_definition.email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the envelope doc = docusign.Document() base64_doc = base64.b64encode(file_contents).decode("utf-8") doc.document_base64 = base64_doc doc.name = 'TestFile.pdf' doc.document_id = '1' envelope_definition.documents = [doc] # Add a recipient to sign the document signer = docusign.Signer() signer.email = Username signer.name = 'Pat Developer' signer.recipient_id = '1' # this value represents the client's unique identifier for the signer client_user_id = '2939' signer.client_user_id = client_user_id # Create a SignHere tab somewhere on the document for the signer to sign sign_here = docusign.SignHere() sign_here.document_id = '1' sign_here.page_number = '1' sign_here.recipient_id = '1' sign_here.x_position = '100' sign_here.y_position = '100' sign_here.scale_value = '0.5' tabs = docusign.Tabs() tabs.sign_here_tabs = [sign_here] signer.tabs = tabs recipients = docusign.Recipients() recipients.signers = [signer] envelope_definition.recipients = recipients # send the envelope (otherwise it will be "created" in the Draft folder) envelope_definition.status = 'sent' envelopes_api = EnvelopesApi() try: docusign.configuration.api_client = self.api_client recipients_update_summary = envelopes_api.update_recipients( self.user_info.accounts[0].account_id, self.envelope_id, recipients=recipients, resend_envelope='true') 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) assert e is None # make the test case fail in case of an API exception
def testRequestASignature(self): file_contents = open(sign_test1_file, 'rb').read() # create an envelope to be signed envelope_definition = docusign.EnvelopeDefinition() envelope_definition.email_subject = 'Please Sign my Python SDK Envelope' envelope_definition.email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the envelope doc = docusign.Document() base64_doc = base64.b64encode(file_contents).decode("utf-8") doc.document_base64 = base64_doc doc.name = 'TestFile.pdf' doc.document_id = '1' envelope_definition.documents = [doc] # Add a recipient to sign the document signer = docusign.Signer() signer.email = username signer.name = 'Pat Developer' signer.recipient_id = '1' # Create a SignHere tab somewhere on the document for the signer to sign sign_here = docusign.SignHere() sign_here.document_id = '1' sign_here.page_number = '1' sign_here.recipient_id = '1' sign_here.x_position = '100' sign_here.y_position = '100' sign_here.scale_value = '0.5' tabs = docusign.Tabs() tabs.sign_here_tabs = [sign_here] signer.tabs = tabs recipients = docusign.Recipients() recipients.signers = [signer] envelope_definition.recipients = recipients envelope_definition.status = 'sent' auth_api = AuthenticationApi() envelopes_api = EnvelopesApi() try: login_info = auth_api.login(api_password='******', include_account_id_guid='true') assert login_info is not None assert len(login_info.login_accounts) > 0 login_accounts = login_info.login_accounts assert login_accounts[0].account_id is not None base_url, _ = login_accounts[0].base_url.split('/v2') self.api_client.host = base_url docusign.configuration.api_client = self.api_client envelope_summary = envelopes_api.create_envelope( login_accounts[0].account_id, envelope_definition=envelope_definition) assert envelope_summary is not None 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
def testEmbeddedSigning(self): with open(SignTest1File, 'rb') as sign_file: file_contents = sign_file.read() # create an envelope to be signed envelope_definition = docusign.EnvelopeDefinition() envelope_definition.email_subject = 'Please Sign my Python SDK Envelope' envelope_definition.email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the envelope doc = docusign.Document() base64_doc = base64.b64encode(file_contents).decode("utf-8") doc.document_base64 = base64_doc doc.name = 'TestFile.pdf' doc.document_id = '1' envelope_definition.documents = [doc] # Add a recipient to sign the document signer = docusign.Signer() signer.email = Username signer.name = 'Pat Developer' signer.recipient_id = '1' # this value represents the client's unique identifier for the signer client_user_id = '2939' signer.client_user_id = client_user_id # Create a SignHere tab somewhere on the document for the signer to sign sign_here = docusign.SignHere() sign_here.document_id = '1' sign_here.page_number = '1' sign_here.recipient_id = '1' sign_here.x_position = '100' sign_here.y_position = '100' sign_here.scale_value = '0.5' tabs = docusign.Tabs() tabs.sign_here_tabs = [sign_here] signer.tabs = tabs recipients = docusign.Recipients() recipients.signers = [signer] envelope_definition.recipients = recipients envelope_definition.status = 'sent' envelopes_api = EnvelopesApi() try: return_url = 'http://www.docusign.com/developer-center' recipient_view_request = docusign.RecipientViewRequest() recipient_view_request.return_url = return_url recipient_view_request.client_user_id = client_user_id recipient_view_request.authentication_method = 'email' recipient_view_request.user_name = 'Pat Developer' recipient_view_request.email = Username envelope_summary = envelopes_api.create_envelope( self.user_info.accounts[0].account_id, envelope_definition=envelope_definition) envelope_id = envelope_summary.envelope_id view_url = envelopes_api.create_recipient_view( self.user_info.accounts[0].account_id, envelope_id, recipient_view_request=recipient_view_request) 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
def testResendEnvelope(self): with open(SignTest1File, 'rb') as sign_file: file_contents = sign_file.read() # Set properties and create an envelope to be signed later on email_subject = 'Please Sign my Python SDK Envelope' email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the envelope base64_doc = base64.b64encode(file_contents).decode("utf-8") name = 'TestFile.pdf' document_id = '1' doc = docusign.Document(document_base64=base64_doc, name=name, document_id=document_id) documents = [doc] # this value represents the client's unique identifier for the signer client_user_id = '2939' # Create a SignHere tab somewhere on the document for the signer to sign document_id = '1' page_number = '1' recipient_id = '1' x_position = '100' y_position = '100' scale_value = '0.5' sign_here = docusign.SignHere(document_id=document_id, page_number=page_number, recipient_id=recipient_id, x_position=x_position, y_position=y_position, scale_value=scale_value) sign_here_tabs = [sign_here] tabs = docusign.Tabs(sign_here_tabs=sign_here_tabs) # Add a recipient to sign the document email = Username name = 'Pat Developer' signer_recipient_id = '1' # Create the signer with the information created previous signer = docusign.Signer(tabs=tabs, email=email, name=name, recipient_id=signer_recipient_id, client_user_id=client_user_id) signers = [signer] recipients = docusign.Recipients(signers=signers) # send the envelope (otherwise it will be "created" in the Draft folder) status = 'sent' # create an envelope to be signed envelope_definition = docusign.EnvelopeDefinition( email_subject=email_subject, email_blurb=email_blurb, documents=documents, recipients=recipients, status=status) envelopes_api = EnvelopesApi() try: docusign.configuration.api_client = self.api_client recipients_update_summary = envelopes_api.update_recipients( self.user_info.accounts[0].account_id, self.envelope_id, recipients=recipients, resend_envelope='true') assert recipients_update_summary is not None assert len(recipients_update_summary.recipient_update_results) > 0 assert (None == recipients_update_summary. recipient_update_results[0].error_details) print("RecipientsUpdateSummary: ", end="") pprint(recipients_update_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
def testMoveEnvelopes(self): with open(SignTest1File, 'rb') as sign_file: file_contents = sign_file.read() # Set properties for envelope and create an envelope to be signed later on email_subject = 'Please Sign my Python SDK Envelope' email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the envelope base64_doc = base64.b64encode(file_contents).decode("utf-8") name = 'TestFile.pdf' document_id = '1' doc = docusign.Document(document_base64=base64_doc, name=name, document_id=document_id) documents = [doc] # Add a recipient to sign the document email = Username name = 'Pat Developer' recipient_id = '1' signer = docusign.Signer(email=email, name=name, recipient_id=recipient_id) # Create a SignHere tab somewhere on the document for the signer to sign document_id = '1' page_number = '1' recipient_id = '1' x_position = '100' y_position = '100' scale_value = '0.5' sign_here = docusign.SignHere(document_id=document_id, page_number=page_number, recipient_id=recipient_id, x_position=x_position, y_position=y_position, scale_value=scale_value) sign_here_tabs = [sign_here] tabs = docusign.Tabs(sign_here_tabs=sign_here_tabs) signer.tabs = tabs signers = [signer] recipients = docusign.Recipients(signers=signers) status = 'sent' # Now setting all the properties in previous steps create the envelope now envelope_definition = docusign.EnvelopeDefinition( email_subject=email_subject, email_blurb=email_blurb, documents=documents, recipients=recipients, status=status) envelopes_api = EnvelopesApi() try: envelope_summary = envelopes_api.create_envelope( self.user_info.accounts[0].account_id, envelope_definition=envelope_definition) assert envelope_summary is not None assert envelope_summary.envelope_id is not None assert envelope_summary.status == 'sent' folders_api = FoldersApi() folders_request = docusign.FoldersRequest( envelope_ids=[envelope_summary.envelope_id], from_folder_id="sentitems") to_folder_id = "draft" folders_api.move_envelopes(self.user_info.accounts[0].account_id, to_folder_id, folders_request=folders_request) # Wait for 3 second to make sure the newly created envelope was moved to the 'sentitems' folder # Note: It's discouraged to use sleep statement or to poll DocuSign for envelope status or folder id # In production, use DocuSign Connect to get notified when the status of the envelope have changed. # 3 Seconds because sometimes when not in public or slow networks, the call takes more time and fails for 1 second. sleep(3) # Test if we moved the envelope to the correct folder search_options = "true" list_from_drafts_folder = folders_api.list_items( self.user_info.accounts[0].account_id, to_folder_id, include_items=search_options) assert list_from_drafts_folder is not None for folder in list_from_drafts_folder.folders: for list_item in folder.folder_items: if list_item.envelope_id == envelope_summary.envelope_id: return assert False 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
def testCreateTemplate(self): with open(SignTest1File, 'rb') as sign_file: file_contents = sign_file.read() # Set properties email_subject = 'Please Sign my Python SDK Envelope (Embedded Signer)' email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the template base64_doc = base64.b64encode(file_contents).decode("utf-8") name = 'TestFile.pdf' document_id = '1' doc = docusign.Document(document_base64=base64_doc, name=name, document_id=document_id) documents = [doc] # Add a recipient to sign the document email = Username name = 'Pat Developer' recipient_id = '1' # Create a SignHere tab somewhere on the document for the signer to sign sign_document_id = '1' sign_page_number = '1' sign_recipient_id = '1' sign_x_position = '100' sign_y_position = '100' sign_scale_value = '0.5' sign_here = docusign.SignHere(document_id=sign_document_id, page_number=sign_page_number, recipient_id=sign_recipient_id, x_position=sign_x_position, y_position=sign_y_position, scale_value=sign_scale_value) sign_here_tabs = [sign_here] tabs = docusign.Tabs(sign_here_tabs=sign_here_tabs) signer = docusign.Signer(email=email, name=name, recipient_id=recipient_id, tabs=tabs) signers = [signer] recipients = docusign.Recipients(signers=signers) template_name = 'myTemplate' # Create the Envelope template envelope_template = docusign.EnvelopeTemplate( email_subject=email_subject, email_blurb=email_blurb, documents=documents, recipients=recipients, name=template_name) templates_api = TemplatesApi() try: template_summary = templates_api.create_template( self.user_info.accounts[0].account_id, envelope_template=envelope_template) 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
def testEmbeddedSigning(self): with open(SignTest1File, 'rb') as sign_file: file_contents = sign_file.read() # Set properties and create an envelope later on email_subject = 'Please Sign my Python SDK Envelope' email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the envelope base64_doc = base64.b64encode(file_contents).decode("utf-8") name = 'TestFile.pdf' document_id = '1' doc = docusign.Document(document_base64=base64_doc, name=name, document_id=document_id) documents = [doc] # Add a recipient to sign the document email = Username name = 'Pat Developer' recipient_id_for_doc = '1' # this value represents the client's unique identifier for the signer client_user_id = '2939' # Create a SignHere tab somewhere on the document for the signer to sign document_id = '1' page_number = '1' recipient_id = '1' x_position = '100' y_position = '100' scale_value = '0.5' # create sign here object with the properties sign_here = docusign.SignHere(document_id=document_id, page_number=page_number, recipient_id=recipient_id, x_position=x_position, y_position=y_position, scale_value=scale_value) sign_here_tabs = [sign_here] tabs = docusign.Tabs(sign_here_tabs=sign_here_tabs) signer = docusign.Signer(email=email, name=name, recipient_id=recipient_id_for_doc, client_user_id=client_user_id, tabs=tabs) signers = [signer] recipients = docusign.Recipients(signers=signers) status = 'sent' # create the envelope definition with the properties set envelope_definition = docusign.EnvelopeDefinition( email_subject=email_subject, email_blurb=email_blurb, documents=documents, recipients=recipients, status=status) envelopes_api = EnvelopesApi() try: return_url = 'http://www.docusign.com/developer-center' recipient_view_request = docusign.RecipientViewRequest() recipient_view_request.return_url = return_url recipient_view_request.client_user_id = client_user_id recipient_view_request.authentication_method = 'email' recipient_view_request.user_name = 'Pat Developer' recipient_view_request.email = Username envelope_summary = envelopes_api.create_envelope( self.user_info.accounts[0].account_id, envelope_definition=envelope_definition) envelope_id = envelope_summary.envelope_id view_url = envelopes_api.create_recipient_view( self.user_info.accounts[0].account_id, envelope_id, recipient_view_request=recipient_view_request) 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
def testRequestASignature(self): with open(SignTest1File, 'rb') as sign_file: file_contents = sign_file.read() # Set properties and create an envelope later on email_subject = 'Please Sign my Python SDK Envelope' email_blurb = 'Hello, Please sign my Python SDK Envelope.' # add a document to the envelope doc = docusign.Document() base64_doc = base64.b64encode(file_contents).decode("utf-8") doc.document_base64 = base64_doc doc.name = 'TestFile.pdf' doc.document_id = '1' documents = [doc] # Create a SignHere tab somewhere on the document for the signer to sign document_id = '1' page_number = '1' recipient_id = '1' x_position = '100' y_position = '100' scale_value = '0.5' sign_here = docusign.SignHere(document_id=document_id, page_number=page_number, recipient_id=recipient_id, x_position=x_position, y_position=y_position, scale_value=scale_value) sign_here_tabs = [sign_here] tabs = docusign.Tabs(sign_here_tabs=sign_here_tabs) # Add a recipient to sign the document email = Username name = 'Pat Developer' recipient_id = '1' signer = docusign.Signer(email=email, name=name, recipient_id=recipient_id, tabs=tabs) signers = [signer] recipients = docusign.Recipients(signers=signers) status = 'sent' # create the envelope definition with the properties set envelope_definition = docusign.EnvelopeDefinition( email_subject=email_subject, email_blurb=email_blurb, documents=documents, recipients=recipients, status=status) envelopes_api = EnvelopesApi() try: envelope_summary = envelopes_api.create_envelope( self.user_info.accounts[0].account_id, envelope_definition=envelope_definition) assert envelope_summary is not None 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
def to_docusign_tabs(self, contact_info: str) -> dse.Tabs: text_tabs: List[dse.Text] = [] sign_here_tabs: List[dse.SignHere] = [] sign_kwargs = dict( document_id=HPA_DOCUMENT_ID, recipient_id=TENANT_RECIPIENT_ID, tab_label="SignHereTab", ) sign_here_tabs.extend( [ dse.SignHere(**sign_kwargs, **self.sign_here_petition_coords.to_docusign()), dse.SignHere(**sign_kwargs, **self.sign_here_verification_coords.to_docusign()), ] ) if self.hpd_inspection_page: sign_here_tabs.append( dse.SignHere( document_id=HPA_DOCUMENT_ID, page_number=str(self.hpd_inspection_page), recipient_id=TENANT_RECIPIENT_ID, tab_label="SignHereTab", x_position="446", y_position="625", ) ) text_tabs.extend( create_stacked_lines( lines=[ "These conditions are immediately hazardous to the", "health and safety of my household.", ], start_y=103, document_id=HPA_DOCUMENT_ID, page_number=str(self.hpd_inspection_page), tab_label="ReadOnlyDataField", locked="true", x_position="16", ) ) contact_info_lines = create_stacked_lines( lines=contact_info.splitlines(), start_y=self.contact_info_coords.y, document_id=HPA_DOCUMENT_ID, page_number=str(self.contact_info_coords.page), tab_label="ReadOnlyDataField", locked="true", x_position=str(self.contact_info_coords.x), ) sign_here_tabs.append( dse.SignHere( **sign_kwargs, **PageCoords(page=self.affadavit_page, x=356, y=240).to_docusign(), ) ) affadavit_date_coords = PageCoords(page=self.affadavit_page, x=64, y=256) return dse.Tabs( date_signed_tabs=[ dse.DateSigned( tab_label="todaysDate", document_id=HPA_DOCUMENT_ID, recipient_id=TENANT_RECIPIENT_ID, x_position=str(coord.x), y_position=str(coord.y), page_number=str(coord.page), ) for coord in [*self.date_signed_coords, affadavit_date_coords] ], text_tabs=[ *contact_info_lines, *text_tabs, ], sign_here_tabs=sign_here_tabs, )
# create an envelope to be signed envelope_definition = docusign.EnvelopeDefinition() envelope_definition.email_subject = 'Please Sign my Python SDK Envelope' envelope_definition.email_blurb = 'Hello, Please sign my Python SDK Envelope.' # assign template information including ID and role(s) envelope_definition.template_id = template_id # create a template role with a valid template_id and role_name and assign signer info t_role = docusign.TemplateRole() t_role.role_name = template_role_name t_role.name = 'Smitty Developer' t_role.email = "*****@*****.**" sign_here = docusign.SignHere() sign_here.document_id = '1' sign_here.page_number = '1' sign_here.recipient_id = '1' sign_here.x_position = '100' sign_here.y_position = '100' sign_here.scale_value = '0.5' text_tab = docusign.Text() text_tab.tab_label = "Basic" text_tab.value = "Fire Goodwill Message" number_tab = docusign.Number() number_tab.tab_label = "MonitorPay" number_tab.value = 5.99