@@ -27,6 +27,10 @@ public class BoxSignRequestSigner extends BoxJSONObject {
2727 private String declinedRedirectUrl ;
2828 private String iframeableEmedUrl ;
2929 private String signerGroupId ;
30+ private Boolean loginRequired ;
31+ private String password ;
32+ private Boolean suppressNotifications ;
33+ private String verificationPhoneNumber ;
3034 private BoxAPIConnection api ;
3135
3236 /**
@@ -295,6 +299,93 @@ public BoxSignRequestSigner setSignerGroupId(String signerGroupId) {
295299 return this ;
296300 }
297301
302+ /**
303+ * If set to true, signer will need to login to a Box account before signing the request.
304+ * If the signer does not have an existing account, they will have an option to create a free Box account.
305+ *
306+ * @return true if login is required for the signer, otherwise false.
307+ */
308+ public Boolean getLoginRequired () {
309+ return this .loginRequired ;
310+ }
311+
312+ /**
313+ * If set to true, signer will need to login to a Box account before signing the request.
314+ * If the signer does not have an existing account, they will have an option to create a free Box account.
315+ *
316+ * @param loginRequired indicates if login is required for the signer.
317+ * @return this BoxSignRequestSigner object for chaining.
318+ */
319+ public BoxSignRequestSigner setLoginRequired (Boolean loginRequired ) {
320+ this .loginRequired = loginRequired ;
321+ return this ;
322+ }
323+
324+ /**
325+ * If set, the signer is required to enter the password before they are able to sign a document.
326+ * This field is write only.
327+ *
328+ * @return password required for the signer to access the sign request.
329+ */
330+ public String getPassword () {
331+ return this .password ;
332+ }
333+
334+ /**
335+ * Sets the password required for the signer to access the sign request.
336+ *
337+ * @param password required for the signer to access the sign request.
338+ * @return this BoxSignRequestSigner object for chaining.
339+ */
340+ public BoxSignRequestSigner setPassword (String password ) {
341+ this .password = password ;
342+ return this ;
343+ }
344+
345+ /**
346+ * Gets the flag that suppresses email notifications for the signer.
347+ *
348+ * @return true if email notifications are suppressed for the signer, otherwise false.
349+ */
350+ public Boolean getSuppressNotifications () {
351+ return this .suppressNotifications ;
352+ }
353+
354+ /**
355+ * Sets the flag that suppresses email notifications for the signer.
356+ *
357+ * @param suppressNotifications indicates if email notifications are suppressed for the signer.
358+ * @return this BoxSignRequestSigner object for chaining.
359+ */
360+ public BoxSignRequestSigner setSuppressNotifications (Boolean suppressNotifications ) {
361+ this .suppressNotifications = suppressNotifications ;
362+ return this ;
363+ }
364+
365+ /**
366+ * Gets the phone number used for verification.
367+ * If set, this phone number is be used to verify the signer via two factor authentication
368+ * before they are able to sign the document.
369+ *
370+ * @return phone number used for verification.
371+ */
372+ public String getVerificationPhoneNumber () {
373+ return this .verificationPhoneNumber ;
374+ }
375+
376+ /**
377+ * Sets the phone number used for verification.
378+ * If set, this phone number is be used to verify the signer via two factor authentication
379+ * before they are able to sign the document.
380+ *
381+ * @param verificationPhoneNumber phone number used for verification.
382+ * @return this BoxSignRequestSigner object for chaining.
383+ */
384+ public BoxSignRequestSigner setVerificationPhoneNumber (String verificationPhoneNumber ) {
385+ this .verificationPhoneNumber = verificationPhoneNumber ;
386+ return this ;
387+ }
388+
298389 /**
299390 * {@inheritDoc}
300391 */
@@ -352,6 +443,14 @@ void parseJSONMember(JsonObject.Member member) {
352443 case "signer_group_id" :
353444 this .signerGroupId = value .asString ();
354445 break ;
446+ case "login_required" :
447+ this .loginRequired = value .asBoolean ();
448+ break ;
449+ case "suppress_notifications" :
450+ this .suppressNotifications = value .asBoolean ();
451+ break ;
452+ case "verification_phone_number" :
453+ this .verificationPhoneNumber = value .asString ();
355454 default :
356455 return ;
357456 }
@@ -375,6 +474,10 @@ public JsonObject getJSONObject() {
375474 JsonUtils .addIfNotNull (jsonObj , "redirect_url" , this .redirectUrl );
376475 JsonUtils .addIfNotNull (jsonObj , "declined_redirect_url" , this .declinedRedirectUrl );
377476 JsonUtils .addIfNotNull (jsonObj , "signer_group_id" , this .signerGroupId );
477+ JsonUtils .addIfNotNull (jsonObj , "login_required" , this .loginRequired );
478+ JsonUtils .addIfNotNull (jsonObj , "password" , this .password );
479+ JsonUtils .addIfNotNull (jsonObj , "suppress_notifications" , this .suppressNotifications );
480+ JsonUtils .addIfNotNull (jsonObj , "verification_phone_number" , this .verificationPhoneNumber );
378481 return jsonObj ;
379482 }
380483
@@ -554,6 +657,7 @@ static BoxSignRequestInputContentType fromJSONString(String jsonValue) {
554657 public class BoxSignerDecision extends BoxJSONObject {
555658 private BoxSignRequestSignerDecisionType type ;
556659 private Date finalizedAt ;
660+ private String additionalInfo ;
557661
558662 /**
559663 * Constructs a BoxSignerDecision object using an already parsed JSON object.
@@ -582,6 +686,15 @@ public Date getFinalizedAt() {
582686 return this .finalizedAt ;
583687 }
584688
689+ /**
690+ * Gets the additional info about the decision, such as the decline reason from the signer.
691+ *
692+ * @return additional information about the decision.
693+ */
694+ public String getAdditionalInfo () {
695+ return this .additionalInfo ;
696+ }
697+
585698 /**
586699 * {@inheritDoc}
587700 */
@@ -594,6 +707,8 @@ void parseJSONMember(JsonObject.Member member) {
594707 this .type = BoxSignRequestSignerDecisionType .fromJSONString (value .asString ());
595708 } else if (memberName .equals ("finalized_at" )) {
596709 this .finalizedAt = BoxDateFormat .parse (value .asString ());
710+ } else if (memberName .equals ("additional_info" )) {
711+ this .additionalInfo = value .asString ();
597712 }
598713 } catch (Exception e ) {
599714 throw new BoxDeserializationException (memberName , value .toString (), e );
0 commit comments