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.
- checksums.yaml +5 -5
- data/.rubocop.yml +5 -1
- data/.travis.yml +20 -22
- data/CHANGELOG.md +48 -0
- data/README.md +14 -19
- data/Rakefile +5 -0
- data/fortnox-api.gemspec +10 -10
- data/lib/fortnox/api/mappers.rb +5 -38
- data/lib/fortnox/api/mappers/base.rb +2 -24
- data/lib/fortnox/api/mappers/base/canonical_name_sym.rb +21 -0
- data/lib/fortnox/api/mappers/base/from_json.rb +6 -1
- data/lib/fortnox/api/mappers/value/array.rb +18 -0
- data/lib/fortnox/api/mappers/value/country_string.rb +24 -0
- data/lib/fortnox/api/mappers/value/date.rb +11 -0
- data/lib/fortnox/api/mappers/value/hash.rb +16 -0
- data/lib/fortnox/api/mappers/value/identity.rb +18 -0
- data/lib/fortnox/api/models/document.rb +6 -3
- data/lib/fortnox/api/models/invoice.rb +1 -1
- data/lib/fortnox/api/models/order.rb +1 -1
- data/lib/fortnox/api/repositories/base.rb +9 -11
- data/lib/fortnox/api/request_handling.rb +0 -1
- data/lib/fortnox/api/types.rb +40 -3
- data/lib/fortnox/api/types/enums.rb +36 -31
- data/lib/fortnox/api/types/shim/country_string.rb +10 -0
- data/lib/fortnox/api/version.rb +1 -1
- data/spec/fortnox/api/circular_queue_spec.rb +52 -0
- data/spec/fortnox/api/mappers/base/canonical_name_sym_spec.rb +34 -0
- data/spec/fortnox/api/mappers/base_spec.rb +33 -43
- data/spec/fortnox/api/mappers/contexts/json_conversion.rb +1 -1
- data/spec/fortnox/api/repositories/article_spec.rb +4 -2
- data/spec/fortnox/api/repositories/base_spec.rb +28 -8
- data/spec/fortnox/api/repositories/customer_spec.rb +29 -1
- data/spec/fortnox/api/repositories/invoice_spec.rb +147 -3
- data/spec/fortnox/api/repositories/order_spec.rb +2 -2
- data/spec/fortnox/api/repositories/project_spec.rb +1 -1
- data/spec/fortnox/api/repositories/terms_of_payment_spec.rb +4 -2
- data/spec/fortnox/api/repositories/unit_spec.rb +6 -3
- data/spec/fortnox/api/types/account_number_spec.rb +19 -15
- data/spec/fortnox/api/types/country_code_spec.rb +42 -0
- data/spec/fortnox/api/types/country_spec.rb +67 -0
- data/spec/fortnox/api/types/email_spec.rb +8 -7
- data/spec/fortnox/api/types/enums_spec.rb +1 -1
- data/spec/fortnox/api/types/examples/document_row.rb +1 -1
- data/spec/fortnox/api/types/housework_types_spec.rb +151 -34
- data/spec/fortnox/api_spec.rb +3 -1
- data/spec/vcr_cassettes/articles/all.yml +40 -10
- data/spec/vcr_cassettes/articles/find_by_hash_failure.yml +21 -8
- data/spec/vcr_cassettes/articles/find_failure.yml +21 -8
- data/spec/vcr_cassettes/articles/find_id_1.yml +22 -9
- data/spec/vcr_cassettes/articles/find_new.yml +24 -11
- data/spec/vcr_cassettes/articles/multi_param_find_by_hash.yml +21 -8
- data/spec/vcr_cassettes/articles/save_new.yml +22 -8
- data/spec/vcr_cassettes/articles/save_old.yml +24 -11
- data/spec/vcr_cassettes/articles/save_with_specially_named_attribute.yml +22 -8
- data/spec/vcr_cassettes/articles/search_by_name.yml +21 -8
- data/spec/vcr_cassettes/articles/search_miss.yml +21 -8
- data/spec/vcr_cassettes/articles/search_with_special_char.yml +21 -8
- data/spec/vcr_cassettes/articles/single_param_find_by_hash.yml +33 -10
- data/spec/vcr_cassettes/customers/all.yml +26 -13
- data/spec/vcr_cassettes/customers/find_by_hash_failure.yml +21 -8
- data/spec/vcr_cassettes/customers/find_failure.yml +21 -8
- data/spec/vcr_cassettes/customers/find_id_1.yml +22 -9
- data/spec/vcr_cassettes/customers/find_new.yml +24 -11
- data/spec/vcr_cassettes/customers/multi_param_find_by_hash.yml +21 -8
- data/spec/vcr_cassettes/customers/save_new.yml +21 -7
- data/spec/vcr_cassettes/customers/save_new_with_country_code_SE.yml +60 -0
- data/spec/vcr_cassettes/customers/save_old.yml +23 -10
- data/spec/vcr_cassettes/customers/save_with_specially_named_attribute.yml +21 -7
- data/spec/vcr_cassettes/customers/search_by_name.yml +32 -10
- data/spec/vcr_cassettes/customers/search_miss.yml +21 -8
- data/spec/vcr_cassettes/customers/search_with_special_char.yml +21 -8
- data/spec/vcr_cassettes/customers/single_param_find_by_hash.yml +22 -9
- data/spec/vcr_cassettes/invoices/all.yml +118 -67
- data/spec/vcr_cassettes/invoices/filter_hit.yml +26 -10
- data/spec/vcr_cassettes/invoices/filter_invalid.yml +20 -6
- data/spec/vcr_cassettes/invoices/find_by_hash_failure.yml +21 -8
- data/spec/vcr_cassettes/invoices/find_failure.yml +21 -8
- data/spec/vcr_cassettes/invoices/find_id_1.yml +23 -10
- data/spec/vcr_cassettes/invoices/find_new.yml +26 -14
- data/spec/vcr_cassettes/invoices/multi_param_find_by_hash.yml +23 -10
- data/spec/vcr_cassettes/invoices/save_new.yml +23 -10
- data/spec/vcr_cassettes/invoices/save_new_with_comments.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_GB.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_KR.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_Norge.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_Norway.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_Sverige.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_VA.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_VI.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_empty_string.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_nil.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_old.yml +25 -13
- data/spec/vcr_cassettes/invoices/save_old_with_empty_comments.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_old_with_empty_country.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_old_with_nil_comments.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_old_with_nil_country.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_with_nested_model.yml +23 -10
- data/spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml +23 -10
- data/spec/vcr_cassettes/invoices/search_by_name.yml +28 -11
- data/spec/vcr_cassettes/invoices/search_miss.yml +21 -8
- data/spec/vcr_cassettes/invoices/search_with_special_char.yml +21 -8
- data/spec/vcr_cassettes/invoices/single_param_find_by_hash.yml +24 -11
- data/spec/vcr_cassettes/orders/all.yml +120 -107
- data/spec/vcr_cassettes/orders/filter_hit.yml +28 -12
- data/spec/vcr_cassettes/orders/filter_invalid.yml +20 -6
- data/spec/vcr_cassettes/orders/find_by_hash_failure.yml +21 -8
- data/spec/vcr_cassettes/orders/find_failure.yml +21 -8
- data/spec/vcr_cassettes/orders/find_id_1.yml +23 -10
- data/spec/vcr_cassettes/orders/find_new.yml +26 -14
- data/spec/vcr_cassettes/orders/housework_invalid_tax_reduction_type.yml +57 -0
- data/spec/vcr_cassettes/orders/housework_othercoses_invalid.yml +57 -0
- data/spec/vcr_cassettes/orders/housework_type_babysitting.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_cleaning.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_construction.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_cooking.yml +21 -7
- data/spec/vcr_cassettes/orders/housework_type_electricity.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_gardening.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_glassmetalwork.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_grounddrainagework.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_hvac.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_itservices.yml +60 -0
- data/spec/vcr_cassettes/orders/housework_type_majorappliancerepair.yml +60 -0
- data/spec/vcr_cassettes/orders/housework_type_masonry.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_movingservices.yml +60 -0
- data/spec/vcr_cassettes/orders/housework_type_othercare.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_othercosts.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_paintingwallpapering.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_snowplowing.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_textileclothing.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_tutoring.yml +21 -7
- data/spec/vcr_cassettes/orders/housework_without_tax_reduction_type.yml +57 -0
- data/spec/vcr_cassettes/orders/multi_param_find_by_hash.yml +22 -9
- data/spec/vcr_cassettes/orders/save_new.yml +23 -10
- data/spec/vcr_cassettes/orders/save_old.yml +25 -13
- data/spec/vcr_cassettes/orders/save_with_nested_model.yml +23 -10
- data/spec/vcr_cassettes/orders/search_by_name.yml +25 -11
- data/spec/vcr_cassettes/orders/search_miss.yml +21 -8
- data/spec/vcr_cassettes/orders/search_with_special_char.yml +21 -8
- data/spec/vcr_cassettes/orders/single_param_find_by_hash.yml +23 -10
- data/spec/vcr_cassettes/projects/all.yml +41 -16
- data/spec/vcr_cassettes/projects/find_by_hash_failure.yml +21 -8
- data/spec/vcr_cassettes/projects/find_failure.yml +21 -8
- data/spec/vcr_cassettes/projects/find_id_1.yml +21 -8
- data/spec/vcr_cassettes/projects/find_new.yml +24 -11
- data/spec/vcr_cassettes/projects/multi_param_find_by_hash.yml +23 -10
- data/spec/vcr_cassettes/projects/save_new.yml +22 -8
- data/spec/vcr_cassettes/projects/save_old.yml +24 -11
- data/spec/vcr_cassettes/projects/single_param_find_by_hash.yml +22 -9
- data/spec/vcr_cassettes/termsofpayments/all.yml +31 -14
- data/spec/vcr_cassettes/termsofpayments/find_failure.yml +21 -8
- data/spec/vcr_cassettes/termsofpayments/find_id_1.yml +22 -9
- data/spec/vcr_cassettes/termsofpayments/find_new.yml +23 -10
- data/spec/vcr_cassettes/termsofpayments/save_new.yml +22 -8
- data/spec/vcr_cassettes/termsofpayments/save_old.yml +23 -10
- data/spec/vcr_cassettes/units/all.yml +31 -12
- data/spec/vcr_cassettes/units/find_failure.yml +21 -8
- data/spec/vcr_cassettes/units/find_id_1.yml +21 -8
- data/spec/vcr_cassettes/units/find_new.yml +23 -12
- data/spec/vcr_cassettes/units/save_new.yml +22 -10
- data/spec/vcr_cassettes/units/save_old.yml +23 -12
- data/spec/vcr_cassettes/units/save_with_specially_named_attribute.yml +22 -10
- data/temp.txt +1 -0
- metadata +99 -21
- 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
|
-
-
|
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
|
-
- '
|
38
|
+
- '21'
|
36
39
|
X-Uid:
|
37
|
-
-
|
40
|
+
- 064e6739
|
38
41
|
X-Build:
|
39
|
-
-
|
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:
|
42
|
-
string: '{"MetaInformation":{"@TotalResources":
|
43
|
-
name","OrganisationNumber":"860101-8735","Phone":"","ZipCode":""},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/2","Address1":"","Address2":"","City":"
|
44
|
-
customer","OrganisationNumber":"600102-7447","Phone":"","ZipCode":""},{"@url":"https:\/\/api.fortnox.se\/3\/customers\/3","Address1":"","Address2":"","City":"
|
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":"
|
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:
|
157
|
-
recorded_with: VCR
|
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
|
-
-
|
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
|
-
- '
|
38
|
+
- '19'
|
36
39
|
X-Uid:
|
37
|
-
-
|
40
|
+
- b5088850
|
38
41
|
X-Build:
|
39
|
-
-
|
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:
|
54
|
+
encoding: ASCII-8BIT
|
42
55
|
string: '{"MetaInformation":{"@TotalResources":0,"@TotalPages":0,"@CurrentPage":1},"Customers":[]}'
|
43
56
|
http_version:
|
44
|
-
recorded_at:
|
45
|
-
recorded_with: VCR
|
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
|
-
-
|
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
|
-
- '
|
38
|
+
- '16'
|
36
39
|
X-Uid:
|
37
|
-
-
|
40
|
+
- 0af462e3
|
38
41
|
X-Build:
|
39
|
-
-
|
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:
|
54
|
+
encoding: ASCII-8BIT
|
42
55
|
string: '{"ErrorInformation":{"Error":1,"Message":"Kan inte hitta kunden.","Code":2000433}}'
|
43
56
|
http_version:
|
44
|
-
recorded_at:
|
45
|
-
recorded_with: VCR
|
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
|
-
-
|
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
|
-
- '
|
38
|
+
- '19'
|
36
39
|
X-Uid:
|
37
|
-
-
|
40
|
+
- 9107e6b8
|
38
41
|
X-Build:
|
39
|
-
-
|
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:
|
42
|
-
string: '{"Customer":{"@url":"https:\/\/api.fortnox.se\/3\/customers\/1","Address1":null,"Address2":null,"City":
|
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:
|
46
|
-
recorded_with: VCR
|
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/
|
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
|
-
-
|
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
|
-
-
|
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
|
-
- '
|
38
|
+
- '72'
|
36
39
|
X-Uid:
|
37
|
-
-
|
40
|
+
- ecfe45bf
|
38
41
|
X-Build:
|
39
|
-
-
|
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:
|
42
|
-
string: '{"Customer":{"@url":"https:\/\/api.fortnox.se\/3\/customers\/
|
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:
|
46
|
-
recorded_with: VCR
|
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
|
-
-
|
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
|
-
- '
|
38
|
+
- '16'
|
36
39
|
X-Uid:
|
37
|
-
-
|
40
|
+
- 59113dcf
|
38
41
|
X-Build:
|
39
|
-
-
|
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:
|
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:
|
46
|
-
recorded_with: VCR
|
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
|
-
-
|
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
|
-
- '
|
38
|
+
- '351'
|
35
39
|
X-Uid:
|
36
|
-
-
|
40
|
+
- f1395f68
|
37
41
|
X-Build:
|
38
|
-
-
|
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\/
|
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:
|
45
|
-
recorded_with: VCR
|
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
|