boletosimples 0.5.0 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -14
  3. data/README.md +17 -55
  4. data/lib/boletosimples.rb +9 -6
  5. data/lib/boletosimples/configuration.rb +20 -29
  6. data/lib/boletosimples/last_request.rb +12 -9
  7. data/lib/boletosimples/middlewares/bearer.rb +12 -0
  8. data/lib/boletosimples/middlewares/debug.rb +30 -0
  9. data/lib/boletosimples/middlewares/last_request.rb +3 -1
  10. data/lib/boletosimples/middlewares/raise_error.rb +9 -2
  11. data/lib/boletosimples/middlewares/user_agent.rb +3 -1
  12. data/lib/boletosimples/resources/bank_billet.rb +5 -11
  13. data/lib/boletosimples/resources/bank_billet_account.rb +3 -1
  14. data/lib/boletosimples/resources/bank_billet_discharge.rb +6 -0
  15. data/lib/boletosimples/resources/bank_billet_payment.rb +6 -0
  16. data/lib/boletosimples/resources/bank_billet_remittance.rb +6 -0
  17. data/lib/boletosimples/resources/base_model.rb +3 -1
  18. data/lib/boletosimples/resources/customer.rb +3 -1
  19. data/lib/boletosimples/resources/customer_import.rb +5 -3
  20. data/lib/boletosimples/resources/customer_subscription.rb +3 -10
  21. data/lib/boletosimples/resources/customer_subscription_import.rb +5 -3
  22. data/lib/boletosimples/resources/discharge.rb +4 -11
  23. data/lib/boletosimples/resources/email_delivery.rb +6 -0
  24. data/lib/boletosimples/resources/event.rb +3 -1
  25. data/lib/boletosimples/resources/installment.rb +3 -1
  26. data/lib/boletosimples/resources/remittance.rb +3 -1
  27. data/lib/boletosimples/resources/sms_delivery.rb +6 -0
  28. data/lib/boletosimples/resources/transaction.rb +3 -1
  29. data/lib/boletosimples/resources/webhook.rb +3 -1
  30. data/lib/boletosimples/resources/webhook_delivery.rb +3 -1
  31. data/lib/boletosimples/response_error.rb +8 -3
  32. data/lib/boletosimples/version.rb +3 -1
  33. data/spec/boletosimples/configuration_spec.rb +71 -99
  34. data/spec/boletosimples/last_request_spec.rb +16 -28
  35. data/spec/boletosimples/resources/bank_billet_account_spec.rb +57 -33
  36. data/spec/boletosimples/resources/bank_billet_discharge_spec.rb +12 -0
  37. data/spec/boletosimples/resources/bank_billet_payment_spec.rb +12 -0
  38. data/spec/boletosimples/resources/bank_billet_remittance_spec.rb +12 -0
  39. data/spec/boletosimples/resources/bank_billet_spec.rb +56 -42
  40. data/spec/boletosimples/resources/customer_import_spec.rb +41 -30
  41. data/spec/boletosimples/resources/customer_spec.rb +52 -39
  42. data/spec/boletosimples/resources/customer_subscription_import_spec.rb +41 -30
  43. data/spec/boletosimples/resources/customer_subscription_spec.rb +61 -33
  44. data/spec/boletosimples/resources/discharge_spec.rb +64 -11
  45. data/spec/boletosimples/resources/email_delivery_spec.rb +12 -0
  46. data/spec/boletosimples/resources/event_spec.rb +7 -12
  47. data/spec/boletosimples/resources/installment_spec.rb +61 -32
  48. data/spec/boletosimples/resources/remittance_spec.rb +7 -12
  49. data/spec/boletosimples/resources/sms_delivery_spec.rb +12 -0
  50. data/spec/boletosimples/resources/transactions_spec.rb +7 -12
  51. data/spec/boletosimples/resources/webhook_delivery_spec.rb +7 -12
  52. data/spec/boletosimples/resources/webhook_spec.rb +7 -12
  53. data/spec/fixtures/discharge.RET +3 -0
  54. data/spec/fixtures/vcr_cassettes/last_request/bank_billets.yml +536 -88
  55. data/spec/fixtures/vcr_cassettes/resources/bank_billet/all.yml +537 -91
  56. data/spec/fixtures/vcr_cassettes/resources/bank_billet/cancel/success.yml +34 -92
  57. data/spec/fixtures/vcr_cassettes/resources/bank_billet/create/invalid_params.yml +32 -20
  58. data/spec/fixtures/vcr_cassettes/resources/bank_billet/create/invalid_root.yml +28 -17
  59. data/spec/fixtures/vcr_cassettes/resources/bank_billet/create/valid.yml +43 -27
  60. data/spec/fixtures/vcr_cassettes/resources/bank_billet/duplicate/success.yml +83 -0
  61. data/spec/fixtures/vcr_cassettes/resources/bank_billet/find.yml +51 -27
  62. data/spec/fixtures/vcr_cassettes/resources/bank_billet_account/all.yml +131 -20
  63. data/spec/fixtures/vcr_cassettes/resources/bank_billet_account/create/invalid_params.yml +34 -20
  64. data/spec/fixtures/vcr_cassettes/resources/bank_billet_account/create/invalid_root.yml +30 -19
  65. data/spec/fixtures/vcr_cassettes/resources/bank_billet_account/create/valid.yml +41 -21
  66. data/spec/fixtures/vcr_cassettes/resources/bank_billet_account/find.yml +38 -18
  67. data/spec/fixtures/vcr_cassettes/resources/bank_billet_discharge/all.yml +97 -0
  68. data/spec/fixtures/vcr_cassettes/resources/bank_billet_payment/all.yml +75 -0
  69. data/spec/fixtures/vcr_cassettes/resources/bank_billet_remittance/all.yml +126 -0
  70. data/spec/fixtures/vcr_cassettes/resources/customer/all.yml +79 -32
  71. data/spec/fixtures/vcr_cassettes/resources/customer/create/invalid_params.yml +30 -17
  72. data/spec/fixtures/vcr_cassettes/resources/customer/create/invalid_root.yml +28 -17
  73. data/spec/fixtures/vcr_cassettes/resources/customer/create/valid.yml +33 -21
  74. data/spec/fixtures/vcr_cassettes/resources/customer/find.yml +33 -19
  75. data/spec/fixtures/vcr_cassettes/resources/customer_import/all.yml +43 -60
  76. data/spec/fixtures/vcr_cassettes/resources/customer_import/create/invalid_params.yml +37 -51
  77. data/spec/fixtures/vcr_cassettes/resources/customer_import/create/invalid_root.yml +38 -52
  78. data/spec/fixtures/vcr_cassettes/resources/customer_import/create/valid.yml +43 -68
  79. data/spec/fixtures/vcr_cassettes/resources/customer_import/find.yml +40 -54
  80. data/spec/fixtures/vcr_cassettes/resources/customer_subscription/all.yml +102 -52
  81. data/spec/fixtures/vcr_cassettes/resources/customer_subscription/create/invalid_params.yml +40 -50
  82. data/spec/fixtures/vcr_cassettes/resources/customer_subscription/create/invalid_root.yml +36 -48
  83. data/spec/fixtures/vcr_cassettes/resources/customer_subscription/create/valid.yml +48 -53
  84. data/spec/fixtures/vcr_cassettes/resources/customer_subscription/find.yml +44 -50
  85. data/spec/fixtures/vcr_cassettes/resources/customer_subscription/next_charge.yml +45 -133
  86. data/spec/fixtures/vcr_cassettes/resources/customer_subscription_import/all.yml +44 -55
  87. data/spec/fixtures/vcr_cassettes/resources/customer_subscription_import/create/invalid_params.yml +37 -52
  88. data/spec/fixtures/vcr_cassettes/resources/customer_subscription_import/create/invalid_root.yml +39 -53
  89. data/spec/fixtures/vcr_cassettes/resources/customer_subscription_import/create/valid.yml +43 -70
  90. data/spec/fixtures/vcr_cassettes/resources/customer_subscription_import/find.yml +40 -55
  91. data/spec/fixtures/vcr_cassettes/resources/discharge/all.yml +64 -33
  92. data/spec/fixtures/vcr_cassettes/resources/discharge/create/invalid_params.yml +70 -0
  93. data/spec/fixtures/vcr_cassettes/resources/discharge/create/invalid_root.yml +69 -0
  94. data/spec/fixtures/vcr_cassettes/resources/discharge/create/valid.yml +84 -0
  95. data/spec/fixtures/vcr_cassettes/resources/discharge/find.yml +71 -0
  96. data/spec/fixtures/vcr_cassettes/resources/email_delivery/all.yml +73 -0
  97. data/spec/fixtures/vcr_cassettes/resources/event/all.yml +490 -166
  98. data/spec/fixtures/vcr_cassettes/resources/installment/all.yml +418 -52
  99. data/spec/fixtures/vcr_cassettes/resources/installment/create/invalid_params.yml +41 -52
  100. data/spec/fixtures/vcr_cassettes/resources/installment/create/invalid_root.yml +36 -48
  101. data/spec/fixtures/vcr_cassettes/resources/installment/create/valid.yml +48 -53
  102. data/spec/fixtures/vcr_cassettes/resources/installment/find.yml +44 -52
  103. data/spec/fixtures/vcr_cassettes/resources/remittance/all.yml +53 -33
  104. data/spec/fixtures/vcr_cassettes/resources/sns_delivery/all.yml +73 -0
  105. data/spec/fixtures/vcr_cassettes/resources/transaction/all.yml +34 -22
  106. data/spec/fixtures/vcr_cassettes/resources/web_hook/all.yml +42 -33
  107. data/spec/fixtures/vcr_cassettes/resources/webhook_delivery/all.yml +1232 -54
  108. data/spec/spec_helper.rb +3 -20
  109. data/spec/support/stub_env.rb +7 -0
  110. data/spec/support/vcr.rb +3 -4
  111. metadata +119 -57
  112. data/.coveralls.yml +0 -2
  113. data/.gitignore +0 -19
  114. data/.ruby-version +0 -1
  115. data/.travis.yml +0 -46
  116. data/Gemfile +0 -4
  117. data/Rakefile +0 -14
  118. data/boletosimples.gemspec +0 -38
  119. data/gemfiles/rails_42.gemfile +0 -8
  120. data/gemfiles/rails_50.gemfile +0 -8
  121. data/gemfiles/rails_51.gemfile +0 -8
  122. data/gemfiles/rails_52.gemfile +0 -9
  123. data/lib/boletosimples/extra.rb +0 -8
  124. data/lib/boletosimples/resources/partner/user.rb +0 -7
  125. data/lib/oauth2_patch.rb +0 -24
  126. data/spec/boletosimples/extra_spec.rb +0 -31
  127. data/spec/boletosimples/resources/partner/user_spec.rb +0 -19
  128. data/spec/fixtures/vcr_cassettes/configuration/client_credentials/invalid.yml +0 -64
  129. data/spec/fixtures/vcr_cassettes/configuration/client_credentials/valid.yml +0 -56
  130. data/spec/fixtures/vcr_cassettes/extra/userinfo/authenticated.yml +0 -58
  131. data/spec/fixtures/vcr_cassettes/extra/userinfo/not_authenticated.yml +0 -54
  132. data/spec/fixtures/vcr_cassettes/last_request/userinfo.yml +0 -58
  133. data/spec/fixtures/vcr_cassettes/resources/bank_billet/cancel/failure.yml +0 -118
  134. data/spec/fixtures/vcr_cassettes/resources/partner/user/create.yml +0 -60
  135. data/spec/spec.opts +0 -8
@@ -2,90 +2,73 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://sandbox.boletosimples.com.br/api/v1/imports/customers?access_token=BOLETOSIMPLES_ACCESS_TOKEN
5
+ uri: https://sandbox.boletosimples.com.br/api/v1/imports/customers
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - BoletoSimples Ruby Client v0.4.1 (contato@boletosimples.com.br)
11
+ - email@minhaempresa.com.br
12
12
  Authorization:
13
- - Token token="BOLETOSIMPLES_ACCESS_TOKEN"
13
+ - Bearer BOLETOSIMPLES_API_TOKEN
14
+ Accept:
15
+ - application/json
14
16
  Accept-Encoding:
15
17
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
- Accept:
17
- - "*/*"
18
18
  response:
19
19
  status:
20
20
  code: 200
21
21
  message: OK
22
22
  headers:
23
+ Server:
24
+ - Cowboy
23
25
  Connection:
24
26
  - 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
- Date:
34
- - Fri, 16 Jun 2017 03:50:17 GMT
35
- Vary:
36
- - Origin,Accept-Encoding
37
- Strict-Transport-Security:
38
- - max-age=631138519
39
- X-Permitted-Cross-Domain-Policies:
40
- - none
27
+ X-Frame-Options:
28
+ - DENY
41
29
  X-Xss-Protection:
42
30
  - 1; mode=block
43
- X-Request-Id:
44
- - b7c0a074-5f03-49b9-af71-78e4a22ef7af
45
- Content-Security-Policy-Report-Only:
46
- - 'default-src ''self''; child-src ''self'' www.googleadservices.com googleads.g.doubleclick.net
47
- www.google.com www.google.com.br app.popupdomination.com; connect-src ''self''
48
- ws: wss: *.intercom.io ws.pusherapp.com hn.inspectlet.com *.pusher.com boletosimples.com.br
49
- *.boletosimples.com.br boletosimples.zendesk.com; font-src ''self'' fonts.googleapis.com
50
- fonts.gstatic.com js.intercomcdn.com data: v2.zopim.com d25j7wj0q61kjj.cloudfront.net;
51
- img-src ''self'' https: data: maps.googleapis.com dev.bole.to:5001 bole.to
52
- boletosimples-sandbox.s3.amazonaws.com; script-src ''self'' ''unsafe-inline''
53
- static.intercomcdn.com cdn.inspectlet.com widget.intercom.io js.intercomcdn.com
54
- js.pusher.com stats.pusher.com zapier.com www.google-analytics.com www.googleadservices.com
55
- doug1izaerwt3.cloudfront.net app.popupdomination.com cdn.ywxi.net www.draw.io
56
- tag.getdrip.com www.getdrip.com js-agent.newrelic.com bam.nr-data.net cdnjs.cloudflare.com
57
- widget.pluga.co www.google.com www.gstatic.com boletosimples.zendesk.com assets.zendesk.com
58
- v2.zopim.com d25j7wj0q61kjj.cloudfront.net; style-src ''self'' ''unsafe-inline''
59
- fonts.googleapis.com d25j7wj0q61kjj.cloudfront.net; report-uri https://boletosimples.report-uri.io/r/default/csp/reportOnly'
60
- Total:
61
- - '6'
31
+ X-Content-Type-Options:
32
+ - nosniff
62
33
  X-Download-Options:
63
34
  - noopen
35
+ X-Permitted-Cross-Domain-Policies:
36
+ - none
37
+ Referrer-Policy:
38
+ - strict-origin-when-cross-origin
39
+ Per-Page:
40
+ - '50'
41
+ Page:
42
+ - ''
43
+ Content-Type:
44
+ - application/json; charset=utf-8
45
+ X-Ratelimit-Limit:
46
+ - '60'
47
+ X-Ratelimit-Remaining:
48
+ - '55'
64
49
  Etag:
65
- - W/"1f7b18205f2c944fb3c09298b8477dd7"
50
+ - W/"b2fa3b7aea3069b3f91a25409d0357da"
51
+ Cache-Control:
52
+ - must-revalidate, private, max-age=0
53
+ X-Request-Id:
54
+ - a4954e35-0a78-44db-9bfc-e5f57ea14ecc
66
55
  X-Runtime:
67
- - '0.040018'
68
- X-Frame-Options:
69
- - sameorigin
70
- X-Content-Type-Options:
71
- - nosniff
56
+ - '0.029875'
57
+ Date:
58
+ - Tue, 13 Apr 2021 17:18:26 GMT
72
59
  X-Rack-Cache:
73
60
  - miss
74
- X-Powered-By:
75
- - Phusion Passenger 5.1.4
76
- Server:
77
- - nginx/1.10.3 + Phusion Passenger 5.1.4
61
+ Strict-Transport-Security:
62
+ - max-age=2629746
63
+ Vary:
64
+ - Origin,Accept-Encoding
65
+ Transfer-Encoding:
66
+ - chunked
78
67
  Via:
79
68
  - 1.1 vegur
80
69
  body:
81
70
  encoding: UTF-8
82
- string: '[{"id":1,"created_rows":0,"records_count":null,"enqueued_at":"2017-06-15T23:02:55-03:00","started_at":"2017-06-15T23:02:56-03:00","finished_at":"2017-06-15T23:02:56-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_content_type":"text/plain","source_file_name":"cobregratis-customers.csv","source_file_size":210,"source_updated_at":"2017-06-15T23:02:55-03:00","status":"done"},{"id":2,"created_rows":0,"records_count":null,"enqueued_at":"2017-06-15T23:15:30-03:00","started_at":"2017-06-15T23:15:30-03:00","finished_at":"2017-06-15T23:15:30-03:00","processed_at":null,"failed_to_create_rows":1,"failed_to_update_rows":0,"import_errors":[[1,{"CEP":"não
83
- pode ficar em branco","Bairro":"não pode ficar em branco","Cidade":"não pode
84
- ficar em branco","Estado":"não está incluído na lista","Endereço":"não pode
85
- ficar em branco","E-mail opcional":"não é válido","Nome/Razao Social":"não
86
- pode ficar em branco","Numero do Celular":"não é um número de celular"}]],"processed_rows":1,"total_rows":1,"updated_rows":0,"source_content_type":"text/plain","source_file_name":"cobregratis-customers.csv","source_file_size":398,"source_updated_at":"2017-06-15T23:15:30-03:00","status":"done"},{"id":3,"created_rows":0,"records_count":null,"enqueued_at":"2017-06-15T23:22:46-03:00","started_at":"2017-06-15T23:22:46-03:00","finished_at":"2017-06-15T23:22:46-03:00","processed_at":null,"failed_to_create_rows":1,"failed_to_update_rows":0,"import_errors":[[1,{"Numero
87
- do Celular":"não é um número de celular"}]],"processed_rows":1,"total_rows":1,"updated_rows":0,"source_content_type":"text/plain","source_file_name":"cobregratis-customers.csv","source_file_size":422,"source_updated_at":"2017-06-15T23:22:46-03:00","status":"done"},{"id":4,"created_rows":1,"records_count":1,"enqueued_at":"2017-06-15T23:23:24-03:00","started_at":"2017-06-15T23:23:24-03:00","finished_at":"2017-06-15T23:23:24-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":1,"total_rows":1,"updated_rows":0,"source_content_type":"text/plain","source_file_name":"cobregratis-customers.csv","source_file_size":423,"source_updated_at":"2017-06-15T23:23:24-03:00","status":"done"},{"id":5,"created_rows":2,"records_count":2,"enqueued_at":"2017-06-16T00:44:55-03:00","started_at":"2017-06-16T00:44:56-03:00","finished_at":"2017-06-16T00:44:56-03:00","processed_at":null,"failed_to_create_rows":2,"failed_to_update_rows":0,"import_errors":[[1,{"E-mail":"não
88
- é válido"}],[2,{"CNPJ/CPF":"não pode ficar em branco"}]],"processed_rows":4,"total_rows":4,"updated_rows":0,"source_content_type":"text/plain","source_file_name":"customers.csv","source_file_size":810,"source_updated_at":"2017-06-16T00:44:55-03:00","status":"done"},{"id":6,"created_rows":0,"records_count":null,"enqueued_at":"2017-06-16T00:50:16-03:00","started_at":"2017-06-16T00:50:16-03:00","finished_at":"2017-06-16T00:50:16-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_content_type":"text/plain","source_file_name":"customers.csv","source_file_size":190,"source_updated_at":"2017-06-16T00:50:16-03:00","status":"done"}]'
89
- http_version:
90
- recorded_at: Fri, 16 Jun 2017 03:50:17 GMT
91
- recorded_with: VCR 3.0.3
71
+ string: '[{"id":1054,"created_rows":0,"enqueued_at":"2021-04-13T14:18:22-03:00","started_at":null,"finished_at":null,"processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":null,"processed_rows":0,"total_rows":null,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"enqueued","created_via_api":true},{"id":1052,"created_rows":0,"enqueued_at":"2021-04-13T11:44:07-03:00","started_at":"2021-04-13T11:46:17-03:00","finished_at":"2021-04-13T11:46:18-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1049,"created_rows":0,"enqueued_at":"2021-04-13T11:39:53-03:00","started_at":"2021-04-13T11:39:53-03:00","finished_at":"2021-04-13T11:39:54-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1048,"created_rows":0,"enqueued_at":"2021-04-13T11:38:10-03:00","started_at":"2021-04-13T11:39:38-03:00","finished_at":"2021-04-13T11:39:39-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1046,"created_rows":0,"enqueued_at":"2021-04-13T11:35:36-03:00","started_at":"2021-04-13T11:39:36-03:00","finished_at":"2021-04-13T11:39:37-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1044,"created_rows":0,"enqueued_at":"2021-04-13T11:26:17-03:00","started_at":"2021-04-13T11:39:35-03:00","finished_at":"2021-04-13T11:39:35-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1041,"created_rows":0,"enqueued_at":"2021-04-13T11:10:03-03:00","started_at":"2021-04-13T11:12:08-03:00","finished_at":"2021-04-13T11:12:08-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":"ERR
72
+ max number of clients reached","processed_rows":0,"total_rows":null,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"fatal_error","created_via_api":true},{"id":1039,"created_rows":0,"enqueued_at":"2021-04-13T10:57:26-03:00","started_at":"2021-04-13T10:57:26-03:00","finished_at":"2021-04-13T10:57:27-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1038,"created_rows":0,"enqueued_at":"2021-04-13T10:55:38-03:00","started_at":"2021-04-13T10:57:01-03:00","finished_at":"2021-04-13T10:57:02-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1036,"created_rows":0,"enqueued_at":"2021-04-13T10:05:24-03:00","started_at":"2021-04-13T10:07:35-03:00","finished_at":"2021-04-13T10:07:37-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1035,"created_rows":0,"enqueued_at":"2021-04-13T10:00:20-03:00","started_at":"2021-04-13T10:02:04-03:00","finished_at":"2021-04-13T10:02:05-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1032,"created_rows":0,"enqueued_at":"2021-04-13T09:27:06-03:00","started_at":"2021-04-13T09:28:53-03:00","finished_at":"2021-04-13T09:28:54-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1030,"created_rows":0,"enqueued_at":"2021-04-12T11:55:23-03:00","started_at":"2021-04-12T11:57:07-03:00","finished_at":"2021-04-12T11:57:08-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1029,"created_rows":0,"enqueued_at":"2021-04-09T11:17:02-03:00","started_at":"2021-04-09T11:19:25-03:00","finished_at":"2021-04-09T11:19:27-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true},{"id":1026,"created_rows":0,"enqueued_at":"2021-04-09T10:01:56-03:00","started_at":"2021-04-09T10:03:37-03:00","finished_at":"2021-04-09T10:03:39-03:00","processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":[],"processed_rows":0,"total_rows":0,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"done","created_via_api":true}]'
73
+ recorded_at: Tue, 13 Apr 2021 17:18:26 GMT
74
+ recorded_with: VCR 6.0.0
@@ -2,82 +2,68 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://sandbox.boletosimples.com.br/api/v1/imports/customers?access_token=BOLETOSIMPLES_ACCESS_TOKEN
5
+ uri: https://sandbox.boletosimples.com.br/api/v1/imports/customers
6
6
  body:
7
7
  encoding: UTF-8
8
- string: customer_import%5Bsource%5D=
8
+ string: '{"customer_import":{"source":""}}'
9
9
  headers:
10
10
  User-Agent:
11
- - BoletoSimples Ruby Client v0.4.1 (contato@boletosimples.com.br)
11
+ - email@minhaempresa.com.br
12
12
  Authorization:
13
- - Token token="BOLETOSIMPLES_ACCESS_TOKEN"
13
+ - Bearer BOLETOSIMPLES_API_TOKEN
14
14
  Content-Type:
15
- - application/x-www-form-urlencoded
15
+ - application/json
16
+ Accept:
17
+ - application/json
16
18
  Accept-Encoding:
17
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- Accept:
19
- - "*/*"
20
20
  response:
21
21
  status:
22
22
  code: 422
23
23
  message: Unprocessable Entity
24
24
  headers:
25
+ Server:
26
+ - Cowboy
25
27
  Connection:
26
28
  - keep-alive
29
+ X-Frame-Options:
30
+ - DENY
31
+ X-Xss-Protection:
32
+ - 1; mode=block
33
+ X-Content-Type-Options:
34
+ - nosniff
35
+ X-Download-Options:
36
+ - noopen
37
+ X-Permitted-Cross-Domain-Policies:
38
+ - none
39
+ Referrer-Policy:
40
+ - strict-origin-when-cross-origin
27
41
  Content-Type:
28
42
  - application/json; charset=utf-8
29
- Transfer-Encoding:
30
- - chunked
31
- Status:
32
- - 422 Unprocessable Entity
43
+ X-Ratelimit-Limit:
44
+ - '1000'
45
+ X-Ratelimit-Remaining:
46
+ - '994'
33
47
  Cache-Control:
34
48
  - no-cache
35
- Date:
36
- - Fri, 16 Jun 2017 03:50:18 GMT
37
- Vary:
38
- - Origin,Accept-Encoding
39
- Strict-Transport-Security:
40
- - max-age=631138519
41
- X-Permitted-Cross-Domain-Policies:
42
- - none
43
- X-Xss-Protection:
44
- - 1; mode=block
45
49
  X-Request-Id:
46
- - 4e7c7036-adc2-4945-a815-af270bd40723
47
- Content-Security-Policy-Report-Only:
48
- - 'default-src ''self''; child-src ''self'' www.googleadservices.com googleads.g.doubleclick.net
49
- www.google.com www.google.com.br app.popupdomination.com; connect-src ''self''
50
- ws: wss: *.intercom.io ws.pusherapp.com hn.inspectlet.com *.pusher.com boletosimples.com.br
51
- *.boletosimples.com.br boletosimples.zendesk.com; font-src ''self'' fonts.googleapis.com
52
- fonts.gstatic.com js.intercomcdn.com data: v2.zopim.com d25j7wj0q61kjj.cloudfront.net;
53
- img-src ''self'' https: data: maps.googleapis.com dev.bole.to:5001 bole.to
54
- boletosimples-sandbox.s3.amazonaws.com; script-src ''self'' ''unsafe-inline''
55
- static.intercomcdn.com cdn.inspectlet.com widget.intercom.io js.intercomcdn.com
56
- js.pusher.com stats.pusher.com zapier.com www.google-analytics.com www.googleadservices.com
57
- doug1izaerwt3.cloudfront.net app.popupdomination.com cdn.ywxi.net www.draw.io
58
- tag.getdrip.com www.getdrip.com js-agent.newrelic.com bam.nr-data.net cdnjs.cloudflare.com
59
- widget.pluga.co www.google.com www.gstatic.com boletosimples.zendesk.com assets.zendesk.com
60
- v2.zopim.com d25j7wj0q61kjj.cloudfront.net; style-src ''self'' ''unsafe-inline''
61
- fonts.googleapis.com d25j7wj0q61kjj.cloudfront.net; report-uri https://boletosimples.report-uri.io/r/default/csp/reportOnly'
62
- X-Download-Options:
63
- - noopen
50
+ - a395df61-0cf9-4fb0-bebc-268f79161a70
64
51
  X-Runtime:
65
- - '0.033045'
66
- X-Frame-Options:
67
- - sameorigin
68
- X-Content-Type-Options:
69
- - nosniff
52
+ - '0.020696'
53
+ Date:
54
+ - Tue, 13 Apr 2021 17:18:25 GMT
70
55
  X-Rack-Cache:
71
56
  - invalidate, pass
72
- X-Powered-By:
73
- - Phusion Passenger 5.1.4
74
- Server:
75
- - nginx/1.10.3 + Phusion Passenger 5.1.4
57
+ Strict-Transport-Security:
58
+ - max-age=2629746
59
+ Vary:
60
+ - Origin,Accept-Encoding
61
+ Transfer-Encoding:
62
+ - chunked
76
63
  Via:
77
64
  - 1.1 vegur
78
65
  body:
79
66
  encoding: UTF-8
80
67
  string: '{"errors":{"source":["não pode ficar em branco"]}}'
81
- http_version:
82
- recorded_at: Fri, 16 Jun 2017 03:50:18 GMT
83
- recorded_with: VCR 3.0.3
68
+ recorded_at: Tue, 13 Apr 2021 17:18:25 GMT
69
+ recorded_with: VCR 6.0.0
@@ -2,82 +2,68 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://sandbox.boletosimples.com.br/api/v1/imports/customers?access_token=BOLETOSIMPLES_ACCESS_TOKEN
5
+ uri: https://sandbox.boletosimples.com.br/api/v1/imports/customers
6
6
  body:
7
7
  encoding: UTF-8
8
- string: ''
8
+ string: '{"customer_import":{}}'
9
9
  headers:
10
10
  User-Agent:
11
- - BoletoSimples Ruby Client v0.4.1 (contato@boletosimples.com.br)
11
+ - email@minhaempresa.com.br
12
12
  Authorization:
13
- - Token token="BOLETOSIMPLES_ACCESS_TOKEN"
13
+ - Bearer BOLETOSIMPLES_API_TOKEN
14
14
  Content-Type:
15
- - application/x-www-form-urlencoded
15
+ - application/json
16
+ Accept:
17
+ - application/json
16
18
  Accept-Encoding:
17
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- Accept:
19
- - "*/*"
20
20
  response:
21
21
  status:
22
22
  code: 422
23
23
  message: Unprocessable Entity
24
24
  headers:
25
+ Server:
26
+ - Cowboy
25
27
  Connection:
26
28
  - keep-alive
29
+ X-Frame-Options:
30
+ - DENY
31
+ X-Xss-Protection:
32
+ - 1; mode=block
33
+ X-Content-Type-Options:
34
+ - nosniff
35
+ X-Download-Options:
36
+ - noopen
37
+ X-Permitted-Cross-Domain-Policies:
38
+ - none
39
+ Referrer-Policy:
40
+ - strict-origin-when-cross-origin
27
41
  Content-Type:
28
42
  - application/json; charset=utf-8
29
- Transfer-Encoding:
30
- - chunked
31
- Status:
32
- - 422 Unprocessable Entity
43
+ X-Ratelimit-Limit:
44
+ - '1000'
45
+ X-Ratelimit-Remaining:
46
+ - '995'
33
47
  Cache-Control:
34
48
  - no-cache
35
- Date:
36
- - Fri, 16 Jun 2017 03:50:17 GMT
37
- Vary:
38
- - Origin,Accept-Encoding
39
- Strict-Transport-Security:
40
- - max-age=631138519
41
- X-Permitted-Cross-Domain-Policies:
42
- - none
43
- X-Xss-Protection:
44
- - 1; mode=block
45
49
  X-Request-Id:
46
- - 209c80e6-44a8-4fde-804c-bffa97e08935
47
- Content-Security-Policy-Report-Only:
48
- - 'default-src ''self''; child-src ''self'' www.googleadservices.com googleads.g.doubleclick.net
49
- www.google.com www.google.com.br app.popupdomination.com; connect-src ''self''
50
- ws: wss: *.intercom.io ws.pusherapp.com hn.inspectlet.com *.pusher.com boletosimples.com.br
51
- *.boletosimples.com.br boletosimples.zendesk.com; font-src ''self'' fonts.googleapis.com
52
- fonts.gstatic.com js.intercomcdn.com data: v2.zopim.com d25j7wj0q61kjj.cloudfront.net;
53
- img-src ''self'' https: data: maps.googleapis.com dev.bole.to:5001 bole.to
54
- boletosimples-sandbox.s3.amazonaws.com; script-src ''self'' ''unsafe-inline''
55
- static.intercomcdn.com cdn.inspectlet.com widget.intercom.io js.intercomcdn.com
56
- js.pusher.com stats.pusher.com zapier.com www.google-analytics.com www.googleadservices.com
57
- doug1izaerwt3.cloudfront.net app.popupdomination.com cdn.ywxi.net www.draw.io
58
- tag.getdrip.com www.getdrip.com js-agent.newrelic.com bam.nr-data.net cdnjs.cloudflare.com
59
- widget.pluga.co www.google.com www.gstatic.com boletosimples.zendesk.com assets.zendesk.com
60
- v2.zopim.com d25j7wj0q61kjj.cloudfront.net; style-src ''self'' ''unsafe-inline''
61
- fonts.googleapis.com d25j7wj0q61kjj.cloudfront.net; report-uri https://boletosimples.report-uri.io/r/default/csp/reportOnly'
62
- X-Download-Options:
63
- - noopen
50
+ - e7116d6b-79c4-4fa2-ae97-92ff6c54ce5f
64
51
  X-Runtime:
65
- - '0.022271'
66
- X-Frame-Options:
67
- - sameorigin
68
- X-Content-Type-Options:
69
- - nosniff
52
+ - '0.018460'
53
+ Date:
54
+ - Tue, 13 Apr 2021 17:18:24 GMT
70
55
  X-Rack-Cache:
71
56
  - invalidate, pass
72
- X-Powered-By:
73
- - Phusion Passenger 5.1.4
74
- Server:
75
- - nginx/1.10.3 + Phusion Passenger 5.1.4
57
+ Strict-Transport-Security:
58
+ - max-age=2629746
59
+ Vary:
60
+ - Origin,Accept-Encoding
61
+ Transfer-Encoding:
62
+ - chunked
76
63
  Via:
77
64
  - 1.1 vegur
78
65
  body:
79
66
  encoding: UTF-8
80
- string: '{"errors":{"customer_import":["não pode ficar em branco"]}}'
81
- http_version:
82
- recorded_at: Fri, 16 Jun 2017 03:50:17 GMT
83
- recorded_with: VCR 3.0.3
67
+ string: '{"errors":[{"title":"customer_import não pode ficar em branco","status":422,"code":422}]}'
68
+ recorded_at: Tue, 13 Apr 2021 17:18:24 GMT
69
+ recorded_with: VCR 6.0.0
@@ -2,100 +2,75 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://sandbox.boletosimples.com.br/api/v1/imports/customers?access_token=BOLETOSIMPLES_ACCESS_TOKEN
5
+ uri: https://sandbox.boletosimples.com.br/api/v1/imports/customers
6
6
  body:
7
7
  encoding: ASCII-8BIT
8
8
  string: !binary |-
9
- LS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0LTI0MWU1YWY1ZTlkYzcw
10
- YjY4MTZiOWQxYjQ3Mjk5ZmU3DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3Jt
11
- LWRhdGE7IG5hbWU9ImN1c3RvbWVyX2ltcG9ydFtzb3VyY2VdIjsgZmlsZW5h
12
- bWU9ImN1c3RvbWVycy5jc3YiDQpDb250ZW50LUxlbmd0aDogMTkwDQpDb250
13
- ZW50LVR5cGU6IHRleHQvY3N2DQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n
14
- OiBiaW5hcnkNCg0KTm9tZS9SYXphbyBTb2NpYWwsQXBlbGlkby9Ob21lIEZh
15
- bnRhc2lhLENOUEovQ1BGLEUtbWFpbCxDRVAsRW5kZXJlw6dvLE51bWVybyBk
16
- byBFbmRlcmVjbyxDb21wbGVtZW50byxCYWlycm8sQ2lkYWRlLEVzdGFkbyxU
17
- ZWxlZm9uZSAoY29tIERERCksREREIGRvIENlbHVsYXIsTnVtZXJvIGRvIENl
18
- bHVsYXIsRS1tYWlsIG9wY2lvbmFsCg0KLS0tLS0tLS0tLS0tLVJ1YnlNdWx0
19
- aXBhcnRQb3N0LTI0MWU1YWY1ZTlkYzcwYjY4MTZiOWQxYjQ3Mjk5ZmU3LS0N
20
- Cg0K
9
+ LS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0LTg5MmViM2NlYWI5OWQ0M2M1Y2Y3ZGQ5MzE5MmE3ZDJmDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImN1c3RvbWVyX2ltcG9ydFtzb3VyY2VdIjsgZmlsZW5hbWU9ImN1c3RvbWVycy5jc3YiDQpDb250ZW50LUxlbmd0aDogMTkwDQpDb250ZW50LVR5cGU6IHRleHQvY3N2DQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiaW5hcnkNCg0KTm9tZS9SYXphbyBTb2NpYWwsQXBlbGlkby9Ob21lIEZhbnRhc2lhLENOUEovQ1BGLEUtbWFpbCxDRVAsRW5kZXJlw6dvLE51bWVybyBkbyBFbmRlcmVjbyxDb21wbGVtZW50byxCYWlycm8sQ2lkYWRlLEVzdGFkbyxUZWxlZm9uZSAoY29tIERERCksREREIGRvIENlbHVsYXIsTnVtZXJvIGRvIENlbHVsYXIsRS1tYWlsIG9wY2lvbmFsCg0KLS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0LTg5MmViM2NlYWI5OWQ0M2M1Y2Y3ZGQ5MzE5MmE3ZDJmLS0NCg==
21
10
  headers:
22
11
  User-Agent:
23
- - BoletoSimples Ruby Client v0.4.1 (contato@boletosimples.com.br)
12
+ - email@minhaempresa.com.br
24
13
  Authorization:
25
- - Token token="BOLETOSIMPLES_ACCESS_TOKEN"
14
+ - Bearer BOLETOSIMPLES_API_TOKEN
26
15
  Content-Type:
27
- - multipart/form-data; boundary=-----------RubyMultipartPost-241e5af5e9dc70b6816b9d1b47299fe7
16
+ - multipart/form-data; boundary=-----------RubyMultipartPost-892eb3ceab99d43c5cf7dd93192a7d2f
28
17
  Content-Length:
29
- - '498'
18
+ - '496'
19
+ Accept:
20
+ - application/json
30
21
  Accept-Encoding:
31
22
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
32
- Accept:
33
- - "*/*"
34
23
  response:
35
24
  status:
36
25
  code: 201
37
26
  message: Created
38
27
  headers:
28
+ Server:
29
+ - Cowboy
39
30
  Connection:
40
31
  - keep-alive
41
- Content-Type:
42
- - application/json; charset=utf-8
43
- Transfer-Encoding:
44
- - chunked
45
- Status:
46
- - 201 Created
47
- Cache-Control:
48
- - max-age=0, private, must-revalidate
49
- Date:
50
- - Fri, 16 Jun 2017 03:50:16 GMT
51
- Vary:
52
- - Origin,Accept-Encoding
53
- Strict-Transport-Security:
54
- - max-age=631138519
55
- X-Permitted-Cross-Domain-Policies:
56
- - none
32
+ X-Frame-Options:
33
+ - DENY
57
34
  X-Xss-Protection:
58
35
  - 1; mode=block
59
- X-Request-Id:
60
- - 685c0992-20c4-4530-839b-00999cce1797
61
- Content-Security-Policy-Report-Only:
62
- - 'default-src ''self''; child-src ''self'' www.googleadservices.com googleads.g.doubleclick.net
63
- www.google.com www.google.com.br app.popupdomination.com; connect-src ''self''
64
- ws: wss: *.intercom.io ws.pusherapp.com hn.inspectlet.com *.pusher.com boletosimples.com.br
65
- *.boletosimples.com.br boletosimples.zendesk.com; font-src ''self'' fonts.googleapis.com
66
- fonts.gstatic.com js.intercomcdn.com data: v2.zopim.com d25j7wj0q61kjj.cloudfront.net;
67
- img-src ''self'' https: data: maps.googleapis.com dev.bole.to:5001 bole.to
68
- boletosimples-sandbox.s3.amazonaws.com; script-src ''self'' ''unsafe-inline''
69
- static.intercomcdn.com cdn.inspectlet.com widget.intercom.io js.intercomcdn.com
70
- js.pusher.com stats.pusher.com zapier.com www.google-analytics.com www.googleadservices.com
71
- doug1izaerwt3.cloudfront.net app.popupdomination.com cdn.ywxi.net www.draw.io
72
- tag.getdrip.com www.getdrip.com js-agent.newrelic.com bam.nr-data.net cdnjs.cloudflare.com
73
- widget.pluga.co www.google.com www.gstatic.com boletosimples.zendesk.com assets.zendesk.com
74
- v2.zopim.com d25j7wj0q61kjj.cloudfront.net; style-src ''self'' ''unsafe-inline''
75
- fonts.googleapis.com d25j7wj0q61kjj.cloudfront.net; report-uri https://boletosimples.report-uri.io/r/default/csp/reportOnly'
76
- Location:
77
- - https://sandbox.boletosimples.com.br/api/v1/imports/customers/6
36
+ X-Content-Type-Options:
37
+ - nosniff
78
38
  X-Download-Options:
79
39
  - noopen
40
+ X-Permitted-Cross-Domain-Policies:
41
+ - none
42
+ Referrer-Policy:
43
+ - strict-origin-when-cross-origin
44
+ Location:
45
+ - https://sandbox.boletosimples.com.br/api/v1/imports/customers/1054
46
+ Content-Type:
47
+ - application/json; charset=utf-8
48
+ X-Ratelimit-Limit:
49
+ - '1000'
50
+ X-Ratelimit-Remaining:
51
+ - '996'
80
52
  Etag:
81
- - W/"a8f4bd7880c47cc76588e180d1370ae4"
53
+ - W/"b06778fa549b3ad7eef78bfe88e83b61"
54
+ Cache-Control:
55
+ - max-age=0, private, must-revalidate
56
+ X-Request-Id:
57
+ - f872ce17-55d4-448c-9af4-afec481264f2
82
58
  X-Runtime:
83
- - '0.161758'
84
- X-Frame-Options:
85
- - sameorigin
86
- X-Content-Type-Options:
87
- - nosniff
59
+ - '0.217330'
60
+ Date:
61
+ - Tue, 13 Apr 2021 17:18:23 GMT
88
62
  X-Rack-Cache:
89
63
  - invalidate, pass
90
- X-Powered-By:
91
- - Phusion Passenger 5.1.4
92
- Server:
93
- - nginx/1.10.3 + Phusion Passenger 5.1.4
64
+ Strict-Transport-Security:
65
+ - max-age=2629746
66
+ Vary:
67
+ - Origin,Accept-Encoding
68
+ Transfer-Encoding:
69
+ - chunked
94
70
  Via:
95
71
  - 1.1 vegur
96
72
  body:
97
73
  encoding: UTF-8
98
- string: '{"id":6,"created_rows":0,"records_count":null,"enqueued_at":"2017-06-16T00:50:16-03:00","started_at":null,"finished_at":null,"processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":null,"processed_rows":0,"total_rows":null,"updated_rows":0,"source_content_type":"text/plain","source_file_name":"customers.csv","source_file_size":190,"source_updated_at":"2017-06-16T00:50:16-03:00","status":"enqueued"}'
99
- http_version:
100
- recorded_at: Fri, 16 Jun 2017 03:50:16 GMT
101
- recorded_with: VCR 3.0.3
74
+ string: '{"id":1054,"created_rows":0,"enqueued_at":"2021-04-13T14:18:22-03:00","started_at":null,"finished_at":null,"processed_at":null,"failed_to_create_rows":0,"failed_to_update_rows":0,"import_errors":null,"processed_rows":0,"total_rows":null,"updated_rows":0,"source_file_name":"customers.csv","source_file_size":190,"status":"enqueued","created_via_api":true}'
75
+ recorded_at: Tue, 13 Apr 2021 17:18:23 GMT
76
+ recorded_with: VCR 6.0.0