Java SDK
Pour télécharger l’exemple complet de code, consultez notre site de partage de code .
Parfois, il est commode de partager des demandes de signatures entre les membres d’un groupe. Par exemple, il peut être pratique de traiter les pharmaciens d’une pharmacie particulière en groupe, afin que tout membre disponible puisse signer les documents pour les ordonnances d’un patient.
Dans OneSpan Sign, un groupe de signataires est un ensemble d’utilisateurs OneSpan Sign qui peuvent agir en tant que signataire unique du point de vue du créateur d’une transaction. Les utilisateurs pouvant devenir membres du groupe doivent déjà être membres du compte OneSpan Sign associé.
Les membres du groupe OneSpan Sign reçoivent une invitation par e-mail à signer une transaction. Parmi ces membres, la signature se fait selon le « premier arrivé, premier servi ». Lorsqu’un membre signe, tous les autres membres sont exclus.
Tout membre qui signe le fait au nom du groupe, mais son nom sera tamponné sur les documents qu’il signe. Toute personne vérifiant un document via l’Audit Trail verra les informations et l’identité de signature du membre individuel.
Tous les membres du groupe peuvent suivre l’avancement des transactions du groupe, ce qui aide à garantir que ces transactions sont réalisées dans les délais.
Trouver vos groupes dans l’interface utilisateur
Tout d’abord, localisez vos groupes dans l’interface web OneSpan Sign. Pour cela, connectez-vous à votre compte OneSpan Sign et cliquez sur Admin > Groups. Après avoir exécuté votre code, tous vos groupes apparaîtront ici. Si vous ne voyez pas l’option Groupes dans la barre d’outils, cela pourrait être parce qu’elles n’ont pas été activées sur votre compte. Pour les aider, veuillez contacter notre équipe de support.
Pour plus d’informations, voir Groupes administrateurs.
Création de groupes
Le code d’exemple ci-dessous créera un groupe appelé Java Developers, composé de deux membres. Il est important de noter que ces membres doivent être des expéditeurs dans votre compte. La méthode withIndividualMemberEmailing() envoie des e-mails aux membres du groupe au lieu de l’adresse e-mail spécifiée. Si vous souhaitez envoyer des e-mails au groupe à la place, utilisez lessoutIndividualEmailing().
Group group1 = GroupBuilder.newGroup( "Java Developers" )
.withEmail( "mygroup@aol.com" )
.withIndividualMemberEmailing()
.withMember( GroupMemberBuilder.newGroupMember( "manager@mycompany.com" )
.as( GroupMemberType.REGULAR ) )
.withMember( GroupMemberBuilder.newGroupMember( "group-member@mycompany.com" )
.as( GroupMemberType.REGULAR ) )
.build();Une fois cela fait, vous pouvez faire appel à votre OneSpan Sign GroupService pour créer votre groupe.
Group createdGroup1 = eslClient.getGroupService().createGroup( group1 );Vous pouvez aussi créer un groupe vide et inviter des membres à rejoindre votre groupe ultérieurement.
esl.getGroupService().inviteMember( createdEmptyGroup.getId(),
GroupMemberBuilder.newGroupMember( "member1@example.com" )
.as( GroupMemberType.REGULAR )
.build() );Récupération des groupes
Récupérer vos équipes peut s’avérer utile lorsque vous souhaitez inviter des membres à votre groupe. Il est important de noter que l’identifiant de groupe est obligatoire lors de l’envoi des invitations. La première ligne du code d’exemple ci-dessous récupère vos groupes sous forme de liste. Ensuite, pour chaque objet de groupe dans la liste, le nom du groupe, l’email et l’identifiant sont récupérés. Avec vos identifiants de groupe, vous pouvez récupérer chaque membre, ainsi que leur adresse e-mail, prénom et nom de famille.
List<Group> allGroups = esl.getGroupService().getMyGroups();
for ( Group group : allGroups ) {
System.out.println( group.getName() + " with email " + group.getEmail() + " and id " + group.getId() );
List<GroupMember> allMembers = esl.getGroupService().getGroupMembers( group.getId() );
for ( GroupMember member : allMembers ) {
System.out.println( member.getGroupMemberType().toString() + " " + member.getFirstName() + " " + member.getLastName() + " with email " + member.getEmail());
}
}Ajout d’un signataire de groupe
Une fois votre groupe créé, vous pouvez alors ajouter un signataire de groupe à votre package. Le code ci-dessous vous montre comment modifier le bloc de signataires afin d’ajouter un signataire de groupe.
Si vous avez besoin d’une comparaison avec la création d’un objet document basique, ou si c’est la première fois que vous créez un package avec le SDK Java, consultez ce sujet.
DocumentPackage myPackage = newPackageNamed( "My Package with Group Signers Java Developers" )
.withSigner( SignerBuilder.newSignerFromGroup( myGroup.getId() )
.canChangeSigner()
.deliverSignedDocumentsByEmail() )
.withDocument( newDocumentWithName( "My Document" )
.fromFile("DOCUMENT_FILE_PATH" )
.withSignature( signatureFor( myGroup.getId() )
.onPage( 0 )
.atPosition( 370, 680 ) ) )
.build();
PackageId packageId = esl.createAndSendPackage( myPackage );Résultats
Après avoir exécuté votre code, vous trouverez vos nouveaux groupes créés dans votre compte OneSpan Sign. Pour voir ces groupes, connectez-vous à votre compte OneSpan Sign et cliquez sur Admin > Groups. Vous trouverez également la signature de votre groupe dans votre liste de destinataires.
Si vous avez utilisé le code d’exemple de ce sujet pour récupérer vos groupes, voici le résultat :

.NET SDK
Pour télécharger l’exemple complet de code, consultez notre site de partage de code .
Parfois, il est commode de partager des demandes de signatures entre les membres d’un groupe. Par exemple, il peut être pratique de traiter les pharmaciens d’une pharmacie particulière en groupe, afin que tout membre disponible puisse signer les documents pour les ordonnances d’un patient.
Dans OneSpan Sign, un groupe de signataires est un ensemble d’utilisateurs OneSpan Sign qui peuvent agir en tant que signataire unique du point de vue du créateur d’une transaction. Les utilisateurs pouvant devenir membres du groupe doivent déjà être membres du compte OneSpan Sign associé.
Les membres du groupe OneSpan Sign reçoivent une invitation par e-mail à signer une transaction. Parmi ces membres, la signature se fait selon le « premier arrivé, premier servi ». Lorsqu’un membre signe, tous les autres membres sont exclus.
Tout membre qui signe le fait au nom du groupe, mais son nom sera tamponné sur les documents qu’il signe. Toute personne vérifiant un document via l’Audit Trail verra les informations et l’identité de signature du membre individuel.
Tous les membres du groupe peuvent suivre l’avancement des transactions du groupe, ce qui aide à garantir que ces transactions sont réalisées dans les délais.
Trouver vos groupes dans l’interface utilisateur
Tout d’abord, localisez vos groupes dans l’interface web OneSpan Sign. Pour cela, connectez-vous à votre compte OneSpan Sign et cliquez sur Admin > Groups. Après avoir exécuté votre code, tous vos groupes apparaîtront ici. Si vous ne voyez pas l’option Groupes dans la barre d’outils, cela pourrait être parce qu’elles n’ont pas été activées sur votre compte. Pour les aider, veuillez contacter notre équipe de support.
Pour plus d’informations, voir Groupes administrateurs.
Création de groupes
Le code d’exemple ci-dessous créera un groupe appelé Java Developers, composé de deux membres. Il est important de noter que ces membres doivent être des expéditeurs dans votre compte. La méthode withIndividualMemberEmailing() envoie des e-mails aux membres du groupe au lieu de l’adresse e-mail spécifiée. Si vous souhaitez envoyer des e-mails au groupe à la place, utilisez lessoutIndividualEmailing().
Group group1 = GroupBuilder.NewGroup("My Group")
.WithCustomId(new GroupId(Guid.NewGuid().ToString()))
.WithMember(GroupMemberBuilder.NewGroupMember("robert.paulson@email.com")
.AsMemberType(GroupMemberType.MANAGER))
.WithMember(GroupMemberBuilder.NewGroupMember("tyler.durden@email.com")
.AsMemberType(GroupMemberType.REGULAR))
.WithEmail("bob@aol.com")
.WithIndividualMemberEmailing()
.Build();Une fois cela fait, vous pouvez faire appel à votre OneSpan Sign GroupService pour créer votre groupe.
Group createdGroup1 = eslClient.GroupService.CreateGroup(group1);Vous pouvez aussi créer un groupe vide et inviter des membres à rejoindre votre groupe ultérieurement.
eslClient.GroupService.InviteMember(createdEmptyGroup.Id, GroupMemberBuilder.NewGroupMember("bob@aol.com")
.AsMemberType(GroupMemberType.REGULAR)
.Build());Récupération des groupes
Récupérer vos équipes peut s’avérer utile lorsque vous souhaitez inviter des membres à votre groupe. Il est important de noter que l’identifiant de groupe est obligatoire lors de l’envoi des invitations. La première ligne du code d’exemple ci-dessous récupère vos groupes sous forme de liste. Ensuite, pour chaque objet de groupe dans la liste, le nom du groupe, l’email et l’identifiant sont récupérés. Avec vos identifiants de groupe, vous pouvez récupérer chaque membre, ainsi que leur adresse e-mail, prénom et nom de famille.
List<Group> allGroups = eslClient.GroupService.GetMyGroups();
foreach (Group group in allGroups)
{
Debug.WriteLine(group.Name + " with email " + group.Email + " and id " + group.Id.Id);
List<GroupMember> allMembers = eslClient.GroupService.GetGroupMembers(group.Id);
foreach (GroupMember member in allMembers)
{
Debug.WriteLine(member.GroupMemberType.ToString() + " " + member.FirstName + " " + member.LastName + " with email " + member.Email);
}
}Ajout d’un signataire de groupe
Une fois votre groupe créé, vous pouvez alors ajouter un signataire de groupe à votre package. Le code ci-dessous vous montre comment modifier le bloc de signataires afin d’ajouter un signataire de groupe.
DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed("My Package with Group Signers .NET Developers")
.WithSigner(SignerBuilder.NewSignerFromGroup(myGroup.Id)
.CanChangeSigner()
.DeliverSignedDocumentsByEmail())
.WithDocument(DocumentBuilder.NewDocumentNamed("My Document")
.FromFile("DOCUMENT_FILE_PATH")
.WithSignature(SignatureBuilder.SignatureFor(myGroup.Id)
.OnPage(0)
.AtPosition(370, 680)))
.Build();
PackageId packageId = eslClient.CreateAndSendPackage(superDuperPackage);
Résultats
Après avoir exécuté votre code, vous trouverez vos nouveaux groupes créés dans votre compte OneSpan Sign. Pour voir ces groupes, connectez-vous à votre compte OneSpan Sign et cliquez sur Admin > Groups. Vous trouverez également la signature de votre groupe dans votre liste de destinataires.
Si vous avez utilisé le code d’exemple de ce sujet pour récupérer vos groupes, voici le résultat :

REST API
Pour télécharger l’exemple complet de code, consultez notre site de partage de code .
Parfois, il est commode de partager des demandes de signatures entre les membres d’un groupe. Par exemple, il peut être pratique de traiter les pharmaciens d’une pharmacie particulière en groupe, afin que tout membre disponible puisse signer les documents pour les ordonnances d’un patient.
Dans OneSpan Sign, un groupe de signataires est un ensemble d’utilisateurs OneSpan Sign qui peuvent agir en tant que signataire unique du point de vue du créateur d’une transaction. Les utilisateurs pouvant devenir membres du groupe doivent déjà être membres du compte OneSpan Sign associé.
Les membres du groupe OneSpan Sign reçoivent une invitation par e-mail à signer une transaction. Parmi ces membres, la signature se fait selon le « premier arrivé, premier servi ». Lorsqu’un membre signe, tous les autres membres sont exclus.
Tout membre qui signe le fait au nom du groupe, mais son nom sera tamponné sur les documents qu’il signe. Toute personne vérifiant un document via l’Audit Trail verra les informations et l’identité de signature du membre individuel.
Tous les membres du groupe peuvent suivre l’avancement des transactions du groupe, ce qui aide à garantir que ces transactions sont réalisées dans les délais.
Trouver vos groupes dans l’interface utilisateur
Tout d’abord, localisez vos groupes dans l’interface web OneSpan Sign. Pour cela, connectez-vous à votre compte OneSpan Sign et cliquez sur Admin > Groups. Après avoir exécuté votre code, tous vos groupes apparaîtront ici. Si vous ne voyez pas l’option Groupes dans la barre d’outils, cela pourrait être parce qu’elles n’ont pas été activées sur votre compte. Pour les aider, veuillez contacter notre équipe de support.
Pour plus d’informations, voir Groupes administrateurs.
Création de groupes
Le code d’exemple ci-dessous créera un groupe composé de deux membres. Il est important de noter que ces membres doivent être des expéditeurs dans votre compte.
Requête HTTP
POST /api/groupsEn-têtes HTTP
Accept: application/json
Content-Type: application/json
Authorization: Basic api_keyCharge utile de demande
{
"email": "your_group_email@example.com",
"name": "your_group_name",
"members": [
{
"pending": true,
"email": "mail55@example.com",
"memberType": "REGULAR",
"firstName": "Max",
"lastName": "Domi"
},
{
"pending": true,
"email": "mail72@example.com",
"memberType": "REGULAR",
"firstName": "John",
"lastName": "Smith"
}
]
}Charge utile de réponse
{
"id": "bc65203e-99df-47b4-a51c-33e8082780c5",
"members": [
{
"userId": "2q37oSloj5AD",
"pending": false,
"lastName": "Tango",
"email": "mail72@example.com",
"firstName": "Mike",
"memberType": "REGULAR"
},
{
"userId": "FxktNzFzmkIY",
"pending": false,
"lastName": "Domi",
"email": "mail55@example.com",
"firstName": "Max",
"memberType": "REGULAR"
}
],
"emailMembers": false,
"reciprocalDelegation": false,
"data": null,
"account": {
"id": "3vD0Dc9Fh7wQ",
"data": null,
"updated": "2017-11-20T19:03:28Z",
"company": {
"id": "",
"data": null,
"address": null,
"name": ""
},
"licenses": [],
"logoUrl": "",
"providers": null,
"customFields": [],
"created": "2017-11-20T19:03:28Z",
"owner": "",
"name": ""
},
"updated": "2017-11-20T19:03:28Z",
"email": "your_group_email@example.com",
"created": "2017-11-20T19:03:28Z",
"name": "your_group_name"
}Vous pouvez aussi créer un groupe vide et inviter des membres à rejoindre votre groupe ultérieurement.
Requête HTTP
POST /api/groupsEn-têtes HTTP
Accept: application/json
Content-Type: application/json
Authorization: Basic api_keyCharge utile de demande
{
"email": "invitee@email.com",
"name": "REST Developers"
}Charge utile de réponse
{
"id": "540b86f9-2d93-4498-bdb4-b7b320540bb6",
"members": [],
"emailMembers": false,
"reciprocalDelegation": false,
"data": null,
"account": {
"id": "3vD0Dc9Fh7wQ",
"data": null,
"updated": "2017-11-20T19:04:38Z",
"company": {
"id": "",
"data": null,
"address": null,
"name": ""
},
"licenses": [],
"logoUrl": "",
"providers": null,
"customFields": [],
"created": "2017-11-20T19:04:38Z",
"owner": "",
"name": ""
},
"updated": "2017-11-20T19:04:38Z",
"email": "invitee@email.com",
"created": "2017-11-20T19:04:38Z",
"name": "REST Developers"
}Récupération des groupes
Récupérer vos équipes peut s’avérer utile lorsque vous souhaitez inviter des membres à votre groupe. Il est important de noter que l’identifiant de groupe est obligatoire lors de l’envoi des invitations.
Requête HTTP
GET /api/groupsEn-têtes HTTP
Accept: application/json
Content-Type: application/json
Authorization: Basic api_keyCharge utile de réponse
{
"count": 1,
"results": [
{
"account": {
"providers": null,
"updated": "2016-01-07T18:49:19Z",
"company": {
"id": "",
"address": null,
"data": null,
"name": ""
},
"licenses": [],
"logoUrl": "",
"customFields": [],
"created": "2016-01-07T18:49:19Z",
"owner": "",
"id": "zRcJCHV3ztIB",
"data": null,
"name": ""
},
"updated": "2016-01-07T13:58:33Z",
"email": "group@email.com",
"members": [
{
"userId": "1XyqlkXM9uIX",
"email": "member.1@email.com",
"firstName": "John",
"lastName": "Doe",
"memberType": "REGULAR",
"pending": false
},
{
"userId": "kVooKpofKuUK",
"email": "member.2@email.com",
"firstName": "Mary",
"lastName": "Doe",
"memberType": "REGULAR",
"pending": false
}
],
"emailMembers": false,
"reciprocalDelegation": false,
"created": "2016-01-07T13:58:33Z",
"id": "4a8868d7-1968-4172-aedb-0a9dc8edb683",
"data": null,
"name": "REST Developers"
}
]
}Ajout d’un signataire de groupe
Une fois votre groupe créé, vous pouvez alors ajouter un signataire de groupe à votre package. Le code ci-dessous vous montre comment modifier le bloc de signataires afin d’ajouter un signataire de groupe.
Si vous avez besoin d’une comparaison avec la création d’objets document de base ou si c’est la première fois que vous créez un package avec l’API REST, consultez ce guide.
Requête HTTP
POST /api/packagesEn-têtes HTTP
Accept: application/json
Content-Type: multipart/form-data
Authorization: Basic api_keyCharge utile de demande
------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"
{
"roles": [
{
"id": "1945f2e1-3390-4297-bc3b-89af3c92e567",
"type": "SIGNER",
"index": 0,
"signers": [
{
"group": {
"id": "540b86f9-2d93-4498-bdb4-b7b320540bb6",
"email": "invitee@email.com",
"name": "REST Developers"
},
"id": "98b9db64-39ca-4b5b-a1eb-629e49c46dec",
"email": "540b86f9-2d93-4498-bdb4-b7b320540bb6@groups.e-signlive.com",
"firstName": "REST Developers",
"lastName": ""
}
],
"name": "Signer1"
}
],
"status": "DRAFT",
"language": "en",
"documents": [
{
"id": "90277a614bf73b783fe2a5e04b68a99d4badf449b33ecfbf",
"approvals": [
{
"id": "cVvJzBDX7lwP",
"role": "1945f2e1-3390-4297-bc3b-89af3c92e567",
"fields": [
{
"subtype": "FULLNAME",
"height": 52,
"extract": false,
"width": 235,
"left": 217,
"top": 512,
"type": "SIGNATURE"
}
]
}
],
"name": "sample_contract"
}
],
"visibility": "ACCOUNT",
"type": "PACKAGE",
"name": "Group Signature Example"
}
------WebKitFormBoundary1bNO60n7FqP5WO4t--Charge utile de réponse
{
"id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI="
}Résultats
Après avoir exécuté votre code, vous trouverez vos nouveaux groupes créés dans votre compte OneSpan Sign. Pour voir ces groupes, connectez-vous à votre compte OneSpan Sign et cliquez sur Admin > Groups. Vous trouverez également la signature de votre groupe dans votre liste de destinataires.
Table des charges utiles de requêtes
Propriété | Type | Modifiable | Obligatoire | Par défaut | Valeurs d’échantillonnage |
|---|---|---|---|---|---|
Corde | Oui | Non | N/D | your_group_email@example.com | |
Nom | Corde | Oui | Non | N/D | your_group_name |
Membres | |||||
En attente | Booléen | Non | Non | N/D | vrai / faux |
Corde | Oui | Non | N/D | mail55@example.com | |
Type-membre | Corde | Oui | Non | RÉGULIER | TITULAIRE / MANAGER |
Prénom | Corde | Oui | Non | N/D | Max |
Nom de famille | Corde | Oui | Non | N/D | Domi |