fortnox-api 0.6.2 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +5 -1
  3. data/.travis.yml +20 -22
  4. data/CHANGELOG.md +48 -0
  5. data/README.md +14 -19
  6. data/Rakefile +5 -0
  7. data/fortnox-api.gemspec +10 -10
  8. data/lib/fortnox/api/mappers.rb +5 -38
  9. data/lib/fortnox/api/mappers/base.rb +2 -24
  10. data/lib/fortnox/api/mappers/base/canonical_name_sym.rb +21 -0
  11. data/lib/fortnox/api/mappers/base/from_json.rb +6 -1
  12. data/lib/fortnox/api/mappers/value/array.rb +18 -0
  13. data/lib/fortnox/api/mappers/value/country_string.rb +24 -0
  14. data/lib/fortnox/api/mappers/value/date.rb +11 -0
  15. data/lib/fortnox/api/mappers/value/hash.rb +16 -0
  16. data/lib/fortnox/api/mappers/value/identity.rb +18 -0
  17. data/lib/fortnox/api/models/document.rb +6 -3
  18. data/lib/fortnox/api/models/invoice.rb +1 -1
  19. data/lib/fortnox/api/models/order.rb +1 -1
  20. data/lib/fortnox/api/repositories/base.rb +9 -11
  21. data/lib/fortnox/api/request_handling.rb +0 -1
  22. data/lib/fortnox/api/types.rb +40 -3
  23. data/lib/fortnox/api/types/enums.rb +36 -31
  24. data/lib/fortnox/api/types/shim/country_string.rb +10 -0
  25. data/lib/fortnox/api/version.rb +1 -1
  26. data/spec/fortnox/api/circular_queue_spec.rb +52 -0
  27. data/spec/fortnox/api/mappers/base/canonical_name_sym_spec.rb +34 -0
  28. data/spec/fortnox/api/mappers/base_spec.rb +33 -43
  29. data/spec/fortnox/api/mappers/contexts/json_conversion.rb +1 -1
  30. data/spec/fortnox/api/repositories/article_spec.rb +4 -2
  31. data/spec/fortnox/api/repositories/base_spec.rb +28 -8
  32. data/spec/fortnox/api/repositories/customer_spec.rb +29 -1
  33. data/spec/fortnox/api/repositories/invoice_spec.rb +147 -3
  34. data/spec/fortnox/api/repositories/order_spec.rb +2 -2
  35. data/spec/fortnox/api/repositories/project_spec.rb +1 -1
  36. data/spec/fortnox/api/repositories/terms_of_payment_spec.rb +4 -2
  37. data/spec/fortnox/api/repositories/unit_spec.rb +6 -3
  38. data/spec/fortnox/api/types/account_number_spec.rb +19 -15
  39. data/spec/fortnox/api/types/country_code_spec.rb +42 -0
  40. data/spec/fortnox/api/types/country_spec.rb +67 -0
  41. data/spec/fortnox/api/types/email_spec.rb +8 -7
  42. data/spec/fortnox/api/types/enums_spec.rb +1 -1
  43. data/spec/fortnox/api/types/examples/document_row.rb +1 -1
  44. data/spec/fortnox/api/types/housework_types_spec.rb +151 -34
  45. data/spec/fortnox/api_spec.rb +3 -1
  46. data/spec/vcr_cassettes/articles/all.yml +40 -10
  47. data/spec/vcr_cassettes/articles/find_by_hash_failure.yml +21 -8
  48. data/spec/vcr_cassettes/articles/find_failure.yml +21 -8
  49. data/spec/vcr_cassettes/articles/find_id_1.yml +22 -9
  50. data/spec/vcr_cassettes/articles/find_new.yml +24 -11
  51. data/spec/vcr_cassettes/articles/multi_param_find_by_hash.yml +21 -8
  52. data/spec/vcr_cassettes/articles/save_new.yml +22 -8
  53. data/spec/vcr_cassettes/articles/save_old.yml +24 -11
  54. data/spec/vcr_cassettes/articles/save_with_specially_named_attribute.yml +22 -8
  55. data/spec/vcr_cassettes/articles/search_by_name.yml +21 -8
  56. data/spec/vcr_cassettes/articles/search_miss.yml +21 -8
  57. data/spec/vcr_cassettes/articles/search_with_special_char.yml +21 -8
  58. data/spec/vcr_cassettes/articles/single_param_find_by_hash.yml +33 -10
  59. data/spec/vcr_cassettes/customers/all.yml +26 -13
  60. data/spec/vcr_cassettes/customers/find_by_hash_failure.yml +21 -8
  61. data/spec/vcr_cassettes/customers/find_failure.yml +21 -8
  62. data/spec/vcr_cassettes/customers/find_id_1.yml +22 -9
  63. data/spec/vcr_cassettes/customers/find_new.yml +24 -11
  64. data/spec/vcr_cassettes/customers/multi_param_find_by_hash.yml +21 -8
  65. data/spec/vcr_cassettes/customers/save_new.yml +21 -7
  66. data/spec/vcr_cassettes/customers/save_new_with_country_code_SE.yml +60 -0
  67. data/spec/vcr_cassettes/customers/save_old.yml +23 -10
  68. data/spec/vcr_cassettes/customers/save_with_specially_named_attribute.yml +21 -7
  69. data/spec/vcr_cassettes/customers/search_by_name.yml +32 -10
  70. data/spec/vcr_cassettes/customers/search_miss.yml +21 -8
  71. data/spec/vcr_cassettes/customers/search_with_special_char.yml +21 -8
  72. data/spec/vcr_cassettes/customers/single_param_find_by_hash.yml +22 -9
  73. data/spec/vcr_cassettes/invoices/all.yml +118 -67
  74. data/spec/vcr_cassettes/invoices/filter_hit.yml +26 -10
  75. data/spec/vcr_cassettes/invoices/filter_invalid.yml +20 -6
  76. data/spec/vcr_cassettes/invoices/find_by_hash_failure.yml +21 -8
  77. data/spec/vcr_cassettes/invoices/find_failure.yml +21 -8
  78. data/spec/vcr_cassettes/invoices/find_id_1.yml +23 -10
  79. data/spec/vcr_cassettes/invoices/find_new.yml +26 -14
  80. data/spec/vcr_cassettes/invoices/multi_param_find_by_hash.yml +23 -10
  81. data/spec/vcr_cassettes/invoices/save_new.yml +23 -10
  82. data/spec/vcr_cassettes/invoices/save_new_with_comments.yml +61 -0
  83. data/spec/vcr_cassettes/invoices/save_new_with_country.yml +60 -0
  84. data/spec/vcr_cassettes/invoices/save_new_with_country_GB.yml +61 -0
  85. data/spec/vcr_cassettes/invoices/save_new_with_country_KR.yml +61 -0
  86. data/spec/vcr_cassettes/invoices/save_new_with_country_Norge.yml +60 -0
  87. data/spec/vcr_cassettes/invoices/save_new_with_country_Norway.yml +60 -0
  88. data/spec/vcr_cassettes/invoices/save_new_with_country_Sverige.yml +60 -0
  89. data/spec/vcr_cassettes/invoices/save_new_with_country_VA.yml +61 -0
  90. data/spec/vcr_cassettes/invoices/save_new_with_country_VI.yml +61 -0
  91. data/spec/vcr_cassettes/invoices/save_new_with_country_empty_string.yml +60 -0
  92. data/spec/vcr_cassettes/invoices/save_new_with_country_nil.yml +60 -0
  93. data/spec/vcr_cassettes/invoices/save_old.yml +25 -13
  94. data/spec/vcr_cassettes/invoices/save_old_with_empty_comments.yml +61 -0
  95. data/spec/vcr_cassettes/invoices/save_old_with_empty_country.yml +60 -0
  96. data/spec/vcr_cassettes/invoices/save_old_with_nil_comments.yml +61 -0
  97. data/spec/vcr_cassettes/invoices/save_old_with_nil_country.yml +60 -0
  98. data/spec/vcr_cassettes/invoices/save_with_nested_model.yml +23 -10
  99. data/spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml +23 -10
  100. data/spec/vcr_cassettes/invoices/search_by_name.yml +28 -11
  101. data/spec/vcr_cassettes/invoices/search_miss.yml +21 -8
  102. data/spec/vcr_cassettes/invoices/search_with_special_char.yml +21 -8
  103. data/spec/vcr_cassettes/invoices/single_param_find_by_hash.yml +24 -11
  104. data/spec/vcr_cassettes/orders/all.yml +120 -107
  105. data/spec/vcr_cassettes/orders/filter_hit.yml +28 -12
  106. data/spec/vcr_cassettes/orders/filter_invalid.yml +20 -6
  107. data/spec/vcr_cassettes/orders/find_by_hash_failure.yml +21 -8
  108. data/spec/vcr_cassettes/orders/find_failure.yml +21 -8
  109. data/spec/vcr_cassettes/orders/find_id_1.yml +23 -10
  110. data/spec/vcr_cassettes/orders/find_new.yml +26 -14
  111. data/spec/vcr_cassettes/orders/housework_invalid_tax_reduction_type.yml +57 -0
  112. data/spec/vcr_cassettes/orders/housework_othercoses_invalid.yml +57 -0
  113. data/spec/vcr_cassettes/orders/housework_type_babysitting.yml +24 -10
  114. data/spec/vcr_cassettes/orders/housework_type_cleaning.yml +24 -10
  115. data/spec/vcr_cassettes/orders/housework_type_construction.yml +24 -10
  116. data/spec/vcr_cassettes/orders/housework_type_cooking.yml +21 -7
  117. data/spec/vcr_cassettes/orders/housework_type_electricity.yml +24 -10
  118. data/spec/vcr_cassettes/orders/housework_type_gardening.yml +24 -10
  119. data/spec/vcr_cassettes/orders/housework_type_glassmetalwork.yml +24 -10
  120. data/spec/vcr_cassettes/orders/housework_type_grounddrainagework.yml +24 -10
  121. data/spec/vcr_cassettes/orders/housework_type_hvac.yml +24 -10
  122. data/spec/vcr_cassettes/orders/housework_type_itservices.yml +60 -0
  123. data/spec/vcr_cassettes/orders/housework_type_majorappliancerepair.yml +60 -0
  124. data/spec/vcr_cassettes/orders/housework_type_masonry.yml +24 -10
  125. data/spec/vcr_cassettes/orders/housework_type_movingservices.yml +60 -0
  126. data/spec/vcr_cassettes/orders/housework_type_othercare.yml +24 -10
  127. data/spec/vcr_cassettes/orders/housework_type_othercosts.yml +24 -10
  128. data/spec/vcr_cassettes/orders/housework_type_paintingwallpapering.yml +24 -10
  129. data/spec/vcr_cassettes/orders/housework_type_snowplowing.yml +24 -10
  130. data/spec/vcr_cassettes/orders/housework_type_textileclothing.yml +24 -10
  131. data/spec/vcr_cassettes/orders/housework_type_tutoring.yml +21 -7
  132. data/spec/vcr_cassettes/orders/housework_without_tax_reduction_type.yml +57 -0
  133. data/spec/vcr_cassettes/orders/multi_param_find_by_hash.yml +22 -9
  134. data/spec/vcr_cassettes/orders/save_new.yml +23 -10
  135. data/spec/vcr_cassettes/orders/save_old.yml +25 -13
  136. data/spec/vcr_cassettes/orders/save_with_nested_model.yml +23 -10
  137. data/spec/vcr_cassettes/orders/search_by_name.yml +25 -11
  138. data/spec/vcr_cassettes/orders/search_miss.yml +21 -8
  139. data/spec/vcr_cassettes/orders/search_with_special_char.yml +21 -8
  140. data/spec/vcr_cassettes/orders/single_param_find_by_hash.yml +23 -10
  141. data/spec/vcr_cassettes/projects/all.yml +41 -16
  142. data/spec/vcr_cassettes/projects/find_by_hash_failure.yml +21 -8
  143. data/spec/vcr_cassettes/projects/find_failure.yml +21 -8
  144. data/spec/vcr_cassettes/projects/find_id_1.yml +21 -8
  145. data/spec/vcr_cassettes/projects/find_new.yml +24 -11
  146. data/spec/vcr_cassettes/projects/multi_param_find_by_hash.yml +23 -10
  147. data/spec/vcr_cassettes/projects/save_new.yml +22 -8
  148. data/spec/vcr_cassettes/projects/save_old.yml +24 -11
  149. data/spec/vcr_cassettes/projects/single_param_find_by_hash.yml +22 -9
  150. data/spec/vcr_cassettes/termsofpayments/all.yml +31 -14
  151. data/spec/vcr_cassettes/termsofpayments/find_failure.yml +21 -8
  152. data/spec/vcr_cassettes/termsofpayments/find_id_1.yml +22 -9
  153. data/spec/vcr_cassettes/termsofpayments/find_new.yml +23 -10
  154. data/spec/vcr_cassettes/termsofpayments/save_new.yml +22 -8
  155. data/spec/vcr_cassettes/termsofpayments/save_old.yml +23 -10
  156. data/spec/vcr_cassettes/units/all.yml +31 -12
  157. data/spec/vcr_cassettes/units/find_failure.yml +21 -8
  158. data/spec/vcr_cassettes/units/find_id_1.yml +21 -8
  159. data/spec/vcr_cassettes/units/find_new.yml +23 -12
  160. data/spec/vcr_cassettes/units/save_new.yml +22 -10
  161. data/spec/vcr_cassettes/units/save_old.yml +23 -12
  162. data/spec/vcr_cassettes/units/save_with_specially_named_attribute.yml +22 -10
  163. data/temp.txt +1 -0
  164. metadata +99 -21
  165. data/spec/support/matchers/type/have_country_code_matcher.rb +0 -15
@@ -15,6 +15,10 @@ http_interactions:
15
15
  - 9aBA8ZgsvR
16
16
  Access-Token:
17
17
  - ccaef817-d5d8-4b1c-a316-54f3e55c5c54
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ User-Agent:
21
+ - Ruby
18
22
  response:
19
23
  status:
20
24
  code: 200
@@ -23,26 +27,35 @@ http_interactions:
23
27
  Server:
24
28
  - nginx
25
29
  Date:
26
- - Tue, 25 Oct 2016 10:21:50 GMT
30
+ - Mon, 21 Dec 2020 20:34:24 GMT
27
31
  Content-Type:
28
32
  - application/json
29
33
  Connection:
30
34
  - close
31
35
  Vary:
32
36
  - Accept-Encoding
33
- - Accept-Encoding
34
37
  X-Rack-Responsetime:
35
- - '24'
38
+ - '21'
36
39
  X-Uid:
37
- - 325442f1
40
+ - 064e6739
38
41
  X-Build:
39
- - 76600b8d0c
42
+ - d59e2acefa
43
+ Strict-Transport-Security:
44
+ - max-age=31536000; includeSubdomains
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ X-Content-Type-Options:
48
+ - nosniff
49
+ X-Frame-Options:
50
+ - sameorigin
51
+ Referrer-Policy:
52
+ - strict-origin-when-cross-origin
40
53
  body:
41
- encoding: UTF-8
42
- string: '{"MetaInformation":{"@TotalResources":146,"@TotalPages":2,"@CurrentPage":1},"Customers":[{"@url":"https:\/\/api.fortnox.se\/3\/customers\/1","Address1":"","Address2":"","City":"","CustomerNumber":"1","Email":"","Name":"Old
43
- name","OrganisationNumber":"860101-8735","Phone":"","ZipCode":""},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/2","Address1":"","Address2":"","City":"","CustomerNumber":"2","Email":"","Name":"A
44
- customer","OrganisationNumber":"600102-7447","Phone":"","ZipCode":""},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/3","Address1":"","Address2":"","City":"","CustomerNumber":"3","Email":"","Name":"Test
45
- customer","OrganisationNumber":"400101-8383","Phone":"","ZipCode":""},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/4","Address1":"","Address2":"","City":"","CustomerNumber":"4","Email":"","Name":"Arthur
54
+ encoding: ASCII-8BIT
55
+ string: '{"MetaInformation":{"@TotalResources":232,"@TotalPages":3,"@CurrentPage":1},"Customers":[{"@url":"https:\/\/api.fortnox.se\/3\/customers\/1","Address1":"","Address2":"","City":"","CustomerNumber":"1","Email":"","Name":"Old
56
+ name","OrganisationNumber":"860101-8735","Phone":"","ZipCode":""},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/2","Address1":"","Address2":"","City":"New
57
+ York","CustomerNumber":"2","Email":"","Name":"A customer","OrganisationNumber":"600102-7447","Phone":"","ZipCode":"10001"},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/3","Address1":"","Address2":"","City":"New
58
+ York","CustomerNumber":"3","Email":"","Name":"Test customer","OrganisationNumber":"400101-8383","Phone":"","ZipCode":""},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/4","Address1":"","Address2":"","City":"","CustomerNumber":"4","Email":"","Name":"Arthur
46
59
  Dent","OrganisationNumber":"","Phone":"","ZipCode":""},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/5","Address1":"","Address2":"","City":"","CustomerNumber":"5","Email":"","Name":"Arthur
47
60
  Dent","OrganisationNumber":"","Phone":"","ZipCode":""},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/6","Address1":"","Address2":"","City":"","CustomerNumber":"6","Email":"","Name":"Arthur
48
61
  Dent","OrganisationNumber":"","Phone":"","ZipCode":""},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/7","Address1":"","Address2":"","City":"","CustomerNumber":"7","Email":"","Name":"Arthur
@@ -115,7 +128,7 @@ http_interactions:
115
128
  44","Address2":"","City":"TINGSRYD","CustomerNumber":"73","Email":"","Name":"BolagsBemanning
116
129
  i Tingsryd AB","OrganisationNumber":"","Phone":"","ZipCode":"36221"},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/74","Address1":"Some
117
130
  long and complicated address","Address2":"","City":"Paris","CustomerNumber":"74","Email":"an_email-address@email.com","Name":"A
118
- company","OrganisationNumber":"001122-1122","Phone":"Phone number 123","ZipCode":"A
131
+ company","OrganisationNumber":"0011221122","Phone":"Phone number 123","ZipCode":"A
119
132
  zip code"},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/75","Address1":"BOX
120
133
  44","Address2":"","City":"TINGSRYD","CustomerNumber":"75","Email":"","Name":"BolagsBemanning
121
134
  i Tingsryd AB","OrganisationNumber":"556716-1855","Phone":"","ZipCode":"36221"},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/76","Address1":"Myrliden
@@ -153,5 +166,5 @@ http_interactions:
153
166
  6","Address2":"","City":"teststan","CustomerNumber":"100","Email":"test@email.com","Name":"test12313","OrganisationNumber":"","Phone":"123141","ZipCode":"111
154
167
  11"}]}'
155
168
  http_version:
156
- recorded_at: Tue, 25 Oct 2016 10:21:50 GMT
157
- recorded_with: VCR 3.0.1
169
+ recorded_at: Mon, 21 Dec 2020 20:34:24 GMT
170
+ recorded_with: VCR 4.0.0
@@ -15,6 +15,10 @@ http_interactions:
15
15
  - 9aBA8ZgsvR
16
16
  Access-Token:
17
17
  - ccaef817-d5d8-4b1c-a316-54f3e55c5c54
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ User-Agent:
21
+ - Ruby
18
22
  response:
19
23
  status:
20
24
  code: 200
@@ -23,23 +27,32 @@ http_interactions:
23
27
  Server:
24
28
  - nginx
25
29
  Date:
26
- - Wed, 12 Jul 2017 11:31:03 GMT
30
+ - Mon, 21 Dec 2020 20:34:25 GMT
27
31
  Content-Type:
28
32
  - application/json
29
33
  Connection:
30
34
  - close
31
35
  Vary:
32
36
  - Accept-Encoding
33
- - Accept-Encoding
34
37
  X-Rack-Responsetime:
35
- - '88'
38
+ - '19'
36
39
  X-Uid:
37
- - df511a46
40
+ - b5088850
38
41
  X-Build:
39
- - 401ff9d5e0
42
+ - d59e2acefa
43
+ Strict-Transport-Security:
44
+ - max-age=31536000; includeSubdomains
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ X-Content-Type-Options:
48
+ - nosniff
49
+ X-Frame-Options:
50
+ - sameorigin
51
+ Referrer-Policy:
52
+ - strict-origin-when-cross-origin
40
53
  body:
41
- encoding: UTF-8
54
+ encoding: ASCII-8BIT
42
55
  string: '{"MetaInformation":{"@TotalResources":0,"@TotalPages":0,"@CurrentPage":1},"Customers":[]}'
43
56
  http_version:
44
- recorded_at: Wed, 12 Jul 2017 11:31:03 GMT
45
- recorded_with: VCR 3.0.3
57
+ recorded_at: Mon, 21 Dec 2020 20:34:25 GMT
58
+ recorded_with: VCR 4.0.0
@@ -15,6 +15,10 @@ http_interactions:
15
15
  - 9aBA8ZgsvR
16
16
  Access-Token:
17
17
  - ccaef817-d5d8-4b1c-a316-54f3e55c5c54
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ User-Agent:
21
+ - Ruby
18
22
  response:
19
23
  status:
20
24
  code: 404
@@ -23,23 +27,32 @@ http_interactions:
23
27
  Server:
24
28
  - nginx
25
29
  Date:
26
- - Wed, 12 Jul 2017 10:21:40 GMT
30
+ - Mon, 21 Dec 2020 20:34:25 GMT
27
31
  Content-Type:
28
32
  - application/json
29
33
  Connection:
30
34
  - close
31
35
  Vary:
32
36
  - Accept-Encoding
33
- - Accept-Encoding
34
37
  X-Rack-Responsetime:
35
- - '15'
38
+ - '16'
36
39
  X-Uid:
37
- - bf005251
40
+ - 0af462e3
38
41
  X-Build:
39
- - 401ff9d5e0
42
+ - d59e2acefa
43
+ Strict-Transport-Security:
44
+ - max-age=31536000; includeSubdomains
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ X-Content-Type-Options:
48
+ - nosniff
49
+ X-Frame-Options:
50
+ - sameorigin
51
+ Referrer-Policy:
52
+ - strict-origin-when-cross-origin
40
53
  body:
41
- encoding: UTF-8
54
+ encoding: ASCII-8BIT
42
55
  string: '{"ErrorInformation":{"Error":1,"Message":"Kan inte hitta kunden.","Code":2000433}}'
43
56
  http_version:
44
- recorded_at: Wed, 12 Jul 2017 10:21:40 GMT
45
- recorded_with: VCR 3.0.3
57
+ recorded_at: Mon, 21 Dec 2020 20:34:25 GMT
58
+ recorded_with: VCR 4.0.0
@@ -15,6 +15,10 @@ http_interactions:
15
15
  - 9aBA8ZgsvR
16
16
  Access-Token:
17
17
  - ccaef817-d5d8-4b1c-a316-54f3e55c5c54
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ User-Agent:
21
+ - Ruby
18
22
  response:
19
23
  status:
20
24
  code: 200
@@ -23,24 +27,33 @@ http_interactions:
23
27
  Server:
24
28
  - nginx
25
29
  Date:
26
- - Tue, 25 Oct 2016 10:21:50 GMT
30
+ - Mon, 21 Dec 2020 20:34:25 GMT
27
31
  Content-Type:
28
32
  - application/json
29
33
  Connection:
30
34
  - close
31
35
  Vary:
32
36
  - Accept-Encoding
33
- - Accept-Encoding
34
37
  X-Rack-Responsetime:
35
- - '27'
38
+ - '19'
36
39
  X-Uid:
37
- - 4d0e2e76
40
+ - 9107e6b8
38
41
  X-Build:
39
- - 76600b8d0c
42
+ - d59e2acefa
43
+ Strict-Transport-Security:
44
+ - max-age=31536000; includeSubdomains
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ X-Content-Type-Options:
48
+ - nosniff
49
+ X-Frame-Options:
50
+ - sameorigin
51
+ Referrer-Policy:
52
+ - strict-origin-when-cross-origin
40
53
  body:
41
- encoding: UTF-8
42
- string: '{"Customer":{"@url":"https:\/\/api.fortnox.se\/3\/customers\/1","Address1":null,"Address2":null,"City":null,"Country":null,"Comments":null,"Currency":"SEK","CostCenter":null,"CountryCode":null,"CustomerNumber":"1","DefaultDeliveryTypes":{"Invoice":"PRINT","Order":"PRINT","Offer":"PRINT"},"DefaultTemplates":{"Order":"DEFAULTTEMPLATE","Offer":"DEFAULTTEMPLATE","Invoice":"DEFAULTTEMPLATE","CashInvoice":"DEFAULTTEMPLATE"},"DeliveryAddress1":null,"DeliveryAddress2":null,"DeliveryCity":null,"DeliveryCountry":null,"DeliveryCountryCode":null,"DeliveryFax":null,"DeliveryName":null,"DeliveryPhone1":null,"DeliveryPhone2":null,"DeliveryZipCode":null,"Email":"","EmailInvoice":"","EmailInvoiceBCC":"","EmailInvoiceCC":"","EmailOffer":"","EmailOfferBCC":"","EmailOfferCC":"","EmailOrder":"","EmailOrderBCC":"","EmailOrderCC":"","Fax":null,"InvoiceAdministrationFee":null,"InvoiceDiscount":null,"InvoiceFreight":null,"InvoiceRemark":"","Name":"Old
54
+ encoding: ASCII-8BIT
55
+ string: '{"Customer":{"@url":"https:\/\/api.fortnox.se\/3\/customers\/1","Address1":null,"Address2":null,"City":"","Country":null,"Comments":null,"Currency":"SEK","CostCenter":null,"CountryCode":null,"Active":true,"CustomerNumber":"1","DefaultDeliveryTypes":{"Invoice":"PRINT","Order":"PRINT","Offer":"PRINT"},"DefaultTemplates":{"Order":"DEFAULTTEMPLATE","Offer":"DEFAULTTEMPLATE","Invoice":"DEFAULTTEMPLATE","CashInvoice":"DEFAULTTEMPLATE"},"DeliveryAddress1":null,"DeliveryAddress2":null,"DeliveryCity":null,"DeliveryCountry":null,"DeliveryCountryCode":null,"DeliveryFax":null,"DeliveryName":null,"DeliveryPhone1":null,"DeliveryPhone2":null,"DeliveryZipCode":null,"Email":"","EmailInvoice":"","EmailInvoiceBCC":"","EmailInvoiceCC":"","EmailOffer":"","EmailOfferBCC":"","EmailOfferCC":"","EmailOrder":"","EmailOrderBCC":"","EmailOrderCC":"","ExternalReference":null,"Fax":null,"GLN":null,"GLNDelivery":null,"InvoiceAdministrationFee":null,"InvoiceDiscount":null,"InvoiceFreight":null,"InvoiceRemark":"","Name":"Old
43
56
  name","OrganisationNumber":"860101-8735","OurReference":"","Phone1":null,"Phone2":null,"PriceList":"A","Project":"","SalesAccount":null,"ShowPriceVATIncluded":false,"TermsOfDelivery":"","TermsOfPayment":"","Type":"COMPANY","VATNumber":"","VATType":"SEVAT","VisitingAddress":null,"VisitingCity":null,"VisitingCountry":null,"VisitingCountryCode":null,"VisitingZipCode":null,"WayOfDelivery":"","WWW":"","YourReference":"","ZipCode":null}}'
44
57
  http_version:
45
- recorded_at: Tue, 25 Oct 2016 10:21:50 GMT
46
- recorded_with: VCR 3.0.1
58
+ recorded_at: Mon, 21 Dec 2020 20:34:25 GMT
59
+ recorded_with: VCR 4.0.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.fortnox.se/3/customers/145
5
+ uri: https://api.fortnox.se/3/customers/231
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -14,7 +14,11 @@ http_interactions:
14
14
  Client-Secret:
15
15
  - 9aBA8ZgsvR
16
16
  Access-Token:
17
- - 8ed4ae9d-79d0-453e-8f02-79b596369514
17
+ - ccaef817-d5d8-4b1c-a316-54f3e55c5c54
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ User-Agent:
21
+ - Ruby
18
22
  response:
19
23
  status:
20
24
  code: 200
@@ -23,24 +27,33 @@ http_interactions:
23
27
  Server:
24
28
  - nginx
25
29
  Date:
26
- - Tue, 25 Oct 2016 10:21:49 GMT
30
+ - Mon, 21 Dec 2020 20:34:24 GMT
27
31
  Content-Type:
28
32
  - application/json
29
33
  Connection:
30
34
  - close
31
35
  Vary:
32
36
  - Accept-Encoding
33
- - Accept-Encoding
34
37
  X-Rack-Responsetime:
35
- - '25'
38
+ - '72'
36
39
  X-Uid:
37
- - 1816bc38
40
+ - ecfe45bf
38
41
  X-Build:
39
- - 76600b8d0c
42
+ - d59e2acefa
43
+ Strict-Transport-Security:
44
+ - max-age=31536000; includeSubdomains
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ X-Content-Type-Options:
48
+ - nosniff
49
+ X-Frame-Options:
50
+ - sameorigin
51
+ Referrer-Policy:
52
+ - strict-origin-when-cross-origin
40
53
  body:
41
- encoding: UTF-8
42
- string: '{"Customer":{"@url":"https:\/\/api.fortnox.se\/3\/customers\/145","Address1":null,"Address2":null,"City":null,"Country":null,"Comments":null,"Currency":"SEK","CostCenter":null,"CountryCode":null,"CustomerNumber":"145","DefaultDeliveryTypes":{"Invoice":"PRINT","Order":"PRINT","Offer":"PRINT"},"DefaultTemplates":{"Order":"DEFAULTTEMPLATE","Offer":"DEFAULTTEMPLATE","Invoice":"DEFAULTTEMPLATE","CashInvoice":"DEFAULTTEMPLATE"},"DeliveryAddress1":null,"DeliveryAddress2":null,"DeliveryCity":null,"DeliveryCountry":null,"DeliveryCountryCode":null,"DeliveryFax":null,"DeliveryName":null,"DeliveryPhone1":null,"DeliveryPhone2":null,"DeliveryZipCode":null,"Email":"","EmailInvoice":"","EmailInvoiceBCC":"","EmailInvoiceCC":"","EmailOffer":"","EmailOfferBCC":"","EmailOfferCC":"","EmailOrder":"","EmailOrderBCC":"","EmailOrderCC":"","Fax":null,"InvoiceAdministrationFee":null,"InvoiceDiscount":null,"InvoiceFreight":null,"InvoiceRemark":"","Name":"A
54
+ encoding: ASCII-8BIT
55
+ string: '{"Customer":{"@url":"https:\/\/api.fortnox.se\/3\/customers\/231","Address1":null,"Address2":null,"City":null,"Country":null,"Comments":null,"Currency":"SEK","CostCenter":null,"CountryCode":null,"Active":true,"CustomerNumber":"231","DefaultDeliveryTypes":{"Invoice":"PRINT","Order":"PRINT","Offer":"PRINT"},"DefaultTemplates":{"Order":"DEFAULTTEMPLATE","Offer":"DEFAULTTEMPLATE","Invoice":"DEFAULTTEMPLATE","CashInvoice":"DEFAULTTEMPLATE"},"DeliveryAddress1":null,"DeliveryAddress2":null,"DeliveryCity":null,"DeliveryCountry":null,"DeliveryCountryCode":null,"DeliveryFax":null,"DeliveryName":null,"DeliveryPhone1":null,"DeliveryPhone2":null,"DeliveryZipCode":null,"Email":"","EmailInvoice":"","EmailInvoiceBCC":"","EmailInvoiceCC":"","EmailOffer":"","EmailOfferBCC":"","EmailOfferCC":"","EmailOrder":"","EmailOrderBCC":"","EmailOrderCC":"","ExternalReference":null,"Fax":null,"GLN":null,"GLNDelivery":null,"InvoiceAdministrationFee":null,"InvoiceDiscount":null,"InvoiceFreight":null,"InvoiceRemark":"","Name":"A
43
56
  value","OrganisationNumber":"","OurReference":"","Phone1":null,"Phone2":null,"PriceList":"A","Project":"","SalesAccount":null,"ShowPriceVATIncluded":false,"TermsOfDelivery":"","TermsOfPayment":"","Type":"COMPANY","VATNumber":"","VATType":"SEVAT","VisitingAddress":null,"VisitingCity":null,"VisitingCountry":null,"VisitingCountryCode":null,"VisitingZipCode":null,"WayOfDelivery":"","WWW":"","YourReference":"","ZipCode":null}}'
44
57
  http_version:
45
- recorded_at: Tue, 25 Oct 2016 10:21:49 GMT
46
- recorded_with: VCR 3.0.1
58
+ recorded_at: Mon, 21 Dec 2020 20:34:24 GMT
59
+ recorded_with: VCR 4.0.0
@@ -15,6 +15,10 @@ http_interactions:
15
15
  - 9aBA8ZgsvR
16
16
  Access-Token:
17
17
  - ccaef817-d5d8-4b1c-a316-54f3e55c5c54
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ User-Agent:
21
+ - Ruby
18
22
  response:
19
23
  status:
20
24
  code: 200
@@ -23,24 +27,33 @@ http_interactions:
23
27
  Server:
24
28
  - nginx
25
29
  Date:
26
- - Wed, 12 Jul 2017 12:02:22 GMT
30
+ - Mon, 21 Dec 2020 20:34:25 GMT
27
31
  Content-Type:
28
32
  - application/json
29
33
  Connection:
30
34
  - close
31
35
  Vary:
32
36
  - Accept-Encoding
33
- - Accept-Encoding
34
37
  X-Rack-Responsetime:
35
- - '19'
38
+ - '16'
36
39
  X-Uid:
37
- - bd69c645
40
+ - 59113dcf
38
41
  X-Build:
39
- - 401ff9d5e0
42
+ - d59e2acefa
43
+ Strict-Transport-Security:
44
+ - max-age=31536000; includeSubdomains
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ X-Content-Type-Options:
48
+ - nosniff
49
+ X-Frame-Options:
50
+ - sameorigin
51
+ Referrer-Policy:
52
+ - strict-origin-when-cross-origin
40
53
  body:
41
- encoding: UTF-8
54
+ encoding: ASCII-8BIT
42
55
  string: '{"MetaInformation":{"@TotalResources":1,"@TotalPages":1,"@CurrentPage":1},"Customers":[{"@url":"https:\/\/api.fortnox.se\/3\/customers\/2","Address1":"","Address2":"","City":"New
43
56
  York","CustomerNumber":"2","Email":"","Name":"A customer","OrganisationNumber":"600102-7447","Phone":"","ZipCode":"10001"}]}'
44
57
  http_version:
45
- recorded_at: Wed, 12 Jul 2017 12:02:22 GMT
46
- recorded_with: VCR 3.0.3
58
+ recorded_at: Mon, 21 Dec 2020 20:34:25 GMT
59
+ recorded_with: VCR 4.0.0
@@ -15,6 +15,10 @@ http_interactions:
15
15
  - 9aBA8ZgsvR
16
16
  Access-Token:
17
17
  - ccaef817-d5d8-4b1c-a316-54f3e55c5c54
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ User-Agent:
21
+ - Ruby
18
22
  response:
19
23
  status:
20
24
  code: 201
@@ -23,7 +27,7 @@ http_interactions:
23
27
  Server:
24
28
  - nginx
25
29
  Date:
26
- - Tue, 25 Oct 2016 10:21:49 GMT
30
+ - Mon, 21 Dec 2020 20:34:24 GMT
27
31
  Content-Type:
28
32
  - application/json
29
33
  Connection:
@@ -31,15 +35,25 @@ http_interactions:
31
35
  Location:
32
36
  - customers
33
37
  X-Rack-Responsetime:
34
- - '97'
38
+ - '351'
35
39
  X-Uid:
36
- - 75acbfd3
40
+ - f1395f68
37
41
  X-Build:
38
- - 76600b8d0c
42
+ - d59e2acefa
43
+ Strict-Transport-Security:
44
+ - max-age=31536000; includeSubdomains
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ X-Content-Type-Options:
48
+ - nosniff
49
+ X-Frame-Options:
50
+ - sameorigin
51
+ Referrer-Policy:
52
+ - strict-origin-when-cross-origin
39
53
  body:
40
54
  encoding: UTF-8
41
- string: '{"Customer":{"@url":"https:\/\/api.fortnox.se\/3\/customers\/145","Address1":null,"Address2":null,"City":null,"Country":null,"Comments":null,"Currency":"SEK","CostCenter":null,"CountryCode":null,"CustomerNumber":"145","DefaultDeliveryTypes":{"Invoice":"PRINT","Order":"PRINT","Offer":"PRINT"},"DefaultTemplates":{"Order":"DEFAULTTEMPLATE","Offer":"DEFAULTTEMPLATE","Invoice":"DEFAULTTEMPLATE","CashInvoice":"DEFAULTTEMPLATE"},"DeliveryAddress1":null,"DeliveryAddress2":null,"DeliveryCity":null,"DeliveryCountry":null,"DeliveryCountryCode":null,"DeliveryFax":null,"DeliveryName":null,"DeliveryPhone1":null,"DeliveryPhone2":null,"DeliveryZipCode":null,"Email":"","EmailInvoice":"","EmailInvoiceBCC":"","EmailInvoiceCC":"","EmailOffer":"","EmailOfferBCC":"","EmailOfferCC":"","EmailOrder":"","EmailOrderBCC":"","EmailOrderCC":"","Fax":null,"InvoiceAdministrationFee":null,"InvoiceDiscount":null,"InvoiceFreight":null,"InvoiceRemark":"","Name":"A
55
+ string: '{"Customer":{"@url":"https:\/\/api.fortnox.se\/3\/customers\/231","Address1":null,"Address2":null,"City":null,"Country":null,"Comments":null,"Currency":"SEK","CostCenter":null,"CountryCode":null,"Active":true,"CustomerNumber":"231","DefaultDeliveryTypes":{"Invoice":"PRINT","Order":"PRINT","Offer":"PRINT"},"DefaultTemplates":{"Order":"DEFAULTTEMPLATE","Offer":"DEFAULTTEMPLATE","Invoice":"DEFAULTTEMPLATE","CashInvoice":"DEFAULTTEMPLATE"},"DeliveryAddress1":null,"DeliveryAddress2":null,"DeliveryCity":null,"DeliveryCountry":null,"DeliveryCountryCode":null,"DeliveryFax":null,"DeliveryName":null,"DeliveryPhone1":null,"DeliveryPhone2":null,"DeliveryZipCode":null,"Email":"","EmailInvoice":"","EmailInvoiceBCC":"","EmailInvoiceCC":"","EmailOffer":"","EmailOfferBCC":"","EmailOfferCC":"","EmailOrder":"","EmailOrderBCC":"","EmailOrderCC":"","ExternalReference":null,"Fax":null,"GLN":null,"GLNDelivery":null,"InvoiceAdministrationFee":null,"InvoiceDiscount":null,"InvoiceFreight":null,"InvoiceRemark":"","Name":"A
42
56
  value","OrganisationNumber":"","OurReference":"","Phone1":null,"Phone2":null,"PriceList":"A","Project":"","SalesAccount":null,"ShowPriceVATIncluded":false,"TermsOfDelivery":"","TermsOfPayment":"","Type":"COMPANY","VATNumber":"","VATType":"SEVAT","VisitingAddress":null,"VisitingCity":null,"VisitingCountry":null,"VisitingCountryCode":null,"VisitingZipCode":null,"WayOfDelivery":"","WWW":"","YourReference":"","ZipCode":null}}'
43
57
  http_version:
44
- recorded_at: Tue, 25 Oct 2016 10:21:49 GMT
45
- recorded_with: VCR 3.0.1
58
+ recorded_at: Mon, 21 Dec 2020 20:34:24 GMT
59
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,60 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.fortnox.se/3/customers/
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"Customer":{"CountryCode":"SE","Name":"Customer with Swedish country
9
+ code"}}'
10
+ headers:
11
+ Content-Type:
12
+ - application/json
13
+ Accept:
14
+ - application/json
15
+ Client-Secret:
16
+ - 9aBA8ZgsvR
17
+ Access-Token:
18
+ - ccaef817-d5d8-4b1c-a316-54f3e55c5c54
19
+ Accept-Encoding:
20
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
21
+ User-Agent:
22
+ - Ruby
23
+ response:
24
+ status:
25
+ code: 201
26
+ message: Created
27
+ headers:
28
+ Server:
29
+ - nginx
30
+ Date:
31
+ - Mon, 21 Dec 2020 20:34:25 GMT
32
+ Content-Type:
33
+ - application/json
34
+ Connection:
35
+ - close
36
+ Location:
37
+ - customers
38
+ X-Rack-Responsetime:
39
+ - '49'
40
+ X-Uid:
41
+ - 52ec5e8c
42
+ X-Build:
43
+ - d59e2acefa
44
+ Strict-Transport-Security:
45
+ - max-age=31536000; includeSubdomains
46
+ X-Xss-Protection:
47
+ - 1; mode=block
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ X-Frame-Options:
51
+ - sameorigin
52
+ Referrer-Policy:
53
+ - strict-origin-when-cross-origin
54
+ body:
55
+ encoding: UTF-8
56
+ string: '{"Customer":{"@url":"https:\/\/api.fortnox.se\/3\/customers\/233","Address1":null,"Address2":null,"City":null,"Country":"Sverige","Comments":null,"Currency":"SEK","CostCenter":null,"CountryCode":"SE","Active":true,"CustomerNumber":"233","DefaultDeliveryTypes":{"Invoice":"PRINT","Order":"PRINT","Offer":"PRINT"},"DefaultTemplates":{"Order":"DEFAULTTEMPLATE","Offer":"DEFAULTTEMPLATE","Invoice":"DEFAULTTEMPLATE","CashInvoice":"DEFAULTTEMPLATE"},"DeliveryAddress1":null,"DeliveryAddress2":null,"DeliveryCity":null,"DeliveryCountry":null,"DeliveryCountryCode":null,"DeliveryFax":null,"DeliveryName":null,"DeliveryPhone1":null,"DeliveryPhone2":null,"DeliveryZipCode":null,"Email":"","EmailInvoice":"","EmailInvoiceBCC":"","EmailInvoiceCC":"","EmailOffer":"","EmailOfferBCC":"","EmailOfferCC":"","EmailOrder":"","EmailOrderBCC":"","EmailOrderCC":"","ExternalReference":null,"Fax":null,"GLN":null,"GLNDelivery":null,"InvoiceAdministrationFee":null,"InvoiceDiscount":null,"InvoiceFreight":null,"InvoiceRemark":"","Name":"Customer
57
+ with Swedish country code","OrganisationNumber":"","OurReference":"","Phone1":null,"Phone2":null,"PriceList":"A","Project":"","SalesAccount":null,"ShowPriceVATIncluded":false,"TermsOfDelivery":"","TermsOfPayment":"","Type":"COMPANY","VATNumber":"","VATType":"SEVAT","VisitingAddress":null,"VisitingCity":null,"VisitingCountry":null,"VisitingCountryCode":null,"VisitingZipCode":null,"WayOfDelivery":"","WWW":"","YourReference":"","ZipCode":null}}'
58
+ http_version:
59
+ recorded_at: Mon, 21 Dec 2020 20:34:25 GMT
60
+ recorded_with: VCR 4.0.0