diff --git a/app/controllers/embeddeds_controller.rb b/app/controllers/embeddeds_controller.rb index 896a31c..98a07c3 100644 --- a/app/controllers/embeddeds_controller.rb +++ b/app/controllers/embeddeds_controller.rb @@ -16,14 +16,118 @@ def template ] ) - response_object = JSON.parse(signature_event.to_json, symbolize_names: true) + @sign_url = render_url(signature_event) + end + + def file_request + client = Embedded.initiate_client + file = params[:file] + + signature_event = client.create_embedded_signature_request( + test_mode: 1, + client_id: ENV['CLIENT_ID'], + subject: 'Embedded Signature Request with File', + message: 'Hey!', + signers: [ + { + email_address: 'jen.young+1@hellosign.com', + name: 'Jen Test' + } + ], + files: file + ) + + @sign_url = render_url(signature_event) + end + + def unclaimed_draft + client = Embedded.initiate_client + + signature_event = client.create_embedded_unclaimed_draft( + test_mode: 1, + client_id: ENV['CLIENT_ID'], + type: 'request_signature', + subject: 'Embedded Unclaimed Draft', + requester_email_address: 'jen.young@hellosign.com', + file_url: 'http://www.pdf995.com/samples/pdf.pdf', + is_for_embedded_signing: 1 + ) + + @sign_url = render_url(signature_event) + end + + def unclaimed_draft_template + client = Embedded.initiate_client + + signature_event = client.create_embedded_unclaimed_draft_with_template( + test_mode: 1, + client_id: ENV['CLIENT_ID'], + template_id: 'e918bf31ce40b1a66b593992a9ebfcfde2c72648', + requester_email_address: 'jen.young@hellosign.com', + signing_redirect_url: 'http://www.google.com', + requesting_redirect_url: 'http://www.google.com', + signers: [ + { + email_address: 'jen.young+1@hellosign.com', + name: 'Jen Test', + role: 'Client' + } + ] + ) + + response = JSON.parse(signature_event.to_json, symbolize_names: true) + @sign_url = response[:raw_data][:claim_url] + end + def template_draft + client = Embedded.initiate_client + file = params[:file] + + request = client.create_embedded_template_draft( + test_mode: 1, + client_id: ENV['CLIENT_ID'], + file_url: 'http://www.pdf995.com/samples/pdf.pdf', + title: 'Test title', + subject: 'test subject', + message: 'test message', + signer_roles: [ + { + name: 'Client', + order: 0 + }, + { + name: 'Client 2', + order: 1 + } + ], + merge_fields: '[ + { + "name":"Test Merge", + "type":"text" + }, + { + "name":"Test Merge 2", + "type":"text" + }]' + ) + + p request + p "*****" + p request.data['template_id'] + @sign_url = request.data['edit_url'] + end + + private + + def render_url(response) + client = Embedded.initiate_client + + response_object = JSON.parse(response.to_json, symbolize_names: true) signature_id = response_object[:raw_data][:signatures][0][:signature_id] get_url = client.get_embedded_sign_url :signature_id => signature_id url_response = JSON.parse(get_url.to_json, symbolize_names: true) - - @sign_url = url_response[:raw_data][:sign_url] + url_response[:raw_data][:sign_url] end end diff --git a/app/controllers/signs_controller.rb b/app/controllers/signs_controller.rb index ef49818..b2c7341 100644 --- a/app/controllers/signs_controller.rb +++ b/app/controllers/signs_controller.rb @@ -39,16 +39,44 @@ def send_request :message => 'This is a test from my Rails app', :signers => [ { - :email_address => 'jyoung488@gmail.com', + :email_address => 'jen.young@hellosign.com', :name => 'Jen', - :order => 0, + :order => 0 } ], - :file_url => 'http://hrcouncil.ca/docs/samplecontract.pdf' + # :form_fields_per_document => [ + # [ + # { + # "api_id": "uniqueIdHere_1", + # "name": "", + # "type": "text", + # "x": 112, + # "y": 328, + # "width": 100, + # "height": 16, + # "required": true, + # "signer": 1, + # "page": 1, + # "validation_type": "numbers_only" + # }, + # { + # "api_id": "uniqueIdHere_2", + # "name": "", + # "type": "signature", + # "x": 530, + # "y": 415, + # "width": 120, + # "height": 30, + # "required": true, + # "signer": 0, + # "page": 1 + # } + # ] + # ], + :file_url => 'http://www.pdf995.com/samples/pdf.pdf' ) - p "***********" - p data = JSON.parse(response.to_json, symbolize_names: true) + data = JSON.parse(response.to_json, symbolize_names: true) id = data[:raw_data][:signatures][0][:signature_id] end diff --git a/app/views/embeddeds/file_request.html.erb b/app/views/embeddeds/file_request.html.erb new file mode 100644 index 0000000..3de440f --- /dev/null +++ b/app/views/embeddeds/file_request.html.erb @@ -0,0 +1 @@ +<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url } %> diff --git a/app/views/embeddeds/index.html.erb b/app/views/embeddeds/index.html.erb index 39f9fb1..87f38ad 100644 --- a/app/views/embeddeds/index.html.erb +++ b/app/views/embeddeds/index.html.erb @@ -2,6 +2,18 @@ diff --git a/app/views/embeddeds/template.html.erb b/app/views/embeddeds/template.html.erb index 45861b5..3de440f 100644 --- a/app/views/embeddeds/template.html.erb +++ b/app/views/embeddeds/template.html.erb @@ -1 +1 @@ -<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url, client_id: @client_id } %> +<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url } %> diff --git a/app/views/embeddeds/template_draft.html.erb b/app/views/embeddeds/template_draft.html.erb new file mode 100644 index 0000000..3de440f --- /dev/null +++ b/app/views/embeddeds/template_draft.html.erb @@ -0,0 +1 @@ +<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url } %> diff --git a/app/views/embeddeds/unclaimed_draft.html.erb b/app/views/embeddeds/unclaimed_draft.html.erb new file mode 100644 index 0000000..3de440f --- /dev/null +++ b/app/views/embeddeds/unclaimed_draft.html.erb @@ -0,0 +1 @@ +<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url } %> diff --git a/app/views/embeddeds/unclaimed_draft_template.html.erb b/app/views/embeddeds/unclaimed_draft_template.html.erb new file mode 100644 index 0000000..3de440f --- /dev/null +++ b/app/views/embeddeds/unclaimed_draft_template.html.erb @@ -0,0 +1 @@ +<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url } %> diff --git a/config/routes.rb b/config/routes.rb index 1e5249e..2f21760 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -20,4 +20,8 @@ get '/embeddeds' => 'embeddeds#index' get '/embeddeds/template' => 'embeddeds#template' + get '/embeddeds/file-request' => 'embeddeds#file_request' + get '/embeddeds/unclaimed-draft' => 'embeddeds#unclaimed_draft' + get '/embeddeds/unclaimed-draft-template' => 'embeddeds#unclaimed_draft_template' + get '/embeddeds/template-draft' => 'embeddeds#template_draft' end