Skip to content

Commit 0b117db

Browse files
authored
Merge pull request #2 from jyoung488/Embedded-Signing
Embedded signing
2 parents e838070 + 86ac8a4 commit 0b117db

9 files changed

Lines changed: 162 additions & 10 deletions

app/controllers/embeddeds_controller.rb

Lines changed: 107 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,118 @@ def template
1616
]
1717
)
1818

19-
response_object = JSON.parse(signature_event.to_json, symbolize_names: true)
19+
@sign_url = render_url(signature_event)
20+
end
21+
22+
def file_request
23+
client = Embedded.initiate_client
24+
file = params[:file]
25+
26+
signature_event = client.create_embedded_signature_request(
27+
test_mode: 1,
28+
client_id: ENV['CLIENT_ID'],
29+
subject: 'Embedded Signature Request with File',
30+
message: 'Hey!',
31+
signers: [
32+
{
33+
email_address: 'jen.young+1@hellosign.com',
34+
name: 'Jen Test'
35+
}
36+
],
37+
files: file
38+
)
39+
40+
@sign_url = render_url(signature_event)
41+
end
42+
43+
def unclaimed_draft
44+
client = Embedded.initiate_client
45+
46+
signature_event = client.create_embedded_unclaimed_draft(
47+
test_mode: 1,
48+
client_id: ENV['CLIENT_ID'],
49+
type: 'request_signature',
50+
subject: 'Embedded Unclaimed Draft',
51+
requester_email_address: 'jen.young@hellosign.com',
52+
file_url: 'http://www.pdf995.com/samples/pdf.pdf',
53+
is_for_embedded_signing: 1
54+
)
55+
56+
@sign_url = render_url(signature_event)
57+
end
58+
59+
def unclaimed_draft_template
60+
client = Embedded.initiate_client
61+
62+
signature_event = client.create_embedded_unclaimed_draft_with_template(
63+
test_mode: 1,
64+
client_id: ENV['CLIENT_ID'],
65+
template_id: 'e918bf31ce40b1a66b593992a9ebfcfde2c72648',
66+
requester_email_address: 'jen.young@hellosign.com',
67+
signing_redirect_url: 'http://www.google.com',
68+
requesting_redirect_url: 'http://www.google.com',
69+
signers: [
70+
{
71+
email_address: 'jen.young+1@hellosign.com',
72+
name: 'Jen Test',
73+
role: 'Client'
74+
}
75+
]
76+
)
77+
78+
response = JSON.parse(signature_event.to_json, symbolize_names: true)
79+
@sign_url = response[:raw_data][:claim_url]
80+
end
2081

82+
def template_draft
83+
client = Embedded.initiate_client
84+
file = params[:file]
85+
86+
request = client.create_embedded_template_draft(
87+
test_mode: 1,
88+
client_id: ENV['CLIENT_ID'],
89+
file_url: 'http://www.pdf995.com/samples/pdf.pdf',
90+
title: 'Test title',
91+
subject: 'test subject',
92+
message: 'test message',
93+
signer_roles: [
94+
{
95+
name: 'Client',
96+
order: 0
97+
},
98+
{
99+
name: 'Client 2',
100+
order: 1
101+
}
102+
],
103+
merge_fields: '[
104+
{
105+
"name":"Test Merge",
106+
"type":"text"
107+
},
108+
{
109+
"name":"Test Merge 2",
110+
"type":"text"
111+
}]'
112+
)
113+
114+
p request
115+
p "*****"
116+
p request.data['template_id']
117+
@sign_url = request.data['edit_url']
118+
end
119+
120+
private
121+
122+
def render_url(response)
123+
client = Embedded.initiate_client
124+
125+
response_object = JSON.parse(response.to_json, symbolize_names: true)
21126
signature_id = response_object[:raw_data][:signatures][0][:signature_id]
22127

23128
get_url = client.get_embedded_sign_url :signature_id => signature_id
24129

25130
url_response = JSON.parse(get_url.to_json, symbolize_names: true)
26-
27-
@sign_url = url_response[:raw_data][:sign_url]
131+
url_response[:raw_data][:sign_url]
28132
end
29133
end

app/controllers/signs_controller.rb

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,44 @@ def send_request
3939
:message => 'This is a test from my Rails app',
4040
:signers => [
4141
{
42-
:email_address => 'jyoung488@gmail.com',
42+
:email_address => 'jen.young@hellosign.com',
4343
:name => 'Jen',
44-
:order => 0,
44+
:order => 0
4545
}
4646
],
47-
:file_url => 'http://hrcouncil.ca/docs/samplecontract.pdf'
47+
# :form_fields_per_document => [
48+
# [
49+
# {
50+
# "api_id": "uniqueIdHere_1",
51+
# "name": "",
52+
# "type": "text",
53+
# "x": 112,
54+
# "y": 328,
55+
# "width": 100,
56+
# "height": 16,
57+
# "required": true,
58+
# "signer": 1,
59+
# "page": 1,
60+
# "validation_type": "numbers_only"
61+
# },
62+
# {
63+
# "api_id": "uniqueIdHere_2",
64+
# "name": "",
65+
# "type": "signature",
66+
# "x": 530,
67+
# "y": 415,
68+
# "width": 120,
69+
# "height": 30,
70+
# "required": true,
71+
# "signer": 0,
72+
# "page": 1
73+
# }
74+
# ]
75+
# ],
76+
:file_url => 'http://www.pdf995.com/samples/pdf.pdf'
4877
)
4978

50-
p "***********"
51-
p data = JSON.parse(response.to_json, symbolize_names: true)
79+
data = JSON.parse(response.to_json, symbolize_names: true)
5280
id = data[:raw_data][:signatures][0][:signature_id]
5381
end
5482

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url } %>

app/views/embeddeds/index.html.erb

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
<ul>
44
<li>
5-
<%= link_to 'Request with Template', embeddeds_template_path %>
5+
<%= link_to 'Sign with Template', embeddeds_template_path %>
6+
</li>
7+
<li>
8+
<%= link_to 'Sign with File', embeddeds_file_request_path %>
9+
</li>
10+
<li>
11+
<%= link_to 'Unclaimed Draft Request with File', embeddeds_unclaimed_draft_path %>
12+
</li>
13+
<li>
14+
<%= link_to 'Unclaimed Draft Request with Template', embeddeds_unclaimed_draft_template_path %>
15+
</li>
16+
<li>
17+
<%= link_to 'Template Draft', embeddeds_template_draft_path %>
618
</li>
719
</ul>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url, client_id: @client_id } %>
1+
<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url } %>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url } %>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url } %>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<%= render :partial => 'embeddeds/iframe', locals: { sign_url: @sign_url } %>

config/routes.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,8 @@
2020

2121
get '/embeddeds' => 'embeddeds#index'
2222
get '/embeddeds/template' => 'embeddeds#template'
23+
get '/embeddeds/file-request' => 'embeddeds#file_request'
24+
get '/embeddeds/unclaimed-draft' => 'embeddeds#unclaimed_draft'
25+
get '/embeddeds/unclaimed-draft-template' => 'embeddeds#unclaimed_draft_template'
26+
get '/embeddeds/template-draft' => 'embeddeds#template_draft'
2327
end

0 commit comments

Comments
 (0)