Class: GroupDocs::Signature

Inherits:
Api::Entity show all
Includes:
Api::Helpers::MIME
Defined in:
lib/groupdocs/signature.rb,
lib/groupdocs/signature/shared/entity_fields.rb,
lib/groupdocs/signature/shared/field_methods.rb,
lib/groupdocs/signature/shared/entity_methods.rb,
lib/groupdocs/signature/shared/document_methods.rb,
lib/groupdocs/signature/shared/resource_methods.rb,
lib/groupdocs/signature/shared/recipient_methods.rb

Defined Under Namespace

Modules: DocumentMethods, EntityFields, EntityMethods, FieldMethods, RecipientMethods, ResourceMethods Classes: Contact, Envelope, Field, Form, List, Recipient, Role, Template

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Api::Entity

#initialize, #inspect, #to_hash

Methods included from Api::Helpers::Accessor

#alias_accessor

Constructor Details

This class inherits a constructor from GroupDocs::Api::Entity

Instance Attribute Details

#companyNameObject



430
431
432
# File 'lib/groupdocs/signature.rb', line 430

def companyName
  @companyName
end

#createdTimeStampObject



454
455
456
# File 'lib/groupdocs/signature.rb', line 454

def createdTimeStamp
  @createdTimeStamp
end

#firstNameObject



434
435
436
# File 'lib/groupdocs/signature.rb', line 434

def firstName
  @firstName
end

#fullNameObject



438
439
440
# File 'lib/groupdocs/signature.rb', line 438

def fullName
  @fullName
end

#idObject



422
423
424
# File 'lib/groupdocs/signature.rb', line 422

def id
  @id
end

#image_pathObject



456
457
458
# File 'lib/groupdocs/signature.rb', line 456

def image_path
  @image_path
end

#initialsDataObject



452
453
454
# File 'lib/groupdocs/signature.rb', line 452

def initialsData
  @initialsData
end

#initialsImageFileIdObject



444
445
446
# File 'lib/groupdocs/signature.rb', line 444

def initialsImageFileId
  @initialsImageFileId
end

#initialsImageUrlObject



448
449
450
# File 'lib/groupdocs/signature.rb', line 448

def initialsImageUrl
  @initialsImageUrl
end

#lastNameObject



436
437
438
# File 'lib/groupdocs/signature.rb', line 436

def lastName
  @lastName
end

#nameObject



428
429
430
# File 'lib/groupdocs/signature.rb', line 428

def name
  @name
end

#positionObject



432
433
434
# File 'lib/groupdocs/signature.rb', line 432

def position
  @position
end

#recipientIdObject



426
427
428
# File 'lib/groupdocs/signature.rb', line 426

def recipientId
  @recipientId
end

#signatureDataObject



450
451
452
# File 'lib/groupdocs/signature.rb', line 450

def signatureData
  @signatureData
end

#signatureImageFileIdObject



442
443
444
# File 'lib/groupdocs/signature.rb', line 442

def signatureImageFileId
  @signatureImageFileId
end

#signatureImageUrlObject



446
447
448
# File 'lib/groupdocs/signature.rb', line 446

def signatureImageUrl
  @signatureImageUrl
end

#textInitialsObject



440
441
442
# File 'lib/groupdocs/signature.rb', line 440

def textInitials
  @textInitials
end

#userGuidObject



424
425
426
# File 'lib/groupdocs/signature.rb', line 424

def userGuid
  @userGuid
end

Class Method Details

.get!(access = {}) ⇒ Array<GroupDocs::Signature>

Returns a list of all user signatures.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/groupdocs/signature.rb', line 24

def self.get!(access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/signature/{{client_id}}/signatures'
  end.execute!

  json[:signatures].map do |signature|
    new(signature)
  end
end

.get_document_fields!(document, access = {}) ⇒ Array

Get document fields

Parameters:

  • document (String)

    Document GUID

  • settings (Hash)

    Settings of the signing document

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


347
348
349
350
351
352
353
# File 'lib/groupdocs/signature.rb', line 347

def self.get_document_fields!(document, access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/documents/#{document}/fields"
  end.execute!
end

.get_for_recipient!(recipient, access = {}) ⇒ Array<GroupDocs::Signature>

Returns a list of all signatures for recipient.

Parameters:

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
# File 'lib/groupdocs/signature.rb', line 404

def self.get_for_recipient!(recipient, access = {})
  recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
    "Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"

  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/signature/public/signatures'
  end
  api.add_params(:recipientId => recipient.id)
  json = api.execute!

  json[:signatures].map do |signature|
    new(signature)
  end
end

.sign_document_status!(job, access = {}) ⇒ Array

Sign document

Parameters:

  • job (String)

    Job GUID

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


383
384
385
386
387
388
389
390
391
# File 'lib/groupdocs/signature.rb', line 383

def self.sign_document_status!(job, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/documents/#{job}/status"
  end.execute!

  Storage::File.new(:guid => json[:documents][0][:documentId])
end

.verify!(path, access = {}) ⇒ Array

Verify to document

Parameters:

  • path (String)

    Path to document GUID

  • settings (Hash)

    Settings of the signing document

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


365
366
367
368
369
370
371
372
# File 'lib/groupdocs/signature.rb', line 365

def self.verify!(path, access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/signature/public/verify"
    request[:request_body] = path
  end.execute!
end

Instance Method Details

#create!(title, access = {}) ⇒ Object

Creates signature.

Examples:

signature = GroupDocs::Signature.new
signature.first_name = 'John'
signature.last_name = 'Smith'
signature.create! "John Smith's Signature"

Parameters:

  • title (String)

    Signature title

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


488
489
490
491
492
493
494
495
496
497
498
499
# File 'lib/groupdocs/signature.rb', line 488

def create!(title, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = '/signature/{{client_id}}/signature'
    request[:request_body] = to_hash
  end
  api.add_params(:name => title)
  json = api.execute!

  self.id = json[:signature][:id]
end

#create_for_recipient!(recipient, title, access = {}) ⇒ Object

Creates signature for recipient.

Parameters:

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
# File 'lib/groupdocs/signature.rb', line 510

def create_for_recipient!(recipient, title, access = {})
  recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
    "Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"

  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = '/signature/public/signature'
    request[:request_body] = to_hash
  end
  api.add_params(:name => title, :recipientId => recipient.id)
  json = api.execute!

  self.id = json[:signature][:id]
end

#delete!(access = {}) ⇒ Object

Deletes signature.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


533
534
535
536
537
538
539
# File 'lib/groupdocs/signature.rb', line 533

def delete!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/signature/{{client_id}}/signatures/#{id}"
  end.execute!
end

#field_envelope_date!(envelope, recipient, field, access = {}) ⇒ Array

Get signed envelope field data.

Parameters:

  • envelope (String)

    Envelope GUID

  • recipient (String)

    Recipient GUID

  • field (String)

    Field GUID

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


133
134
135
136
137
138
139
140
# File 'lib/groupdocs/signature.rb', line 133

def field_envelope_date!(envelope, recipient, field,access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/envelopes/#{envelope.guid}/fields/recipient/#{recipient.id}/field/#{field.id}"
  end.execute!

end

#field_envelope_recipient!(envelope, options = {}, access = {}) ⇒ Array

Get signature field for document in envelope per recipient.

Parameters:

  • envelope (String)

    Envelope GUID

  • options (Hash) (defaults to: {})
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (options):

  • :document (String)

    Document GUID

  • :recipient (String)

    Recipient GUID

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


110
111
112
113
114
115
116
117
118
119
120
# File 'lib/groupdocs/signature.rb', line 110

def field_envelope_recipient!(envelope, options = {}, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/envelopes/#{envelope.guid}/fields"
  end
  api.add_params(options)
  json = api.execute!

  json[:field]
end

#fill_envelope!(envelope, document, recipient, field, post_data, access = {}) ⇒ Array

Fill in envelope field.

Parameters:

  • envelope (String)

    Envelope GUID

  • document (String)

    Document GUID

  • recipient (String)

    Recipient GUID

  • field (String)

    Field GUID

  • post_data (Hash)

    Data to be placed in field

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


50
51
52
53
54
55
56
57
58
59
# File 'lib/groupdocs/signature.rb', line 50

def fill_envelope!(envelope, document, recipient, field, post_data, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/signature/public/envelopes/#{envelope.guid}/documents/#{document.guid}/recipient/#{recipient.guid}/field/#{field.guid}"
    request[:request_body] = post_data
  end.execute!

  json[:field]
end

#fill_form_field!(form, document, participant, field, authentication, access = {}) ⇒ Array

Fill form field.

Parameters:

  • form (String)

    Form GUID

  • document (String)

    Document GUID

  • participant (String)

    Participant GUID

  • field (String)

    Field GUID

  • authentication (String)

    Authentication signature

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


212
213
214
215
216
217
218
219
220
221
222
# File 'lib/groupdocs/signature.rb', line 212

def fill_form_field!(form, document, participant, field, authentication, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/signature/public/forms/#{form.id}/documents/#{document.guid}/participant/#{participant.id}/field/#{field.id}"
  end
  api.add_params(:participantAuthSignature => authentication)
  json = api.execute!

  json[:field]
end

#fill_signature_form!(form, access = {}) ⇒ Array

Get signature envelope.

Parameters:

  • form (String)

    Form GUID

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


189
190
191
192
193
194
195
196
197
# File 'lib/groupdocs/signature.rb', line 189

def fill_signature_form!(form, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/forms/#{form.id}/fill"
  end.execute!

  json[:participant]
end

#get_sign_envelope!(envelope, recipient, access = {}) ⇒ Array

Get signature envelope.

Parameters:

  • envelope (String)

    Envelope GUID

  • recipient (String)

    Recipient GUID

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


152
153
154
155
156
157
158
159
160
# File 'lib/groupdocs/signature.rb', line 152

def get_sign_envelope!(envelope, recipient, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/envelopes/#{envelope.guid}/recipient/#{recipient.id}"
  end.execute!

  json[:envelope]
end

#get_sign_form!(form, options = {}, access = {}) ⇒ Array

Get form fields for document in form per participant

Parameters:

  • form (String)

    Form GUID

  • options (Hash) (defaults to: {})
  • access (Hash) (defaults to: {})

    Access credentials

  • [String] (Hash)

    a customizable set of options

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


259
260
261
262
263
264
265
266
267
268
269
# File 'lib/groupdocs/signature.rb', line 259

def get_sign_form!(form, options = {}, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/forms/#{form.id}/fields"
  end
  api.add_params(options)
  json = api.execute!

  json[:field]
end

#get_sign_form_participant!(form, participant, access = {}) ⇒ Array

Get signature form participant.

Parameters:

  • form (String)

    Form GUID

  • participant (String)

    Participant GUID

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


306
307
308
309
310
311
312
313
314
# File 'lib/groupdocs/signature.rb', line 306

def get_sign_form_participant!(form, participant, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/forms/#{form}/participant/#{participant}"
  end.execute!

  json[:participant]
end

#get_signed_documents!(envelope, recipient, access = {}) ⇒ Array

Get signature envelope.

Parameters:

  • envelope (String)

    Envelope GUID

  • recipient (String)

    Recipient GUID

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


172
173
174
175
176
177
178
# File 'lib/groupdocs/signature.rb', line 172

def get_signed_documents!(envelope, recipient, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/envelopes/#{envelope.guid}/recipient/#{recipient.id}/documents/get"
  end.execute!
end

#get_signed_documents_form!(path, name, form, participant, access = {}) ⇒ Array

Get signed form documents.

Parameters:

  • form (String)

    Form GUID

  • participant (String)

    Participant GUID

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


281
282
283
284
285
286
287
288
289
290
291
292
293
294
# File 'lib/groupdocs/signature.rb', line 281

def get_signed_documents_form!(path, name, form, participant, access = {})
  response = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/forms/#{form.id}/participant/#{participant.id}/documents/get"
  end.execute!

  filepath = "#{path}/#{name}."
  Object::File.open(filepath, 'wb') do |file|
    file.write(response)
  end

  filepath
end

#initials_data!(access = {}) ⇒ Object

Returns initials data.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


563
564
565
566
567
568
569
# File 'lib/groupdocs/signature.rb', line 563

def initials_data!(access = {})
  self.initials_data = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/signatures/signature/#{id}/initialsData"
  end.execute!
end

#recipient!(envelope, access = {}) ⇒ Array

Sing envelope

Parameters:

  • envelope (String)

    Envelope GUID

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


88
89
90
91
92
93
94
95
96
# File 'lib/groupdocs/signature.rb', line 88

def recipient!(envelope, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/envelopes/#{envelope.guid}/recipient/"
  end.execute!

  json[:recipient]
end

#sign_document!(document, settings = {}, access = {}) ⇒ Array

Sign document

Parameters:

  • document (String)

    Document GUID

  • settings (Hash) (defaults to: {})

    Settings of the signing document

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


326
327
328
329
330
331
332
333
334
335
# File 'lib/groupdocs/signature.rb', line 326

def sign_document!(document, settings = {}, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/signature/public/documents/#{document.guid}/sign"
    request[:request_body] = settings
  end.execute!

  json[:jobId]
end

#sign_envelope!(envelope, recipient, access = {}) ⇒ Array

Sing envelope

Parameters:

  • envelope (String)

    Envelope GUID

  • recipient (String)

    Recipient GUID

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


71
72
73
74
75
76
77
# File 'lib/groupdocs/signature.rb', line 71

def sign_envelope!(envelope, recipient, access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/signature/public/envelopes/#{envelope.guid}/recipient/#{recipient.id}/sign"
  end.execute!
end

#sign_form!(form, participant, authentication, access = {}) ⇒ Array

Sign form.

Parameters:

  • form (String)

    Form GUID

  • participant (String)

    Participant GUID

  • authentication (String)

    Authentication signature

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


235
236
237
238
239
240
241
242
243
244
245
# File 'lib/groupdocs/signature.rb', line 235

def sign_form!(form, participant, authentication, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/signature/public/forms/#{form}/participant/#{participant}/sign"
  end
  api.add_params(:participantAuthSignature => authentication)
  json = api.execute!

  json[:field]
end

#signature_data!(access = {}) ⇒ Object

Returns signature data.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


548
549
550
551
552
553
554
# File 'lib/groupdocs/signature.rb', line 548

def signature_data!(access = {})
  self.signature_data = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/signature/public/signatures/signature/#{id}/signatureData"
  end.execute!
end