Managing Senders
  • 18 Nov 2024
  • 34 Minutes à lire
  • Sombre
    Lumière
  • PDF

Managing Senders

  • Sombre
    Lumière
  • PDF

Résumé de l’article

Java SDK.NET SDKREST API

Java SDK

To download the full code sample see our Code Share site.

OneSpan Sign provides you with the ability to add users to your account, allowing them to create and send transactions  for digital signing .

As an account owner, you will have access to the transactions created by your users. However you can only  retrieve these transactions using  SDKs or APIs. If you want to access these transactions using the Web UI  you will need your users to delegate access to you.

OneSpan Sign allows you to grant others in your organization access to your  account. With Access Delegation, your assigned delegate (the person to whom you have granted access) can send and sign documents on your behalf. For more information, see Delegating Access.

Finding Your Users in the UI

First, locate your senders in the OneSpan Sign Web UI. To do this, log into your OneSpan Sign account and click Admin > Users. After running your code, all your users will appear here.

The Users page replaces the Senders page if Roles and Permissions have been enabled. To enable Roles and Permissions contact our Support Team.

For more information, see Administering Users.

Adding Users

To add a user to your account, you will need to build an AccountMember object. Then, you can all on your OneSpan Sign AccountService to send an invitation to the user. Once a new user has been invited to join an account, they are  automatically added to the account, but in an inactive state. The user will receive an email containing a link that they will need to click to activate their account.

You can skip this verification step by setting the status to ACTIVE when building your AccountMember object.

AccountMember member = AccountMemberBuilder.newAccountMember("john.smith@example.com ")
				.withFirstName("John")
				.withLastName("Smith")
				.withCompany("ABC Bank")
				.withTitle("CEO")
				.withStatus(SenderStatus.ACTIVE)
				.build();
		
client.getAccountService().inviteUser(member);

Resending an Account Invitation

When a user is invited to join an account, they are sent an email which they must use to activate their account. The following code snippet illustrates how to re-send that email.

eslClient.getAccountService()
         .sendInvite(retrievedSender.getId());

Retrieving Users

The first step to delegating access is to retrieve a list of users from your OneSpan Sign account, which is described in the following code example.  Included in this list are your user's email addresses, and their IDs. User IDs are required to add and remove delegates.

The maximum number of users that you can retrieve, as defined by this API, is 100.

Here is some sample code that describes how to do this. In this example, the number of users returned in the list is 5, as defined by PageRequest.

int i = 1;
				Map<String, Sender> accountMembers = client.getAccountService().getSenders(Direction.ASCENDING, new PageRequest(i,5));
		
				while(!accountMembers.isEmpty()) {
				for (Map.Entry entry : accountMembers.entrySet()) {
				String email = (String) entry.getKey();
				Sender sender = (Sender) entry.getValue();
				System.out.println(email + ", " + sender.getId());
				i++;
				}
				accountMembers =  client.getAccountService().getSenders(Direction.ASCENDING, new PageRequest(i,5));
			}

Updating a User

To update a user you will need their user ID. Note that an email address cannot be updated once you’ve created your user. To change an email address you will need to create a new user.

SenderInfo updatedSenderInfo = SenderInfoBuilder.newSenderInfo("john.smith@example.com")
                .withName( "John", "Smith" )
                .withTitle( "CEO" )
                .withCompany("XYZ Bank")
                .build();
 
client.getAccountService().updateSender(updatedSenderInfo, "{senderId}");

Deleting a User

To delete a user you will need their user ID. Here is some sample code that describes how to do this.

If your user has transactions already in their Inbox, or transactions in a Draft status, the user will be locked instead of deleted. They will not be able to create or send any other transactions.

client.getAccountService()
      .deleteSender("{senderId}");

Retrieving a Specific User

The following sample code helps you retrieve a specific user from an account.

Sender retrievedSender = eslClient.getAccountService()
                                  .getSender("senderId");

Sending a Transaction Using a Specific Sender

The sample code below shows you how to build a transaction to be sent by a specific user:

DocumentPackage packageToSend = PackageBuilder.newPackageNamed("Cleaning Contract Example")
			.withSenderInfo(SenderInfoBuilder.newSenderInfo("john.smith@example.com"))
			.withSigner(SignerBuilder.newSignerWithEmail("mary.doe@example.com")
					.withFirstName("Mary")
					.withLastName("Doe")
					.withCustomId("client"))
			.withSigner(SignerBuilder.newSignerWithEmail("john.smith@example.com")
					.withFirstName("John")
					.withLastName("Smith")
					.withCustomId("contractor"))
			.withDocument(DocumentBuilder.newDocumentWithName("Contract.pdf")
					.fromStream(new FileInputStream("DOC_FILE_PATH"), DocumentType.PDF)
					.enableExtraction())
				.build();

Results

After executing your code, you will find your newly created users in your OneSpan Sign account.

.NET SDK

To download the full code sample see our Code Share site.

OneSpan Sign provides you with the ability to add users to your account, allowing them to create and send transactions  for digital signing .

As an account owner, you will have access to the transactions created by your users. However you can only  retrieve these transactions using  SDKs or APIs. If you want to access these transactions using the Web UI  you will need your users to delegate access to you.

For more information, see Delegating Access.

Finding Your Users in the UI

First, locate your senders in the OneSpan Sign Web UI. To do this, log into your OneSpan Sign account and click Admin > Users. After running your code, all your users will appear here.

The Users page replaces the Senders page if Roles and Permissions have been enabled. To enable Roles and Permissions contact our Support Team.

For more information, see Administering Users.

Adding Users

To add a user to your account, you will need to build an AccountMember object. Then, you can all on your OneSpan Sign AccountService to send an invitation to the user. Once a new user has been invited to join an account, they are  automatically added to the account, but in an inactive state. The user will receive an email containing a link that they will need to click to activate their account.

You can skip this verification step by setting the status to ACTIVE when building your AccountMember object.

AccountMember member = AccountMemberBuilder.NewAccountMember("john.smith@example.com")
				.WithFirstName("John")
				.WithLastName("Smith")
				.WithCompany("ABC Bank")
				.WithTitle("CEO")
				.WithStatus(SenderStatus.ACTIVE)
				.Build();
		
client.AccountService.InviteUser(member);

Resending an Account Invitation

When a user is invited to join an account, they are sent an email which they must use to activate their account. The following code snippet illustrates how to re-send that email.

eslClient.AccountService.SendInvite(retrievedSender.Id);

Retrieving Users

The first step to delegating access is to retrieve a list of users from your OneSpan Sign account, which is described in the following code example.  Included in this list are your user's email addresses, and their IDs. User IDs are required to add and remove delegates.

The maximum number of users that you can retrieve, as defined by this API, is 100.

Here is some sample code that describes how to do this. In this example, the number of users returned in the list is 5, as defined by PageRequest.

int i = 1;
					IDictionary<string, Sender> accountMembers = client.AccountService.GetSenders(Direction.ASCENDING, new PageRequest(i, 5));
					while (accountMembers.Count != 0)
					{
					foreach (var s in accountMembers)
					{
					string email = s.Key.ToString();
					string id = s.Value.Id;
					Debug.WriteLine(email + " " + id);
					i++;
					}
					accountMembers = client.AccountService.GetSenders(Direction.ASCENDING, new PageRequest(i, 5));
				}

Updating a User

To update a user you will need their user ID. Note that an email address cannot be updated once you’ve created your user. To change an email address you will need to create a new user.

SenderInfo updatedSenderInfo = SenderInfoBuilder.NewSenderInfo("john.smith@example.com")
                .WithName( "John", "Smith" )
                .WithTitle( "CEO" )
                .WithCompany("XYZ Bank")
                .Build();
 
client.AccountService.UpdateSender(updatedSenderInfo, "{senderId}");

Deleting a User

To delete a user you will need their user ID. Here is some sample code that describes how to do this.

If your user has transactions already in their Inbox, or transactions in a Draft status, the user will be locked instead of deleted. They will not be able to create or send any other transactions.

client.AccountService
      .DeleteSender("{senderId}");

Retrieving a Specific User

The following sample code helps you retrieve a specific user from an account.

Sender retrievedSender = eslClient.AccountService
                                  .GetSender("senderId");

Sending a Transaction Using a Specific Sender

The sample code below shows you how to build a transaction to be sent by a specific user:

DocumentPackage packageToSend = PackageBuilder.NewPackageNamed("Cleaning Contract Example")
                .WithSenderInfo(SenderInfoBuilder.NewSenderInfo("john.smith@example.com"))
                .WithSigner(SignerBuilder.NewSignerWithEmail("mary.doe@example.com ")
                        .WithFirstName("Mary")
                        .WithLastName("Doe")
                        .WithCustomId("client"))
                .WithSigner(SignerBuilder.NewSignerWithEmail("john.smith@example.com")
                        .WithFirstName("John")
                        .WithLastName("Smith")
                        .WithCustomId("contractor"))
                .WithDocument(DocumentBuilder.NewDocumentNamed("Contract.pdf")
                        .FromStream(new FileStream("DOC_FILE_PATH", FileMode.Open), DocumentType.PDF)
                        .EnableExtraction())
                .Build();

Results

After executing your code, you will find your newly created users in your OneSpan Sign account.

REST API

To download the full code sample see our Code Share site.

OneSpan Sign provides you with the ability to add users to your account, allowing them to create and send transactions  for digital signing .

As an account owner, you will have access to the transactions created by your users. However you can only  retrieve these transactions using  SDKs or APIs. If you want to access these transactions using the Web UI  you will need your users to delegate access to you.

For more information, see Delegating Access.

Senders in the UI

First, locate your senders in the OneSpan Sign Web UI. To do this, log into your OneSpan Sign account and click Admin > Users. After running your code, all your users will appear here.

The Users page replaces the Senders page if Roles and Permissions have been enabled. To enable Roles and Permissions contact our Support Team.

For more information, see Administering Users.

Adding Users

To add a user to you account, use the following code examples.

HTTP Request

POST /api/account/senders

HTTP Headers

Accept: application/json 
Content-Type: application/json 
Authorization: Basic api_key

Request Payload

{
 "email" : "john.smith@example.com",
   "firstName" : "John",
   "lastName" : "Smith",
   "company" : "ABC Bank",
   "title" : "CEO",
   "status" : "ACTIVE"
    }

Response Payload

{
    "status": "ACTIVE",
    "language": "en",
    "signature": null,
    "id": "gF0JJvbDb2Y0",
    "data": {
        "hasNotCreatedATransaction": true,
        "showIntro": true
    },
    "account": {
        "id": "3vD0Dc9Fh7wQ",
        "data": null,
        "updated": "2016-05-05T19:30:13Z",
        "company": {
            "id": "jVWmyg4cyis8",
            "data": null,
            "address": {
                "address1": null,
                "address2": null,
                "city": null,
                "country": null,
                "zipcode": null,
                "state": null
            },
            "name": "OneSpan Sign"
        },
        "licenses": [
            {
                "status": "ACTIVE",
                "paidUntil": "2020-05-05T00:00:00Z",
                "plan": {
                    "group": "",
                    "description": "E-Sign Hundreds of Documents with Unlimited Signers",
                    "id": "sandbox",
                    "features": null,
                    "price": {
                        "amount": 0,
                        "currency": {
                            "id": "USD",
                            "data": null,
                            "name": "US Dollar"
                        }
                    },
                    "original": null,
                    "cycle": "YEAR",
                    "contract": "YEAR",
                    "freeCycles": null,
                    "quotas": [
                        {
                            "cycle": null,
                            "scope": "ACCOUNT",
                            "limit": 100,
                            "target": "SENDER"
                        },
                        {
                            "cycle": null,
                            "scope": "SENDER",
                            "limit": 500,
                            "target": "DOCUMENT"
                        },
                        {
                            "cycle": null,
                            "scope": "SENDER",
                            "limit": 500,
                            "target": "STORAGE"
                        }
                    ],
                    "data": null,
                    "name": "Sandbox"
                },
                "transactions": [],
                "created": "2016-05-05T19:30:13Z"
            }
        ],
        "logoUrl": "",
        "providers": null,
        "customFields": [
            {
                "required": false,
                "id": "policy_number_id",
                "data": null,
                "translations": [
                    {
                        "description": "Car Insurance Policy Number.",
                        "language": "en",
                        "id": "",
                        "data": null,
                        "name": "Policy Number"
                    }
                ],
                "value": "123-456-789-0",
                "name": ""
            }
        ],
        "created": "2016-05-05T19:30:13Z",
        "owner": "ZQI8k6faVoM8",
        "name": "Haris Haidary"
    },
    "title": "CEO",
    "external": null,
    "updated": "2017-11-20T18:36:02Z",
    "memberships": [],
    "phone": "",
    "professionalIdentityFields": [],
    "userCustomFields": [],
    "locked": null,
    "activated": null,
    "company": "ABC Bank",
    "email": "john.smith@example.com",
    "firstName": "John",
    "lastName": "Smith",
    "type": "REGULAR",
    "name": "",
    "address": null,
    "created": "2017-11-20T18:36:02Z",
    "specialTypes": [],
    "hasDelegates": false
}

Resending an Account Invitation

When a user is invited to join an account, they are sent an email which they must use to activate their account. The following code snippet illustrates how to re-send that email.

HTTP Request

POST /api/account/senders/{senderUid}/invite

HTTP Headers

Accept: application/json
Content-Type: application/json
Authorization: Basic api_key

Retrieving Users

You can also retrieve your senders:

HTTP Request

GET /api/account/senders?from=0&to=1

HTTP Headers

Accept: application/json
Content-Type: application/json
Authorization: Basic api_key

Request Payload

{
    "results": [
        {
            "status": "ACTIVE",
            "language": "en",
            "signature": null,
            "id": "IBCyHvarzWsX",
            "data": {
                "hasNotCreatedATransaction": true,
                "showIntro": true
            },
            "account": {
                "id": "3vD0Dc9Fh7wQ",
                "created": "2016-05-05T19:30:13Z",
                "data": null,
                "company": {
                    "id": "jVWmyg4cyis8",
                    "data": null,
                    "address": {
                        "address1": null,
                        "address2": null,
                        "city": null,
                        "country": null,
                        "zipcode": null,
                        "state": null
                    },
                    "name": "OneSpan Sign"
                },
                "updated": "2016-05-05T19:30:13Z",
                "licenses": [
                    {
                        "status": "ACTIVE",
                        "transactions": [],
                        "created": "2016-05-05T19:30:13Z",
                        "paidUntil": "2020-05-05T00:00:00Z",
                        "plan": {
                            "group": "",
                            "description": "E-Sign Hundreds of Documents with Unlimited Signers",
                            "id": "sandbox",
                            "price": {
                                "amount": 0,
                                "currency": {
                                    "id": "USD",
                                    "data": null,
                                    "name": "US Dollar"
                                }
                            },
                            "original": null,
                            "features": null,
                            "data": null,
                            "cycle": "YEAR",
                            "contract": "YEAR",
                            "freeCycles": null,
                            "quotas": [
                                {
                                    "scope": "ACCOUNT",
                                    "cycle": null,
                                    "limit": 100,
                                    "target": "SENDER"
                                },
                                {
                                    "scope": "SENDER",
                                    "cycle": null,
                                    "limit": 500,
                                    "target": "DOCUMENT"
                                },
                                {
                                    "scope": "SENDER",
                                    "cycle": null,
                                    "limit": 500,
                                    "target": "STORAGE"
                                }
                            ],
                            "name": "Sandbox"
                        }
                    }
                ],
                "logoUrl": "",
                "providers": null,
                "customFields": [
                    {
                        "required": false,
                        "id": "policy_number_id",
                        "data": null,
                        "translations": [
                            {
                                "description": "Car Insurance Policy Number.",
                                "language": "en",
                                "id": "",
                                "data": null,
                                "name": "Policy Number"
                            }
                        ],
                        "value": "123-456-789-0",
                        "name": ""
                    }
                ],
                "owner": "ZQI8k6faVoM8",
                "name": "Haris Haidary"
            },
            "title": null,
            "activated": null,
            "company": "",
            "email": "mail73@example.com",
            "firstName": "Peter",
            "lastName": "Pan",
            "external": null,
            "updated": "2017-11-13T15:07:49Z",
            "memberships": [],
            "phone": "",
            "professionalIdentityFields": [],
            "userCustomFields": [],
            "locked": null,
            "address": null,
            "created": "2017-11-13T15:07:49Z",
            "name": "",
            "type": "REGULAR",
            "specialTypes": [],
            "hasDelegates": false
        },
        {
            "status": "ACTIVE",
            "language": "en",
            "signature": null,
            "id": "2q37oSloj5AD",
            "data": {
                "hasNotCreatedATransaction": true,
                "showIntro": true
            },
            "account": {
                "id": "3vD0Dc9Fh7wQ",
                "created": "2016-05-05T19:30:13Z",
                "data": null,
                "company": {
                    "id": "jVWmyg4cyis8",
                    "data": null,
                    "address": {
                        "address1": null,
                        "address2": null,
                        "city": null,
                        "country": null,
                        "zipcode": null,
                        "state": null
                    },
                    "name": "OneSpan Sign"
                },
                "updated": "2016-05-05T19:30:13Z",
                "licenses": [
                    {
                        "status": "ACTIVE",
                        "transactions": [],
                        "created": "2016-05-05T19:30:13Z",
                        "paidUntil": "2020-05-05T00:00:00Z",
                        "plan": {
                            "group": "",
                            "description": "E-Sign Hundreds of Documents with Unlimited Signers",
                            "id": "sandbox",
                            "price": {
                                "amount": 0,
                                "currency": {
                                    "id": "USD",
                                    "data": null,
                                    "name": "US Dollar"
                                }
                            },
                            "original": null,
                            "features": null,
                            "data": null,
                            "cycle": "YEAR",
                            "contract": "YEAR",
                            "freeCycles": null,
                            "quotas": [
                                {
                                    "scope": "ACCOUNT",
                                    "cycle": null,
                                    "limit": 100,
                                    "target": "SENDER"
                                },
                                {
                                    "scope": "SENDER",
                                    "cycle": null,
                                    "limit": 500,
                                    "target": "DOCUMENT"
                                },
                                {
                                    "scope": "SENDER",
                                    "cycle": null,
                                    "limit": 500,
                                    "target": "STORAGE"
                                }
                            ],
                            "name": "Sandbox"
                        }
                    }
                ],
                "logoUrl": "",
                "providers": null,
                "customFields": [
                    {
                        "required": false,
                        "id": "policy_number_id",
                        "data": null,
                        "translations": [
                            {
                                "description": "Car Insurance Policy Number.",
                                "language": "en",
                                "id": "",
                                "data": null,
                                "name": "Policy Number"
                            }
                        ],
                        "value": "123-456-789-0",
                        "name": ""
                    }
                ],
                "owner": "ZQI8k6faVoM8",
                "name": "Haris Haidary"
            },
            "title": null,
            "activated": null,
            "company": "",
            "email": "mail72@example.com",
            "firstName": "Mike",
            "lastName": "Smith",
            "external": null,
            "updated": "2017-11-13T15:07:49Z",
            "memberships": [],
            "phone": "",
            "professionalIdentityFields": [],
            "userCustomFields": [],
            "locked": null,
            "address": null,
            "created": "2017-11-13T15:07:50Z",
            "name": "",
            "type": "REGULAR",
            "specialTypes": [],
            "hasDelegates": false
        }
    ],
    "count": 8
}

Retrieving a Specific User

The following sample code helps you retrieve a specific user from an account.

HTTP Request

GET/api/account/senders/{senderId}

HTTP Headers

Accept: application/json
Content-Type: application/json
Authorization: Basic api_key

Request Payload

{
    "status": "ACTIVE",
    "language": "en",
    "signature": null,
    "id": "IBCyHvarzWsX",
    "data": {
        "hasNotCreatedATransaction": true,
        "showIntro": true
    },
    "account": {
        "id": "3vD0Dc9Fh7wQ",
        "data": null,
        "updated": "2016-05-05T19:30:13Z",
        "company": {
            "id": "jVWmyg4cyis8",
            "data": null,
            "address": {
                "address1": null,
                "address2": null,
                "city": null,
                "country": null,
                "zipcode": null,
                "state": null
            },
            "name": "OneSpan Sign"
        },
        "licenses": [
            {
                "status": "ACTIVE",
                "paidUntil": "2020-05-05T00:00:00Z",
                "plan": {
                    "group": "",
                    "description": "E-Sign Hundreds of Documents with Unlimited Signers",
                    "id": "sandbox",
                    "features": null,
                    "price": {
                        "amount": 0,
                        "currency": {
                            "id": "USD",
                            "data": null,
                            "name": "US Dollar"
                        }
                    },
                    "original": null,
                    "cycle": "YEAR",
                    "contract": "YEAR",
                    "freeCycles": null,
                    "quotas": [
                        {
                            "cycle": null,
                            "scope": "ACCOUNT",
                            "limit": 100,
                            "target": "SENDER"
                        },
                        {
                            "cycle": null,
                            "scope": "SENDER",
                            "limit": 500,
                            "target": "DOCUMENT"
                        },
                        {
                            "cycle": null,
                            "scope": "SENDER",
                            "limit": 500,
                            "target": "STORAGE"
                        }
                    ],
                    "data": null,
                    "name": "Sandbox"
                },
                "transactions": [],
                "created": "2016-05-05T19:30:13Z"
            }
        ],
        "logoUrl": "",
        "providers": null,
        "customFields": [
            {
                "required": false,
                "id": "policy_number_id",
                "data": null,
                "translations": [
                    {
                        "description": "Car Insurance Policy Number.",
                        "language": "en",
                        "id": "",
                        "data": null,
                        "name": "Policy Number"
                    }
                ],
                "value": "123-456-789-0",
                "name": ""
            }
        ],
        "created": "2016-05-05T19:30:13Z",
        "owner": "ZQI8k6faVoM8",
        "name": "Haris Haidary"
    },
    "title": "CEO",
    "external": null,
    "updated": "2017-11-13T15:07:49Z",
    "memberships": [],
    "phone": "",
    "professionalIdentityFields": [],
    "userCustomFields": [],
    "locked": null,
    "activated": null,
    "company": "ABC Bank",
    "email": "mail73@example.com",
    "firstName": "John",
    "lastName": "Smith",
    "type": "REGULAR",
    "name": "",
    "address": null,
    "created": "2017-11-13T15:07:49Z",
    "specialTypes": [],
    "hasDelegates": false
}

Updating a User

To update a user you will need their user ID. Note that an email address cannot be updated once you’ve created your user. To change an email address you will need to create a new user.

HTTP Request

POST/api/account/senders/{senderId}

HTTP Headers

Accept: application/json
Content-Type: application/json
Authorization: Basic api_key

Request Payload

{
    "firstName" : "John",
    "lastName" : "Smith",
    "company" : "XYZ Bank",
    "title" : "CEO",
}

Deleting a User

To delete a user you will need their user ID. Here is some sample code that describes how to do this.

If your user has transactions already in their Inbox, or transactions in a Draft status, the user will be locked instead of deleted. They will not be able to create or send any other transactions.

HTTP Request

DELETE /api/account/senders/{senderId}

HTTP Headers

Accept: application/json
Content-Type: application/json
Authorization: Basic api_key

Retrieving the API KEY of a Sender

Below REST API shows you how to retrieve API KEY of your sender using account manager's authorization in request header.

HTTP Request

GET /api/account/senders/{senderId}/apiKey

HTTP Headers

Accept: application/json 
Content-Type: application/json 
Authorization: Basic api_key

Response Payload

{
"apiKey": "XXXXXXXXXXXXX=="
}

Sending a Transaction Using a Specific Sender

The sample code below shows you how to build a transaction to be sent by a specific user:

HTTP Request

POST /api/packages

HTTP Headers

Accept: application/json 
Content-Type: multipart/form-data 
Authorization: Basic api_key

Request Payload Table

For a complete description of each field, see this table:

Property

Type

Editable

Required

Default

Sample Values

status

string

Yes

No

INVITED

ACTIVE / INVITED / LOCKED

email

string

Yes

No

n/a

john.smith@example.com

firstName

string

Yes

No

n/a

John

lastName

string

Yes

No

n/a

Smith

company

string

Yes

No

n/a

ABC Bank

title

string

Yes

No

n/a

CEO

phoneNumber

string

Yes

No

n/a

+15256951122

------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: form-data; name="file"; filename="testDocumentExtraction.pdf"
Content-Type: application/pdf
%PDF-1.5
%µµµµ
1 0 obj
<>>>
endobj.... 
------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: form-data; name="payload"
{
  "sender": {
    "email": "john.smith@example.com"
  },
  "documents": [
    {
      "extract": true,
      "name": "Contract"
    }
  ],
  "status": "DRAFT",
  "roles": [
    {
      "id": "contractor",
      "type": "SENDER",
      "signers": [
        {
          "email": "john.smith@example.com",
          "firstName": "John",
          "lastName": "Smith",
          "id": "contractor"
        }
      ],
      "name": "contractor"
    },
    {
      "id": "client",
      "type": "SIGNER",
      "signers": [
        {
          "email": "mary.doe@example.com",
          "firstName": "Mary",
          "lastName": "Doe",
          "id": "client"
        }
      ],
      "name": "client"
    }
  ],
  "type": "PACKAGE",
  "name": "Cleaning Contract Example"
}

Response Payload

{
"id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI="
}


Cet article vous a-t-il été utile ?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Ozzy, facilitant la découverte de connaissances grâce à l’intelligence conversationnelle