Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions examples/DocumentGroupRecipientsExample.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.signnow.api.documentgroup.request.DocumentGroupRecipientsGetRequest;
import com.signnow.api.documentgroup.request.DocumentGroupRecipientsPutRequest;
import com.signnow.api.documentgroup.request.data.CcCollection;
import com.signnow.api.documentgroup.request.data.recipient.Recipient;
import com.signnow.api.documentgroup.request.data.recipient.RecipientCollection;
import com.signnow.api.documentgroup.response.DocumentGroupRecipientsGetResponse;
import com.signnow.api.documentgroup.response.DocumentGroupRecipientsPutResponse;
import com.signnow.core.ApiClient;
import com.signnow.core.exception.SignNowApiException;
import com.signnow.core.factory.SdkFactory;

public class DocumentGroupRecipientsExample {
public static void main(String[] args) {
// Set your actual input data here
// Note: following values are dummy, just for example
// ----------------------------------------------------
// if it is not specified here, a new Bearer token will be created automatically
String bearerToken = "";
String documentGroupId = "5d66ca4accdd4ab28f8b2c71001093b5cb3bcb8a";

try {
ApiClient client = SdkFactory.createApiClientWithBearerToken(bearerToken);

// Get recipient
DocumentGroupRecipientsGetRequest request = new DocumentGroupRecipientsGetRequest()
.withDocumentGroupId(documentGroupId);
DocumentGroupRecipientsGetResponse response = (DocumentGroupRecipientsGetResponse) client.send(request)
.getResponse();

// Convert to request model and replace email
RecipientCollection recipientCollection = new RecipientCollection();
for (com.signnow.api.documentgroup.response.data.data.Recipient responseRecipient : response.getData()
.getRecipients()) {
Recipient reqRecipient = convertRecipient(responseRecipient);
if (reqRecipient == null) continue;

System.out.println("Original name: " + responseRecipient.getName());
System.out.println("Original email: " + responseRecipient.getEmail());

if (reqRecipient.getName().equals("Recipient 1")) {
// Replace email
Recipient updated = new Recipient(
reqRecipient.getName(),
"new.email@example.com",
reqRecipient.getOrder(),
reqRecipient.getDocuments(),
reqRecipient.getEmailGroup(),
reqRecipient.getAttributes());
recipientCollection.add(updated);
} else {
recipientCollection.add(reqRecipient);
}
}

// Send PUT request
DocumentGroupRecipientsPutRequest putRequest = new DocumentGroupRecipientsPutRequest(
recipientCollection,
new CcCollection()).withDocumentGroupId(documentGroupId);

DocumentGroupRecipientsPutResponse putResponse = (DocumentGroupRecipientsPutResponse) client.send(putRequest)
.getResponse();
System.out.println("Updated email: " + putResponse.getData().getRecipients().get(0).getEmail());

} catch (SignNowApiException e) {
System.out.println("ERROR: " + e.getMessage());
}
}

private static Recipient convertRecipient(
com.signnow.api.documentgroup.response.data.data.Recipient responseRecipient) {
ObjectMapper mapper = new ObjectMapper();
try {
String json = mapper.writeValueAsString(responseRecipient);
Recipient recipient = mapper.readValue(json, Recipient.class);

return new Recipient(
recipient.getName(),
recipient.getEmail(),
recipient.getOrder(),
recipient.getDocuments(),
recipient.getEmailGroup(),
recipient.getAttributes());

} catch (JsonProcessingException e) {
e.printStackTrace();
return null;
}
}
}
2 changes: 1 addition & 1 deletion examples/EmbeddedSendingDocumentGroupExample.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public static void main(String[] args) {

/** Create an embedded sending link for the created document group. */
DocumentGroupEmbeddedSendingLinkPostRequest embeddedSendingRequest =
new DocumentGroupEmbeddedSendingLinkPostRequest("https://example.com", 15, "blank");
new DocumentGroupEmbeddedSendingLinkPostRequest("https://example.com", 15, "self", "manage");
embeddedSendingRequest.withDocumentGroupId(groupId);
DocumentGroupEmbeddedSendingLinkPostResponse embeddedSendingResponse =
(DocumentGroupEmbeddedSendingLinkPostResponse)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
/*
* This file is a part of signNow SDK API client.
*
* (с) Copyright © 2011-present airSlate Inc. (https://www.signnow.com)
*
* For more details on copyright, see LICENSE.md file
* that was distributed with this source code.
*/

package com.signnow.api.documentgroup.request;

import com.signnow.core.request.ApiEndpoint;
import com.signnow.core.request.RequestInterface;
import com.signnow.api.documentgroup.request.data.recipient.RecipientCollection;
import com.signnow.api.documentgroup.request.data.CcCollection;
import java.util.HashMap;
import java.util.Map;

/**
* This class represents a request to update document group recipients.
* It implements the RequestInterface with Object type.
*/
@ApiEndpoint(
name = "updateDocumentGroupRecipients",
url = "/v2/document-groups/{document_group_id}/recipients",
method = "put",
auth = "bearer",
namespace = "documentGroup",
entity = "documentGroupRecipients",
type = "application/json")
public final class DocumentGroupRecipientsPutRequest implements RequestInterface<Object> {

private final RecipientCollection recipients;

private final CcCollection cc;

private final HashMap<String, String> uriParams = new HashMap<>();

/**
* Constructs a new DocumentGroupRecipientsPutRequest with the specified recipients and cc.
*
* @param recipients the collection of recipients
* @param cc the collection of cc
*/
public DocumentGroupRecipientsPutRequest(RecipientCollection recipients, CcCollection cc) {
this.recipients = recipients;
this.cc = cc;
}

/**
* Returns the collection of recipients.
*
* @return the collection of recipients
*/
public RecipientCollection getRecipients() {
return this.recipients;
}

/**
* Returns the collection of cc.
*
* @return the collection of cc
*/
public CcCollection getCc() {
return this.cc;
}

/**
* Sets the document group ID in the URI parameters.
*
* @param documentGroupId the document group ID
* @return the current instance of DocumentGroupRecipientsPutRequest
*/
public DocumentGroupRecipientsPutRequest withDocumentGroupId(String documentGroupId) {
this.uriParams.put("document_group_id", documentGroupId);
return this;
}

/**
* Returns a HashMap containing the URI parameters as key-value pairs.
*
* @return a HashMap containing the URI parameters
*/
@Override
public HashMap<String, String> uriParams() {
return this.uriParams;
}

/**
* Returns a Map with the payload of the request.
*
* @return a Map with the payload of the request
*/
@Override
public Map<String, Object> payload() {
Map<String, Object> map = new HashMap<>();
map.put("recipients", this.getRecipients().toArray());
map.put("cc", this.getCc().toArray());
return map;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
* This file is a part of signNow SDK API client.
*
* (с) Copyright © 2011-present airSlate Inc. (https://www.signnow.com)
*
* For more details on copyright, see LICENSE.md file
* that was distributed with this source code.
*/

package com.signnow.api.documentgroup.request.data;

import com.signnow.core.collection.StringCollection;

/**
* Represents a collection of strings for use in the signNow SDK API client.
* This class extends the functionality of the StringCollection class.
*/
public class CcCollection extends StringCollection {}
Loading