clicksign-api 1.1.1 → 1.1.2.alpha

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4d73d8a0e57c13f35deb924e70f0cf2b55dec18ab4f1fe1b0ec72c9ecfe9a7d
4
- data.tar.gz: 384d5c4a557a563576cf75e45efdf360b8ba343a2ecf44231a1e0a66489c19b3
3
+ metadata.gz: a5a70bb08f88deb5af74e43399f3f3176262d66a008757d5a9685d2821c9cb7c
4
+ data.tar.gz: 4ebd3827259a3cf829168f61589f7f73960fb8b87efd3264750f93b84b5e5738
5
5
  SHA512:
6
- metadata.gz: 217334cbbf14ddffa78d804806bff973ede762d3acb49d3ea6d4bb8ec94fc96bef0af2ba7fddcf8ba5906e49f9a0947883a6b4f00f6ea0d8c0bfbfce97953b76
7
- data.tar.gz: 4ef82bd3d37e148f3ad52104f1ccf6c766f700357112a6933262d112dadb2ee5ee34f5aa40d0d150928fe3f815144999aa144d6f675d705b8cd138820489f3b2
6
+ metadata.gz: 6adeb414c6e3f9a9dbcb85e25c75c642e9e4e00e04be7e243332b60ae2ad71316b12a30da6e66a1e3a350feb1cfa4f25f3511cb4704fbb5b057a3352068c2a6f
7
+ data.tar.gz: 388b2eef8ff721f0f7a961c3136f9481478e3612076a7e800525fbe7afb0e83d855fa1f7d09145871ae715a83e7b3b8f3a6ba7811558b30553d4471f9fe369cc
data/CHANGELOG.md CHANGED
@@ -1,15 +1,25 @@
1
1
  # Clicksign::API 1.1.0 (Octuber 29, 2021)
2
2
 
3
3
  Add support to multiple credentials.
4
- This is useful to work with different accounts and environments, providing flexibility.
4
+ This is useful to work with different environments, providing flexibility.
5
5
  For example, applications have different tokens for each environment.
6
6
  Other useful case, occurs working with multiple companies.
7
7
 
8
- The credentials should be a hash.
8
+ The credentials should be a hash.
9
+ It is possible use a `.yml` file to configure the authentication tokens.
10
+ The `.yml` file can get the tokens using environment variables.
11
+ Now all requests receive token parameter, that represents the key associated with the token.
12
+
13
+ ## Examples:
14
+
15
+ YML file
16
+ ```yml
17
+ key.production: 'CLICKSIGN_ACCESS_TOKEN_PRODUCTION'
18
+ key.sandbox: 'CLICKSIGN_ACCESS_TOKEN_SANDBOX'
19
+ ```
9
20
 
10
21
  Request:
11
22
  ```ruby
12
23
  file = File.open('/path/to/file/local/file.pdf', 'r')
13
- response = Clicksign::API::Document.create(params: { path: '/path/to/file/on/clicksign.pdf', file: file }, token: 'key.production')
14
- # =>
15
- ```
24
+ response = Clicksign::API::Document.create( params: { path: '/path/to/file/on/clicksign.pdf', file: file }, token: 'key.production')
25
+ ```
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- clicksign-api (1.1.1)
4
+ clicksign-api (1.1.2.alpha)
5
5
  faraday
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -54,52 +54,32 @@ To see all available parameters, please, check the [API docs](https://developers
54
54
 
55
55
  ```ruby
56
56
  file = File.open('/path/to/file/local/file.pdf', 'r')
57
- document = Clicksign::API::Document.create( params: { path: '/path/to/file/on/clicksign.pdf', file: file }, token: 'valid_token')
58
- # => #<Faraday::Response ...>
57
+ document = Clicksign::API::Document.create( params: { path: '/path/to/file/on/clicksign.pdf', file: file }, token: "key.sandbox")
58
+ # => {"document"=> {"key"=>"00000000-0000-0000-0000-000000000000"}
59
59
 
60
- document.success?
61
- # => true # false
62
-
63
- response_document = JSON.parse(document.body)
64
- # => {:document=> {:key=> '...', :path=> '...', :status => '...', ... }
65
60
  ```
66
61
 
67
62
  #### View documents
68
63
 
69
64
  ```ruby
70
- find_document = Clicksign::API::Document.find(params: { key: response_document['document']['key'] }, token: 'valid_token')
71
- # => #<Faraday::Response ...>
72
-
73
- find_document.success?
74
- # => true # false
65
+ find_document = Clicksign::API::Document.find(params: { key: response_document['document']['key'] }, token: "key.sandbox")
66
+ # => {"document"=> {"key"=>"00000000-0000-0000-0000-000000000000"}
75
67
 
76
- JSON.parse(find_document.body)
77
- # => {:document=> {:key=> '...', :path=> '...', :status => '...', ... }
78
68
  ```
79
69
 
80
70
  #### Create Signers
81
71
 
82
72
  ```ruby
83
- signer = Clicksign::API::Signer.create(params: { email: 'mail@email.com', auths: ['email'], delivery: 'email' }, token: 'valid_token')
84
- # => #<Faraday::Response ...>
85
-
86
- signer.success?
87
- # => true # false
73
+ signer = Clicksign::API::Signer.create(params: { email: 'mail@email.com', auths: ['email'], delivery: 'email' }, token: "key.sandbox")
74
+ # => {"signer"=> {"key"=>"00000000-0000-0000-0000-000000000000"}
88
75
 
89
- response_signer = JSON.parse(signer.body)
90
- # => {:signer=> {:key=> '...', :email=> '...', ... }
91
76
  ```
92
77
  #### Add Signers to Document
93
78
 
94
79
  ```ruby
95
- signer_document = Clicksign::API::DocumentsSigners.create(params: { document_key: response_document['document']['key'], signer_key: response_signer['key'], sign_as: 'sign_as' }, token: 'valid_token')
96
- # => #<Faraday::Response ...>
80
+ signer_document = Clicksign::API::DocumentsSigners.create(params: { document_key: response_document['document']['key'], signer_key: response_signer['key'], sign_as: 'sign_as' }, token: "key.sandbox")
81
+ # => {"list"=>{"key"=>"00000000-0000-0000-0000-000000000000"}
97
82
 
98
- signer_document.success?
99
- # => true # false
100
-
101
- response_signer_document = JSON.parse(signer_document.body)
102
- # => {:list=> {:key=> '...', ... }
103
83
  ```
104
84
 
105
85
  ##### Creating Documents in Batches
@@ -111,37 +91,25 @@ batch = Clicksign::API::Batch.create(
111
91
  signer_key: response_signer['key'],
112
92
  summary: true
113
93
  },
114
- token: 'valid_token'
94
+ token: "key.sandbox"
115
95
  )
116
- # => #<Faraday::Response ...>
117
96
 
118
- batch.success?
119
- # => true # false
97
+ # => {"batch"=>{"key"=>"00000000-0000-0000-0000-000000000000"}
120
98
 
121
- rseponse_batch = JSON.parse(batch.body)
122
- # => #{"batch"=> {"key"=>"..."
123
99
  ```
124
100
  #### Notifying Signer by e-mail
125
101
 
126
102
  ```ruby
127
- notify = Clicksign::API::Notifier.notify(params: { request_signature_key: 'request_signature_key' }, token: 'valid_token')
128
- # => #<Faraday::Response ...>
129
-
130
- notify.success?
131
- # => true # false
103
+ notify = Clicksign::API::Notifier.notify(params: { request_signature_key: 'request_signature_key' }, token: "key.sandbox")
104
+ # => {:status=>202}
132
105
 
133
- JSON.parse(notify.body)
134
- # => ##<struct Faraday::Env, method=:post request_body="{\"request_signature_key\":
135
106
  ```
136
107
 
137
108
  #### Notifying Signer by whatsapp
138
109
 
139
110
  ```ruby
140
- notify = Clicksign::API::Notifier.notify(params: { request_signature_key: 'request_signature_key' }, token: 'valid_token')
141
- # => #<Faraday::Response ...>
142
-
143
- notify.success?
144
- # => true # false
111
+ notify = Clicksign::API::Notifier.notify(params: { request_signature_key: 'request_signature_key' }, token: "key.sandbox")
112
+ # => {:status=>202}
145
113
 
146
114
  ## Development
147
115
 
@@ -17,15 +17,13 @@ module Clicksign
17
17
  )
18
18
  end
19
19
 
20
- def batch_create(token:, batch:)
21
- batch.map do |params|
22
- create(token: token, params: params)
20
+ def batch_create(token:, params:)
21
+ params[:batch].map do |single_params|
22
+ create(token: token, params: single_params)
23
23
  end
24
24
  end
25
25
 
26
26
  def body(params)
27
- params = params.transform_keys(&:to_sym)
28
-
29
27
  list = ATTRIBUTES.each.with_object({}) do |key, hash|
30
28
  hash[key] = params[key] if params.has_key?(key)
31
29
  end
@@ -2,23 +2,37 @@ module Clicksign
2
2
  module API
3
3
  module Requests
4
4
  def post(request_path, body, token)
5
- conn.post do |req|
5
+ response = conn.post do |req|
6
6
  req.url request_path, { access_token: Clicksign::API.credentials[token] }
7
7
  req.headers['Content-Type'] = 'application/json'
8
8
  req.body = body.to_json
9
9
  end
10
+
11
+ parse(response)
10
12
  end
11
13
 
12
14
  def get(request_path, token)
13
- conn.get do |req|
15
+ response = conn.get do |req|
14
16
  req.url request_path, { access_token: Clicksign::API.credentials[token] }
15
17
  req.headers['Content-Type'] = 'application/json'
16
18
  end
19
+
20
+ parse(response)
17
21
  end
22
+
23
+ private
18
24
 
19
25
  def conn
20
26
  @conn ||= Faraday.new(url: Clicksign::API.url)
21
27
  end
28
+
29
+ def parse(response)
30
+ if !response.body.empty?
31
+ JSON.parse(response.body, symbolize_keys: true).merge(status: response.status)
32
+ else
33
+ { status: response.status }
34
+ end
35
+ end
22
36
  end
23
37
  end
24
- end
38
+ end
@@ -1,5 +1,5 @@
1
1
  module Clicksign
2
2
  module API
3
- VERSION = "1.1.1"
3
+ VERSION = "1.1.2.alpha"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clicksign-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2.alpha
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francisco Martins
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-05 00:00:00.000000000 Z
11
+ date: 2021-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -194,11 +194,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
194
194
  version: '0'
195
195
  required_rubygems_version: !ruby/object:Gem::Requirement
196
196
  requirements:
197
- - - ">="
197
+ - - ">"
198
198
  - !ruby/object:Gem::Version
199
- version: '0'
199
+ version: 1.3.1
200
200
  requirements: []
201
- rubygems_version: 3.1.6
201
+ rubygems_version: 3.2.3
202
202
  signing_key:
203
203
  specification_version: 4
204
204
  summary: Clicksign API ruby interface