Module: Echochamber::Request
- Defined in:
- lib/echochamber/request.rb,
lib/echochamber/widget/request.rb,
lib/echochamber/agreement/request.rb,
lib/echochamber/library_documents/request.rb
Defined Under Namespace
Classes: Failure
Constant Summary collapse
- BASE_URL =
'https://secure.echosign.com/api/rest/v2'
- ENDPOINT =
{ token: BASE_URL + '/auth/tokens', user: BASE_URL + '/users', agreement: BASE_URL + '/agreements', reminder: BASE_URL + '/reminders', transientDocument: BASE_URL + '/transientDocuments', libraryDocument: BASE_URL + '/libraryDocuments', widget: BASE_URL + '/widgets' }
Class Method Summary collapse
-
.agreement_combined_pdf(token, agreement_id, versionId, participantEmail, attachSupportingDocuments, auditReport) ⇒ String
Gets a single combined PDF document for the documents associated with an agreement.
-
.agreement_document_file(token, agreement_id, document_id) ⇒ String
Retrieve agreement document PDF.
-
.agreement_documents(token, agreement_id, recipient_email = nil, format = nil, version_id = nil) ⇒ Hash
Performs REST GET /agreement/:id/documents.
-
.agreement_form_data(token, agreement_id) ⇒ String
Retrieves data entered by the user into interactive form fields at the time they signed the agreement.
-
.agreement_info(token, agreement_id) ⇒ Hash
Performs REST GET /agreement/:id operation.
-
.agreement_signing_urls(token, agreement_id) ⇒ Hash
Performs REST GET /agreement/:id/signingUrls operation.
-
.audit_trail_pdf(token, agreement_id) ⇒ String
Performs REST GET /agreement/:id/auditTrail operation.
-
.create_agreement(body, token, user_id = nil, user_email = nil) ⇒ Hash
Performs REST create_agreement operation.
-
.create_reminder(token, body) ⇒ Hash
Sends a reminder for an agreement.
-
.create_transient_document(token, file_name, file_handle, mime_type = nil) ⇒ Hash
Performs REST create_transient_document operation.
-
.create_user(body, token) ⇒ Hash
Performs REST create_user operation.
-
.create_widget(token, widget) ⇒ Hash
Creates a widget and returns the Javascript snippet and URL to access the widget and widgetID in response to the client.
-
.get_agreements(token) ⇒ Hash
Performs REST GET /agreements operation.
-
.get_library_document(token, library_document_id) ⇒ Hash
Retrieves library document metadata for a user.
-
.get_library_document_file(token, library_document_id, file_id) ⇒ String
Retrieves library document file data.
-
.get_library_document_files(token, library_document_id) ⇒ Hash
Retrieves library document file.
-
.get_library_documents(token, user_id = nil, user_email = nil) ⇒ Hash
Retrieves library documents for a user.
-
.get_token(credentials) ⇒ String
Retrieves the authentication token.
-
.get_user(token, user_id) ⇒ Hash
Gets all the users in an account that the caller has permissions to access.
-
.get_users(token, user_email) ⇒ Hash
Gets all the users in an account that the caller has permissions to access.
-
.get_widget(token, widget_id) ⇒ Hash
Performs GET /widget operation.
-
.get_widget_audit_trail(token, widget_id) ⇒ Hash
Performs GET /widget/:id/auditTrail.
-
.get_widget_document_file(token, widget_id, document_id) ⇒ Hash
Performs GET /widget/:id/documents/:id operation.
-
.get_widget_documents(token, widget_id, version_id = nil, participant_email = nil) ⇒ Hash
Performs GET /widget/:id/documents operation.
-
.get_widget_form_data(token, widget_id) ⇒ Hash
Performs GET /widget/:id/formData.
-
.get_widgets(token, user_id = nil, user_email = nil) ⇒ Hash
Performs GET /widgets operation.
-
.library_combined_document(token, library_document_id, auditReport) ⇒ String
Retrieves library combined document file.
-
.library_document_audit_trail(token, library_document_id) ⇒ String
Retrieves library document file data.
-
.personalize_widget(token, widget_id, personalization) ⇒ Hash
Performs REST PUT /agreement/:id operation.
-
.update_agreement_status(token, agreement_id, request_body) ⇒ Hash
Performs REST PUT /agreement/:id operation.
-
.update_widget_status(token, widget_id, status) ⇒ Hash
Performs REST PUT /agreement/:id operation.
Class Method Details
.agreement_combined_pdf(token, agreement_id, versionId, participantEmail, attachSupportingDocuments, auditReport) ⇒ String
Gets a single combined PDF document for the documents associated with an agreement.
57 58 59 60 61 62 63 64 65 |
# File 'lib/echochamber/agreement/request.rb', line 57 def self.agreement_combined_pdf(token, agreement_id, versionId, participantEmail, attachSupportingDocuments, auditReport) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:agreement)}/#{agreement_id}/combinedDocument" endpoint << add_query(endpoint, "versionId=#{versionId}") unless versionId.nil? endpoint << add_query(endpoint, "participantEmail=#{participantEmail}") unless participantEmail.nil? endpoint << add_query(endpoint, "attachSupportingDocuments=#{attachSupportingDocuments}") endpoint << add_query(endpoint, "auditReport=#{auditReport}") response = get(endpoint, headers) end |
.agreement_document_file(token, agreement_id, document_id) ⇒ String
Retrieve agreement document PDF
83 84 85 86 87 |
# File 'lib/echochamber/agreement/request.rb', line 83 def self.agreement_document_file(token, agreement_id, document_id) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:agreement)}/#{agreement_id}/documents/#{document_id}" response = get(endpoint, headers) end |
.agreement_documents(token, agreement_id, recipient_email = nil, format = nil, version_id = nil) ⇒ Hash
Performs REST GET /agreement/:id/documents
107 108 109 110 111 112 113 114 115 |
# File 'lib/echochamber/agreement/request.rb', line 107 def self.agreement_documents(token, agreement_id, recipient_email=nil, format=nil, version_id=nil) headers = { :accept => :json, 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:agreement)}/#{agreement_id}/documents" endpoint << add_query(endpoint, "versionId=#{version_id}") unless version_id.nil? endpoint << add_query(endpoint, "participantEmail=#{recipient_email}") unless version_id.nil? endpoint << add_query(endpoint, "supportingDocumentContentFormat=#{format}") unless format.nil? response = get(endpoint, headers) JSON.parse(response.body) end |
.agreement_form_data(token, agreement_id) ⇒ String
Retrieves data entered by the user into interactive form fields at the time they signed the agreement
72 73 74 75 76 |
# File 'lib/echochamber/agreement/request.rb', line 72 def self.agreement_form_data(token, agreement_id) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:agreement)}/#{agreement_id}/formData" response = get(endpoint, headers) end |
.agreement_info(token, agreement_id) ⇒ Hash
Performs REST GET /agreement/:id operation
33 34 35 36 37 38 |
# File 'lib/echochamber/agreement/request.rb', line 33 def self.agreement_info(token, agreement_id) headers = { :accept => :json, 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:agreement)}/#{agreement_id}" response = get(endpoint, headers) JSON.parse(response.body) end |
.agreement_signing_urls(token, agreement_id) ⇒ Hash
Performs REST GET /agreement/:id/signingUrls operation
45 46 47 48 49 50 |
# File 'lib/echochamber/agreement/request.rb', line 45 def self.agreement_signing_urls(token, agreement_id) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:agreement)}/#{agreement_id}/signingUrls" response = get(endpoint, headers) JSON.parse(response.body) end |
.audit_trail_pdf(token, agreement_id) ⇒ String
Performs REST GET /agreement/:id/auditTrail operation
94 95 96 97 98 |
# File 'lib/echochamber/agreement/request.rb', line 94 def self.audit_trail_pdf(token, agreement_id) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:agreement)}/#{agreement_id}/auditTrail" response = get(endpoint, headers) end |
.create_agreement(body, token, user_id = nil, user_email = nil) ⇒ Hash
Performs REST create_agreement operation
10 11 12 13 14 15 16 |
# File 'lib/echochamber/agreement/request.rb', line 10 def self.create_agreement(body, token, user_id=nil, user_email=nil) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } headers.merge!('X-User-Id' => user_id) unless user_id.nil? headers.merge!('X-User-Email' => user_email) unless user_email.nil? response = post(ENDPOINT.fetch(:agreement), body, headers) JSON.parse(response.body) end |
.create_reminder(token, body) ⇒ Hash
Sends a reminder for an agreement.
56 57 58 59 60 61 |
# File 'lib/echochamber/request.rb', line 56 def self.create_reminder(token, body) endpoint = ENDPOINT.fetch(:reminder) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token} response = post(endpoint, body, headers) JSON.parse(response.body) end |
.create_transient_document(token, file_name, file_handle, mime_type = nil) ⇒ Hash
Performs REST create_transient_document operation
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/echochamber/request.rb', line 70 def self.create_transient_document(token, file_name, file_handle, mime_type=nil) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } begin response = RestClient.post( ENDPOINT.fetch(:transientDocument), { 'File-Name' => file_name, 'Mime-Type' => mime_type, 'File' => file_handle, :multipart => true}, headers ) rescue Exception => error raise_error(error) end JSON.parse(response.body) end |
.create_user(body, token) ⇒ Hash
Performs REST create_user operation
44 45 46 47 48 49 |
# File 'lib/echochamber/request.rb', line 44 def self.create_user(body, token) endpoint = ENDPOINT.fetch(:user) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token} response = post(endpoint, body, headers) JSON.parse(response.body) end |
.create_widget(token, widget) ⇒ Hash
Creates a widget and returns the Javascript snippet and URL to access the widget and widgetID in response to the client
8 9 10 11 12 13 14 15 |
# File 'lib/echochamber/widget/request.rb', line 8 def self.(token, ) endpoint = ENDPOINT.fetch(:widget) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token} headers.merge!('X-User-Id' => .user_id) unless .user_id.nil? headers.merge!('X-User-Email' => .user_email) unless .user_email.nil? response = post(endpoint, , headers) JSON.parse(response.body) end |
.get_agreements(token) ⇒ Hash
Performs REST GET /agreements operation
22 23 24 25 26 |
# File 'lib/echochamber/agreement/request.rb', line 22 def self.get_agreements(token) headers = { :accept => :json, 'Access-Token' => token } response = get(ENDPOINT.fetch(:agreement), headers) JSON.parse(response.body) end |
.get_library_document(token, library_document_id) ⇒ Hash
Retrieves library document metadata for a user.
23 24 25 26 27 28 |
# File 'lib/echochamber/library_documents/request.rb', line 23 def self.get_library_document(token, library_document_id) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:libraryDocument)}/#{library_document_id}" response = get(endpoint, headers) JSON.parse(response) end |
.get_library_document_file(token, library_document_id, file_id) ⇒ String
Retrieves library document file data
48 49 50 51 52 |
# File 'lib/echochamber/library_documents/request.rb', line 48 def self.get_library_document_file(token, library_document_id, file_id) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:libraryDocument)}/#{library_document_id}/documents/#{file_id}" response = get(endpoint, headers) end |
.get_library_document_files(token, library_document_id) ⇒ Hash
Retrieves library document file
35 36 37 38 39 40 |
# File 'lib/echochamber/library_documents/request.rb', line 35 def self.get_library_document_files(token, library_document_id) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:libraryDocument)}/#{library_document_id}/documents" response = get(endpoint, headers) JSON.parse(response) end |
.get_library_documents(token, user_id = nil, user_email = nil) ⇒ Hash
Retrieves library documents for a user.
9 10 11 12 13 14 15 16 |
# File 'lib/echochamber/library_documents/request.rb', line 9 def self.get_library_documents(token, user_id=nil, user_email=nil) headers = { 'Access-Token' => token } headers.merge!('X-User-Id' => user_id) unless user_id.nil? headers.merge!('X-User-Email' => user_email) unless user_email.nil? endpoint = ENDPOINT.fetch(:libraryDocument) response = get(endpoint, headers) JSON.parse(response) end |
.get_token(credentials) ⇒ String
Retrieves the authentication token
32 33 34 35 36 37 |
# File 'lib/echochamber/request.rb', line 32 def self.get_token(credentials) headers = { :content_type => :json, :accept => :json } response = post(ENDPOINT.fetch(:token), credentials, headers) response_body = JSON.parse(response.body) response_body.fetch("accessToken") end |
.get_user(token, user_id) ⇒ Hash
Gets all the users in an account that the caller has permissions to access.
106 107 108 109 110 111 |
# File 'lib/echochamber/request.rb', line 106 def self.get_user(token, user_id) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:user)}/#{user_id}" response = get(endpoint, headers) JSON.parse(response) end |
.get_users(token, user_email) ⇒ Hash
Gets all the users in an account that the caller has permissions to access.
94 95 96 97 98 99 |
# File 'lib/echochamber/request.rb', line 94 def self.get_users(token, user_email) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:user)}?x-user-email=#{user_email}" response = get(endpoint, headers) JSON.parse(response) end |
.get_widget(token, widget_id) ⇒ Hash
Performs GET /widget operation
82 83 84 85 86 87 |
# File 'lib/echochamber/widget/request.rb', line 82 def self.(token, ) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:widget)}/#{}" response = get(endpoint, headers) JSON.parse(response.body) end |
.get_widget_audit_trail(token, widget_id) ⇒ Hash
Performs GET /widget/:id/auditTrail
116 117 118 119 120 |
# File 'lib/echochamber/widget/request.rb', line 116 def self.(token, ) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:widget)}/#{}/auditTrail" response = get(endpoint, headers) end |
.get_widget_document_file(token, widget_id, document_id) ⇒ Hash
Performs GET /widget/:id/documents/:id operation
106 107 108 109 110 |
# File 'lib/echochamber/widget/request.rb', line 106 def self.(token, , document_id) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:widget)}/#{}/documents/#{document_id}" response = get(endpoint, headers) end |
.get_widget_documents(token, widget_id, version_id = nil, participant_email = nil) ⇒ Hash
Performs GET /widget/:id/documents operation
93 94 95 96 97 98 99 100 |
# File 'lib/echochamber/widget/request.rb', line 93 def self.(token, , version_id=nil, participant_email=nil) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:widget)}/#{}/documents" endpoint << add_query(endpoint, "versionId=#{version_id}") unless version_id.nil? endpoint << add_query(endpoint, "participantEmail=#{participant_email}") unless participant_email.nil? response = get(endpoint, headers) JSON.parse(response.body) end |
.get_widget_form_data(token, widget_id) ⇒ Hash
Performs GET /widget/:id/formData
126 127 128 129 130 |
# File 'lib/echochamber/widget/request.rb', line 126 def self.(token, ) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:widget)}/#{}/formData" response = get(endpoint, headers) end |
.get_widgets(token, user_id = nil, user_email = nil) ⇒ Hash
Performs GET /widgets operation
69 70 71 72 73 74 75 76 |
# File 'lib/echochamber/widget/request.rb', line 69 def self.(token, user_id=nil, user_email=nil) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } headers.merge!('X-User-Id' => user_id) unless user_id.nil? headers.merge!('X-User-Email' => user_email) unless user_email.nil? endpoint = "#{ENDPOINT.fetch(:widget)}" response = get(endpoint, headers) JSON.parse(response.body) end |
.library_combined_document(token, library_document_id, auditReport) ⇒ String
Retrieves library combined document file
70 71 72 73 74 75 |
# File 'lib/echochamber/library_documents/request.rb', line 70 def self.library_combined_document(token, library_document_id, auditReport) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:libraryDocument)}/#{library_document_id}/combinedDocument" endpoint << add_query(endpoint, "auditReport=#{auditReport}") response = get(endpoint, headers) end |
.library_document_audit_trail(token, library_document_id) ⇒ String
Retrieves library document file data
59 60 61 62 63 |
# File 'lib/echochamber/library_documents/request.rb', line 59 def self.library_document_audit_trail(token, library_document_id) headers = { 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:libraryDocument)}/#{library_document_id}/auditTrail" response = get(endpoint, headers) end |
.personalize_widget(token, widget_id, personalization) ⇒ Hash
Performs REST PUT /agreement/:id operation
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/echochamber/widget/request.rb', line 23 def self.(token, , personalization) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:widget)}/#{}/personalize" begin response = RestClient.put( endpoint, personalization.to_json, headers ) rescue Exception => error raise_error(error) end JSON.parse(response.body) end |
.update_agreement_status(token, agreement_id, request_body) ⇒ Hash
Performs REST PUT /agreement/:id operation
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/echochamber/agreement/request.rb', line 124 def self.update_agreement_status(token, agreement_id, request_body) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:agreement)}/#{agreement_id}/status" begin response = RestClient.put( endpoint, request_body.to_json, headers ) rescue Exception => error raise_error(error) end JSON.parse(response.body) end |
.update_widget_status(token, widget_id, status) ⇒ Hash
Performs REST PUT /agreement/:id operation
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/echochamber/widget/request.rb', line 46 def self.(token, , status) headers = { :content_type => :json, :accept => :json, 'Access-Token' => token } endpoint = "#{ENDPOINT.fetch(:widget)}/#{}/status" begin response = RestClient.put( endpoint, status.to_json, headers ) rescue Exception => error raise_error(error) end JSON.parse(response.body) end |