docspring 4.3.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +80 -0
- data/.openapi-generator/FILES +84 -0
- data/CHANGELOG.md +55 -0
- data/Gemfile.lock +2 -2
- data/README.md +20 -1
- data/docs/AddTemplateFieldsRequest.md +1 -1
- data/docs/Client.md +2311 -766
- data/docs/CombinedPdfSource.md +1 -1
- data/docs/CreateAccountEmailActionRequest.md +54 -0
- data/docs/CreateEmailActionRequest.md +50 -0
- data/docs/CreateEmailDomainRequest.md +18 -0
- data/docs/CreateSubmissionBatchRequest.md +2 -2
- data/docs/CreateSubmissionRequest.md +22 -4
- data/docs/CreateTemplateRequest.md +22 -6
- data/docs/DnsRecordType.md +15 -0
- data/docs/EmailAction.md +76 -0
- data/docs/EmailActionConditions.md +20 -0
- data/docs/EmailActionConditionsInput.md +20 -0
- data/docs/EmailActionCustomization.md +36 -0
- data/docs/EmailActionDelivery.md +15 -0
- data/docs/EmailActionFileFormats.md +15 -0
- data/docs/EmailActionList.md +20 -0
- data/docs/EmailActionSetting.md +15 -0
- data/docs/EmailActionSubmissionType.md +15 -0
- data/docs/EmailActionTestEmail.md +18 -0
- data/docs/EmailDomain.md +38 -0
- data/docs/EmailDomainDnsRecord.md +24 -0
- data/docs/EmailDomainDnsRecordPurpose.md +15 -0
- data/docs/EmailDomainList.md +20 -0
- data/docs/EmailDomainRecordState.md +15 -0
- data/docs/EmailDomainState.md +15 -0
- data/docs/ErrorInfo.md +12 -6
- data/docs/Field.md +1 -1
- data/docs/FieldInput.md +1 -1
- data/docs/HtmlEngineOptions.md +1 -1
- data/docs/HtmlEngineOptionsInput.md +1 -1
- data/docs/SendAccountEmailActionTestEmailRequest.md +18 -0
- data/docs/SignatureRequest.md +9 -1
- data/docs/SignatureRequestEmailAttachments.md +15 -0
- data/docs/SignatureRequestEmailStatus.md +15 -0
- data/docs/SignatureRequestInput.md +7 -3
- data/docs/SignatureRequestReminders.md +20 -0
- data/docs/SigningOrder.md +15 -0
- data/docs/Submission.md +4 -2
- data/docs/SubmissionAction.md +5 -3
- data/docs/SubmissionInput.md +3 -3
- data/docs/SubmissionSummary.md +1 -1
- data/docs/Template.md +23 -7
- data/docs/TemplateSourcePdf.md +1 -1
- data/docs/TemplateSummary.md +4 -4
- data/docs/UpdateAccountEmailActionRequest.md +54 -0
- data/docs/UpdateEmailActionCustomizationRequest.md +46 -0
- data/docs/UpdateEmailActionRequest.md +50 -0
- data/docs/UpdateTemplateDocumentRequest.md +1 -1
- data/docs/UpdateTemplateRequest.md +21 -5
- data/docs/ValidateSubmissionRequest.md +22 -4
- data/lib/docspring/api/client.rb +1749 -314
- data/lib/docspring/api_client.rb +1 -1
- data/lib/docspring/models/add_template_fields_request.rb +1 -1
- data/lib/docspring/models/combined_pdf_source.rb +1 -1
- data/lib/docspring/models/create_account_email_action_request.rb +388 -0
- data/lib/docspring/models/create_email_action_request.rb +364 -0
- data/lib/docspring/models/create_email_domain_request.rb +185 -0
- data/lib/docspring/models/create_submission_batch_request.rb +2 -2
- data/lib/docspring/models/create_submission_request.rb +143 -7
- data/lib/docspring/models/create_template_request.rb +107 -7
- data/lib/docspring/models/dns_record_type.rb +42 -0
- data/lib/docspring/models/email_action.rb +790 -0
- data/lib/docspring/models/email_action_conditions.rb +219 -0
- data/lib/docspring/models/email_action_conditions_input.rb +219 -0
- data/lib/docspring/models/email_action_customization.rb +360 -0
- data/lib/docspring/models/email_action_delivery.rb +41 -0
- data/lib/docspring/models/email_action_file_formats.rb +43 -0
- data/lib/docspring/models/email_action_list.rb +200 -0
- data/lib/docspring/models/email_action_setting.rb +53 -0
- data/lib/docspring/models/email_action_submission_type.rb +42 -0
- data/lib/docspring/models/email_action_test_email.rb +185 -0
- data/lib/docspring/models/email_domain.rb +423 -0
- data/lib/docspring/models/email_domain_dns_record.rb +288 -0
- data/lib/docspring/models/email_domain_dns_record_purpose.rb +42 -0
- data/lib/docspring/models/email_domain_list.rb +200 -0
- data/lib/docspring/models/email_domain_record_state.rb +42 -0
- data/lib/docspring/models/email_domain_state.rb +42 -0
- data/lib/docspring/models/error_code.rb +3 -1
- data/lib/docspring/models/error_info.rb +39 -9
- data/lib/docspring/models/field.rb +1 -1
- data/lib/docspring/models/field_input.rb +1 -1
- data/lib/docspring/models/html_engine_options.rb +1 -1
- data/lib/docspring/models/html_engine_options_input.rb +1 -1
- data/lib/docspring/models/send_account_email_action_test_email_request.rb +168 -0
- data/lib/docspring/models/signature_request.rb +68 -2
- data/lib/docspring/models/signature_request_email_attachments.rb +41 -0
- data/lib/docspring/models/signature_request_email_status.rb +47 -0
- data/lib/docspring/models/signature_request_event_type.rb +3 -1
- data/lib/docspring/models/signature_request_input.rb +25 -22
- data/lib/docspring/models/signature_request_reminders.rb +212 -0
- data/lib/docspring/models/signing_order.rb +41 -0
- data/lib/docspring/models/string_condition_type.rb +8 -1
- data/lib/docspring/models/submission.rb +30 -3
- data/lib/docspring/models/submission_action.rb +18 -5
- data/lib/docspring/models/submission_input.rb +3 -3
- data/lib/docspring/models/submission_summary.rb +1 -1
- data/lib/docspring/models/template.rb +144 -8
- data/lib/docspring/models/template_source_pdf.rb +1 -1
- data/lib/docspring/models/template_summary.rb +4 -4
- data/lib/docspring/models/template_type.rb +2 -1
- data/lib/docspring/models/update_account_email_action_request.rb +388 -0
- data/lib/docspring/models/update_email_action_customization_request.rb +343 -0
- data/lib/docspring/models/update_email_action_request.rb +364 -0
- data/lib/docspring/models/update_template_document_request.rb +1 -1
- data/lib/docspring/models/update_template_request.rb +108 -8
- data/lib/docspring/models/validate_submission_request.rb +143 -7
- data/lib/docspring/models/webhook_event_type.rb +3 -1
- data/lib/docspring/request_schemas.json +1691 -145
- data/lib/docspring/request_validator.rb +4 -0
- data/lib/docspring/version.rb +1 -1
- data/lib/docspring.rb +28 -0
- data/spec/api/client_spec.rb +306 -18
- data/spec/models/create_account_email_action_request_spec.rb +144 -0
- data/spec/models/create_email_action_request_spec.rb +132 -0
- data/spec/models/create_email_domain_request_spec.rb +36 -0
- data/spec/models/create_submission_request_spec.rb +54 -0
- data/spec/models/create_template_request_spec.rb +48 -0
- data/spec/models/dns_record_type_spec.rb +30 -0
- data/spec/models/email_action_conditions_input_spec.rb +42 -0
- data/spec/models/email_action_conditions_spec.rb +42 -0
- data/spec/models/email_action_customization_spec.rb +90 -0
- data/spec/models/email_action_delivery_spec.rb +30 -0
- data/spec/models/email_action_file_formats_spec.rb +30 -0
- data/spec/models/email_action_list_spec.rb +42 -0
- data/spec/models/email_action_setting_spec.rb +30 -0
- data/spec/models/email_action_spec.rb +210 -0
- data/spec/models/email_action_submission_type_spec.rb +30 -0
- data/spec/models/email_action_test_email_spec.rb +36 -0
- data/spec/models/email_domain_dns_record_purpose_spec.rb +30 -0
- data/spec/models/email_domain_dns_record_spec.rb +54 -0
- data/spec/models/email_domain_list_spec.rb +42 -0
- data/spec/models/email_domain_record_state_spec.rb +30 -0
- data/spec/models/email_domain_spec.rb +96 -0
- data/spec/models/email_domain_state_spec.rb +30 -0
- data/spec/models/error_info_spec.rb +18 -0
- data/spec/models/send_account_email_action_test_email_request_spec.rb +36 -0
- data/spec/models/signature_request_email_attachments_spec.rb +30 -0
- data/spec/models/signature_request_email_status_spec.rb +30 -0
- data/spec/models/signature_request_input_spec.rb +12 -0
- data/spec/models/signature_request_reminders_spec.rb +42 -0
- data/spec/models/signature_request_spec.rb +24 -0
- data/spec/models/signing_order_spec.rb +30 -0
- data/spec/models/submission_action_spec.rb +6 -0
- data/spec/models/submission_spec.rb +6 -0
- data/spec/models/template_spec.rb +48 -0
- data/spec/models/update_account_email_action_request_spec.rb +144 -0
- data/spec/models/update_email_action_customization_request_spec.rb +120 -0
- data/spec/models/update_email_action_request_spec.rb +132 -0
- data/spec/models/update_template_request_spec.rb +48 -0
- data/spec/models/validate_submission_request_spec.rb +54 -0
- metadata +115 -4
- data/.gitlab-ci.yml +0 -26
- data/.travis.yml +0 -11
|
@@ -16,13 +16,13 @@ require 'time'
|
|
|
16
16
|
module DocSpring
|
|
17
17
|
# The submission's data and settings.
|
|
18
18
|
class CreateSubmissionRequest < ApiModelBase
|
|
19
|
-
# Test PDFs have a watermark and are free. Live PDFs use credits. Submissions made with a test API token are always test submissions.
|
|
19
|
+
# Test PDFs have a watermark and are free. Live PDFs use credits. Submissions made with a test API token are always test submissions, and the demo API token's are always live.
|
|
20
20
|
attr_accessor :test
|
|
21
21
|
|
|
22
22
|
# `true` keeps the PDF's text and check fields fillable, and `false` flattens every field. Left out, the template decides: its `editable_submissions` setting, or each field's own Editable option. A response shows the template's setting when the request left this out. Can't be `true` with `signature_requests`.
|
|
23
23
|
attr_accessor :editable
|
|
24
24
|
|
|
25
|
-
# The values of the template's fields, by field name. Required for PDF
|
|
25
|
+
# The values of the template's fields, by field name. Required for PDF templates, Word templates and page designs, unless `signature_requests` collects them (PDF templates only).
|
|
26
26
|
attr_accessor :data
|
|
27
27
|
|
|
28
28
|
# Your own data about the submission, such as an ID from your app. It isn't printed on the PDF. Two keys also change the PDF: `pdf_filename` names its file (`files.pdf.filename`, and its download), and `pdf_title` is its title in the PDF's document properties (and an HTML template's `<title>`, unless its HTML has one). Without `pdf_title`, the title is the template's name. In `pdf_filename`, a `.pdf` ending is removed, each run of characters other than letters, digits, `-`, `_` and `.` becomes one `_`, and the first 128 characters are kept, then `.pdf` is added. Without it, the file is named after the submission's ID (`sub_1234567890abcdef01.pdf`).
|
|
@@ -34,7 +34,7 @@ module DocSpring
|
|
|
34
34
|
# What the submission makes: `pdf`, `docx` (a Word document, from a Word template), `odt` (an OpenDocument file, the format LibreOffice uses, converted from a Word template's Word document), and `png` (an image of each page of the PDF, up to 100 pages, which adds `pdf`) when you ask for it. Default `["pdf"]`, or a Word template's `output_format`. POST /submissions/{submission_id}/generate_files adds `png`, and a Word template's submission's `pdf`, `docx` or `odt`, to a processed submission.
|
|
35
35
|
attr_accessor :output_formats
|
|
36
36
|
|
|
37
|
-
# Seconds after the PDF is generated until the submission expires, up to 10 years (315360000). Default the template's expiration setting. A submission that isn't processed, such as one with invalid data, is kept for at least 48 hours.
|
|
37
|
+
# Seconds after the PDF is generated until the submission expires, up to 10 years (315360000). Default the template's expiration setting. A submission that isn't processed, such as one with invalid data, is kept for at least 48 hours. The demo API token's submissions expire within an hour: up to 3600, and that's their default.
|
|
38
38
|
attr_accessor :expires_in
|
|
39
39
|
|
|
40
40
|
# Changes to field settings for this submission only, by field name, such as `{"name": {"required": false, "font_size": 9}}`. A setting that identifies the field (`id`, `name`, `type`), that only the template sets (such as `description`), or that doesn't apply to the field's type and display type (such as `check_character` on a field displayed as text) is a 422. With `signature_requests`, `editable: true` is a 422, and a `default` for a signature or initials field makes the submission `invalid_data`.
|
|
@@ -49,6 +49,55 @@ module DocSpring
|
|
|
49
49
|
# The people who sign the PDF, and fill in their fields first. The PDF is generated once every signature request is completed. PDF templates only. Without `role`s, the first signature request is `Signer 1`, the second `Signer 2`, and so on. To leave a signer out, give every signature request its `role` and leave that one's out. Only the signers sign: a value for a signature or initials field in `data` makes the submission `invalid_data`.
|
|
50
50
|
attr_accessor :signature_requests
|
|
51
51
|
|
|
52
|
+
# Whether DocSpring emails the signers their signing links, and sends the reminders and the completed document. Default true. Each signature request's own `send_email` overrides it. A test submission only emails your DocSpring team: every other address is a 422. `true` needs `signature_requests`. DocSpring doesn't email the signers of a form library template: leave `send_email` out, and send them their links yourself.
|
|
53
|
+
attr_accessor :send_email
|
|
54
|
+
|
|
55
|
+
# `parallel` (the default): everyone can sign at once. `sequential`: people sign one step at a time (`signing_step`), and DocSpring emails each step when the one before it is done. Needs `signature_requests`.
|
|
56
|
+
attr_accessor :signing_order
|
|
57
|
+
|
|
58
|
+
# The subject of the emails that ask people to sign. You can use `{{ signer.name }}`, `{{ signer.email }}`, `{{ document.name }}`, `{{ sender.name }}` and `{{ account.name }}`. Default "<sender> sent you <document> to sign" when you leave it out (a blank subject is a 422). Links and web addresses are shown as plain text (`example[.]com`).
|
|
59
|
+
attr_accessor :email_subject
|
|
60
|
+
|
|
61
|
+
# A message for the people who sign, shown above the signing button. It takes the same variables as `email_subject`. Links and web addresses are shown as plain text. Leave it out for none: a blank message is a 422.
|
|
62
|
+
attr_accessor :email_message
|
|
63
|
+
|
|
64
|
+
# People who get a copy of the completed document. They don't sign.
|
|
65
|
+
attr_accessor :cc
|
|
66
|
+
|
|
67
|
+
# Where replies to the emails go: a member of your DocSpring team, or an address at one of your verified email domains. Leave it out for the template's reply-to address (the account owner when it has none).
|
|
68
|
+
attr_accessor :reply_to
|
|
69
|
+
|
|
70
|
+
# Who DocSpring tells when the document is completed or declined, or an email bounces or can't be sent: members of your DocSpring team or addresses at your verified email domains. Leave it out for the template's notification addresses (the account owner when it has none); an empty list means the account owner.
|
|
71
|
+
attr_accessor :notification_emails
|
|
72
|
+
|
|
73
|
+
# Also email `notification_emails` each time someone signs. Default false.
|
|
74
|
+
attr_accessor :notify_when_signed
|
|
75
|
+
|
|
76
|
+
# Remind people who haven't signed: every `interval_days` days, up to `max_count` times. Each reminder has a new signing link. Without it, DocSpring sends no reminders.
|
|
77
|
+
attr_accessor :reminders
|
|
78
|
+
|
|
79
|
+
class EnumAttributeValidator
|
|
80
|
+
attr_reader :datatype
|
|
81
|
+
attr_reader :allowable_values
|
|
82
|
+
|
|
83
|
+
def initialize(datatype, allowable_values)
|
|
84
|
+
@allowable_values = allowable_values.map do |value|
|
|
85
|
+
case datatype.to_s
|
|
86
|
+
when /Integer/i
|
|
87
|
+
value.to_i
|
|
88
|
+
when /Float/i
|
|
89
|
+
value.to_f
|
|
90
|
+
else
|
|
91
|
+
value
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def valid?(value)
|
|
97
|
+
!value || allowable_values.include?(value)
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
52
101
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
53
102
|
def self.attribute_map
|
|
54
103
|
{
|
|
@@ -62,7 +111,16 @@ module DocSpring
|
|
|
62
111
|
:'field_overrides' => :'field_overrides',
|
|
63
112
|
:'html' => :'html',
|
|
64
113
|
:'css' => :'css',
|
|
65
|
-
:'signature_requests' => :'signature_requests'
|
|
114
|
+
:'signature_requests' => :'signature_requests',
|
|
115
|
+
:'send_email' => :'send_email',
|
|
116
|
+
:'signing_order' => :'signing_order',
|
|
117
|
+
:'email_subject' => :'email_subject',
|
|
118
|
+
:'email_message' => :'email_message',
|
|
119
|
+
:'cc' => :'cc',
|
|
120
|
+
:'reply_to' => :'reply_to',
|
|
121
|
+
:'notification_emails' => :'notification_emails',
|
|
122
|
+
:'notify_when_signed' => :'notify_when_signed',
|
|
123
|
+
:'reminders' => :'reminders'
|
|
66
124
|
}
|
|
67
125
|
end
|
|
68
126
|
|
|
@@ -89,7 +147,16 @@ module DocSpring
|
|
|
89
147
|
:'field_overrides' => :'Hash<String, FieldOverride>',
|
|
90
148
|
:'html' => :'String',
|
|
91
149
|
:'css' => :'String',
|
|
92
|
-
:'signature_requests' => :'Array<SignatureRequestInput>'
|
|
150
|
+
:'signature_requests' => :'Array<SignatureRequestInput>',
|
|
151
|
+
:'send_email' => :'Boolean',
|
|
152
|
+
:'signing_order' => :'SigningOrder',
|
|
153
|
+
:'email_subject' => :'String',
|
|
154
|
+
:'email_message' => :'String',
|
|
155
|
+
:'cc' => :'Array<String>',
|
|
156
|
+
:'reply_to' => :'String',
|
|
157
|
+
:'notification_emails' => :'Array<String>',
|
|
158
|
+
:'notify_when_signed' => :'Boolean',
|
|
159
|
+
:'reminders' => :'SignatureRequestReminders'
|
|
93
160
|
}
|
|
94
161
|
end
|
|
95
162
|
|
|
@@ -178,6 +245,46 @@ module DocSpring
|
|
|
178
245
|
self.signature_requests = value
|
|
179
246
|
end
|
|
180
247
|
end
|
|
248
|
+
|
|
249
|
+
if attributes.key?(:'send_email')
|
|
250
|
+
self.send_email = attributes[:'send_email']
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
if attributes.key?(:'signing_order')
|
|
254
|
+
self.signing_order = attributes[:'signing_order']
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
if attributes.key?(:'email_subject')
|
|
258
|
+
self.email_subject = attributes[:'email_subject']
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
if attributes.key?(:'email_message')
|
|
262
|
+
self.email_message = attributes[:'email_message']
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
if attributes.key?(:'cc')
|
|
266
|
+
if (value = attributes[:'cc']).is_a?(Array)
|
|
267
|
+
self.cc = value
|
|
268
|
+
end
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
if attributes.key?(:'reply_to')
|
|
272
|
+
self.reply_to = attributes[:'reply_to']
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
if attributes.key?(:'notification_emails')
|
|
276
|
+
if (value = attributes[:'notification_emails']).is_a?(Array)
|
|
277
|
+
self.notification_emails = value
|
|
278
|
+
end
|
|
279
|
+
end
|
|
280
|
+
|
|
281
|
+
if attributes.key?(:'notify_when_signed')
|
|
282
|
+
self.notify_when_signed = attributes[:'notify_when_signed']
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
if attributes.key?(:'reminders')
|
|
286
|
+
self.reminders = attributes[:'reminders']
|
|
287
|
+
end
|
|
181
288
|
end
|
|
182
289
|
|
|
183
290
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -205,6 +312,26 @@ module DocSpring
|
|
|
205
312
|
@output_formats = output_formats
|
|
206
313
|
end
|
|
207
314
|
|
|
315
|
+
# Custom attribute writer method with validation
|
|
316
|
+
# @param [Object] cc Value to be assigned
|
|
317
|
+
def cc=(cc)
|
|
318
|
+
if cc.nil?
|
|
319
|
+
fail ArgumentError, 'cc cannot be nil'
|
|
320
|
+
end
|
|
321
|
+
|
|
322
|
+
@cc = cc
|
|
323
|
+
end
|
|
324
|
+
|
|
325
|
+
# Custom attribute writer method with validation
|
|
326
|
+
# @param [Object] notification_emails Value to be assigned
|
|
327
|
+
def notification_emails=(notification_emails)
|
|
328
|
+
if notification_emails.nil?
|
|
329
|
+
fail ArgumentError, 'notification_emails cannot be nil'
|
|
330
|
+
end
|
|
331
|
+
|
|
332
|
+
@notification_emails = notification_emails
|
|
333
|
+
end
|
|
334
|
+
|
|
208
335
|
# Checks equality by comparing each attribute.
|
|
209
336
|
# @param [Object] Object to be compared
|
|
210
337
|
def ==(o)
|
|
@@ -220,7 +347,16 @@ module DocSpring
|
|
|
220
347
|
field_overrides == o.field_overrides &&
|
|
221
348
|
html == o.html &&
|
|
222
349
|
css == o.css &&
|
|
223
|
-
signature_requests == o.signature_requests
|
|
350
|
+
signature_requests == o.signature_requests &&
|
|
351
|
+
send_email == o.send_email &&
|
|
352
|
+
signing_order == o.signing_order &&
|
|
353
|
+
email_subject == o.email_subject &&
|
|
354
|
+
email_message == o.email_message &&
|
|
355
|
+
cc == o.cc &&
|
|
356
|
+
reply_to == o.reply_to &&
|
|
357
|
+
notification_emails == o.notification_emails &&
|
|
358
|
+
notify_when_signed == o.notify_when_signed &&
|
|
359
|
+
reminders == o.reminders
|
|
224
360
|
end
|
|
225
361
|
|
|
226
362
|
# @see the `==` method
|
|
@@ -232,7 +368,7 @@ module DocSpring
|
|
|
232
368
|
# Calculates hash code according to all attributes.
|
|
233
369
|
# @return [Integer] Hash code
|
|
234
370
|
def hash
|
|
235
|
-
[test, editable, data, metadata, password, output_formats, expires_in, field_overrides, html, css, signature_requests].hash
|
|
371
|
+
[test, editable, data, metadata, password, output_formats, expires_in, field_overrides, html, css, signature_requests, send_email, signing_order, email_subject, email_message, cc, reply_to, notification_emails, notify_when_signed, reminders].hash
|
|
236
372
|
end
|
|
237
373
|
|
|
238
374
|
# Builds the object from hash
|
|
@@ -22,10 +22,10 @@ module DocSpring
|
|
|
22
22
|
# Shown under the template's name at the top of its hosted forms, and used as their meta description. Not shown on embedded forms or signature requests.
|
|
23
23
|
attr_accessor :description
|
|
24
24
|
|
|
25
|
-
# `pdf`: fields placed on an uploaded PDF. `html`: a PDF rendered from HTML and SCSS. `docx`: a Word document with tags where the data goes, which makes Word documents or PDFs. It can't be changed after the template is created.
|
|
25
|
+
# `pdf`: fields placed on an uploaded PDF. `html`: a PDF rendered from HTML and SCSS. `docx`: a Word document with tags where the data goes, which makes Word documents or PDFs. `page_designer`: a page design, a PDF laid out in the Page Designer from its `layout`. It can't be changed after the template is created.
|
|
26
26
|
attr_accessor :template_type
|
|
27
27
|
|
|
28
|
-
# What each submission makes unless its request sets `output_formats`: `docx` (a Word document), `odt` (an OpenDocument file, converted from the Word document) or `pdf`. A Word template's is chosen when it's created;
|
|
28
|
+
# What each submission makes unless its request sets `output_formats`: `docx` (a Word document), `odt` (an OpenDocument file, converted from the Word document) or `pdf`. A Word template's is chosen when it's created; other templates always make PDFs. A Word template that encrypts its PDFs makes PDFs, because Word documents and OpenDocument files can't be password-protected.
|
|
29
29
|
attr_accessor :output_format
|
|
30
30
|
|
|
31
31
|
# The ID of the folder the template is in. Null for a template at the root. Setting it moves the template and all of its published versions.
|
|
@@ -52,7 +52,7 @@ module DocSpring
|
|
|
52
52
|
# Generate PDFs whose text and check fields stay fillable ("Generate Editable PDFs"). A submission's `editable` overrides it.
|
|
53
53
|
attr_accessor :editable_submissions
|
|
54
54
|
|
|
55
|
-
# The sites that can embed the template's live signature requests and its embedded template editor: a host such as `app.example.com`, with an optional leading wildcard (`*.example.com`), port (`localhost:3000`) or scheme (`https://app.example.com`; without one, `http` and `https` both work). Browsers open a live signature request in a frame only on these sites (and DocSpring's), so with an empty list it can't be embedded anywhere; a test signature request can be embedded on any site. The embedded template editor loads only for a page on one of these sites (by its Referer or Origin header), and on any site when the list is empty. Forms embedded on a page (Visual Forms JS and the simple form) aren't restricted.
|
|
55
|
+
# The sites that can embed the template's live signature requests and its embedded template editor: a host such as `app.example.com`, with an optional leading wildcard (`*.example.com`), port (`localhost:3000`) or scheme (`https://app.example.com`; without one, `http` and `https` both work), without a path. Browsers open a live signature request in a frame only on these sites (and DocSpring's), so with an empty list it can't be embedded anywhere; a test signature request can be embedded on any site. The embedded template editor loads only for a page on one of these sites (by its Referer or Origin header), and on any site when the list is empty. Forms embedded on a page (Visual Forms JS and the simple form) aren't restricted.
|
|
56
56
|
attr_accessor :embed_domains
|
|
57
57
|
|
|
58
58
|
# Allow the embedded template editor to change sensitive template settings (webhooks, redirect URL, encryption, public access, expiration and so on).
|
|
@@ -94,6 +94,27 @@ module DocSpring
|
|
|
94
94
|
# Where the web form sends people after they submit it.
|
|
95
95
|
attr_accessor :redirect_url
|
|
96
96
|
|
|
97
|
+
# How DocSpring's completed emails send the signed PDF to your signers and CCs: `attachment` (attached, or a download link when it's too big to attach) or `link` (a download link). Null uses your account's rule: a link if your account has signed a BAA, otherwise attached. PDF templates only. A signature request uses the value it had when the request was created.
|
|
98
|
+
attr_accessor :signature_request_email_attachments
|
|
99
|
+
|
|
100
|
+
# The address DocSpring's emails to your signers come from: an address at one of your verified email domains, on the Growth plan or higher. Null sends them from DocSpring's shared address, with "via DocSpring" after the sender name. PDF templates only.
|
|
101
|
+
attr_accessor :signature_request_from_address
|
|
102
|
+
|
|
103
|
+
# Puts a signing token in `signature_request_signing_url`, as `{{ token_id }}` and `{{ token_secret }}`, so your page can open the signing form without creating a token itself. The email then carries a credential: anyone who has it can open the form and sign. PDF templates only.
|
|
104
|
+
attr_accessor :signature_request_include_signing_token
|
|
105
|
+
|
|
106
|
+
# The sender name on the emails DocSpring sends your signers, as in "Acme via DocSpring". It can't contain an email address, a website or quotes. Null uses your account's name. PDF templates only.
|
|
107
|
+
attr_accessor :signature_request_from_name
|
|
108
|
+
|
|
109
|
+
# Who DocSpring tells when a signature request's document is completed or declined, or an email bounces or can't be sent: members of your DocSpring team or addresses at your verified email domains. Empty means your account's owner. A submission's `notification_emails` replaces them. PDF templates only.
|
|
110
|
+
attr_accessor :signature_request_notification_emails
|
|
111
|
+
|
|
112
|
+
# Where your signers' replies to DocSpring's emails go: a member of your DocSpring team or an address at one of your verified email domains. Null means your account's owner. A submission's `reply_to` replaces it. PDF templates only.
|
|
113
|
+
attr_accessor :signature_request_reply_to
|
|
114
|
+
|
|
115
|
+
# A page on your own site that the button in DocSpring's email to a signer opens, instead of DocSpring's signing page: an https URL on one of your verified email domains or a subdomain of one, on the Growth plan or higher. It must include `{{ signature_request_id }}`. Your page authenticates the signer, creates a token for the signature request, and opens the signing form with it. Null links to DocSpring's signing page. PDF templates only.
|
|
116
|
+
attr_accessor :signature_request_signing_url
|
|
117
|
+
|
|
97
118
|
# A Slack incoming webhook URL that is notified about the template's submissions. It's never returned; `has_slack_webhook_url` says if it's set.
|
|
98
119
|
attr_accessor :slack_webhook_url
|
|
99
120
|
|
|
@@ -109,7 +130,7 @@ module DocSpring
|
|
|
109
130
|
# Sample submission data that sets `predefined_fields`: each value becomes a predefined field, with a type that fits it (`string`, `number`, `boolean`, `date`, `email` or `url`) and `required_in_template` true. Nested objects and arrays become names with `/`, such as `customer/email`. Without `predefined_fields` in the same request, it replaces them; with them, it adds to them and sets the types of the ones it has values for.
|
|
110
131
|
attr_accessor :predefined_fields_sample_data
|
|
111
132
|
|
|
112
|
-
# The HTML of an HTML template, as a Liquid template. Null for
|
|
133
|
+
# The HTML of an HTML template, as a Liquid template. Null for other templates.
|
|
113
134
|
attr_accessor :html
|
|
114
135
|
|
|
115
136
|
# The SCSS of an HTML template.
|
|
@@ -124,16 +145,19 @@ module DocSpring
|
|
|
124
145
|
# Null resets the options to their defaults.
|
|
125
146
|
attr_accessor :html_engine_options
|
|
126
147
|
|
|
127
|
-
# Whether an HTML template HTML-escapes the values it prints. When true, `{{ value }}` prints a value as text, so a `<` or `&` in it is printed as that character, and `{{ value | raw }}` prints a value as HTML. New HTML templates default to true. Templates created before October 2026, or with API v1, default to false, which prints every value as HTML. Null for
|
|
148
|
+
# Whether an HTML template HTML-escapes the values it prints. When true, `{{ value }}` prints a value as text, so a `<` or `&` in it is printed as that character, and `{{ value | raw }}` prints a value as HTML. New HTML templates default to true. Templates created before October 2026, or with API v1, default to false, which prints every value as HTML. Null for other templates.
|
|
128
149
|
attr_accessor :html_escape_data
|
|
129
150
|
|
|
151
|
+
# A page design's layout: its page setup, its sections and the elements placed in them, in the Page Designer layout format (https://docspring.com/docs/page-designer/layout-format/). Its JSON Schema is at https://docspring.com/schemas/page-designer/layout.v1.json. Null for other templates. Setting it replaces the whole layout, and DocSpring adds a field for each value it reads. Left out when a page design is created, it starts with an empty page.
|
|
152
|
+
attr_accessor :layout
|
|
153
|
+
|
|
130
154
|
# The template's document, a PDF or a Word document (.docx or .odt): the `fields.key` of a file you uploaded with the presigned upload (GET /uploads/presign). PDF and Word templates need one of `cache_id`, `document_url` and `document_base64`. To upload the file with the request, use POST /templates/upload.
|
|
131
155
|
attr_accessor :cache_id
|
|
132
156
|
|
|
133
157
|
# An https:// link to the template's document, instead of `cache_id`: a PDF template's PDF (up to 100 MB) or a Word template's Word document (.docx or .odt, up to 50 MB). DocSpring downloads it after responding, following redirects to other https:// links: the template's `document.state` is `downloading` until then, and `converting` while an .odt is converted (sync.api hosts wait for both). If it can't be downloaded, the state is `download_failed` and `document.error_message` says why.
|
|
134
158
|
attr_accessor :document_url
|
|
135
159
|
|
|
136
|
-
# The template's document (a PDF, or a Word template's Word document), encoded as base64 (a `data:` URI works too), instead of `cache_id`. Up to 7 MB before it's encoded: send a larger file with `cache_id` or `document_url`.
|
|
160
|
+
# The template's document (a PDF, or a Word template's Word document), encoded as base64 (a `data:` URI works too), instead of `cache_id`. Line breaks and spaces in it are ignored. Up to 7 MB before it's encoded: send a larger file with `cache_id` or `document_url`.
|
|
137
161
|
attr_accessor :document_base64
|
|
138
162
|
|
|
139
163
|
# The file's name, for a `cache_id` (presigned uploads don't send one) or `document_base64`. A `document_url`'s is the last part of its path unless you set it.
|
|
@@ -202,6 +226,13 @@ module DocSpring
|
|
|
202
226
|
:'public_submissions' => :'public_submissions',
|
|
203
227
|
:'public_web_form' => :'public_web_form',
|
|
204
228
|
:'redirect_url' => :'redirect_url',
|
|
229
|
+
:'signature_request_email_attachments' => :'signature_request_email_attachments',
|
|
230
|
+
:'signature_request_from_address' => :'signature_request_from_address',
|
|
231
|
+
:'signature_request_include_signing_token' => :'signature_request_include_signing_token',
|
|
232
|
+
:'signature_request_from_name' => :'signature_request_from_name',
|
|
233
|
+
:'signature_request_notification_emails' => :'signature_request_notification_emails',
|
|
234
|
+
:'signature_request_reply_to' => :'signature_request_reply_to',
|
|
235
|
+
:'signature_request_signing_url' => :'signature_request_signing_url',
|
|
205
236
|
:'slack_webhook_url' => :'slack_webhook_url',
|
|
206
237
|
:'defaults' => :'defaults',
|
|
207
238
|
:'field_dependencies' => :'field_dependencies',
|
|
@@ -213,6 +244,7 @@ module DocSpring
|
|
|
213
244
|
:'footer_html' => :'footer_html',
|
|
214
245
|
:'html_engine_options' => :'html_engine_options',
|
|
215
246
|
:'html_escape_data' => :'html_escape_data',
|
|
247
|
+
:'layout' => :'layout',
|
|
216
248
|
:'cache_id' => :'cache_id',
|
|
217
249
|
:'document_url' => :'document_url',
|
|
218
250
|
:'document_base64' => :'document_base64',
|
|
@@ -263,6 +295,13 @@ module DocSpring
|
|
|
263
295
|
:'public_submissions' => :'Boolean',
|
|
264
296
|
:'public_web_form' => :'Boolean',
|
|
265
297
|
:'redirect_url' => :'String',
|
|
298
|
+
:'signature_request_email_attachments' => :'SignatureRequestEmailAttachments',
|
|
299
|
+
:'signature_request_from_address' => :'String',
|
|
300
|
+
:'signature_request_include_signing_token' => :'Boolean',
|
|
301
|
+
:'signature_request_from_name' => :'String',
|
|
302
|
+
:'signature_request_notification_emails' => :'Array<String>',
|
|
303
|
+
:'signature_request_reply_to' => :'String',
|
|
304
|
+
:'signature_request_signing_url' => :'String',
|
|
266
305
|
:'slack_webhook_url' => :'String',
|
|
267
306
|
:'defaults' => :'TemplateDefaultsInput',
|
|
268
307
|
:'field_dependencies' => :'Array<TemplateFieldDependencyInput>',
|
|
@@ -274,6 +313,7 @@ module DocSpring
|
|
|
274
313
|
:'footer_html' => :'String',
|
|
275
314
|
:'html_engine_options' => :'HtmlEngineOptionsInput',
|
|
276
315
|
:'html_escape_data' => :'Boolean',
|
|
316
|
+
:'layout' => :'Hash<String, Object>',
|
|
277
317
|
:'cache_id' => :'String',
|
|
278
318
|
:'document_url' => :'String',
|
|
279
319
|
:'document_base64' => :'String',
|
|
@@ -292,6 +332,11 @@ module DocSpring
|
|
|
292
332
|
:'parent_folder_id',
|
|
293
333
|
:'encrypt_pdfs_password',
|
|
294
334
|
:'redirect_url',
|
|
335
|
+
:'signature_request_email_attachments',
|
|
336
|
+
:'signature_request_from_address',
|
|
337
|
+
:'signature_request_from_name',
|
|
338
|
+
:'signature_request_reply_to',
|
|
339
|
+
:'signature_request_signing_url',
|
|
295
340
|
:'slack_webhook_url',
|
|
296
341
|
:'predefined_fields_sample_data',
|
|
297
342
|
:'html',
|
|
@@ -299,6 +344,7 @@ module DocSpring
|
|
|
299
344
|
:'header_html',
|
|
300
345
|
:'footer_html',
|
|
301
346
|
:'html_engine_options',
|
|
347
|
+
:'layout',
|
|
302
348
|
])
|
|
303
349
|
end
|
|
304
350
|
|
|
@@ -436,6 +482,36 @@ module DocSpring
|
|
|
436
482
|
self.redirect_url = attributes[:'redirect_url']
|
|
437
483
|
end
|
|
438
484
|
|
|
485
|
+
if attributes.key?(:'signature_request_email_attachments')
|
|
486
|
+
self.signature_request_email_attachments = attributes[:'signature_request_email_attachments']
|
|
487
|
+
end
|
|
488
|
+
|
|
489
|
+
if attributes.key?(:'signature_request_from_address')
|
|
490
|
+
self.signature_request_from_address = attributes[:'signature_request_from_address']
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
if attributes.key?(:'signature_request_include_signing_token')
|
|
494
|
+
self.signature_request_include_signing_token = attributes[:'signature_request_include_signing_token']
|
|
495
|
+
end
|
|
496
|
+
|
|
497
|
+
if attributes.key?(:'signature_request_from_name')
|
|
498
|
+
self.signature_request_from_name = attributes[:'signature_request_from_name']
|
|
499
|
+
end
|
|
500
|
+
|
|
501
|
+
if attributes.key?(:'signature_request_notification_emails')
|
|
502
|
+
if (value = attributes[:'signature_request_notification_emails']).is_a?(Array)
|
|
503
|
+
self.signature_request_notification_emails = value
|
|
504
|
+
end
|
|
505
|
+
end
|
|
506
|
+
|
|
507
|
+
if attributes.key?(:'signature_request_reply_to')
|
|
508
|
+
self.signature_request_reply_to = attributes[:'signature_request_reply_to']
|
|
509
|
+
end
|
|
510
|
+
|
|
511
|
+
if attributes.key?(:'signature_request_signing_url')
|
|
512
|
+
self.signature_request_signing_url = attributes[:'signature_request_signing_url']
|
|
513
|
+
end
|
|
514
|
+
|
|
439
515
|
if attributes.key?(:'slack_webhook_url')
|
|
440
516
|
self.slack_webhook_url = attributes[:'slack_webhook_url']
|
|
441
517
|
end
|
|
@@ -486,6 +562,12 @@ module DocSpring
|
|
|
486
562
|
self.html_escape_data = attributes[:'html_escape_data']
|
|
487
563
|
end
|
|
488
564
|
|
|
565
|
+
if attributes.key?(:'layout')
|
|
566
|
+
if (value = attributes[:'layout']).is_a?(Hash) || value.nil?
|
|
567
|
+
self.layout = value
|
|
568
|
+
end
|
|
569
|
+
end
|
|
570
|
+
|
|
489
571
|
if attributes.key?(:'cache_id')
|
|
490
572
|
self.cache_id = attributes[:'cache_id']
|
|
491
573
|
end
|
|
@@ -549,6 +631,16 @@ module DocSpring
|
|
|
549
631
|
@template_type = template_type
|
|
550
632
|
end
|
|
551
633
|
|
|
634
|
+
# Custom attribute writer method with validation
|
|
635
|
+
# @param [Object] signature_request_notification_emails Value to be assigned
|
|
636
|
+
def signature_request_notification_emails=(signature_request_notification_emails)
|
|
637
|
+
if signature_request_notification_emails.nil?
|
|
638
|
+
fail ArgumentError, 'signature_request_notification_emails cannot be nil'
|
|
639
|
+
end
|
|
640
|
+
|
|
641
|
+
@signature_request_notification_emails = signature_request_notification_emails
|
|
642
|
+
end
|
|
643
|
+
|
|
552
644
|
# Checks equality by comparing each attribute.
|
|
553
645
|
# @param [Object] Object to be compared
|
|
554
646
|
def ==(o)
|
|
@@ -580,6 +672,13 @@ module DocSpring
|
|
|
580
672
|
public_submissions == o.public_submissions &&
|
|
581
673
|
public_web_form == o.public_web_form &&
|
|
582
674
|
redirect_url == o.redirect_url &&
|
|
675
|
+
signature_request_email_attachments == o.signature_request_email_attachments &&
|
|
676
|
+
signature_request_from_address == o.signature_request_from_address &&
|
|
677
|
+
signature_request_include_signing_token == o.signature_request_include_signing_token &&
|
|
678
|
+
signature_request_from_name == o.signature_request_from_name &&
|
|
679
|
+
signature_request_notification_emails == o.signature_request_notification_emails &&
|
|
680
|
+
signature_request_reply_to == o.signature_request_reply_to &&
|
|
681
|
+
signature_request_signing_url == o.signature_request_signing_url &&
|
|
583
682
|
slack_webhook_url == o.slack_webhook_url &&
|
|
584
683
|
defaults == o.defaults &&
|
|
585
684
|
field_dependencies == o.field_dependencies &&
|
|
@@ -591,6 +690,7 @@ module DocSpring
|
|
|
591
690
|
footer_html == o.footer_html &&
|
|
592
691
|
html_engine_options == o.html_engine_options &&
|
|
593
692
|
html_escape_data == o.html_escape_data &&
|
|
693
|
+
layout == o.layout &&
|
|
594
694
|
cache_id == o.cache_id &&
|
|
595
695
|
document_url == o.document_url &&
|
|
596
696
|
document_base64 == o.document_base64 &&
|
|
@@ -610,7 +710,7 @@ module DocSpring
|
|
|
610
710
|
# Calculates hash code according to all attributes.
|
|
611
711
|
# @return [Integer] Hash code
|
|
612
712
|
def hash
|
|
613
|
-
[name, description, template_type, output_format, parent_folder_id, locked, add_signature_request_submission_id_footers, ai_field_naming_language, allow_additional_properties, allow_skipping_optional_fields, default_form_mode, editable_submissions, embed_domains, embed_edit_allow_settings, embed_edit_allow_versioning, embed_edit_allow_document_replacement, encrypt_pdfs, encrypt_pdfs_password, expire_submissions, expire_after, expiration_interval, merge_audit_trail_pdf, parse_dates_using_template_date_format, public_submissions, public_web_form, redirect_url, slack_webhook_url, defaults, field_dependencies, predefined_fields, predefined_fields_sample_data, html, scss, header_html, footer_html, html_engine_options, html_escape_data, cache_id, document_url, document_base64, filename, detect_fields, field_source, field_naming, field_logic].hash
|
|
713
|
+
[name, description, template_type, output_format, parent_folder_id, locked, add_signature_request_submission_id_footers, ai_field_naming_language, allow_additional_properties, allow_skipping_optional_fields, default_form_mode, editable_submissions, embed_domains, embed_edit_allow_settings, embed_edit_allow_versioning, embed_edit_allow_document_replacement, encrypt_pdfs, encrypt_pdfs_password, expire_submissions, expire_after, expiration_interval, merge_audit_trail_pdf, parse_dates_using_template_date_format, public_submissions, public_web_form, redirect_url, signature_request_email_attachments, signature_request_from_address, signature_request_include_signing_token, signature_request_from_name, signature_request_notification_emails, signature_request_reply_to, signature_request_signing_url, slack_webhook_url, defaults, field_dependencies, predefined_fields, predefined_fields_sample_data, html, scss, header_html, footer_html, html_engine_options, html_escape_data, layout, cache_id, document_url, document_base64, filename, detect_fields, field_source, field_naming, field_logic].hash
|
|
614
714
|
end
|
|
615
715
|
|
|
616
716
|
# Builds the object from hash
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#DocSpring API
|
|
3
|
+
|
|
4
|
+
#Use DocSpring's API to fill PDF forms, generate PDFs and Word documents from HTML or Word templates, merge PDFs, and request legally binding e-signatures.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: v2
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.26.0-DOCSPRING
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module DocSpring
|
|
17
|
+
class DnsRecordType
|
|
18
|
+
CNAME = "CNAME".freeze
|
|
19
|
+
MX = "MX".freeze
|
|
20
|
+
TXT = "TXT".freeze
|
|
21
|
+
|
|
22
|
+
def self.all_vars
|
|
23
|
+
@all_vars ||= [CNAME, MX, TXT].freeze
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Builds the enum from string
|
|
27
|
+
# @param [String] The enum value in the form of the string
|
|
28
|
+
# @return [String] The enum value
|
|
29
|
+
def self.build_from_hash(value)
|
|
30
|
+
new.build_from_hash(value)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Builds the enum from string
|
|
34
|
+
# @param [String] The enum value in the form of the string
|
|
35
|
+
# @return [String] The enum value
|
|
36
|
+
def build_from_hash(value)
|
|
37
|
+
# Only responses are built from hashes, and a value added to the API after this client was released is kept as it
|
|
38
|
+
# is: the constants are the values this client knows
|
|
39
|
+
value
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|