Skip to content

Commit f231bd1

Browse files
Merge pull request #8 from signnow/v3.5.0
Release v3.5.0
2 parents 2af5c9b + 9686e40 commit f231bd1

File tree

24 files changed

+1174
-7
lines changed

24 files changed

+1174
-7
lines changed
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
import com.fasterxml.jackson.core.JsonProcessingException;
2+
import com.fasterxml.jackson.databind.ObjectMapper;
3+
import com.signnow.api.documentgroup.request.DocumentGroupRecipientsGetRequest;
4+
import com.signnow.api.documentgroup.request.DocumentGroupRecipientsPutRequest;
5+
import com.signnow.api.documentgroup.request.data.CcCollection;
6+
import com.signnow.api.documentgroup.request.data.recipient.Recipient;
7+
import com.signnow.api.documentgroup.request.data.recipient.RecipientCollection;
8+
import com.signnow.api.documentgroup.response.DocumentGroupRecipientsGetResponse;
9+
import com.signnow.api.documentgroup.response.DocumentGroupRecipientsPutResponse;
10+
import com.signnow.core.ApiClient;
11+
import com.signnow.core.exception.SignNowApiException;
12+
import com.signnow.core.factory.SdkFactory;
13+
14+
public class DocumentGroupRecipientsExample {
15+
public static void main(String[] args) {
16+
// Set your actual input data here
17+
// Note: following values are dummy, just for example
18+
// ----------------------------------------------------
19+
// if it is not specified here, a new Bearer token will be created automatically
20+
String bearerToken = "";
21+
String documentGroupId = "5d66ca4accdd4ab28f8b2c71001093b5cb3bcb8a";
22+
23+
try {
24+
ApiClient client = SdkFactory.createApiClientWithBearerToken(bearerToken);
25+
26+
// Get recipient
27+
DocumentGroupRecipientsGetRequest request = new DocumentGroupRecipientsGetRequest()
28+
.withDocumentGroupId(documentGroupId);
29+
DocumentGroupRecipientsGetResponse response = (DocumentGroupRecipientsGetResponse) client.send(request)
30+
.getResponse();
31+
32+
// Convert to request model and replace email
33+
RecipientCollection recipientCollection = new RecipientCollection();
34+
for (com.signnow.api.documentgroup.response.data.data.Recipient responseRecipient : response.getData()
35+
.getRecipients()) {
36+
Recipient reqRecipient = convertRecipient(responseRecipient);
37+
if (reqRecipient == null) continue;
38+
39+
System.out.println("Original name: " + responseRecipient.getName());
40+
System.out.println("Original email: " + responseRecipient.getEmail());
41+
42+
if (reqRecipient.getName().equals("Recipient 1")) {
43+
// Replace email
44+
Recipient updated = new Recipient(
45+
reqRecipient.getName(),
46+
"new.email@example.com",
47+
reqRecipient.getOrder(),
48+
reqRecipient.getDocuments(),
49+
reqRecipient.getEmailGroup(),
50+
reqRecipient.getAttributes());
51+
recipientCollection.add(updated);
52+
} else {
53+
recipientCollection.add(reqRecipient);
54+
}
55+
}
56+
57+
// Send PUT request
58+
DocumentGroupRecipientsPutRequest putRequest = new DocumentGroupRecipientsPutRequest(
59+
recipientCollection,
60+
new CcCollection()).withDocumentGroupId(documentGroupId);
61+
62+
DocumentGroupRecipientsPutResponse putResponse = (DocumentGroupRecipientsPutResponse) client.send(putRequest)
63+
.getResponse();
64+
System.out.println("Updated email: " + putResponse.getData().getRecipients().get(0).getEmail());
65+
66+
} catch (SignNowApiException e) {
67+
System.out.println("ERROR: " + e.getMessage());
68+
}
69+
}
70+
71+
private static Recipient convertRecipient(
72+
com.signnow.api.documentgroup.response.data.data.Recipient responseRecipient) {
73+
ObjectMapper mapper = new ObjectMapper();
74+
try {
75+
String json = mapper.writeValueAsString(responseRecipient);
76+
Recipient recipient = mapper.readValue(json, Recipient.class);
77+
78+
return new Recipient(
79+
recipient.getName(),
80+
recipient.getEmail(),
81+
recipient.getOrder(),
82+
recipient.getDocuments(),
83+
recipient.getEmailGroup(),
84+
recipient.getAttributes());
85+
86+
} catch (JsonProcessingException e) {
87+
e.printStackTrace();
88+
return null;
89+
}
90+
}
91+
}

examples/EmbeddedSendingDocumentGroupExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public static void main(String[] args) {
4949

5050
/** Create an embedded sending link for the created document group. */
5151
DocumentGroupEmbeddedSendingLinkPostRequest embeddedSendingRequest =
52-
new DocumentGroupEmbeddedSendingLinkPostRequest("https://example.com", 15, "blank");
52+
new DocumentGroupEmbeddedSendingLinkPostRequest("https://example.com", 15, "self", "manage");
5353
embeddedSendingRequest.withDocumentGroupId(groupId);
5454
DocumentGroupEmbeddedSendingLinkPostResponse embeddedSendingResponse =
5555
(DocumentGroupEmbeddedSendingLinkPostResponse)
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
/*
2+
* This file is a part of signNow SDK API client.
3+
*
4+
* (с) Copyright © 2011-present airSlate Inc. (https://www.signnow.com)
5+
*
6+
* For more details on copyright, see LICENSE.md file
7+
* that was distributed with this source code.
8+
*/
9+
10+
package com.signnow.api.documentgroup.request;
11+
12+
import com.signnow.core.request.ApiEndpoint;
13+
import com.signnow.core.request.RequestInterface;
14+
import com.signnow.api.documentgroup.request.data.recipient.RecipientCollection;
15+
import com.signnow.api.documentgroup.request.data.CcCollection;
16+
import java.util.HashMap;
17+
import java.util.Map;
18+
19+
/**
20+
* This class represents a request to update document group recipients.
21+
* It implements the RequestInterface with Object type.
22+
*/
23+
@ApiEndpoint(
24+
name = "updateDocumentGroupRecipients",
25+
url = "/v2/document-groups/{document_group_id}/recipients",
26+
method = "put",
27+
auth = "bearer",
28+
namespace = "documentGroup",
29+
entity = "documentGroupRecipients",
30+
type = "application/json")
31+
public final class DocumentGroupRecipientsPutRequest implements RequestInterface<Object> {
32+
33+
private final RecipientCollection recipients;
34+
35+
private final CcCollection cc;
36+
37+
private final HashMap<String, String> uriParams = new HashMap<>();
38+
39+
/**
40+
* Constructs a new DocumentGroupRecipientsPutRequest with the specified recipients and cc.
41+
*
42+
* @param recipients the collection of recipients
43+
* @param cc the collection of cc
44+
*/
45+
public DocumentGroupRecipientsPutRequest(RecipientCollection recipients, CcCollection cc) {
46+
this.recipients = recipients;
47+
this.cc = cc;
48+
}
49+
50+
/**
51+
* Returns the collection of recipients.
52+
*
53+
* @return the collection of recipients
54+
*/
55+
public RecipientCollection getRecipients() {
56+
return this.recipients;
57+
}
58+
59+
/**
60+
* Returns the collection of cc.
61+
*
62+
* @return the collection of cc
63+
*/
64+
public CcCollection getCc() {
65+
return this.cc;
66+
}
67+
68+
/**
69+
* Sets the document group ID in the URI parameters.
70+
*
71+
* @param documentGroupId the document group ID
72+
* @return the current instance of DocumentGroupRecipientsPutRequest
73+
*/
74+
public DocumentGroupRecipientsPutRequest withDocumentGroupId(String documentGroupId) {
75+
this.uriParams.put("document_group_id", documentGroupId);
76+
return this;
77+
}
78+
79+
/**
80+
* Returns a HashMap containing the URI parameters as key-value pairs.
81+
*
82+
* @return a HashMap containing the URI parameters
83+
*/
84+
@Override
85+
public HashMap<String, String> uriParams() {
86+
return this.uriParams;
87+
}
88+
89+
/**
90+
* Returns a Map with the payload of the request.
91+
*
92+
* @return a Map with the payload of the request
93+
*/
94+
@Override
95+
public Map<String, Object> payload() {
96+
Map<String, Object> map = new HashMap<>();
97+
map.put("recipients", this.getRecipients().toArray());
98+
map.put("cc", this.getCc().toArray());
99+
return map;
100+
}
101+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
* This file is a part of signNow SDK API client.
3+
*
4+
* (с) Copyright © 2011-present airSlate Inc. (https://www.signnow.com)
5+
*
6+
* For more details on copyright, see LICENSE.md file
7+
* that was distributed with this source code.
8+
*/
9+
10+
package com.signnow.api.documentgroup.request.data;
11+
12+
import com.signnow.core.collection.StringCollection;
13+
14+
/**
15+
* Represents a collection of strings for use in the signNow SDK API client.
16+
* This class extends the functionality of the StringCollection class.
17+
*/
18+
public class CcCollection extends StringCollection {}

0 commit comments

Comments
 (0)