Skip to main content

Hello all,

 

I have a template where I have defined four signers, in the following way:

 


I want to create envelopes out of this template using the Python SDK. Sometimes, I wanna add all four signers to an envelope, but sometimes I need to only add a subset of the signers (only signer1, signer1 and signer2, and so on). I have accomplished that in the following way:

 

        signer1 = TemplateRole(  # The signer

            email="<email>", name="Signer 1",

            role_name="signer_1_primary",

            tabs=tabs

        )

        

        signer2 = TemplateRole(  # The signer

            email="<email>", name="Signer 2",

            role_name="signer_2",

            tabs=tabs

        )

        

        signer3 = TemplateRole(  # The signer

            email="<email>", name="Signer 3",

            role_name="signer_3",

            tabs=tabs

        )

        

        signer4 = TemplateRole(  # The signer

            email="<email>", name="Signer 4",

            role_name="signer_4",

        )

        envelope_definition = EnvelopeDefinition(

            status="sent",  # requests that the envelope be created and sent.

            template_id=template_id,

            template_roles=u

                signer1, 

                signer2, 

                signer4

            ],

        )

        

        results = envelopes_api.create_envelope(

            account_id=account_id,                   envelope_definition=envelope_definition

        )

 

 

However, if I do this instead:

 

       signer1 = TemplateRole(  # The signer

            email="<email>", name="Signer 1",

            role_name="signer_1_primary",

            tabs=tabs

        )

        

        signer2 = TemplateRole(  # The signer

            email="<email>", name="Signer 2",

            role_name="signer_2",

            tabs=tabs

        )

        

        signer3 = TemplateRole(  # The signer

            email="<email>", name="Signer 3",

            role_name="signer_3",

            tabs=tabs

        )

        

        signer4 = TemplateRole(  # The signer

            email="<email>", name="Signer 4",

            role_name="signer_4",

        )

        envelope_definition = EnvelopeDefinition(

            status="created",  # requests that the envelope be created and not sent.

            template_id=template_id,

            template_roles=<

                signer1, 

                signer2, 

                # signer3, 

                signer4

            ],

        )

        

        results = envelopes_api.create_envelope(

            account_id=account_id, envelope_definition=envelope_definition

        )

        

        envelope_id = results.envelope_id

        

        send_envelope_req = Envelope(status="sent")

        envelope = envelopes_api.update(

            account_id,

            str(envelope_id), 

            envelope=send_envelope_req

        )

 

 

Then I get an error.

The difference is that in the second example, I created the envelope with status “created” and tried to edit it later to “sent”. When I try that, I get the following error:

 

b'{"errorCode":"INVALID_EMAIL_ADDRESS_FOR_RECIPIENT","message":"The email address for the recipient is invalid. The recipient Id follows."}'

 

It only lets me edit the envelope if I provide all the four signers.

Could anyone help me with this?

 

 

 

Hello, ​@aporto 

 

In you scenario you need to delete the signers without name and email addresses.

When using a template to generate an envelope, your template has four placeholders or recipients. Those not being filled out shoud be deleted before you be able to send such envelope, so in your code check first for empty name/email address values then delete it so you be able to proceed.

 

If you think this was useful, I’d appreciate your Like here.

 

Best,

Alexandre


Reply