boletosimples 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +1 -1
- data/boletosimples.gemspec +8 -7
- data/lib/boletosimples.rb +3 -1
- data/lib/boletosimples/configuration.rb +2 -2
- data/lib/boletosimples/resources/customer_subscription.rb +14 -0
- data/lib/boletosimples/resources/discharge.rb +10 -0
- data/lib/boletosimples/resources/installment.rb +4 -0
- data/lib/boletosimples/version.rb +1 -1
- data/spec/boletosimples/resources/customer_subscription_spec.rb +60 -0
- data/spec/boletosimples/resources/installment_spec.rb +62 -0
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/all.yml +83 -0
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/create/invalid_params.yml +83 -0
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/create/invalid_root.yml +81 -0
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/create/valid.yml +85 -0
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/find.yml +83 -0
- data/spec/fixtures/vcr_cassettes/resources/installment/all.yml +83 -0
- data/spec/fixtures/vcr_cassettes/resources/installment/create/invalid_params.yml +85 -0
- data/spec/fixtures/vcr_cassettes/resources/installment/create/invalid_root.yml +81 -0
- data/spec/fixtures/vcr_cassettes/resources/installment/create/valid.yml +85 -0
- data/spec/fixtures/vcr_cassettes/resources/installment/find.yml +83 -0
- metadata +57 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 490d1c76e70d03fec1a8578e593b6a18e6c58f1e
|
4
|
+
data.tar.gz: ffc415cf01929b2237ce2dc928460973cda9516c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9bd04063532e772ab874480ce21af8c8a6108b2649857062ea4aed159586078a96c76b492c03412c099d025fd1d9812745f5fea3c6440f4021a8b03cda1b8125
|
7
|
+
data.tar.gz: c6aaa930072ad9c2d954c5b5f400496aaba2ee25426f8b999634db769526080f8d5becdbc76b4d64168cb7f34a791e96d9911ded6a7ccae96aa14860f33ed541
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.3.1
|
data/.travis.yml
CHANGED
data/boletosimples.gemspec
CHANGED
@@ -21,16 +21,17 @@ Gem::Specification.new do |gem|
|
|
21
21
|
gem.required_ruby_version = '>= 1.9'
|
22
22
|
|
23
23
|
# Gems that must be intalled for boletosimples to work
|
24
|
-
gem.add_dependency 'her', '~> 0.
|
24
|
+
gem.add_dependency 'her', '~> 0.8.1'
|
25
25
|
gem.add_dependency 'faraday_middleware', '~> 0.10.0'
|
26
|
-
gem.add_dependency 'faraday-http-cache', '~> 1.
|
26
|
+
gem.add_dependency 'faraday-http-cache', '~> 1.3.1'
|
27
27
|
|
28
28
|
# Gems that must be installed for boletosimples to compile and build
|
29
29
|
gem.add_development_dependency 'pry', '~> 0.10.1'
|
30
|
-
gem.add_development_dependency 'rspec', '~> 3.
|
31
|
-
gem.add_development_dependency 'vcr', '~>
|
32
|
-
gem.add_development_dependency 'webmock', '~> 1.
|
33
|
-
gem.add_development_dependency 'rake', '~>
|
30
|
+
gem.add_development_dependency 'rspec', '~> 3.5.0'
|
31
|
+
gem.add_development_dependency 'vcr', '~> 3.0'
|
32
|
+
gem.add_development_dependency 'webmock', '~> 2.1.0'
|
33
|
+
gem.add_development_dependency 'rake', '~> 11.2.2'
|
34
34
|
gem.add_development_dependency 'coveralls', '~> 0.8.2'
|
35
|
-
gem.add_development_dependency 'codeclimate-test-reporter', '~> 0.
|
35
|
+
gem.add_development_dependency 'codeclimate-test-reporter', '~> 0.6.0'
|
36
|
+
gem.add_development_dependency 'rubocop'
|
36
37
|
end
|
data/lib/boletosimples.rb
CHANGED
@@ -13,6 +13,8 @@ module BoletoSimples
|
|
13
13
|
autoload :BankBilletAccount, 'boletosimples/resources/bank_billet_account'
|
14
14
|
autoload :Event, 'boletosimples/resources/event'
|
15
15
|
autoload :Customer, 'boletosimples/resources/customer'
|
16
|
+
autoload :CustomerSubscription, 'boletosimples/resources/customer_subscription'
|
17
|
+
autoload :Installment, 'boletosimples/resources/installment'
|
16
18
|
autoload :Transaction, 'boletosimples/resources/transaction'
|
17
19
|
autoload :Remittance, 'boletosimples/resources/remittance'
|
18
20
|
autoload :Discharge, 'boletosimples/resources/discharge'
|
@@ -42,4 +44,4 @@ module BoletoSimples
|
|
42
44
|
|
43
45
|
end
|
44
46
|
|
45
|
-
BoletoSimples.configure
|
47
|
+
BoletoSimples.configure
|
@@ -60,7 +60,7 @@ module BoletoSimples
|
|
60
60
|
end
|
61
61
|
|
62
62
|
# Because Her set the api on the moment module is included we need to call use_api again, after changing the configuration.
|
63
|
-
[BankBillet, BankBilletAccount, Customer, Transaction, Partner::User,
|
63
|
+
[BankBillet, BankBilletAccount, Customer, CustomerSubscription, Installment, Transaction, Partner::User,
|
64
64
|
Webhook, Discharge, Remittance, WebhookDelivery, Event].each do |klass|
|
65
65
|
klass.send(:use_api, Her::API.default_api)
|
66
66
|
end
|
@@ -68,4 +68,4 @@ module BoletoSimples
|
|
68
68
|
|
69
69
|
end
|
70
70
|
|
71
|
-
end
|
71
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module BoletoSimples
|
2
|
+
class CustomerSubscription < BaseModel
|
3
|
+
|
4
|
+
def next_charge
|
5
|
+
self.class.request(:_method => :post, :_path => self.class.build_request_path('customer_subscription_subscriptions/:id/next_charge', {self.class.primary_key => id})) do |parsed_data, response|
|
6
|
+
assign_attributes(self.class.parse(parsed_data[:data])) if parsed_data[:data].any?
|
7
|
+
@metadata = parsed_data[:metadata]
|
8
|
+
@response_errors = parsed_data[:errors]
|
9
|
+
@response = response
|
10
|
+
end
|
11
|
+
return @response.success?
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -1,4 +1,14 @@
|
|
1
1
|
module BoletoSimples
|
2
2
|
class Discharge < BaseModel
|
3
|
+
|
4
|
+
def pay_off
|
5
|
+
self.class.request(:_method => :put, :_path => self.class.build_request_path('discharges/:id/pay_off', {self.class.primary_key => id})) do |parsed_data, response|
|
6
|
+
assign_attributes(self.class.parse(parsed_data[:data])) if parsed_data[:data].any?
|
7
|
+
@metadata = parsed_data[:metadata]
|
8
|
+
@response_errors = parsed_data[:errors]
|
9
|
+
@response = response
|
10
|
+
end
|
11
|
+
return @response.success?
|
12
|
+
end
|
3
13
|
end
|
4
14
|
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
# Before running this spec again, you need to set environment variable BOLETOSIMPLES_ACCESS_TOKEN
|
6
|
+
RSpec.describe BoletoSimples::CustomerSubscription do
|
7
|
+
before {
|
8
|
+
BoletoSimples.configure do |c|
|
9
|
+
c.application_id = nil
|
10
|
+
c.application_secret = nil
|
11
|
+
end
|
12
|
+
}
|
13
|
+
describe 'methods' do
|
14
|
+
before {
|
15
|
+
VCR.use_cassette('resources/customer_subscription/create/valid') do
|
16
|
+
@customer_subscription = BoletoSimples::CustomerSubscription.create({
|
17
|
+
customer_id: "11",
|
18
|
+
bank_billet_account_id: "12",
|
19
|
+
amount: "1.120,4",
|
20
|
+
cycle: "monthly",
|
21
|
+
description: "Hospedagem"
|
22
|
+
})
|
23
|
+
end
|
24
|
+
}
|
25
|
+
describe 'create' do
|
26
|
+
context 'valid parameters' do
|
27
|
+
subject { @customer_subscription }
|
28
|
+
it { expect(subject).to be_a_kind_of(BoletoSimples::CustomerSubscription) }
|
29
|
+
it { expect(subject.response_errors).to eq({}) }
|
30
|
+
it { expect(subject.attributes.keys).to match_array(["amount", "bank_billet_account_id", "created_at", "created_via_api", "customer_id", "cycle", "days_in_advance", "description", "end_at", "id", "instructions", "next_billing", "updated_at"]) }
|
31
|
+
end
|
32
|
+
context 'invalid parameters' do
|
33
|
+
context 'empty bank_billet' do
|
34
|
+
subject {
|
35
|
+
VCR.use_cassette('resources/customer_subscription/create/invalid_root') do
|
36
|
+
BoletoSimples::CustomerSubscription.create({})
|
37
|
+
end
|
38
|
+
}
|
39
|
+
it { expect(subject.response_errors).to eq({ :customer_subscription => ["não pode ficar em branco"] }) }
|
40
|
+
end
|
41
|
+
context 'invalid params' do
|
42
|
+
subject {
|
43
|
+
VCR.use_cassette('resources/customer_subscription/create/invalid_params') do
|
44
|
+
BoletoSimples::CustomerSubscription.create({ customer_id: '' })
|
45
|
+
end
|
46
|
+
}
|
47
|
+
it { expect(subject.response_errors).to eq({ :customer=>["não pode ficar em branco"], :bank_billet_account=>["não pode ficar em branco"], :amount=>["não pode ficar em branco"], :description=>["não pode ficar em branco"] }) }
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
describe 'find', vcr: { cassette_name: 'resources/customer_subscription/find' } do
|
52
|
+
subject { BoletoSimples::CustomerSubscription.find(@customer_subscription.id) }
|
53
|
+
it { expect(subject).to be_a_kind_of(BoletoSimples::CustomerSubscription) }
|
54
|
+
end
|
55
|
+
describe 'all', vcr: { cassette_name: 'resources/customer_subscription/all' } do
|
56
|
+
subject { BoletoSimples::CustomerSubscription.all }
|
57
|
+
it { expect(subject.first).to be_a_kind_of(BoletoSimples::CustomerSubscription) }
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
# Before running this spec again, you need to set environment variable BOLETOSIMPLES_ACCESS_TOKEN
|
6
|
+
RSpec.describe BoletoSimples::Installment do
|
7
|
+
before {
|
8
|
+
BoletoSimples.configure do |c|
|
9
|
+
c.application_id = nil
|
10
|
+
c.application_secret = nil
|
11
|
+
end
|
12
|
+
}
|
13
|
+
describe 'methods' do
|
14
|
+
before {
|
15
|
+
VCR.use_cassette('resources/installment/create/valid') do
|
16
|
+
@installment = BoletoSimples::Installment.create({
|
17
|
+
customer_id: "11",
|
18
|
+
bank_billet_account_id: "12",
|
19
|
+
amount: "1.120,4",
|
20
|
+
cycle: "monthly",
|
21
|
+
start_at: "2016-09-15",
|
22
|
+
total: "3",
|
23
|
+
description: "Hospedagem"
|
24
|
+
})
|
25
|
+
end
|
26
|
+
}
|
27
|
+
describe 'create' do
|
28
|
+
context 'valid parameters' do
|
29
|
+
subject { @installment }
|
30
|
+
it { expect(subject).to be_a_kind_of(BoletoSimples::Installment) }
|
31
|
+
it { expect(subject.response_errors).to eq({}) }
|
32
|
+
it { expect(subject.attributes.keys).to match_array(["amount", "bank_billet_account_id", "created_at", "created_via_api", "customer_id", "cycle", "description", "end_at", "id", "instructions", "start_at", "status", "total", "updated_at"]) }
|
33
|
+
end
|
34
|
+
context 'invalid parameters' do
|
35
|
+
context 'empty bank_billet' do
|
36
|
+
subject {
|
37
|
+
VCR.use_cassette('resources/installment/create/invalid_root') do
|
38
|
+
BoletoSimples::Installment.create({})
|
39
|
+
end
|
40
|
+
}
|
41
|
+
it { expect(subject.response_errors).to eq({ :installment => ["não pode ficar em branco"] }) }
|
42
|
+
end
|
43
|
+
context 'invalid params' do
|
44
|
+
subject {
|
45
|
+
VCR.use_cassette('resources/installment/create/invalid_params') do
|
46
|
+
BoletoSimples::Installment.create({ person_name: '' })
|
47
|
+
end
|
48
|
+
}
|
49
|
+
it { expect(subject.response_errors).to eq({ :customer=>["não pode ficar em branco"], :bank_billet_account=>["não pode ficar em branco"], :cycle=>["não pode ficar em branco", "não está incluído na lista"], :total=>["não pode ficar em branco"], :start_at=>["não pode ficar em branco"], :description=>["não pode ficar em branco"], :amount=>["deve ser maior que 0"] }) }
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
describe 'find', vcr: { cassette_name: 'resources/installment/find' } do
|
54
|
+
subject { BoletoSimples::Installment.find(@installment.id) }
|
55
|
+
it { expect(subject).to be_a_kind_of(BoletoSimples::Installment) }
|
56
|
+
end
|
57
|
+
describe 'all', vcr: { cassette_name: 'resources/installment/all' } do
|
58
|
+
subject { BoletoSimples::Installment.all }
|
59
|
+
it { expect(subject.first).to be_a_kind_of(BoletoSimples::Installment) }
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://sandbox.boletosimples.com.br/api/v1/customer_subscriptions?access_token=BOLETOSIMPLES_ACCESS_TOKEN
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- BoletoSimples Ruby Client v0.3.1 (contato@boletosimples.com.br)
|
12
|
+
Authorization:
|
13
|
+
- Token token="BOLETOSIMPLES_ACCESS_TOKEN"
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
Accept:
|
17
|
+
- "*/*"
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Transfer-Encoding:
|
28
|
+
- chunked
|
29
|
+
Status:
|
30
|
+
- 200 OK
|
31
|
+
Cache-Control:
|
32
|
+
- must-revalidate, private, max-age=0
|
33
|
+
X-Ratelimit-Limit:
|
34
|
+
- '500'
|
35
|
+
Date:
|
36
|
+
- Mon, 15 Aug 2016 19:12:06 GMT
|
37
|
+
Strict-Transport-Security:
|
38
|
+
- max-age=631138519
|
39
|
+
X-Ratelimit-Remaining:
|
40
|
+
- '495'
|
41
|
+
Vary:
|
42
|
+
- Accept-Encoding
|
43
|
+
X-Permitted-Cross-Domain-Policies:
|
44
|
+
- none
|
45
|
+
X-Xss-Protection:
|
46
|
+
- 1; mode=block
|
47
|
+
X-Request-Id:
|
48
|
+
- 5c69fc71-b769-4fff-8c90-78735b4df6ad
|
49
|
+
Content-Security-Policy-Report-Only:
|
50
|
+
- 'default-src ''self''; child-src ''self'' www.googleadservices.com googleads.g.doubleclick.net
|
51
|
+
www.google.com; connect-src ws: wss: *.intercom.io ws.pusherapp.com hn.inspectlet.com
|
52
|
+
stats.pusher.com; font-src ''self'' fonts.googleapis.com fonts.gstatic.com
|
53
|
+
data:; img-src ''self'' https: data:; script-src ''self'' static.intercomcdn.com
|
54
|
+
cdn.inspectlet.com widget.intercom.io js.intercomcdn.com js.pusher.com stats.pusher.com
|
55
|
+
zapier.com www.google-analytics.com www.googleadservices.com i.kissmetrics.com
|
56
|
+
doug1izaerwt3.cloudfront.net app.popupdomination.com cdn.ywxi.net www.draw.io;
|
57
|
+
style-src ''self'' fonts.googleapis.com; report-uri https://boletosimples.report-uri.io/r/default/csp/reportOnly'
|
58
|
+
Total:
|
59
|
+
- '2'
|
60
|
+
X-Download-Options:
|
61
|
+
- noopen
|
62
|
+
Etag:
|
63
|
+
- W/"047508737376fc72cc83ff5ba90195f0"
|
64
|
+
X-Runtime:
|
65
|
+
- '0.037184'
|
66
|
+
X-Frame-Options:
|
67
|
+
- sameorigin
|
68
|
+
X-Content-Type-Options:
|
69
|
+
- nosniff
|
70
|
+
X-Rack-Cache:
|
71
|
+
- miss
|
72
|
+
X-Powered-By:
|
73
|
+
- Phusion Passenger 5.0.30
|
74
|
+
Server:
|
75
|
+
- nginx/1.10.1 + Phusion Passenger 5.0.30
|
76
|
+
Via:
|
77
|
+
- 1.1 vegur
|
78
|
+
body:
|
79
|
+
encoding: UTF-8
|
80
|
+
string: '[{"id":3,"amount":1120.4,"cycle":"monthly","next_billing":"2016-09-15","end_at":null,"instructions":null,"customer_id":11,"description":"Hospedagem","created_at":"2016-08-15","updated_at":"2016-08-15","created_via_api":true,"days_in_advance":7,"bank_billet_account_id":12},{"id":4,"amount":1120.4,"cycle":"monthly","next_billing":"2016-09-15","end_at":null,"instructions":null,"customer_id":11,"description":"Hospedagem","created_at":"2016-08-15","updated_at":"2016-08-15","created_via_api":true,"days_in_advance":7,"bank_billet_account_id":12}]'
|
81
|
+
http_version:
|
82
|
+
recorded_at: Mon, 15 Aug 2016 19:12:06 GMT
|
83
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,83 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sandbox.boletosimples.com.br/api/v1/customer_subscriptions?access_token=BOLETOSIMPLES_ACCESS_TOKEN
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"customer_subscription":{"customer_id":""}}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- BoletoSimples Ruby Client v0.3.1 (contato@boletosimples.com.br)
|
12
|
+
Authorization:
|
13
|
+
- Token token="BOLETOSIMPLES_ACCESS_TOKEN"
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Accept-Encoding:
|
17
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
18
|
+
Accept:
|
19
|
+
- "*/*"
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 422
|
23
|
+
message: Unprocessable Entity
|
24
|
+
headers:
|
25
|
+
Connection:
|
26
|
+
- keep-alive
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
31
|
+
Status:
|
32
|
+
- 422 Unprocessable Entity
|
33
|
+
Cache-Control:
|
34
|
+
- no-cache
|
35
|
+
X-Ratelimit-Limit:
|
36
|
+
- '500'
|
37
|
+
Date:
|
38
|
+
- Mon, 15 Aug 2016 19:12:05 GMT
|
39
|
+
Strict-Transport-Security:
|
40
|
+
- max-age=631138519
|
41
|
+
X-Ratelimit-Remaining:
|
42
|
+
- '497'
|
43
|
+
Vary:
|
44
|
+
- Accept-Encoding
|
45
|
+
X-Permitted-Cross-Domain-Policies:
|
46
|
+
- none
|
47
|
+
X-Xss-Protection:
|
48
|
+
- 1; mode=block
|
49
|
+
X-Request-Id:
|
50
|
+
- 4f6a7f8d-2994-4a6d-b7ae-fc2dd1aa083b
|
51
|
+
Content-Security-Policy-Report-Only:
|
52
|
+
- 'default-src ''self''; child-src ''self'' www.googleadservices.com googleads.g.doubleclick.net
|
53
|
+
www.google.com; connect-src ws: wss: *.intercom.io ws.pusherapp.com hn.inspectlet.com
|
54
|
+
stats.pusher.com; font-src ''self'' fonts.googleapis.com fonts.gstatic.com
|
55
|
+
data:; img-src ''self'' https: data:; script-src ''self'' static.intercomcdn.com
|
56
|
+
cdn.inspectlet.com widget.intercom.io js.intercomcdn.com js.pusher.com stats.pusher.com
|
57
|
+
zapier.com www.google-analytics.com www.googleadservices.com i.kissmetrics.com
|
58
|
+
doug1izaerwt3.cloudfront.net app.popupdomination.com cdn.ywxi.net www.draw.io;
|
59
|
+
style-src ''self'' fonts.googleapis.com; report-uri https://boletosimples.report-uri.io/r/default/csp/reportOnly'
|
60
|
+
X-Download-Options:
|
61
|
+
- noopen
|
62
|
+
X-Runtime:
|
63
|
+
- '0.028764'
|
64
|
+
X-Frame-Options:
|
65
|
+
- sameorigin
|
66
|
+
X-Content-Type-Options:
|
67
|
+
- nosniff
|
68
|
+
X-Rack-Cache:
|
69
|
+
- invalidate, pass
|
70
|
+
X-Powered-By:
|
71
|
+
- Phusion Passenger 5.0.30
|
72
|
+
Server:
|
73
|
+
- nginx/1.10.1 + Phusion Passenger 5.0.30
|
74
|
+
Via:
|
75
|
+
- 1.1 vegur
|
76
|
+
body:
|
77
|
+
encoding: UTF-8
|
78
|
+
string: '{"errors":{"customer":["não pode ficar em branco"],"bank_billet_account":["não
|
79
|
+
pode ficar em branco"],"amount":["não pode ficar em branco"],"description":["não
|
80
|
+
pode ficar em branco"]}}'
|
81
|
+
http_version:
|
82
|
+
recorded_at: Mon, 15 Aug 2016 19:12:05 GMT
|
83
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,81 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sandbox.boletosimples.com.br/api/v1/customer_subscriptions?access_token=BOLETOSIMPLES_ACCESS_TOKEN
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"customer_subscription":{}}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- BoletoSimples Ruby Client v0.3.1 (contato@boletosimples.com.br)
|
12
|
+
Authorization:
|
13
|
+
- Token token="BOLETOSIMPLES_ACCESS_TOKEN"
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
Accept-Encoding:
|
17
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
18
|
+
Accept:
|
19
|
+
- "*/*"
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 422
|
23
|
+
message: Unprocessable Entity
|
24
|
+
headers:
|
25
|
+
Connection:
|
26
|
+
- keep-alive
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
31
|
+
Status:
|
32
|
+
- 422 Unprocessable Entity
|
33
|
+
Cache-Control:
|
34
|
+
- no-cache
|
35
|
+
X-Ratelimit-Limit:
|
36
|
+
- '500'
|
37
|
+
Date:
|
38
|
+
- Mon, 15 Aug 2016 19:12:06 GMT
|
39
|
+
Strict-Transport-Security:
|
40
|
+
- max-age=631138519
|
41
|
+
X-Ratelimit-Remaining:
|
42
|
+
- '496'
|
43
|
+
Vary:
|
44
|
+
- Accept-Encoding
|
45
|
+
X-Permitted-Cross-Domain-Policies:
|
46
|
+
- none
|
47
|
+
X-Xss-Protection:
|
48
|
+
- 1; mode=block
|
49
|
+
X-Request-Id:
|
50
|
+
- e6629d8d-71eb-4445-b92e-52ca340c868a
|
51
|
+
Content-Security-Policy-Report-Only:
|
52
|
+
- 'default-src ''self''; child-src ''self'' www.googleadservices.com googleads.g.doubleclick.net
|
53
|
+
www.google.com; connect-src ws: wss: *.intercom.io ws.pusherapp.com hn.inspectlet.com
|
54
|
+
stats.pusher.com; font-src ''self'' fonts.googleapis.com fonts.gstatic.com
|
55
|
+
data:; img-src ''self'' https: data:; script-src ''self'' static.intercomcdn.com
|
56
|
+
cdn.inspectlet.com widget.intercom.io js.intercomcdn.com js.pusher.com stats.pusher.com
|
57
|
+
zapier.com www.google-analytics.com www.googleadservices.com i.kissmetrics.com
|
58
|
+
doug1izaerwt3.cloudfront.net app.popupdomination.com cdn.ywxi.net www.draw.io;
|
59
|
+
style-src ''self'' fonts.googleapis.com; report-uri https://boletosimples.report-uri.io/r/default/csp/reportOnly'
|
60
|
+
X-Download-Options:
|
61
|
+
- noopen
|
62
|
+
X-Runtime:
|
63
|
+
- '0.020464'
|
64
|
+
X-Frame-Options:
|
65
|
+
- sameorigin
|
66
|
+
X-Content-Type-Options:
|
67
|
+
- nosniff
|
68
|
+
X-Rack-Cache:
|
69
|
+
- invalidate, pass
|
70
|
+
X-Powered-By:
|
71
|
+
- Phusion Passenger 5.0.30
|
72
|
+
Server:
|
73
|
+
- nginx/1.10.1 + Phusion Passenger 5.0.30
|
74
|
+
Via:
|
75
|
+
- 1.1 vegur
|
76
|
+
body:
|
77
|
+
encoding: UTF-8
|
78
|
+
string: '{"errors":{"customer_subscription":["não pode ficar em branco"]}}'
|
79
|
+
http_version:
|
80
|
+
recorded_at: Mon, 15 Aug 2016 19:12:06 GMT
|
81
|
+
recorded_with: VCR 2.9.3
|