dropbox-sign 1.2.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +12 -4
  4. data/VERSION +1 -1
  5. data/docs/BulkSendJobGetResponseSignatureRequests.md +1 -0
  6. data/docs/EventCallbackRequestEvent.md +1 -1
  7. data/docs/SignatureRequestApi.md +419 -3
  8. data/docs/SignatureRequestBulkCreateEmbeddedWithTemplateRequest.md +1 -1
  9. data/docs/SignatureRequestBulkSendWithTemplateRequest.md +1 -1
  10. data/docs/SignatureRequestEditEmbeddedRequest.md +33 -0
  11. data/docs/SignatureRequestEditEmbeddedWithTemplateRequest.md +24 -0
  12. data/docs/SignatureRequestEditRequest.md +35 -0
  13. data/docs/SignatureRequestEditWithTemplateRequest.md +26 -0
  14. data/docs/SignatureRequestResponse.md +2 -0
  15. data/docs/SubFormFieldsPerDocumentDateSigned.md +1 -1
  16. data/docs/SubFormFieldsPerDocumentDropdown.md +1 -1
  17. data/docs/SubFormFieldsPerDocumentHyperlink.md +1 -1
  18. data/docs/SubFormFieldsPerDocumentText.md +1 -1
  19. data/docs/SubFormFieldsPerDocumentTextMerge.md +1 -1
  20. data/docs/SubSignatureRequestSigner.md +1 -1
  21. data/docs/SubSignatureRequestTemplateSigner.md +1 -1
  22. data/docs/TemplateApi.md +4 -3
  23. data/docs/TemplateCreateResponse.md +1 -1
  24. data/docs/UnclaimedDraftCreateEmbeddedWithTemplateRequest.md +1 -0
  25. data/examples/SignatureRequestEdit.rb +58 -0
  26. data/examples/SignatureRequestEditEmbedded.rb +48 -0
  27. data/examples/SignatureRequestEditEmbeddedWithTemplate.rb +41 -0
  28. data/examples/SignatureRequestEditWithTemplate.rb +52 -0
  29. data/lib/dropbox-sign/api/api_app_api.rb +1 -1
  30. data/lib/dropbox-sign/api/signature_request_api.rb +463 -0
  31. data/lib/dropbox-sign/api/team_api.rb +1 -1
  32. data/lib/dropbox-sign/api/template_api.rb +3 -0
  33. data/lib/dropbox-sign/event_callback_helper.rb +1 -1
  34. data/lib/dropbox-sign/models/bulk_send_job_get_response_signature_requests.rb +13 -1
  35. data/lib/dropbox-sign/models/event_callback_request_event.rb +2 -7
  36. data/lib/dropbox-sign/models/signature_request_bulk_create_embedded_with_template_request.rb +1 -1
  37. data/lib/dropbox-sign/models/signature_request_bulk_send_with_template_request.rb +1 -1
  38. data/lib/dropbox-sign/models/signature_request_edit_embedded_request.rb +593 -0
  39. data/lib/dropbox-sign/models/signature_request_edit_embedded_with_template_request.rb +490 -0
  40. data/lib/dropbox-sign/models/signature_request_edit_request.rb +612 -0
  41. data/lib/dropbox-sign/models/signature_request_edit_with_template_request.rb +509 -0
  42. data/lib/dropbox-sign/models/signature_request_response.rb +28 -4
  43. data/lib/dropbox-sign/models/sub_form_fields_per_document_date_signed.rb +2 -0
  44. data/lib/dropbox-sign/models/sub_form_fields_per_document_dropdown.rb +2 -0
  45. data/lib/dropbox-sign/models/sub_form_fields_per_document_hyperlink.rb +2 -0
  46. data/lib/dropbox-sign/models/sub_form_fields_per_document_text.rb +2 -0
  47. data/lib/dropbox-sign/models/sub_form_fields_per_document_text_merge.rb +2 -0
  48. data/lib/dropbox-sign/models/sub_signature_request_signer.rb +1 -1
  49. data/lib/dropbox-sign/models/sub_signature_request_template_signer.rb +1 -1
  50. data/lib/dropbox-sign/models/template_create_response.rb +2 -2
  51. data/lib/dropbox-sign/models/unclaimed_draft_create_embedded_with_template_request.rb +17 -4
  52. data/lib/dropbox-sign/version.rb +1 -1
  53. data/lib/dropbox-sign.rb +4 -0
  54. data/openapi-config.yaml +1 -1
  55. data/openapi-sdk.yaml +2380 -1305
  56. data/spec/event_callback_helper_spec.rb +17 -3
  57. data/templates/event_callback_helper.mustache +1 -1
  58. data/test_fixtures/EventCallbackHelper_AccountCallbacks.json +82 -0
  59. data/test_fixtures/{EventCallbackHelper.json → EventCallbackHelper_AppCallbacks.json} +8 -4
  60. data/test_fixtures/SignatureRequestSendRequest.json +12 -6
  61. data/test_fixtures/SubFormFieldsPerDocument.json +8 -4
  62. data/test_fixtures/UnclaimedDraftCreateEmbeddedWithTemplateRequest.json +2 -1
  63. metadata +21 -8
@@ -0,0 +1,509 @@
1
+ =begin
2
+ #Dropbox Sign API
3
+
4
+ #Dropbox Sign v3 API
5
+
6
+ The version of the OpenAPI document: 3.0.0
7
+ Contact: apisupport@hellosign.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.3.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Dropbox
17
+ end
18
+
19
+ module Dropbox::Sign
20
+ class SignatureRequestEditWithTemplateRequest
21
+ # Use `template_ids` to create a SignatureRequest from one or more templates, in the order in which the template will be used.
22
+ # @return [Array<String>]
23
+ attr_accessor :template_ids
24
+
25
+ # Add Signers to your Templated-based Signature Request.
26
+ # @return [Array<SubSignatureRequestTemplateSigner>]
27
+ attr_accessor :signers
28
+
29
+ # Allows signers to decline to sign a document if `true`. Defaults to `false`.
30
+ # @return [Boolean]
31
+ attr_accessor :allow_decline
32
+
33
+ # Add CC email recipients. Required when a CC role exists for the Template.
34
+ # @return [Array<SubCC>]
35
+ attr_accessor :ccs
36
+
37
+ # Client id of the app to associate with the signature request. Used to apply the branding and callback url defined for the app.
38
+ # @return [String]
39
+ attr_accessor :client_id
40
+
41
+ # An array defining values and options for custom fields. Required when a custom field exists in the Template.
42
+ # @return [Array<SubCustomField>]
43
+ attr_accessor :custom_fields
44
+
45
+ # Use `files[]` to indicate the uploaded file(s) to send for signature. This endpoint requires either **files** or **file_urls[]**, but not both.
46
+ # @return [Array<File>]
47
+ attr_accessor :files
48
+
49
+ # Use `file_urls[]` to have Dropbox Sign download the file(s) to send for signature. This endpoint requires either **files** or **file_urls[]**, but not both.
50
+ # @return [Array<String>]
51
+ attr_accessor :file_urls
52
+
53
+ # Send with a value of `true` if you wish to enable [Qualified Electronic Signatures](https://www.hellosign.com/features/qualified-electronic-signatures) (QES), which requires a face-to-face call to verify the signer's identity.<br> **Note**: QES is only available on the Premium API plan as an add-on purchase. Cannot be used in `test_mode`. Only works on requests with one signer.
54
+ # @return [Boolean]
55
+ attr_accessor :is_qualified_signature
56
+
57
+ # Send with a value of `true` if you wish to enable [electronic identification (eID)](https://www.hellosign.com/features/electronic-id), which requires the signer to verify their identity with an eID provider to sign a document.<br> **Note**: eID is only available on the Premium API plan. Cannot be used in `test_mode`. Only works on requests with one signer.
58
+ # @return [Boolean]
59
+ attr_accessor :is_eid
60
+
61
+ # The custom message in the email that will be sent to the signers.
62
+ # @return [String]
63
+ attr_accessor :message
64
+
65
+ # Key-value data that should be attached to the signature request. This metadata is included in all API responses and events involving the signature request. For example, use the metadata field to store a signer's order number for look up when receiving events for the signature request. Each request can include up to 10 metadata keys (or 50 nested metadata keys), with key names up to 40 characters long and values up to 1000 characters long.
66
+ # @return [Hash<String, Object>]
67
+ attr_accessor :metadata
68
+
69
+ # @return [SubSigningOptions]
70
+ attr_accessor :signing_options
71
+
72
+ # The URL you want signers redirected to after they successfully sign.
73
+ # @return [String]
74
+ attr_accessor :signing_redirect_url
75
+
76
+ # The subject in the email that will be sent to the signers.
77
+ # @return [String]
78
+ attr_accessor :subject
79
+
80
+ # Whether this is a test, the signature request will not be legally binding if set to `true`. Defaults to `false`.
81
+ # @return [Boolean]
82
+ attr_accessor :test_mode
83
+
84
+ # The title you want to assign to the SignatureRequest.
85
+ # @return [String]
86
+ attr_accessor :title
87
+
88
+ # Attribute mapping from ruby-style variable name to JSON key.
89
+ def self.attribute_map
90
+ {
91
+ :'template_ids' => :'template_ids',
92
+ :'signers' => :'signers',
93
+ :'allow_decline' => :'allow_decline',
94
+ :'ccs' => :'ccs',
95
+ :'client_id' => :'client_id',
96
+ :'custom_fields' => :'custom_fields',
97
+ :'files' => :'files',
98
+ :'file_urls' => :'file_urls',
99
+ :'is_qualified_signature' => :'is_qualified_signature',
100
+ :'is_eid' => :'is_eid',
101
+ :'message' => :'message',
102
+ :'metadata' => :'metadata',
103
+ :'signing_options' => :'signing_options',
104
+ :'signing_redirect_url' => :'signing_redirect_url',
105
+ :'subject' => :'subject',
106
+ :'test_mode' => :'test_mode',
107
+ :'title' => :'title'
108
+ }
109
+ end
110
+
111
+ # Returns all the JSON keys this model knows about
112
+ def self.acceptable_attributes
113
+ attribute_map.values
114
+ end
115
+
116
+ # Returns attribute map of this model + parent
117
+ def self.merged_attributes
118
+ self.attribute_map
119
+ end
120
+
121
+ # Attribute type mapping.
122
+ def self.openapi_types
123
+ {
124
+ :'template_ids' => :'Array<String>',
125
+ :'signers' => :'Array<SubSignatureRequestTemplateSigner>',
126
+ :'allow_decline' => :'Boolean',
127
+ :'ccs' => :'Array<SubCC>',
128
+ :'client_id' => :'String',
129
+ :'custom_fields' => :'Array<SubCustomField>',
130
+ :'files' => :'Array<File>',
131
+ :'file_urls' => :'Array<String>',
132
+ :'is_qualified_signature' => :'Boolean',
133
+ :'is_eid' => :'Boolean',
134
+ :'message' => :'String',
135
+ :'metadata' => :'Hash<String, Object>',
136
+ :'signing_options' => :'SubSigningOptions',
137
+ :'signing_redirect_url' => :'String',
138
+ :'subject' => :'String',
139
+ :'test_mode' => :'Boolean',
140
+ :'title' => :'String'
141
+ }
142
+ end
143
+
144
+ # Attribute type mapping of this model + parent
145
+ def self.merged_types
146
+ self.openapi_types
147
+ end
148
+
149
+ # List of attributes with nullable: true
150
+ def self.openapi_nullable
151
+ Set.new([
152
+ ])
153
+ end
154
+
155
+ # Returns list of attributes with nullable: true of this model + parent
156
+ def self.merged_nullable
157
+ self.openapi_nullable
158
+ end
159
+
160
+ # Attempt to instantiate and hydrate a new instance of this class
161
+ # @param [Object] data Data to be converted
162
+ # @return [SignatureRequestEditWithTemplateRequest]
163
+ def self.init(data)
164
+ return ApiClient.default.convert_to_type(
165
+ data,
166
+ "SignatureRequestEditWithTemplateRequest"
167
+ ) || SignatureRequestEditWithTemplateRequest.new
168
+ end
169
+
170
+ # Initializes the object
171
+ # @param [Hash] attributes Model attributes in the form of hash
172
+ def initialize(attributes = {})
173
+ if (!attributes.is_a?(Hash))
174
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Dropbox::Sign::SignatureRequestEditWithTemplateRequest` initialize method"
175
+ end
176
+
177
+ # check to see if the attribute exists and convert string to symbol for hash key
178
+ attributes = attributes.each_with_object({}) { |(k, v), h|
179
+ if (!self.class.merged_attributes.key?(k.to_sym))
180
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Dropbox::Sign::SignatureRequestEditWithTemplateRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
181
+ end
182
+ h[k.to_sym] = v
183
+ }
184
+
185
+ if attributes.key?(:'template_ids')
186
+ if (value = attributes[:'template_ids']).is_a?(Array)
187
+ self.template_ids = value
188
+ end
189
+ end
190
+
191
+ if attributes.key?(:'signers')
192
+ if (value = attributes[:'signers']).is_a?(Array)
193
+ self.signers = value
194
+ end
195
+ end
196
+
197
+ if attributes.key?(:'allow_decline')
198
+ self.allow_decline = attributes[:'allow_decline']
199
+ else
200
+ self.allow_decline = false
201
+ end
202
+
203
+ if attributes.key?(:'ccs')
204
+ if (value = attributes[:'ccs']).is_a?(Array)
205
+ self.ccs = value
206
+ end
207
+ end
208
+
209
+ if attributes.key?(:'client_id')
210
+ self.client_id = attributes[:'client_id']
211
+ end
212
+
213
+ if attributes.key?(:'custom_fields')
214
+ if (value = attributes[:'custom_fields']).is_a?(Array)
215
+ self.custom_fields = value
216
+ end
217
+ end
218
+
219
+ if attributes.key?(:'files')
220
+ if (value = attributes[:'files']).is_a?(Array)
221
+ self.files = value
222
+ end
223
+ end
224
+
225
+ if attributes.key?(:'file_urls')
226
+ if (value = attributes[:'file_urls']).is_a?(Array)
227
+ self.file_urls = value
228
+ end
229
+ end
230
+
231
+ if attributes.key?(:'is_qualified_signature')
232
+ self.is_qualified_signature = attributes[:'is_qualified_signature']
233
+ else
234
+ self.is_qualified_signature = false
235
+ end
236
+
237
+ if attributes.key?(:'is_eid')
238
+ self.is_eid = attributes[:'is_eid']
239
+ else
240
+ self.is_eid = false
241
+ end
242
+
243
+ if attributes.key?(:'message')
244
+ self.message = attributes[:'message']
245
+ end
246
+
247
+ if attributes.key?(:'metadata')
248
+ if (value = attributes[:'metadata']).is_a?(Hash)
249
+ self.metadata = value
250
+ end
251
+ end
252
+
253
+ if attributes.key?(:'signing_options')
254
+ self.signing_options = attributes[:'signing_options']
255
+ end
256
+
257
+ if attributes.key?(:'signing_redirect_url')
258
+ self.signing_redirect_url = attributes[:'signing_redirect_url']
259
+ end
260
+
261
+ if attributes.key?(:'subject')
262
+ self.subject = attributes[:'subject']
263
+ end
264
+
265
+ if attributes.key?(:'test_mode')
266
+ self.test_mode = attributes[:'test_mode']
267
+ else
268
+ self.test_mode = false
269
+ end
270
+
271
+ if attributes.key?(:'title')
272
+ self.title = attributes[:'title']
273
+ end
274
+ end
275
+
276
+ # Show invalid properties with the reasons. Usually used together with valid?
277
+ # @return Array for valid properties with the reasons
278
+ def list_invalid_properties
279
+ invalid_properties = Array.new
280
+ if @template_ids.nil?
281
+ invalid_properties.push('invalid value for "template_ids", template_ids cannot be nil.')
282
+ end
283
+
284
+ if @signers.nil?
285
+ invalid_properties.push('invalid value for "signers", signers cannot be nil.')
286
+ end
287
+
288
+ if !@message.nil? && @message.to_s.length > 5000
289
+ invalid_properties.push('invalid value for "message", the character length must be smaller than or equal to 5000.')
290
+ end
291
+
292
+ if !@subject.nil? && @subject.to_s.length > 255
293
+ invalid_properties.push('invalid value for "subject", the character length must be smaller than or equal to 255.')
294
+ end
295
+
296
+ if !@title.nil? && @title.to_s.length > 255
297
+ invalid_properties.push('invalid value for "title", the character length must be smaller than or equal to 255.')
298
+ end
299
+
300
+ invalid_properties
301
+ end
302
+
303
+ # Check to see if the all the properties in the model are valid
304
+ # @return true if the model is valid
305
+ def valid?
306
+ return false if @template_ids.nil?
307
+ return false if @signers.nil?
308
+ return false if !@message.nil? && @message.to_s.length > 5000
309
+ return false if !@subject.nil? && @subject.to_s.length > 255
310
+ return false if !@title.nil? && @title.to_s.length > 255
311
+ true
312
+ end
313
+
314
+ # Custom attribute writer method with validation
315
+ # @param [Object] message Value to be assigned
316
+ def message=(message)
317
+ if !message.nil? && message.to_s.length > 5000
318
+ fail ArgumentError, 'invalid value for "message", the character length must be smaller than or equal to 5000.'
319
+ end
320
+
321
+ @message = message
322
+ end
323
+
324
+ # Custom attribute writer method with validation
325
+ # @param [Object] metadata Value to be assigned
326
+ def metadata=(metadata)
327
+ @metadata = metadata
328
+ end
329
+
330
+ # Custom attribute writer method with validation
331
+ # @param [Object] subject Value to be assigned
332
+ def subject=(subject)
333
+ if !subject.nil? && subject.to_s.length > 255
334
+ fail ArgumentError, 'invalid value for "subject", the character length must be smaller than or equal to 255.'
335
+ end
336
+
337
+ @subject = subject
338
+ end
339
+
340
+ # Custom attribute writer method with validation
341
+ # @param [Object] title Value to be assigned
342
+ def title=(title)
343
+ if !title.nil? && title.to_s.length > 255
344
+ fail ArgumentError, 'invalid value for "title", the character length must be smaller than or equal to 255.'
345
+ end
346
+
347
+ @title = title
348
+ end
349
+
350
+ # Checks equality by comparing each attribute.
351
+ # @param [Object] Object to be compared
352
+ def ==(o)
353
+ return true if self.equal?(o)
354
+ self.class == o.class &&
355
+ template_ids == o.template_ids &&
356
+ signers == o.signers &&
357
+ allow_decline == o.allow_decline &&
358
+ ccs == o.ccs &&
359
+ client_id == o.client_id &&
360
+ custom_fields == o.custom_fields &&
361
+ files == o.files &&
362
+ file_urls == o.file_urls &&
363
+ is_qualified_signature == o.is_qualified_signature &&
364
+ is_eid == o.is_eid &&
365
+ message == o.message &&
366
+ metadata == o.metadata &&
367
+ signing_options == o.signing_options &&
368
+ signing_redirect_url == o.signing_redirect_url &&
369
+ subject == o.subject &&
370
+ test_mode == o.test_mode &&
371
+ title == o.title
372
+ end
373
+
374
+ # @see the `==` method
375
+ # @param [Object] Object to be compared
376
+ def eql?(o)
377
+ self == o
378
+ end
379
+
380
+ # Calculates hash code according to all attributes.
381
+ # @return [Integer] Hash code
382
+ def hash
383
+ [template_ids, signers, allow_decline, ccs, client_id, custom_fields, files, file_urls, is_qualified_signature, is_eid, message, metadata, signing_options, signing_redirect_url, subject, test_mode, title].hash
384
+ end
385
+
386
+ # Builds the object from hash
387
+ # @param [Hash] attributes Model attributes in the form of hash
388
+ # @return [Object] Returns the model itself
389
+ def self.build_from_hash(attributes)
390
+ new.build_from_hash(attributes)
391
+ end
392
+
393
+ # Builds the object from hash
394
+ # @param [Hash] attributes Model attributes in the form of hash
395
+ # @return [Object] Returns the model itself
396
+ def build_from_hash(attributes)
397
+ return nil unless attributes.is_a?(Hash)
398
+ attribute_map = self.class.merged_attributes
399
+
400
+ self.class.merged_types.each_pair do |key, type|
401
+ if type =~ /\AArray<(.*)>/i
402
+ # check to ensure the input is an array given that the attribute
403
+ # is documented as an array but the input is not
404
+ if attributes[attribute_map[key]].is_a?(Array)
405
+ self.send("#{key}=", attributes[attribute_map[key]].map { |v| _deserialize($1, v) })
406
+ end
407
+ elsif !attributes[attribute_map[key]].nil?
408
+ self.send("#{key}=", _deserialize(type, attributes[attribute_map[key]]))
409
+ end
410
+ end
411
+
412
+ self
413
+ end
414
+
415
+ # Deserializes the data based on type
416
+ # @param string type Data type
417
+ # @param string value Value to be deserialized
418
+ # @return [Object] Deserialized data
419
+ def _deserialize(type, value)
420
+ case type.to_sym
421
+ when :Time
422
+ Time.parse(value)
423
+ when :Date
424
+ Date.parse(value)
425
+ when :String
426
+ value.to_s
427
+ when :Integer
428
+ value.to_i
429
+ when :Float
430
+ value.to_f
431
+ when :Boolean
432
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
433
+ true
434
+ else
435
+ false
436
+ end
437
+ when :File
438
+ value
439
+ when :Object
440
+ # generic object (usually a Hash), return directly
441
+ value
442
+ when /\AArray<(?<inner_type>.+)>\z/
443
+ inner_type = Regexp.last_match[:inner_type]
444
+ value.map { |v| _deserialize(inner_type, v) }
445
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
446
+ k_type = Regexp.last_match[:k_type]
447
+ v_type = Regexp.last_match[:v_type]
448
+ {}.tap do |hash|
449
+ value.each do |k, v|
450
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
451
+ end
452
+ end
453
+ else # model
454
+ # models (e.g. Pet)
455
+ klass = Dropbox::Sign.const_get(type)
456
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
457
+ end
458
+ end
459
+
460
+ # Returns the string representation of the object
461
+ # @return [String] String presentation of the object
462
+ def to_s
463
+ to_hash.to_s
464
+ end
465
+
466
+ # to_body is an alias to to_hash (backward compatibility)
467
+ # @return [Hash] Returns the object in the form of hash
468
+ def to_body
469
+ to_hash
470
+ end
471
+
472
+ # Returns the object in the form of hash
473
+ # @return [Hash] Returns the object in the form of hash
474
+ def to_hash(include_nil = true)
475
+ hash = {}
476
+ self.class.merged_attributes.each_pair do |attr, param|
477
+ value = self.send(attr)
478
+ if value.nil?
479
+ next unless include_nil
480
+ is_nullable = self.class.merged_nullable.include?(attr)
481
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
482
+ end
483
+
484
+ hash[param] = _to_hash(value, include_nil)
485
+ end
486
+ hash
487
+ end
488
+
489
+ # Outputs non-array value in the form of hash
490
+ # For object, use to_hash. Otherwise, just return the value
491
+ # @param [Object] value Any valid value
492
+ # @return [Hash] Returns the value in the form of hash
493
+ def _to_hash(value, include_nil = true)
494
+ if value.is_a?(Array)
495
+ value.compact.map { |v| _to_hash(v, include_nil) }
496
+ elsif value.is_a?(Hash)
497
+ {}.tap do |hash|
498
+ value.each { |k, v| hash[k] = _to_hash(v, include_nil) }
499
+ end
500
+ elsif value.respond_to? :to_hash
501
+ value.to_hash(include_nil)
502
+ else
503
+ value
504
+ end
505
+ end
506
+
507
+ end
508
+
509
+ end
@@ -91,6 +91,10 @@ module Dropbox::Sign
91
91
  # @return [String, nil]
92
92
  attr_accessor :signing_redirect_url
93
93
 
94
+ # The path where the completed document can be downloaded
95
+ # @return [String, nil]
96
+ attr_accessor :final_copy_uri
97
+
94
98
  # Templates IDs used in this SignatureRequest (if any).
95
99
  # @return [Array<String>, nil]
96
100
  attr_accessor :template_ids
@@ -111,6 +115,10 @@ module Dropbox::Sign
111
115
  # @return [Array<SignatureRequestResponseSignatures>]
112
116
  attr_accessor :signatures
113
117
 
118
+ # The ID of the Bulk Send job which sent the signature request, if applicable.
119
+ # @return [String, nil]
120
+ attr_accessor :bulk_send_job_id
121
+
114
122
  # Attribute mapping from ruby-style variable name to JSON key.
115
123
  def self.attribute_map
116
124
  {
@@ -132,11 +140,13 @@ module Dropbox::Sign
132
140
  :'details_url' => :'details_url',
133
141
  :'cc_email_addresses' => :'cc_email_addresses',
134
142
  :'signing_redirect_url' => :'signing_redirect_url',
143
+ :'final_copy_uri' => :'final_copy_uri',
135
144
  :'template_ids' => :'template_ids',
136
145
  :'custom_fields' => :'custom_fields',
137
146
  :'attachments' => :'attachments',
138
147
  :'response_data' => :'response_data',
139
- :'signatures' => :'signatures'
148
+ :'signatures' => :'signatures',
149
+ :'bulk_send_job_id' => :'bulk_send_job_id'
140
150
  }
141
151
  end
142
152
 
@@ -171,11 +181,13 @@ module Dropbox::Sign
171
181
  :'details_url' => :'String',
172
182
  :'cc_email_addresses' => :'Array<String>',
173
183
  :'signing_redirect_url' => :'String',
184
+ :'final_copy_uri' => :'String',
174
185
  :'template_ids' => :'Array<String>',
175
186
  :'custom_fields' => :'Array<SignatureRequestResponseCustomFieldBase>',
176
187
  :'attachments' => :'Array<SignatureRequestResponseAttachment>',
177
188
  :'response_data' => :'Array<SignatureRequestResponseDataBase>',
178
- :'signatures' => :'Array<SignatureRequestResponseSignatures>'
189
+ :'signatures' => :'Array<SignatureRequestResponseSignatures>',
190
+ :'bulk_send_job_id' => :'String'
179
191
  }
180
192
  end
181
193
 
@@ -192,10 +204,12 @@ module Dropbox::Sign
192
204
  :'message',
193
205
  :'signing_url',
194
206
  :'signing_redirect_url',
207
+ :'final_copy_uri',
195
208
  :'template_ids',
196
209
  :'custom_fields',
197
210
  :'attachments',
198
211
  :'response_data',
212
+ :'bulk_send_job_id'
199
213
  ])
200
214
  end
201
215
 
@@ -305,6 +319,10 @@ module Dropbox::Sign
305
319
  self.signing_redirect_url = attributes[:'signing_redirect_url']
306
320
  end
307
321
 
322
+ if attributes.key?(:'final_copy_uri')
323
+ self.final_copy_uri = attributes[:'final_copy_uri']
324
+ end
325
+
308
326
  if attributes.key?(:'template_ids')
309
327
  if (value = attributes[:'template_ids']).is_a?(Array)
310
328
  self.template_ids = value
@@ -334,6 +352,10 @@ module Dropbox::Sign
334
352
  self.signatures = value
335
353
  end
336
354
  end
355
+
356
+ if attributes.key?(:'bulk_send_job_id')
357
+ self.bulk_send_job_id = attributes[:'bulk_send_job_id']
358
+ end
337
359
  end
338
360
 
339
361
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -372,11 +394,13 @@ module Dropbox::Sign
372
394
  details_url == o.details_url &&
373
395
  cc_email_addresses == o.cc_email_addresses &&
374
396
  signing_redirect_url == o.signing_redirect_url &&
397
+ final_copy_uri == o.final_copy_uri &&
375
398
  template_ids == o.template_ids &&
376
399
  custom_fields == o.custom_fields &&
377
400
  attachments == o.attachments &&
378
401
  response_data == o.response_data &&
379
- signatures == o.signatures
402
+ signatures == o.signatures &&
403
+ bulk_send_job_id == o.bulk_send_job_id
380
404
  end
381
405
 
382
406
  # @see the `==` method
@@ -388,7 +412,7 @@ module Dropbox::Sign
388
412
  # Calculates hash code according to all attributes.
389
413
  # @return [Integer] Hash code
390
414
  def hash
391
- [test_mode, signature_request_id, requester_email_address, title, original_title, subject, message, metadata, created_at, expires_at, is_complete, is_declined, has_error, files_url, signing_url, details_url, cc_email_addresses, signing_redirect_url, template_ids, custom_fields, attachments, response_data, signatures].hash
415
+ [test_mode, signature_request_id, requester_email_address, title, original_title, subject, message, metadata, created_at, expires_at, is_complete, is_declined, has_error, files_url, signing_url, details_url, cc_email_addresses, signing_redirect_url, final_copy_uri, template_ids, custom_fields, attachments, response_data, signatures, bulk_send_job_id].hash
392
416
  end
393
417
 
394
418
  # Builds the object from hash
@@ -137,6 +137,8 @@ module Dropbox::Sign
137
137
 
138
138
  if attributes.key?(:'font_size')
139
139
  self.font_size = attributes[:'font_size']
140
+ else
141
+ self.font_size = 12
140
142
  end
141
143
  end
142
144
 
@@ -159,6 +159,8 @@ module Dropbox::Sign
159
159
 
160
160
  if attributes.key?(:'font_size')
161
161
  self.font_size = attributes[:'font_size']
162
+ else
163
+ self.font_size = 12
162
164
  end
163
165
  end
164
166
 
@@ -157,6 +157,8 @@ module Dropbox::Sign
157
157
 
158
158
  if attributes.key?(:'font_size')
159
159
  self.font_size = attributes[:'font_size']
160
+ else
161
+ self.font_size = 12
160
162
  end
161
163
  end
162
164
 
@@ -215,6 +215,8 @@ module Dropbox::Sign
215
215
 
216
216
  if attributes.key?(:'font_size')
217
217
  self.font_size = attributes[:'font_size']
218
+ else
219
+ self.font_size = 12
218
220
  end
219
221
  end
220
222
 
@@ -137,6 +137,8 @@ module Dropbox::Sign
137
137
 
138
138
  if attributes.key?(:'font_size')
139
139
  self.font_size = attributes[:'font_size']
140
+ else
141
+ self.font_size = 12
140
142
  end
141
143
  end
142
144
 
@@ -34,7 +34,7 @@ module Dropbox::Sign
34
34
  # @return [String]
35
35
  attr_accessor :pin
36
36
 
37
- # An E.164 formatted phone number. **Note**: Not available in test mode and requires a Standard plan or higher.
37
+ # An E.164 formatted phone number. By using the feature, you agree you are responsible for obtaining a signer's consent to receive text messages from Dropbox Sign related to this signature request and confirm you have obtained such consent from all signers prior to enabling SMS delivery for this signature request. [Learn more](https://faq.hellosign.com/hc/en-us/articles/15815316468877-Dropbox-Sign-SMS-tools-add-on). **Note**: Not available in test mode and requires a Standard plan or higher.
38
38
  # @return [String]
39
39
  attr_accessor :sms_phone_number
40
40
 
@@ -34,7 +34,7 @@ module Dropbox::Sign
34
34
  # @return [String]
35
35
  attr_accessor :pin
36
36
 
37
- # An E.164 formatted phone number. **Note**: Not available in test mode and requires a Standard plan or higher.
37
+ # An E.164 formatted phone number. By using the feature, you agree you are responsible for obtaining a signer's consent to receive text messages from Dropbox Sign related to this signature request and confirm you have obtained such consent from all signers prior to enabling SMS delivery for this signature request. [Learn more](https://faq.hellosign.com/hc/en-us/articles/15815316468877-Dropbox-Sign-SMS-tools-add-on). **Note**: Not available in test mode and requires a Standard plan or higher.
38
38
  # @return [String]
39
39
  attr_accessor :sms_phone_number
40
40