ruby-api-esignatur 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +161 -0
- data/Rakefile +2 -0
- data/lib/ruby/api/esignatur/esignatur_client.rb +64 -0
- data/lib/ruby/api/esignatur/version.rb +7 -0
- data/lib/ruby/api/esignatur.rb +2 -0
- data/ruby-api-esignatur.gemspec +31 -0
- data/sample_document.pdf +0 -0
- data/test/esignatur/esignatur_test.rb +91 -0
- data/test/fixtures/create_order.yml +54 -0
- data/test/fixtures/get_document.yml +52 -0
- data/test/fixtures/order_status.yml +53 -0
- data/test/fixtures/pending_orders.yml +53 -0
- data/test/test_helper.rb +10 -0
- metadata +165 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 40c0107fd2af78ed2fab1ef87ed85ec59c3530a8
|
|
4
|
+
data.tar.gz: be6c8a1a7a1b8b332d01f8943d33e633d968b25c
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 6efbfe3625a6b5ce189452afa7d353fe0fb16d82aeace5713041be2dbb0fb3a6c157d0ba1dd86b34353465dca3ab88eccfdfffe0f4f793ebcb22f22e29944c21
|
|
7
|
+
data.tar.gz: 6d936a022065bbf9e5f7c46cd1e3e2d4ca856083c70892ef52ce9768001785329d50778dfeda79d11e46906c2443d158f5934177a50fca2487e342de1c1bb928
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright (c) 2015 Ankur Gupta
|
|
2
|
+
|
|
3
|
+
MIT License
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Ruby::Api::Esignatur
|
|
2
|
+
|
|
3
|
+
Get your documents digitalized with https://www.esignatur.dk (esignatur is Denmark's safest digital signing solution for both private and public companies).
|
|
4
|
+
|
|
5
|
+
This gem is a Ruby wrapper for the esignatur API & provides all supported methods. Get the API details here: https://api.esignatur.dk/
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
If integrating with Rails 3.x, 4.x version:
|
|
10
|
+
|
|
11
|
+
Add this line to your application's Gemfile:
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
gem 'ruby-api-esignatur'
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
And then execute:
|
|
18
|
+
|
|
19
|
+
$ bundle
|
|
20
|
+
|
|
21
|
+
Or install it yourself as:
|
|
22
|
+
|
|
23
|
+
$ gem install ruby-api-esignatur
|
|
24
|
+
|
|
25
|
+
## Get Started
|
|
26
|
+
|
|
27
|
+
1. Get started with [Signup] https://www.esignatur.dk/kom-i-gang/
|
|
28
|
+
2. Before creating signing orders, you should have:
|
|
29
|
+
* SenderEmail (E-mail address of sender)
|
|
30
|
+
* CreatorId (Id of document creator).
|
|
31
|
+
* Identification (Cvr/Cpr of signer).
|
|
32
|
+
|
|
33
|
+
##Usage
|
|
34
|
+
|
|
35
|
+
####Headers:
|
|
36
|
+
|
|
37
|
+
Set the default headers with your signatur ID:
|
|
38
|
+
|
|
39
|
+
```ruby
|
|
40
|
+
headers = {'Content-Type' => 'application/json',
|
|
41
|
+
'X-Esignatur-Id' => '1aaXXXX-XXXX-XXXX-XXXX-XXXXXXXXX044'}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
##### Creating Signing Order (https://api.esignatur.dk/Documentation/Order):
|
|
45
|
+
|
|
46
|
+
1. Get the Base64 encoded document of the signing pdf. For eg:
|
|
47
|
+
|
|
48
|
+
```ruby
|
|
49
|
+
pdf_encoded = Base64.encode64(open("sample_document.pdf").to_a.join)
|
|
50
|
+
```
|
|
51
|
+
2. Get all the signing details in a hash (Check https://api.esignatur.dk/Documentation/Order for more details):
|
|
52
|
+
|
|
53
|
+
```ruby
|
|
54
|
+
signing_body = {CreatorId: "9208-XXXX-X-XXXXXXXXX650",
|
|
55
|
+
SenderEmail: "sender@example.com",
|
|
56
|
+
CommonNote: "This is a test order for signing.",
|
|
57
|
+
EndDate: Time.now,
|
|
58
|
+
Documents: [
|
|
59
|
+
{
|
|
60
|
+
title: "Signing Contract",
|
|
61
|
+
Filename: "contract.pdf",
|
|
62
|
+
DocumentFormat: "Pdf",
|
|
63
|
+
DocumentData: pdf_encoded
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
steps: [
|
|
67
|
+
{
|
|
68
|
+
Signers: [
|
|
69
|
+
{
|
|
70
|
+
name: 'Name1',
|
|
71
|
+
email: 'signer@example.com',
|
|
72
|
+
identification: '23434234234234'
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
3. Create request api client with headers:
|
|
82
|
+
|
|
83
|
+
```ruby
|
|
84
|
+
client = Esignatur::APIClient.new(headers)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
4. Send the creating order request with order details:
|
|
88
|
+
```ruby
|
|
89
|
+
response = client.create_order(signing_body)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
##### Get All pending orders:
|
|
93
|
+
```ruby
|
|
94
|
+
response = client.pending_orders("sender@example.com") #E-mail address of sender. Set to blank disable e-mail filtering.
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
##### Get Order Status:
|
|
98
|
+
```ruby
|
|
99
|
+
response = client.order_status(("sender@example.com", "c00XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX608")
|
|
100
|
+
# More details on: https://api.esignatur.dk/Documentation/Status
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
##### Download Signed Document:
|
|
104
|
+
Note: The output from these methods tends to be quite large.
|
|
105
|
+
```ruby
|
|
106
|
+
response = client.get_document(Id: "34XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX166", DocumentIndex: 0)
|
|
107
|
+
# More details on: https://api.esignatur.dk/Documentation/Pades
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
## Submitting an Issue
|
|
115
|
+
We use the [GitHub issue tracker ](https://github.com/moorem/ruby-api-esignatur/issues) to track bugs and features.
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
## Contributing
|
|
119
|
+
|
|
120
|
+
1. Fork it ( https://github.com/[my-github-username]/ruby-api-esignatur/fork )
|
|
121
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
122
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
|
123
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
|
124
|
+
5. Create a new Pull Request
|
|
125
|
+
# ruby-api-esignatur
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
## <a name="rubies">Supported Rubies</a>
|
|
129
|
+
This library aims to support the following Ruby implementations:
|
|
130
|
+
|
|
131
|
+
* Ruby >= 1.9
|
|
132
|
+
* [JRuby](http://www.jruby.org/)
|
|
133
|
+
* [Rubinius](http://rubini.us/)
|
|
134
|
+
* [Ruby Enterprise Edition](http://www.rubyenterpriseedition.com/)
|
|
135
|
+
|
|
136
|
+
If something doesn't work on one of these interpreters, it should be considered
|
|
137
|
+
a bug.
|
|
138
|
+
|
|
139
|
+
This library may inadvertently work (or seem to work) on other Ruby
|
|
140
|
+
implementations, however support will only be provided for the versions listed
|
|
141
|
+
above.
|
|
142
|
+
|
|
143
|
+
If you would like this library to support another Ruby version, you may
|
|
144
|
+
volunteer to be a maintainer. Being a maintainer entails making sure all tests
|
|
145
|
+
run and pass on that implementation. When something breaks on your
|
|
146
|
+
implementation, you will be personally responsible for providing patches in a
|
|
147
|
+
timely fashion. If critical issues for a particular implementation exist at the
|
|
148
|
+
time of a major release, support for that Ruby version may be dropped.
|
|
149
|
+
|
|
150
|
+
## <a name="todos">Todos</a>
|
|
151
|
+
* Need to add other API methods.
|
|
152
|
+
* Need to fully test all the methods.
|
|
153
|
+
* Need to add a history log for additional contributers.
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
##Credits
|
|
157
|
+
[](http://moorem.com)
|
|
158
|
+
|
|
159
|
+
Copyright (c) 2015 [moorem.com](http://moorem.com "Ruby on Rails, iOS and Android developers"), released under the [LICENSE](https://github.com/moorem/ruby-api-esignatur/blob/master/LICENSE.txt).
|
|
160
|
+
|
|
161
|
+
|
data/Rakefile
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
require 'faraday'
|
|
2
|
+
require 'json'
|
|
3
|
+
|
|
4
|
+
API_URL = "https://api.esignatur.dk"
|
|
5
|
+
|
|
6
|
+
module Esignatur
|
|
7
|
+
|
|
8
|
+
class APIClient
|
|
9
|
+
|
|
10
|
+
def initialize(headers)
|
|
11
|
+
@headers = headers
|
|
12
|
+
@connection = set_connection
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def create_order options = {}
|
|
16
|
+
response = @connection.post do |req|
|
|
17
|
+
req.url URI.encode('/Order/Create')
|
|
18
|
+
req.headers.merge!(@headers)
|
|
19
|
+
req.body = options.to_json
|
|
20
|
+
end
|
|
21
|
+
JSON.parse(response.body)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def pending_orders email
|
|
25
|
+
response = @connection.post do |req|
|
|
26
|
+
req.url '/Order/Pending'
|
|
27
|
+
req.headers.merge!(@headers)
|
|
28
|
+
req.body = {Email: email}.to_json
|
|
29
|
+
end
|
|
30
|
+
JSON.parse(response.body)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def order_status email, order_no
|
|
34
|
+
response = @connection.get do |req|
|
|
35
|
+
req.url URI.encode('/Status/Get/{'+order_no+'}')
|
|
36
|
+
req.headers.merge!(@headers)
|
|
37
|
+
req.body = {Email: email}.to_json
|
|
38
|
+
end
|
|
39
|
+
JSON.parse(response.body)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def get_document options = {}
|
|
43
|
+
response = @connection.post do |req|
|
|
44
|
+
req.url URI.encode('/Pades/Download')
|
|
45
|
+
req.headers.merge!(@headers)
|
|
46
|
+
req.body = options.to_json
|
|
47
|
+
end
|
|
48
|
+
JSON.parse(response.body)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
private
|
|
53
|
+
|
|
54
|
+
def set_connection
|
|
55
|
+
Faraday.new(:url => API_URL) do |faraday|
|
|
56
|
+
faraday.request :url_encoded
|
|
57
|
+
faraday.response :logger
|
|
58
|
+
faraday.adapter Faraday.default_adapter
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'ruby/api/esignatur/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |spec|
|
|
7
|
+
spec.name = "ruby-api-esignatur"
|
|
8
|
+
spec.version = Ruby::Api::Esignatur::VERSION
|
|
9
|
+
spec.authors = ["Ankur Gupta"]
|
|
10
|
+
spec.email = ["ankur@moorem.com"]
|
|
11
|
+
spec.summary = %q{Electronic Signature using esignatur.dk}
|
|
12
|
+
spec.description = %q{The esignatur.dk provides methods for developers to integrate API in any ruby application.}
|
|
13
|
+
spec.homepage = "http://moorem.com"
|
|
14
|
+
spec.license = "MIT"
|
|
15
|
+
|
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
|
+
spec.require_paths = ["lib"]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
spec.add_development_dependency "minitest", "~> 5.6"
|
|
23
|
+
spec.add_development_dependency "vcr", "~> 2.9"
|
|
24
|
+
spec.add_development_dependency "webmock", "~> 1.21"
|
|
25
|
+
|
|
26
|
+
spec.add_dependency "faraday", "~> 0.9"
|
|
27
|
+
spec.add_dependency "json", "~> 1.8"
|
|
28
|
+
|
|
29
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
|
30
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
|
31
|
+
end
|
data/sample_document.pdf
ADDED
|
Binary file
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
require './test/test_helper'
|
|
2
|
+
|
|
3
|
+
class EsignaturTest < Minitest::Test
|
|
4
|
+
|
|
5
|
+
def test_exists
|
|
6
|
+
assert Esignatur::APIClient
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def test_create_order
|
|
10
|
+
VCR.use_cassette('create_order') do
|
|
11
|
+
headers = set_headers
|
|
12
|
+
client = Esignatur::APIClient.new(headers)
|
|
13
|
+
|
|
14
|
+
pdf_encoded = Base64.encode64(open("sample_document.pdf").to_a.join)
|
|
15
|
+
|
|
16
|
+
signing_body = {CreatorId: "9208-2002-2-315851760650",
|
|
17
|
+
SenderEmail: "info@kreditmatch.dk",
|
|
18
|
+
CommonNote: "This is a test order for signing.",
|
|
19
|
+
EndDate: Time.now,
|
|
20
|
+
Documents: [
|
|
21
|
+
{
|
|
22
|
+
title: "Signing Contract",
|
|
23
|
+
Filename: "contract.pdf",
|
|
24
|
+
DocumentFormat: "Pdf",
|
|
25
|
+
DocumentData: pdf_encoded
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
steps: [
|
|
29
|
+
{
|
|
30
|
+
Signers: [
|
|
31
|
+
{
|
|
32
|
+
name: 'Name1',
|
|
33
|
+
email: 'developer@moorem.com',
|
|
34
|
+
identification: '23434234234234'
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
Signers: [
|
|
40
|
+
{
|
|
41
|
+
name: 'Name2',
|
|
42
|
+
email: 'ankur@moorem.com',
|
|
43
|
+
identification: '23434234234234'
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
result = client.create_order(signing_body)
|
|
51
|
+
assert_kind_of Hash, result
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def test_pending_orders
|
|
57
|
+
VCR.use_cassette('pending_orders') do
|
|
58
|
+
headers = set_headers
|
|
59
|
+
client = Esignatur::APIClient.new(headers)
|
|
60
|
+
result = client.pending_orders("info@kreditmatch.dk")
|
|
61
|
+
assert_kind_of Hash, result
|
|
62
|
+
assert_kind_of Array, result["PendingOrders"]
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_order_status
|
|
67
|
+
VCR.use_cassette('order_status') do
|
|
68
|
+
headers = set_headers
|
|
69
|
+
client = Esignatur::APIClient.new(headers)
|
|
70
|
+
result = client.order_status("info@kreditmatch.dk", "c00771af-359c-4628-a72d-185d20f4e608")
|
|
71
|
+
assert_kind_of Hash, result
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def test_download_document
|
|
76
|
+
VCR.use_cassette('get_document') do
|
|
77
|
+
headers = set_headers
|
|
78
|
+
client = Esignatur::APIClient.new(headers)
|
|
79
|
+
result = client.get_document(Id: "34e6100f-51fa-4599-ae70-eda5385dc166", DocumentIndex: 0)
|
|
80
|
+
assert_kind_of Hash, result
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
private
|
|
85
|
+
|
|
86
|
+
def set_headers
|
|
87
|
+
{'Content-Type' => 'application/json',
|
|
88
|
+
'X-Esignatur-Id' => '1aa6f55d-5724-e411-899d-d89d67640044'}
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: https://api.esignatur.dk/Order/Create
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"CreatorId":"9208-2002-2-315851760650","SenderEmail":"info@kreditmatch.dk","CommonNote":"This
|
|
9
|
+
is a test order for signing.","EndDate":"2015-04-28 12:58:43 +0530","Documents":[{"title":"Signing
|
|
10
|
+
Contract","Filename":"contract.pdf","DocumentFormat":"Pdf","DocumentData":"JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAg\nUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGVVE1P3DAQvftX\nTAkFpy1ef9uBQqtWXLghWeqhy2kFh5VAovv/pY4de0QgGxbtSpk44+eZ957n\nGW7hGZTOfxcURBXh3z38gSdY/d4p2OxAlt9ug3lSaDu+52CQEFwUQcPmEX4l\n5sbM+kiPsEoJgSE9wF/gn3o4k0IBPyqBAd4dl0gD/1wCB/ykz2cwftq+rHle\nscDXffkE/Et+IszXltKNm4B/Kyv46awEuEn07A7SDVyn0ua0fBWdcDLESROw\nv4lSVdrOg2UurBXOj1wswAA2x5ZgjBTeHgQDactmW8vVKC9sfB8GlVmNdL1g\nXRKVqlFJdOsqCElkqjCUcdwzVBplJR1Ictpke1hQJhjhva89sOKuJUaxB9fq\nJJ9Q0Ao+6VmpqqMifK28GahZK9R1YoGwyKi4MqLFcjCabngFdp7f0eV02kVe\nwMTv9YnsVApYvoNTcxoZhLTmYBnR6ugG9OYs1oBGN8PhYFjzPmsZpYWy3k3B\nUG8ppYW0mdeJtSlwmT2BJFxR8zM30+hBGKnD9IzJzWST8ULdz4EZJYI3HwD7\nUamcBfPCWPcBsELl/pkh9f6ZwSbz82dz+NsAtR9Ha0dGpWB0P6uTFYcuJTe3\nU2q3pImKQQw+4rQsJb9/KbPx25i7/Q9XVjz5CmVuZHN0cmVhbQplbmRvYmoK\nNSAwIG9iago0ODkKZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1Bh\ncmVudCAzIDAgUiAvUmVzb3VyY2VzIDYgMCBSIC9Db250ZW50cyA0IDAgUiAv\nTWVkaWFCb3ggWzAgMCA1OTUgODQyXQo+PgplbmRvYmoKNiAwIG9iago8PCAv\nUHJvY1NldCBbIC9QREYgL1RleHQgXSAvQ29sb3JTcGFjZSA8PCAvQ3MxIDcg\nMCBSID4+IC9Gb250IDw8IC9UVDIgOSAwIFIKPj4gPj4KZW5kb2JqCjEwIDAg\nb2JqCjw8IC9MZW5ndGggMTEgMCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNl\nUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AZ2Wd1RT2RaH\nz703vdASIiAl9Bp6CSDSO0gVBFGJSYBQAoaEJnZEBUYUESlWZFTAAUeHImNF\nFAuDgmLXCfIQUMbBUURF5d2MawnvrTXz3pr9x1nf2ee319ln733XugBQ/IIE\nwnRYAYA0oVgU7uvBXBITy8T3AhgQAQ5YAcDhZmYER/hEAtT8vT2ZmahIxrP2\n7i6AZLvbLL9QJnPW/3+RIjdDJAYACkXVNjx+JhflApRTs8UZMv8EyvSVKTKG\nMTIWoQmirCLjxK9s9qfmK7vJmJcm5KEaWc4ZvDSejLtQ3pol4aOMBKFcmCXg\nZ6N8B2W9VEmaAOX3KNPT+JxMADAUmV/M5yahbIkyRRQZ7onyAgAIlMQ5vHIO\ni/k5aJ4AeKZn5IoEiUliphHXmGnl6Mhm+vGzU/liMSuUw03hiHhMz/S0DI4w\nF4Cvb5ZFASVZbZloke2tHO3tWdbmaPm/2d8eflP9Pch6+1XxJuzPnkGMnlnf\nbOysL70WAPYkWpsds76VVQC0bQZA5eGsT+8gAPIFALTenPMehmxeksTiDCcL\ni+zsbHMBn2suK+g3+5+Cb8q/hjn3mcvu+1Y7phc/gSNJFTNlReWmp6ZLRMzM\nDA6Xz2T99xD/48A5ac3Jwyycn8AX8YXoVVHolAmEiWi7hTyBWJAuZAqEf9Xh\nfxg2JwcZfp1rFGh1XwB9hTlQuEkHyG89AEMjAyRuP3oCfetbEDEKyL68aK2R\nr3OPMnr+5/ofC1yKbuFMQSJT5vYMj2RyJaIsGaPfhGzBAhKQB3SgCjSBLjAC\nLGANHIAzcAPeIACEgEgQA5YDLkgCaUAEskE+2AAKQTHYAXaDanAA1IF60ARO\ngjZwBlwEV8ANcAsMgEdACobBSzAB3oFpCILwEBWiQaqQFqQPmULWEBtaCHlD\nQVA4FAPFQ4mQEJJA+dAmqBgqg6qhQ1A99CN0GroIXYP6oAfQIDQG/QF9hBGY\nAtNhDdgAtoDZsDscCEfCy+BEeBWcBxfA2+FKuBY+DrfCF+Eb8AAshV/CkwhA\nyAgD0UZYCBvxREKQWCQBESFrkSKkAqlFmpAOpBu5jUiRceQDBoehYZgYFsYZ\n44dZjOFiVmHWYkow1ZhjmFZMF+Y2ZhAzgfmCpWLVsaZYJ6w/dgk2EZuNLcRW\nYI9gW7CXsQPYYew7HA7HwBniHHB+uBhcMm41rgS3D9eMu4Drww3hJvF4vCre\nFO+CD8Fz8GJ8Ib4Kfxx/Ht+PH8a/J5AJWgRrgg8hliAkbCRUEBoI5wj9hBHC\nNFGBqE90IoYQecRcYimxjthBvEkcJk6TFEmGJBdSJCmZtIFUSWoiXSY9Jr0h\nk8k6ZEdyGFlAXk+uJJ8gXyUPkj9QlCgmFE9KHEVC2U45SrlAeUB5Q6VSDahu\n1FiqmLqdWk+9RH1KfS9HkzOX85fjya2Tq5FrleuXeyVPlNeXd5dfLp8nXyF/\nSv6m/LgCUcFAwVOBo7BWoUbhtMI9hUlFmqKVYohimmKJYoPiNcVRJbySgZK3\nEk+pQOmw0iWlIRpC06V50ri0TbQ62mXaMB1HN6T705PpxfQf6L30CWUlZVvl\nKOUc5Rrls8pSBsIwYPgzUhmljJOMu4yP8zTmuc/jz9s2r2le/7wplfkqbip8\nlSKVZpUBlY+qTFVv1RTVnaptqk/UMGomamFq2Wr71S6rjc+nz3eez51fNP/k\n/IfqsLqJerj6avXD6j3qkxqaGr4aGRpVGpc0xjUZmm6ayZrlmuc0x7RoWgu1\nBFrlWue1XjCVme7MVGYls4s5oa2u7act0T6k3as9rWOos1hno06zzhNdki5b\nN0G3XLdTd0JPSy9YL1+vUe+hPlGfrZ+kv0e/W3/KwNAg2mCLQZvBqKGKob9h\nnmGj4WMjqpGr0SqjWqM7xjhjtnGK8T7jWyawiZ1JkkmNyU1T2NTeVGC6z7TP\nDGvmaCY0qzW7x6Kw3FlZrEbWoDnDPMh8o3mb+SsLPYtYi50W3RZfLO0sUy3r\nLB9ZKVkFWG206rD6w9rEmmtdY33HhmrjY7POpt3mta2pLd92v+19O5pdsN0W\nu067z/YO9iL7JvsxBz2HeIe9DvfYdHYou4R91RHr6OG4zvGM4wcneyex00mn\n351ZzinODc6jCwwX8BfULRhy0XHhuBxykS5kLoxfeHCh1FXbleNa6/rMTdeN\n53bEbcTd2D3Z/bj7Kw9LD5FHi8eUp5PnGs8LXoiXr1eRV6+3kvdi72rvpz46\nPok+jT4Tvna+q30v+GH9Av12+t3z1/Dn+tf7TwQ4BKwJ6AqkBEYEVgc+CzIJ\nEgV1BMPBAcG7gh8v0l8kXNQWAkL8Q3aFPAk1DF0V+nMYLiw0rCbsebhVeH54\ndwQtYkVEQ8S7SI/I0shHi40WSxZ3RslHxUXVR01Fe0WXRUuXWCxZs+RGjFqM\nIKY9Fh8bFXskdnKp99LdS4fj7OIK4+4uM1yWs+zacrXlqcvPrpBfwVlxKh4b\nHx3fEP+JE8Kp5Uyu9F+5d+UE15O7h/uS58Yr543xXfhl/JEEl4SyhNFEl8Rd\niWNJrkkVSeMCT0G14HWyX/KB5KmUkJSjKTOp0anNaYS0+LTTQiVhirArXTM9\nJ70vwzSjMEO6ymnV7lUTokDRkUwoc1lmu5iO/kz1SIwkmyWDWQuzarLeZ0dl\nn8pRzBHm9OSa5G7LHcnzyft+NWY1d3Vnvnb+hvzBNe5rDq2F1q5c27lOd13B\nuuH1vuuPbSBtSNnwy0bLjWUb326K3tRRoFGwvmBos+/mxkK5QlHhvS3OWw5s\nxWwVbO3dZrOtatuXIl7R9WLL4oriTyXckuvfWX1X+d3M9oTtvaX2pft34HYI\nd9zd6brzWJliWV7Z0K7gXa3lzPKi8re7V+y+VmFbcWAPaY9kj7QyqLK9Sq9q\nR9Wn6qTqgRqPmua96nu37Z3ax9vXv99tf9MBjQPFBz4eFBy8f8j3UGutQW3F\nYdzhrMPP66Lqur9nf19/RO1I8ZHPR4VHpcfCj3XVO9TXN6g3lDbCjZLGseNx\nx2/94PVDexOr6VAzo7n4BDghOfHix/gf754MPNl5in2q6Sf9n/a20FqKWqHW\n3NaJtqQ2aXtMe9/pgNOdHc4dLT+b/3z0jPaZmrPKZ0vPkc4VnJs5n3d+8kLG\nhfGLiReHOld0Prq05NKdrrCu3suBl69e8blyqdu9+/xVl6tnrjldO32dfb3t\nhv2N1h67npZf7H5p6bXvbb3pcLP9luOtjr4Ffef6Xfsv3va6feWO/50bA4sG\n+u4uvnv/Xtw96X3e/dEHqQ9eP8x6OP1o/WPs46InCk8qnqo/rf3V+Ndmqb30\n7KDXYM+ziGePhrhDL/+V+a9PwwXPqc8rRrRG6ketR8+M+YzderH0xfDLjJfT\n44W/Kf6295XRq59+d/u9Z2LJxPBr0euZP0reqL45+tb2bedk6OTTd2nvpqeK\n3qu+P/aB/aH7Y/THkensT/hPlZ+NP3d8CfzyeCZtZubf94Tz+wplbmRzdHJl\nYW0KZW5kb2JqCjExIDAgb2JqCjI2MTIKZW5kb2JqCjcgMCBvYmoKWyAvSUND\nQmFzZWQgMTAgMCBSIF0KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2Vz\nIC9NZWRpYUJveCBbMCAwIDU5NSA4NDJdIC9Db3VudCAxIC9LaWRzIFsgMiAw\nIFIgXSA+PgplbmRvYmoKMTIgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL1Bh\nZ2VzIDMgMCBSID4+CmVuZG9iago5IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9T\ndWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0JGUUNTUCtDYW1icmlhIC9G\nb250RGVzY3JpcHRvcgoxMyAwIFIgL1RvVW5pY29kZSAxNCAwIFIgL0ZpcnN0\nQ2hhciAzMyAvTGFzdENoYXIgNjQgL1dpZHRocyBbIDQ5NiA0ODggODMyCjU1\nNiAyNzEgNDg4IDIyMCA2NjIgNTMxIDQ0MSA1NTIgNTU4IDMzOCAyMDUgNzEy\nIDYyMyA1MjQgNDE0IDYxMSAzODIgODE1IDU5Mwo1NTIgNDk0IDI3OCA0MzAg\nNTY4IDUwNCA1MzcgNTU1IDM4MiA3NzQgXSA+PgplbmRvYmoKMTQgMCBvYmoK\nPDwgL0xlbmd0aCAxNSAwIFIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3Ry\nZWFtCngBXZPLitswGIX3fgotp4shipXLBIyhzDCQRS807QPYkpwxTGyjOIu8\nfb+jhBS6+AxH/01H+bN43b/th342i59p9Ic4m64fQorn8ZJ8NG089kOxLE3o\n/XxX+cyfmqlYUHy4nud42g/daKqqMGbxi5LznK7m6WsY2/hFZz9SiKkfjubp\nz+shnxwu0/QZT3GYjS3q2oTY0e5bM31vTtEscunzPhDv5+szVf8yfl+naLgR\nFcvblfwY4nlqfEzNcIxFZW1dvb/XRRzCf6F7Qdv5jyYVVbmtSbY7wyfwKS2f\nxubKe457lNybl8u6EtauXU2LEgnWbpaSDgnIILlCgrVbulblGglEveQGCci1\n5AsSrF2tJHdIINpJNkhA5rktEuicaz0SiEYlByQQza0iEnCYox0SiEo6nksw\nVxYc5gStWknMCZJLScwJkreSmBN0fpHEnCAq+w5zgrfSNRzPLeick/Hqst9N\nboVXd/O7UzJeBXPl1+FV0Eov6fAqiG4k8SqYq4d1eBUMynPx6rJf3rOoVngV\n1DKXJWm722+rfdFeP/bQX1JiBfPy5+3U1vVDfPw/pnFSg8xfGNDf7QplbmRz\ndHJlYW0KZW5kb2JqCjE1IDAgb2JqCjQ0MQplbmRvYmoKMTMgMCBvYmoKPDwg\nL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Gb250TmFtZSAvQkZRQ1NQK0NhbWJy\naWEgL0ZsYWdzIDQgL0ZvbnRCQm94IFstMTQ3NSAtMjQ2MyAyODY3IDMxMTdd\nCi9JdGFsaWNBbmdsZSAwIC9Bc2NlbnQgOTUwIC9EZXNjZW50IC0yMjIgL0Nh\ncEhlaWdodCA2NjcgL1N0ZW1WIDAgL1hIZWlnaHQKNDY3IC9BdmdXaWR0aCA2\nMTUgL01heFdpZHRoIDI5MTkgL0ZvbnRGaWxlMiAxNiAwIFIgPj4KZW5kb2Jq\nCjE2IDAgb2JqCjw8IC9MZW5ndGggMTcgMCBSIC9MZW5ndGgxIDE3OTkyIC9G\naWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae17e2BU1bnvWnvPeyaZ\nPTOZVyaPPZlMJskkmUwmr4FJspNMQiA8khAwAYGEDBgQechDtCJRiGBAFJX6\nrNIWpLU91wH0CD22TT3Woxas2tbT2oeg0lqVgt6+sDK5v7VnJjyq994/7j1/\nncl83/rWc6/1vda31p5suHHjMqInI4QnlUM3DK4l8sd3Hknf0KYNYjJv3kyI\n5vHla6+7IZl3OQgx9F636ublyXzxbkJyHxteNhhL5snnSGuHUZDM02qkhcM3\nbMA47ONbBbR91ZqhVH1xB/LRGwY3p55PfoO8uHrwhmVI8WkvBhLX3rgsVU/7\nCDHlo2yAAQf0z59MQihK3WSclJMHiYpwRCABghlrF6Ivj1pWr/x7T5lyf3yJ\nMfIX4tLIwxz//UMNjHi5IWfHn6s/7rR94jiHrBYjJD/op34kESbEvuDP1RcP\n2D6RR0pVyon7OBFp4hmtg84Qj9HP0sSFNPH3NPG3NPHXNHE+TZxLE39KE2fT\nxMdp4qM08fs0cSZNvJ8m3ksT76aJ02niVJr4WZp4M028kSZ+miZeSxMn08SJ\nNLE/TdyTJvakibE0sTNN7EgTd6aJhWliQZroTxN9aaI3TXSliZlpojNNzEgT\ntWmiMk0E0kR5mihLE9o0oU4TSmlCltyfZfypjD+R8XkZn5PxWRl/LOMPZXxG\nxu/L+D0Zn5bx72T8tox/KeOfyfikjE/I+FUZvyLjl2X8koxflPELMh6X8Q9l\n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\nX1ks6yulblVGmc+u11pLKhJLwmWCVmVKbFifuNek1Mpl96dXu4wuoXfQHmWh\n3uZuafv8idbGQochGMwsbO+mWx+kNeHP3fy5hsT4txP3paouZ8jnIf4kLI7J\nrF6WmZ9EJW+OyIt7pZwcSF6j1jwZVVvMT0YtzOosvP22wsLyfLLVEDhdZbpk\ndwEmOdmZQHgQ2eUrTZogbrkyoYe+GuggbsSYTqrptzNcFcHE9PRizn94pmP7\nM0NrGjasu392RffalqGqi1PbS+z64BViPPrc8JMrKxRzp961bv769lwF5Ll2\n4jy/D5ZXSUYlY0CAcQXKAygneoWNmVsEJTYLDMchOkYcikze4cjRFxYqcsoV\nvGKvVG6x5PA5ey0Kx4E5dmq3F4tnjcbK4rNqdRU5UJlUT+ZlsOJFsquBp0m5\nTFPa+sxhKC3qkQYrLXkcszVmahVwmmwLmbRE5jtt9uSOAoaYfp4VXTVv45bq\nTTdv3Nm64ifbZu69Ycjevriz+bpIaNXKkbvntGz85uDXTtK6vuXBWzZ2Ll8Q\nmbLmjllrDy4QchKf9i31VQ62TlvaWy2tvnvxir0LS2qomWl4C2R6K2QqknlS\nudFsgghNvDGfZvD5+Satkzh5516J8NwBPlOX72jJPyCKbt1Wh6PAzVYh+1Q/\nFT49nVrppJMJyaLGCt1wLLzHM6nUihpTcsNsUUxZavNX1tVtlaVbh13Oor8t\n0FDttwwp5yUOzI9V2z4nKbmqBXthY0RBzOEVXdDELsgxDp0sIlXk9/ipx8QH\nzxgFvGg/NvGBpGMUV0FzFcU43klRrbGjWK/38b6vSmv1I/q4flyvIHpB36W/\nV79frzTwer2zklYoKviKxyWFzVt4KOq1ipZKy35L3KKoBOIs7Lc9Pl9Zh8KS\nhZwzw5prLbciKrEKToEXHnIKlqwsTd4o1RfxVeyhWriBqqrq0lENckeR0QT8\nsuknPcBJ5p5hCfDO8NHr/IvWYUNKqgph26rs0dYlnbYfjYKVfr9XdtdFRTXV\nhV6mMPDVCDoaoT82G/MNPFwGL2+4zH3X1nDfNF7z8PyZGxrxGs1dPL9j9hLH\ntoGRkZahzRFOl+UrS/zJ8JNXK9oro2sa71H0z5h6fft9T2Q0D2+u7+m5oyrg\narpjW+LAjIbqfJshSF/mhleEW5wty6ugMSvA+x7w3k1ukqIiXsdxcfzgLn/E\n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\nclZnr5yVBTd++CEoB5urwREl+Yc3Vb4i9ufxf+mklI8ufyNxJPFu4v3E01dM\nik5NTYrifxMeVdZyf8f7W49kJhZLhk6r5S8KktbRIaguZpDA2Z/7z1bhDgJ/\ncAnsxk0x6cnwg1WVekvoW+s305nz5904pcv/vdGRxHPXTF9dSs9s+tqbC5bU\n9j/75rV9eL9LcYDDvTs+KrwBJi3t3a1zu/ytgzcsvXHF4P8CYp+62AplbmRz\ndHJlYW0KZW5kb2JqCjE3IDAgb2JqCjExNTMxCmVuZG9iagoxOCAwIG9iagoo\nTWljcm9zb2Z0IFdvcmQgLSBEb2N1bWVudDEpCmVuZG9iagoxOSAwIG9iagoo\nTWFjIE9TIFggMTAuOS4xIFF1YXJ0eiBQREZDb250ZXh0KQplbmRvYmoKMjAg\nMCBvYmoKKFdvcmQpCmVuZG9iagoyMSAwIG9iagooRDoyMDE1MDQyODA3MjQx\nNVowMCcwMCcpCmVuZG9iagoyMiAwIG9iagooKQplbmRvYmoKMjMgMCBvYmoK\nWyBdCmVuZG9iagoxIDAgb2JqCjw8IC9UaXRsZSAxOCAwIFIgL1Byb2R1Y2Vy\nIDE5IDAgUiAvQ3JlYXRvciAyMCAwIFIgL0NyZWF0aW9uRGF0ZSAyMSAwIFIg\nL01vZERhdGUKMjEgMCBSIC9LZXl3b3JkcyAyMiAwIFIgL0FBUEw6S2V5d29y\nZHMgMjMgMCBSID4+CmVuZG9iagp4cmVmCjAgMjQKMDAwMDAwMDAwMCA2NTUz\nNSBmIAowMDAwMDE2NjE2IDAwMDAwIG4gCjAwMDAwMDA2MDQgMDAwMDAgbiAK\nMDAwMDAwMzU3NyAwMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAw\nMDA1ODUgMDAwMDAgbiAKMDAwMDAwMDcwOCAwMDAwMCBuIAowMDAwMDAzNTQx\nIDAwMDAwIG4gCjAwMDAwMDAwMDAgMDAwMDAgbiAKMDAwMDAwMzcxMCAwMDAw\nMCBuIAowMDAwMDAwODA1IDAwMDAwIG4gCjAwMDAwMDM1MjAgMDAwMDAgbiAK\nMDAwMDAwMzY2MCAwMDAwMCBuIAowMDAwMDA0NTMzIDAwMDAwIG4gCjAwMDAw\nMDM5OTYgMDAwMDAgbiAKMDAwMDAwNDUxMyAwMDAwMCBuIAowMDAwMDA0Nzcx\nIDAwMDAwIG4gCjAwMDAwMTYzOTMgMDAwMDAgbiAKMDAwMDAxNjQxNSAwMDAw\nMCBuIAowMDAwMDE2NDYwIDAwMDAwIG4gCjAwMDAwMTY1MTIgMDAwMDAgbiAK\nMDAwMDAxNjUzNSAwMDAwMCBuIAowMDAwMDE2NTc3IDAwMDAwIG4gCjAwMDAw\nMTY1OTYgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAyNCAvUm9vdCAxMiAw\nIFIgL0luZm8gMSAwIFIgL0lEIFsgPDQ5NmQ1YmZmN2E2M2U3ZTI1ZDExMmM1\nOTVmNTZhZmI2Pgo8NDk2ZDViZmY3YTYzZTdlMjVkMTEyYzU5NWY1NmFmYjY+\nIF0gPj4Kc3RhcnR4cmVmCjE2NzYwCiUlRU9GCg==\n"}],"steps":[{"Signers":[{"name":"Name1","email":"developer@moorem.com","identification":"23434234234234"}]},{"Signers":[{"name":"Name2","email":"ankur@moorem.com","identification":"23434234234234"}]}]}'
|
|
11
|
+
headers:
|
|
12
|
+
User-Agent:
|
|
13
|
+
- Faraday v0.9.1
|
|
14
|
+
Content-Type:
|
|
15
|
+
- application/json
|
|
16
|
+
X-Esignatur-Id:
|
|
17
|
+
- 1aa6f55d-5724-e411-899d-d89d67640044
|
|
18
|
+
Accept-Encoding:
|
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
20
|
+
Accept:
|
|
21
|
+
- '*/*'
|
|
22
|
+
response:
|
|
23
|
+
status:
|
|
24
|
+
code: 200
|
|
25
|
+
message: OK
|
|
26
|
+
headers:
|
|
27
|
+
Cache-Control:
|
|
28
|
+
- private
|
|
29
|
+
Content-Type:
|
|
30
|
+
- application/json; charset=utf-8
|
|
31
|
+
Server:
|
|
32
|
+
- Microsoft-IIS/7.5
|
|
33
|
+
X-Aspnetmvc-Version:
|
|
34
|
+
- '4.0'
|
|
35
|
+
Access-Control-Allow-Origin:
|
|
36
|
+
- '*'
|
|
37
|
+
Access-Control-Allow-Methods:
|
|
38
|
+
- GET, POST, OPTIONS
|
|
39
|
+
Access-Control-Allow-Headers:
|
|
40
|
+
- X-Requested-With, Accept, Access-Control-Allow-Origin, Content-Type, X-eSignatur-Id
|
|
41
|
+
X-Aspnet-Version:
|
|
42
|
+
- 4.0.30319
|
|
43
|
+
X-Powered-By:
|
|
44
|
+
- ASP.NET
|
|
45
|
+
Date:
|
|
46
|
+
- Tue, 28 Apr 2015 07:28:45 GMT
|
|
47
|
+
Content-Length:
|
|
48
|
+
- '598'
|
|
49
|
+
body:
|
|
50
|
+
encoding: UTF-8
|
|
51
|
+
string: '{"OrderId":"d37a9023-82e4-42a1-8c39-ecd201db5f84","DocumentReference":"d3374788xWZWnq432353","SignerReferences":[{"StepNumber":0,"Name":"Name1","Email":"developer@moorem.com","SignUrl":"http://kreditmatch.stage.demoe1.com/esignature?id=r-ZDM3YTkwMjMtODJlNC00MmExLThjMzktZWNkMjAxZGI1Zjg0fDAwMDAwMDAxfGQxODYwZWZjLTUxZjgtNDJjMi04M2RlLWVmZDY3NjBlYjI4ZQ%3d%3d"},{"StepNumber":1,"Name":"Name2","Email":"ankur@moorem.com","SignUrl":"http://kreditmatch.stage.demoe1.com/esignature?id=r-ZDM3YTkwMjMtODJlNC00MmExLThjMzktZWNkMjAxZGI1Zjg0fDAwMDAwMDAyfGE3OTMzN2FlLTk0ZTktNGMxOC04ZDIyLTg4NzIyMjk2ZmJjOA%3d%3d"}]}'
|
|
52
|
+
http_version:
|
|
53
|
+
recorded_at: Tue, 28 Apr 2015 07:28:46 GMT
|
|
54
|
+
recorded_with: VCR 2.9.3
|