Avatax_AddressService 1.0.12 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/Avatax_AddressService.gemspec +19 -19
- data/LICENSE.txt +20 -20
- data/lib/address_log.txt +1 -1
- data/lib/{addressservice_dev.wsdl → addressservice.wsdl} +289 -289
- data/lib/avatax_addressservice.rb +187 -199
- data/lib/template_isauthorized.erb +21 -21
- data/lib/template_ping.erb +21 -21
- data/lib/template_validate.erb +39 -39
- data/samples/PingTest.rb +26 -25
- data/samples/ValidateAddressTest.rb +49 -50
- data/spec/addressservice_spec.rb +41 -41
- data/spec/isauthorized_spec.rb +76 -76
- data/spec/ping_spec.rb +76 -76
- data/spec/spec_helper.rb +16 -16
- data/spec/validate_spec.rb +84 -84
- metadata +14 -16
- data/Avatax Ruby SDK Guide.docx +0 -0
- data/lib/addressservice_prd.wsdl +0 -290
data/spec/ping_spec.rb
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe "Ping" do
|
|
4
|
-
before :each do
|
|
5
|
-
credentials = YAML::load(File.open('credentials.yml'))
|
|
6
|
-
@creds = {:username => credentials['username'],
|
|
7
|
-
:password => credentials['password'],
|
|
8
|
-
:clientname => credentials['clientname'],
|
|
9
|
-
:use_production_url => credentials['production']}
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
describe "returns a meaningful" do
|
|
13
|
-
it "error when URL is missing" do
|
|
14
|
-
@creds[:use_production_url] = nil
|
|
15
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
16
|
-
@service.ping[:result_code].should eql "Success"
|
|
17
|
-
end
|
|
18
|
-
it "success when URL is specified" do
|
|
19
|
-
@creds[:use_production_url] = false
|
|
20
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
21
|
-
@service.ping[:result_code].should eql "Success"
|
|
22
|
-
end
|
|
23
|
-
it "error when username is missing" do
|
|
24
|
-
@creds[:username] = nil
|
|
25
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
26
|
-
@service.ping[:result_code].should eql "Error"
|
|
27
|
-
end
|
|
28
|
-
it "error when password is omitted" do
|
|
29
|
-
@creds[:password] = nil
|
|
30
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
31
|
-
@service.ping[:result_code].should eql "Error"
|
|
32
|
-
end
|
|
33
|
-
it "success when clientname is omitted" do
|
|
34
|
-
@creds[:clientname] = nil
|
|
35
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
36
|
-
@service.ping[:result_code].should eql "Success"
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
describe "has consistent formatting for" do
|
|
41
|
-
it "internal logic errors" do
|
|
42
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
43
|
-
lambda { @service.ping("param1","param2") }.should raise_exception
|
|
44
|
-
end
|
|
45
|
-
it "server-side errors" do
|
|
46
|
-
@creds[:password] = nil
|
|
47
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
48
|
-
@result = @service.ping
|
|
49
|
-
@result[:result_code].should eql "Error" and
|
|
50
|
-
@result[:messages].kind_of?(Array).should eql true and
|
|
51
|
-
@result[:messages][0].should include(:details => "The user or account could not be authenticated.")
|
|
52
|
-
end
|
|
53
|
-
it "successful results" do
|
|
54
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
55
|
-
@result = @service.ping
|
|
56
|
-
@result[:result_code].should eql "Success" and @result[:version].should_not be_nil
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
describe "requests with" do
|
|
60
|
-
it "missing required parameters fail" do
|
|
61
|
-
true #there are no required parameters for ping
|
|
62
|
-
end
|
|
63
|
-
it "invalid parameters fail" do
|
|
64
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
65
|
-
lambda { @service.ping("param1","param2") }.should raise_exception
|
|
66
|
-
end
|
|
67
|
-
it "missing optional parameters succeed" do
|
|
68
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
69
|
-
@service.ping[:result_code].should eql "Success"
|
|
70
|
-
end
|
|
71
|
-
it "all parameters succeed" do
|
|
72
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
73
|
-
@service.ping("Message")[:result_code].should eql "Success"
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
|
|
1
|
+
require "spec_helper"
|
|
2
|
+
|
|
3
|
+
describe "Ping" do
|
|
4
|
+
before :each do
|
|
5
|
+
credentials = YAML::load(File.open('credentials.yml'))
|
|
6
|
+
@creds = {:username => credentials['username'],
|
|
7
|
+
:password => credentials['password'],
|
|
8
|
+
:clientname => credentials['clientname'],
|
|
9
|
+
:use_production_url => credentials['production']}
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
describe "returns a meaningful" do
|
|
13
|
+
it "error when URL is missing" do
|
|
14
|
+
@creds[:use_production_url] = nil
|
|
15
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
16
|
+
@service.ping[:result_code].should eql "Success"
|
|
17
|
+
end
|
|
18
|
+
it "success when URL is specified" do
|
|
19
|
+
@creds[:use_production_url] = false
|
|
20
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
21
|
+
@service.ping[:result_code].should eql "Success"
|
|
22
|
+
end
|
|
23
|
+
it "error when username is missing" do
|
|
24
|
+
@creds[:username] = nil
|
|
25
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
26
|
+
@service.ping[:result_code].should eql "Error"
|
|
27
|
+
end
|
|
28
|
+
it "error when password is omitted" do
|
|
29
|
+
@creds[:password] = nil
|
|
30
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
31
|
+
@service.ping[:result_code].should eql "Error"
|
|
32
|
+
end
|
|
33
|
+
it "success when clientname is omitted" do
|
|
34
|
+
@creds[:clientname] = nil
|
|
35
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
36
|
+
@service.ping[:result_code].should eql "Success"
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe "has consistent formatting for" do
|
|
41
|
+
it "internal logic errors" do
|
|
42
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
43
|
+
lambda { @service.ping("param1","param2") }.should raise_exception
|
|
44
|
+
end
|
|
45
|
+
it "server-side errors" do
|
|
46
|
+
@creds[:password] = nil
|
|
47
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
48
|
+
@result = @service.ping
|
|
49
|
+
@result[:result_code].should eql "Error" and
|
|
50
|
+
@result[:messages].kind_of?(Array).should eql true and
|
|
51
|
+
@result[:messages][0].should include(:details => "The user or account could not be authenticated.")
|
|
52
|
+
end
|
|
53
|
+
it "successful results" do
|
|
54
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
55
|
+
@result = @service.ping
|
|
56
|
+
@result[:result_code].should eql "Success" and @result[:version].should_not be_nil
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
describe "requests with" do
|
|
60
|
+
it "missing required parameters fail" do
|
|
61
|
+
true #there are no required parameters for ping
|
|
62
|
+
end
|
|
63
|
+
it "invalid parameters fail" do
|
|
64
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
65
|
+
lambda { @service.ping("param1","param2") }.should raise_exception
|
|
66
|
+
end
|
|
67
|
+
it "missing optional parameters succeed" do
|
|
68
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
69
|
+
@service.ping[:result_code].should eql "Success"
|
|
70
|
+
end
|
|
71
|
+
it "all parameters succeed" do
|
|
72
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
73
|
+
@service.ping("Message")[:result_code].should eql "Success"
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
77
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
# spec/awesome_gem/awesome.rb
|
|
2
|
-
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
|
|
3
|
-
$: << File.join(APP_ROOT, 'lib') # so rspec knows where your file could be
|
|
4
|
-
require 'avatax_addressservice.rb' # this loads the class you want to test
|
|
5
|
-
require 'yaml'
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
RSpec.configure do |config|
|
|
9
|
-
# Use color in STDOUT
|
|
10
|
-
config.color_enabled = true
|
|
11
|
-
|
|
12
|
-
# Use color not only in STDOUT but also in pagers and files
|
|
13
|
-
config.tty = true
|
|
14
|
-
|
|
15
|
-
# Use the specified formatter
|
|
16
|
-
config.formatter = :documentation # :progress, :html, :textmate
|
|
1
|
+
# spec/awesome_gem/awesome.rb
|
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
|
|
3
|
+
$: << File.join(APP_ROOT, 'lib') # so rspec knows where your file could be
|
|
4
|
+
require 'avatax_addressservice.rb' # this loads the class you want to test
|
|
5
|
+
require 'yaml'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
RSpec.configure do |config|
|
|
9
|
+
# Use color in STDOUT
|
|
10
|
+
config.color_enabled = true
|
|
11
|
+
|
|
12
|
+
# Use color not only in STDOUT but also in pagers and files
|
|
13
|
+
config.tty = true
|
|
14
|
+
|
|
15
|
+
# Use the specified formatter
|
|
16
|
+
config.formatter = :documentation # :progress, :html, :textmate
|
|
17
17
|
end
|
data/spec/validate_spec.rb
CHANGED
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe "Validate" do
|
|
4
|
-
before :each do
|
|
5
|
-
@address_req = {:line1 => "100 Ravine Lane NE", :postalcode => "98110"}
|
|
6
|
-
@address_opt = {
|
|
7
|
-
:addresscode => "02",
|
|
8
|
-
:line2 => "Attn: Avalara",
|
|
9
|
-
:line3 => "Suite 200",
|
|
10
|
-
:city => "Bainbridge Island",
|
|
11
|
-
:region => "WA",
|
|
12
|
-
:country => "US",
|
|
13
|
-
:taxregionid => "234",
|
|
14
|
-
:latitude => "47.624935",
|
|
15
|
-
:longitude => "-122.515068",
|
|
16
|
-
:textcase => "Upper",
|
|
17
|
-
:coordinates => "true",
|
|
18
|
-
:taxability => "true"}
|
|
19
|
-
credentials = YAML::load(File.open('credentials.yml'))
|
|
20
|
-
@creds = {:username => credentials['username'],
|
|
21
|
-
:password => credentials['password'],
|
|
22
|
-
:clientname => credentials['clientname'],
|
|
23
|
-
:use_production_url => credentials['production']}
|
|
24
|
-
@svc = AvaTax::AddressService.new(@creds)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
describe "returns a meaningful" do
|
|
28
|
-
it "error when URL is missing" do
|
|
29
|
-
@creds[:use_production_url] = nil
|
|
30
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
31
|
-
@service.validate(@address_req)[:result_code].should eql "Success"
|
|
32
|
-
end
|
|
33
|
-
it "success when URL is specified" do
|
|
34
|
-
@creds[:use_production_url] = false
|
|
35
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
36
|
-
@service.validate(@address_req)[:result_code].should eql "Success"
|
|
37
|
-
end
|
|
38
|
-
it "error when username is missing" do
|
|
39
|
-
@creds[:username] = nil
|
|
40
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
41
|
-
@service.validate(@address_req)[:result_code].should eql "Error"
|
|
42
|
-
end
|
|
43
|
-
it "error when password is omitted" do
|
|
44
|
-
@creds[:password] = nil
|
|
45
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
46
|
-
@service.validate(@address_req)[:result_code].should eql "Error"
|
|
47
|
-
end
|
|
48
|
-
it "success when clientname is omitted" do
|
|
49
|
-
@creds[:clientname] = nil
|
|
50
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
51
|
-
@service.validate(@address_req)[:result_code].should eql "Success"
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
describe "has consistent formatting for" do
|
|
56
|
-
it "internal logic errors" do
|
|
57
|
-
lambda { @svc.validate(@address_req, @address_req) }.should raise_exception
|
|
58
|
-
end
|
|
59
|
-
it "server-side errors" do
|
|
60
|
-
@creds[:password] = nil
|
|
61
|
-
@service = AvaTax::AddressService.new(@creds)
|
|
62
|
-
@result = @service.validate(@address_req)
|
|
63
|
-
@result[:result_code].should eql "Error" and
|
|
64
|
-
@result[:messages].kind_of?(Array).should eql true and
|
|
65
|
-
@result[:messages][0].should include(:details => "The user or account could not be authenticated.")
|
|
66
|
-
end
|
|
67
|
-
it "successful results" do
|
|
68
|
-
@result = @svc.validate(@address_req)
|
|
69
|
-
@result[:result_code].should eql "Success" and @result[:valid_addresses].should_not be_nil
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
describe "requests with" do
|
|
73
|
-
it "missing required parameters fail" do
|
|
74
|
-
@address_req[:line1] = nil
|
|
75
|
-
@svc.validate(@address_req)[:result_code].should eql "Error"
|
|
76
|
-
end
|
|
77
|
-
it "missing optional parameters succeed" do
|
|
78
|
-
@svc.validate(@address_req)[:result_code].should eql "Success"
|
|
79
|
-
end
|
|
80
|
-
it "all parameters succeed" do
|
|
81
|
-
@address_full = @address_req.merge(@address_opt)
|
|
82
|
-
@svc.validate(@address_full)[:result_code].should eql "Success"
|
|
83
|
-
end
|
|
84
|
-
end
|
|
1
|
+
require "spec_helper"
|
|
2
|
+
|
|
3
|
+
describe "Validate" do
|
|
4
|
+
before :each do
|
|
5
|
+
@address_req = {:line1 => "100 Ravine Lane NE", :postalcode => "98110"}
|
|
6
|
+
@address_opt = {
|
|
7
|
+
:addresscode => "02",
|
|
8
|
+
:line2 => "Attn: Avalara",
|
|
9
|
+
:line3 => "Suite 200",
|
|
10
|
+
:city => "Bainbridge Island",
|
|
11
|
+
:region => "WA",
|
|
12
|
+
:country => "US",
|
|
13
|
+
:taxregionid => "234",
|
|
14
|
+
:latitude => "47.624935",
|
|
15
|
+
:longitude => "-122.515068",
|
|
16
|
+
:textcase => "Upper",
|
|
17
|
+
:coordinates => "true",
|
|
18
|
+
:taxability => "true"}
|
|
19
|
+
credentials = YAML::load(File.open('credentials.yml'))
|
|
20
|
+
@creds = {:username => credentials['username'],
|
|
21
|
+
:password => credentials['password'],
|
|
22
|
+
:clientname => credentials['clientname'],
|
|
23
|
+
:use_production_url => credentials['production']}
|
|
24
|
+
@svc = AvaTax::AddressService.new(@creds)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
describe "returns a meaningful" do
|
|
28
|
+
it "error when URL is missing" do
|
|
29
|
+
@creds[:use_production_url] = nil
|
|
30
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
31
|
+
@service.validate(@address_req)[:result_code].should eql "Success"
|
|
32
|
+
end
|
|
33
|
+
it "success when URL is specified" do
|
|
34
|
+
@creds[:use_production_url] = false
|
|
35
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
36
|
+
@service.validate(@address_req)[:result_code].should eql "Success"
|
|
37
|
+
end
|
|
38
|
+
it "error when username is missing" do
|
|
39
|
+
@creds[:username] = nil
|
|
40
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
41
|
+
@service.validate(@address_req)[:result_code].should eql "Error"
|
|
42
|
+
end
|
|
43
|
+
it "error when password is omitted" do
|
|
44
|
+
@creds[:password] = nil
|
|
45
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
46
|
+
@service.validate(@address_req)[:result_code].should eql "Error"
|
|
47
|
+
end
|
|
48
|
+
it "success when clientname is omitted" do
|
|
49
|
+
@creds[:clientname] = nil
|
|
50
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
51
|
+
@service.validate(@address_req)[:result_code].should eql "Success"
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
describe "has consistent formatting for" do
|
|
56
|
+
it "internal logic errors" do
|
|
57
|
+
lambda { @svc.validate(@address_req, @address_req) }.should raise_exception
|
|
58
|
+
end
|
|
59
|
+
it "server-side errors" do
|
|
60
|
+
@creds[:password] = nil
|
|
61
|
+
@service = AvaTax::AddressService.new(@creds)
|
|
62
|
+
@result = @service.validate(@address_req)
|
|
63
|
+
@result[:result_code].should eql "Error" and
|
|
64
|
+
@result[:messages].kind_of?(Array).should eql true and
|
|
65
|
+
@result[:messages][0].should include(:details => "The user or account could not be authenticated.")
|
|
66
|
+
end
|
|
67
|
+
it "successful results" do
|
|
68
|
+
@result = @svc.validate(@address_req)
|
|
69
|
+
@result[:result_code].should eql "Success" and @result[:valid_addresses].should_not be_nil
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
describe "requests with" do
|
|
73
|
+
it "missing required parameters fail" do
|
|
74
|
+
@address_req[:line1] = nil
|
|
75
|
+
@svc.validate(@address_req)[:result_code].should eql "Error"
|
|
76
|
+
end
|
|
77
|
+
it "missing optional parameters succeed" do
|
|
78
|
+
@svc.validate(@address_req)[:result_code].should eql "Success"
|
|
79
|
+
end
|
|
80
|
+
it "all parameters succeed" do
|
|
81
|
+
@address_full = @address_req.merge(@address_opt)
|
|
82
|
+
@svc.validate(@address_full)[:result_code].should eql "Success"
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
85
|
end
|
metadata
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: Avatax_AddressService
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Graham S Wilson
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2015-06-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: savon
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: 2.3.0
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- -
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: 2.3.0
|
|
27
27
|
description: Ruby SDK provides means of communication with Avatax Web Services.
|
|
@@ -30,13 +30,14 @@ executables: []
|
|
|
30
30
|
extensions: []
|
|
31
31
|
extra_rdoc_files: []
|
|
32
32
|
files:
|
|
33
|
+
- Avatax_AddressService.gemspec
|
|
34
|
+
- LICENSE.txt
|
|
33
35
|
- lib/address_log.txt
|
|
34
|
-
- lib/
|
|
35
|
-
- lib/addressservice_prd.wsdl
|
|
36
|
+
- lib/addressservice.wsdl
|
|
36
37
|
- lib/avatax_addressservice.rb
|
|
37
|
-
- lib/template_validate.erb
|
|
38
|
-
- lib/template_ping.erb
|
|
39
38
|
- lib/template_isauthorized.erb
|
|
39
|
+
- lib/template_ping.erb
|
|
40
|
+
- lib/template_validate.erb
|
|
40
41
|
- samples/PingTest.rb
|
|
41
42
|
- samples/ValidateAddressTest.rb
|
|
42
43
|
- spec/addressservice_spec.rb
|
|
@@ -44,31 +45,28 @@ files:
|
|
|
44
45
|
- spec/ping_spec.rb
|
|
45
46
|
- spec/spec_helper.rb
|
|
46
47
|
- spec/validate_spec.rb
|
|
47
|
-
- Avatax_AddressService.gemspec
|
|
48
|
-
- Avatax Ruby SDK Guide.docx
|
|
49
|
-
- LICENSE.txt
|
|
50
48
|
homepage: http://www.avalara.com/
|
|
51
49
|
licenses:
|
|
52
50
|
- MIT
|
|
53
51
|
metadata: {}
|
|
54
|
-
post_install_message: Thanks for installing the Avalara AddressService Ruby SDK.
|
|
55
|
-
to
|
|
52
|
+
post_install_message: Thanks for installing the Avalara AddressService Ruby SDK. For
|
|
53
|
+
more information and to sign up for a free test account, visit http://developer.avalara.com
|
|
56
54
|
rdoc_options: []
|
|
57
55
|
require_paths:
|
|
58
56
|
- lib
|
|
59
57
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
60
58
|
requirements:
|
|
61
|
-
- -
|
|
59
|
+
- - ">="
|
|
62
60
|
- !ruby/object:Gem::Version
|
|
63
61
|
version: 1.9.1
|
|
64
62
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
65
63
|
requirements:
|
|
66
|
-
- -
|
|
64
|
+
- - ">="
|
|
67
65
|
- !ruby/object:Gem::Version
|
|
68
66
|
version: '0'
|
|
69
67
|
requirements: []
|
|
70
68
|
rubyforge_project:
|
|
71
|
-
rubygems_version: 2.
|
|
69
|
+
rubygems_version: 2.4.5
|
|
72
70
|
signing_key:
|
|
73
71
|
specification_version: 4
|
|
74
72
|
summary: Ruby SDK for Avatax Address Web Services
|
data/Avatax Ruby SDK Guide.docx
DELETED
|
Binary file
|
data/lib/addressservice_prd.wsdl
DELETED
|
@@ -1,290 +0,0 @@
|
|
|
1
|
-
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://avatax.avalara.com/services" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://avatax.avalara.com/services">
|
|
2
|
-
<wsdl:types>
|
|
3
|
-
<s:schema elementFormDefault="qualified" targetNamespace="http://avatax.avalara.com/services">
|
|
4
|
-
<s:element name="Validate">
|
|
5
|
-
<s:complexType>
|
|
6
|
-
<s:sequence>
|
|
7
|
-
<s:element minOccurs="0" maxOccurs="1" name="ValidateRequest" type="tns:ValidateRequest"/>
|
|
8
|
-
</s:sequence>
|
|
9
|
-
</s:complexType>
|
|
10
|
-
</s:element>
|
|
11
|
-
<s:complexType name="ValidateRequest">
|
|
12
|
-
<s:sequence>
|
|
13
|
-
<s:element minOccurs="0" maxOccurs="1" name="Address" type="tns:BaseAddress"/>
|
|
14
|
-
<s:element minOccurs="1" maxOccurs="1" name="TextCase" type="tns:TextCase"/>
|
|
15
|
-
<s:element minOccurs="1" maxOccurs="1" name="Coordinates" type="s:boolean"/>
|
|
16
|
-
<s:element minOccurs="1" maxOccurs="1" name="Taxability" type="s:boolean"/>
|
|
17
|
-
<s:element minOccurs="1" maxOccurs="1" name="Date" type="s:date"/>
|
|
18
|
-
</s:sequence>
|
|
19
|
-
</s:complexType>
|
|
20
|
-
<s:complexType name="BaseAddress">
|
|
21
|
-
<s:sequence>
|
|
22
|
-
<s:element minOccurs="0" maxOccurs="1" name="AddressCode" type="s:string"/>
|
|
23
|
-
<s:element minOccurs="0" maxOccurs="1" name="Line1" type="s:string"/>
|
|
24
|
-
<s:element minOccurs="0" maxOccurs="1" name="Line2" type="s:string"/>
|
|
25
|
-
<s:element minOccurs="0" maxOccurs="1" name="Line3" type="s:string"/>
|
|
26
|
-
<s:element minOccurs="0" maxOccurs="1" name="City" type="s:string"/>
|
|
27
|
-
<s:element minOccurs="0" maxOccurs="1" name="Region" type="s:string"/>
|
|
28
|
-
<s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string"/>
|
|
29
|
-
<s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string"/>
|
|
30
|
-
<s:element minOccurs="1" maxOccurs="1" name="TaxRegionId" type="s:int"/>
|
|
31
|
-
<s:element minOccurs="0" maxOccurs="1" name="Latitude" type="s:string"/>
|
|
32
|
-
<s:element minOccurs="0" maxOccurs="1" name="Longitude" type="s:string"/>
|
|
33
|
-
</s:sequence>
|
|
34
|
-
</s:complexType>
|
|
35
|
-
<s:complexType name="ValidAddress">
|
|
36
|
-
<s:complexContent mixed="false">
|
|
37
|
-
<s:extension base="tns:BaseAddress">
|
|
38
|
-
<s:sequence>
|
|
39
|
-
<s:element minOccurs="0" maxOccurs="1" name="Line4" type="s:string"/>
|
|
40
|
-
<s:element minOccurs="0" maxOccurs="1" name="County" type="s:string"/>
|
|
41
|
-
<s:element minOccurs="0" maxOccurs="1" name="FipsCode" type="s:string"/>
|
|
42
|
-
<s:element minOccurs="0" maxOccurs="1" name="CarrierRoute" type="s:string"/>
|
|
43
|
-
<s:element minOccurs="0" maxOccurs="1" name="PostNet" type="s:string"/>
|
|
44
|
-
<s:element minOccurs="0" maxOccurs="1" name="AddressType" type="s:string"/>
|
|
45
|
-
<s:element minOccurs="0" maxOccurs="1" name="ValidateStatus" type="s:string"/>
|
|
46
|
-
<s:element minOccurs="0" maxOccurs="1" name="GeocodeType" type="s:string"/>
|
|
47
|
-
</s:sequence>
|
|
48
|
-
</s:extension>
|
|
49
|
-
</s:complexContent>
|
|
50
|
-
</s:complexType>
|
|
51
|
-
<s:simpleType name="TextCase">
|
|
52
|
-
<s:restriction base="s:string">
|
|
53
|
-
<s:enumeration value="Default"/>
|
|
54
|
-
<s:enumeration value="Upper"/>
|
|
55
|
-
<s:enumeration value="Mixed"/>
|
|
56
|
-
</s:restriction>
|
|
57
|
-
</s:simpleType>
|
|
58
|
-
<s:element name="ValidateResponse">
|
|
59
|
-
<s:complexType>
|
|
60
|
-
<s:sequence>
|
|
61
|
-
<s:element minOccurs="0" maxOccurs="1" name="ValidateResult" type="tns:ValidateResult"/>
|
|
62
|
-
</s:sequence>
|
|
63
|
-
</s:complexType>
|
|
64
|
-
</s:element>
|
|
65
|
-
<s:complexType name="ValidateResult">
|
|
66
|
-
<s:complexContent mixed="false">
|
|
67
|
-
<s:extension base="tns:BaseResult">
|
|
68
|
-
<s:sequence>
|
|
69
|
-
<s:element minOccurs="0" maxOccurs="1" name="ValidAddresses" type="tns:ArrayOfValidAddress"/>
|
|
70
|
-
<s:element minOccurs="1" maxOccurs="1" name="Taxable" type="s:boolean"/>
|
|
71
|
-
</s:sequence>
|
|
72
|
-
</s:extension>
|
|
73
|
-
</s:complexContent>
|
|
74
|
-
</s:complexType>
|
|
75
|
-
<s:complexType name="BaseResult">
|
|
76
|
-
<s:sequence>
|
|
77
|
-
<s:element minOccurs="0" maxOccurs="1" name="TransactionId" type="s:string"/>
|
|
78
|
-
<s:element minOccurs="1" maxOccurs="1" name="ResultCode" type="tns:SeverityLevel"/>
|
|
79
|
-
<s:element minOccurs="0" maxOccurs="1" name="Messages" type="tns:ArrayOfMessage"/>
|
|
80
|
-
</s:sequence>
|
|
81
|
-
</s:complexType>
|
|
82
|
-
<s:simpleType name="SeverityLevel">
|
|
83
|
-
<s:restriction base="s:string">
|
|
84
|
-
<s:enumeration value="Success"/>
|
|
85
|
-
<s:enumeration value="Warning"/>
|
|
86
|
-
<s:enumeration value="Error"/>
|
|
87
|
-
<s:enumeration value="Exception"/>
|
|
88
|
-
</s:restriction>
|
|
89
|
-
</s:simpleType>
|
|
90
|
-
<s:complexType name="ArrayOfMessage">
|
|
91
|
-
<s:sequence>
|
|
92
|
-
<s:element minOccurs="0" maxOccurs="unbounded" name="Message" nillable="true" type="tns:Message"/>
|
|
93
|
-
</s:sequence>
|
|
94
|
-
</s:complexType>
|
|
95
|
-
<s:complexType name="Message">
|
|
96
|
-
<s:sequence>
|
|
97
|
-
<s:element minOccurs="0" maxOccurs="1" name="Summary" type="s:string"/>
|
|
98
|
-
<s:element minOccurs="0" maxOccurs="1" name="Details" type="s:string"/>
|
|
99
|
-
<s:element minOccurs="0" maxOccurs="1" name="HelpLink" type="s:string"/>
|
|
100
|
-
<s:element minOccurs="0" maxOccurs="1" name="RefersTo" type="s:string"/>
|
|
101
|
-
<s:element minOccurs="1" maxOccurs="1" name="Severity" type="tns:SeverityLevel"/>
|
|
102
|
-
<s:element minOccurs="0" maxOccurs="1" name="Source" type="s:string"/>
|
|
103
|
-
</s:sequence>
|
|
104
|
-
<s:attribute name="Name" type="s:string"/>
|
|
105
|
-
</s:complexType>
|
|
106
|
-
<s:complexType name="ArrayOfValidAddress">
|
|
107
|
-
<s:sequence>
|
|
108
|
-
<s:element minOccurs="0" maxOccurs="unbounded" name="ValidAddress" nillable="true" type="tns:ValidAddress"/>
|
|
109
|
-
</s:sequence>
|
|
110
|
-
</s:complexType>
|
|
111
|
-
<s:element name="Profile" type="tns:Profile"/>
|
|
112
|
-
<s:complexType name="Profile">
|
|
113
|
-
<s:sequence>
|
|
114
|
-
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string"/>
|
|
115
|
-
<s:element minOccurs="0" maxOccurs="1" name="Client" type="s:string"/>
|
|
116
|
-
<s:element minOccurs="0" maxOccurs="1" name="Adapter" type="s:string"/>
|
|
117
|
-
<s:element minOccurs="0" maxOccurs="1" name="Machine" type="s:string"/>
|
|
118
|
-
</s:sequence>
|
|
119
|
-
<s:anyAttribute/>
|
|
120
|
-
</s:complexType>
|
|
121
|
-
<s:element name="Ping">
|
|
122
|
-
<s:complexType>
|
|
123
|
-
<s:sequence>
|
|
124
|
-
<s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string"/>
|
|
125
|
-
</s:sequence>
|
|
126
|
-
</s:complexType>
|
|
127
|
-
</s:element>
|
|
128
|
-
<s:element name="PingResponse">
|
|
129
|
-
<s:complexType>
|
|
130
|
-
<s:sequence>
|
|
131
|
-
<s:element minOccurs="0" maxOccurs="1" name="PingResult" type="tns:PingResult"/>
|
|
132
|
-
</s:sequence>
|
|
133
|
-
</s:complexType>
|
|
134
|
-
</s:element>
|
|
135
|
-
<s:complexType name="PingResult">
|
|
136
|
-
<s:complexContent mixed="false">
|
|
137
|
-
<s:extension base="tns:BaseResult">
|
|
138
|
-
<s:sequence>
|
|
139
|
-
<s:element minOccurs="0" maxOccurs="1" name="Version" type="s:string"/>
|
|
140
|
-
</s:sequence>
|
|
141
|
-
</s:extension>
|
|
142
|
-
</s:complexContent>
|
|
143
|
-
</s:complexType>
|
|
144
|
-
<s:element name="IsAuthorized">
|
|
145
|
-
<s:complexType>
|
|
146
|
-
<s:sequence>
|
|
147
|
-
<s:element minOccurs="0" maxOccurs="1" name="Operations" type="s:string"/>
|
|
148
|
-
</s:sequence>
|
|
149
|
-
</s:complexType>
|
|
150
|
-
</s:element>
|
|
151
|
-
<s:element name="IsAuthorizedResponse">
|
|
152
|
-
<s:complexType>
|
|
153
|
-
<s:sequence>
|
|
154
|
-
<s:element minOccurs="0" maxOccurs="1" name="IsAuthorizedResult" type="tns:IsAuthorizedResult"/>
|
|
155
|
-
</s:sequence>
|
|
156
|
-
</s:complexType>
|
|
157
|
-
</s:element>
|
|
158
|
-
<s:complexType name="IsAuthorizedResult">
|
|
159
|
-
<s:complexContent mixed="false">
|
|
160
|
-
<s:extension base="tns:BaseResult">
|
|
161
|
-
<s:sequence>
|
|
162
|
-
<s:element minOccurs="0" maxOccurs="1" name="Operations" type="s:string"/>
|
|
163
|
-
<s:element minOccurs="1" maxOccurs="1" name="Expires" type="s:dateTime"/>
|
|
164
|
-
</s:sequence>
|
|
165
|
-
</s:extension>
|
|
166
|
-
</s:complexContent>
|
|
167
|
-
</s:complexType>
|
|
168
|
-
</s:schema>
|
|
169
|
-
</wsdl:types>
|
|
170
|
-
<wsdl:message name="ValidateSoapIn">
|
|
171
|
-
<wsdl:part name="parameters" element="tns:Validate"/>
|
|
172
|
-
</wsdl:message>
|
|
173
|
-
<wsdl:message name="ValidateSoapOut">
|
|
174
|
-
<wsdl:part name="parameters" element="tns:ValidateResponse"/>
|
|
175
|
-
</wsdl:message>
|
|
176
|
-
<wsdl:message name="ValidateProfile">
|
|
177
|
-
<wsdl:part name="Profile" element="tns:Profile"/>
|
|
178
|
-
</wsdl:message>
|
|
179
|
-
<wsdl:message name="PingSoapIn">
|
|
180
|
-
<wsdl:part name="parameters" element="tns:Ping"/>
|
|
181
|
-
</wsdl:message>
|
|
182
|
-
<wsdl:message name="PingSoapOut">
|
|
183
|
-
<wsdl:part name="parameters" element="tns:PingResponse"/>
|
|
184
|
-
</wsdl:message>
|
|
185
|
-
<wsdl:message name="PingProfile">
|
|
186
|
-
<wsdl:part name="Profile" element="tns:Profile"/>
|
|
187
|
-
</wsdl:message>
|
|
188
|
-
<wsdl:message name="IsAuthorizedSoapIn">
|
|
189
|
-
<wsdl:part name="parameters" element="tns:IsAuthorized"/>
|
|
190
|
-
</wsdl:message>
|
|
191
|
-
<wsdl:message name="IsAuthorizedSoapOut">
|
|
192
|
-
<wsdl:part name="parameters" element="tns:IsAuthorizedResponse"/>
|
|
193
|
-
</wsdl:message>
|
|
194
|
-
<wsdl:message name="IsAuthorizedProfile">
|
|
195
|
-
<wsdl:part name="Profile" element="tns:Profile"/>
|
|
196
|
-
</wsdl:message>
|
|
197
|
-
<wsdl:portType name="AddressSvcSoap">
|
|
198
|
-
<wsdl:operation name="Validate">
|
|
199
|
-
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Validate an Address</wsdl:documentation>
|
|
200
|
-
<wsdl:input message="tns:ValidateSoapIn"/>
|
|
201
|
-
<wsdl:output message="tns:ValidateSoapOut"/>
|
|
202
|
-
</wsdl:operation>
|
|
203
|
-
<wsdl:operation name="Ping">
|
|
204
|
-
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Tests connectivity and version of the service</wsdl:documentation>
|
|
205
|
-
<wsdl:input message="tns:PingSoapIn"/>
|
|
206
|
-
<wsdl:output message="tns:PingSoapOut"/>
|
|
207
|
-
</wsdl:operation>
|
|
208
|
-
<wsdl:operation name="IsAuthorized">
|
|
209
|
-
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
|
210
|
-
Checks authentication and authorization to one or more operations on the service.
|
|
211
|
-
</wsdl:documentation>
|
|
212
|
-
<wsdl:input message="tns:IsAuthorizedSoapIn"/>
|
|
213
|
-
<wsdl:output message="tns:IsAuthorizedSoapOut"/>
|
|
214
|
-
</wsdl:operation>
|
|
215
|
-
</wsdl:portType>
|
|
216
|
-
<wsdl:binding name="AddressSvcSoap" type="tns:AddressSvcSoap">
|
|
217
|
-
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
|
|
218
|
-
<wsdl:operation name="Validate">
|
|
219
|
-
<soap:operation soapAction="http://avatax.avalara.com/services/Validate" style="document"/>
|
|
220
|
-
<wsdl:input>
|
|
221
|
-
<soap:body use="literal"/>
|
|
222
|
-
<soap:header message="tns:ValidateProfile" part="Profile" use="literal"/>
|
|
223
|
-
</wsdl:input>
|
|
224
|
-
<wsdl:output>
|
|
225
|
-
<soap:body use="literal"/>
|
|
226
|
-
</wsdl:output>
|
|
227
|
-
</wsdl:operation>
|
|
228
|
-
<wsdl:operation name="Ping">
|
|
229
|
-
<soap:operation soapAction="http://avatax.avalara.com/services/Ping" style="document"/>
|
|
230
|
-
<wsdl:input>
|
|
231
|
-
<soap:body use="literal"/>
|
|
232
|
-
<soap:header message="tns:PingProfile" part="Profile" use="literal"/>
|
|
233
|
-
</wsdl:input>
|
|
234
|
-
<wsdl:output>
|
|
235
|
-
<soap:body use="literal"/>
|
|
236
|
-
</wsdl:output>
|
|
237
|
-
</wsdl:operation>
|
|
238
|
-
<wsdl:operation name="IsAuthorized">
|
|
239
|
-
<soap:operation soapAction="http://avatax.avalara.com/services/IsAuthorized" style="document"/>
|
|
240
|
-
<wsdl:input>
|
|
241
|
-
<soap:body use="literal"/>
|
|
242
|
-
<soap:header message="tns:IsAuthorizedProfile" part="Profile" use="literal"/>
|
|
243
|
-
</wsdl:input>
|
|
244
|
-
<wsdl:output>
|
|
245
|
-
<soap:body use="literal"/>
|
|
246
|
-
</wsdl:output>
|
|
247
|
-
</wsdl:operation>
|
|
248
|
-
</wsdl:binding>
|
|
249
|
-
<wsdl:binding name="AddressSvcSoap12" type="tns:AddressSvcSoap">
|
|
250
|
-
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
|
|
251
|
-
<wsdl:operation name="Validate">
|
|
252
|
-
<soap12:operation soapAction="http://avatax.avalara.com/services/Validate" style="document"/>
|
|
253
|
-
<wsdl:input>
|
|
254
|
-
<soap12:body use="literal"/>
|
|
255
|
-
<soap12:header message="tns:ValidateProfile" part="Profile" use="literal"/>
|
|
256
|
-
</wsdl:input>
|
|
257
|
-
<wsdl:output>
|
|
258
|
-
<soap12:body use="literal"/>
|
|
259
|
-
</wsdl:output>
|
|
260
|
-
</wsdl:operation>
|
|
261
|
-
<wsdl:operation name="Ping">
|
|
262
|
-
<soap12:operation soapAction="http://avatax.avalara.com/services/Ping" style="document"/>
|
|
263
|
-
<wsdl:input>
|
|
264
|
-
<soap12:body use="literal"/>
|
|
265
|
-
<soap12:header message="tns:PingProfile" part="Profile" use="literal"/>
|
|
266
|
-
</wsdl:input>
|
|
267
|
-
<wsdl:output>
|
|
268
|
-
<soap12:body use="literal"/>
|
|
269
|
-
</wsdl:output>
|
|
270
|
-
</wsdl:operation>
|
|
271
|
-
<wsdl:operation name="IsAuthorized">
|
|
272
|
-
<soap12:operation soapAction="http://avatax.avalara.com/services/IsAuthorized" style="document"/>
|
|
273
|
-
<wsdl:input>
|
|
274
|
-
<soap12:body use="literal"/>
|
|
275
|
-
<soap12:header message="tns:IsAuthorizedProfile" part="Profile" use="literal"/>
|
|
276
|
-
</wsdl:input>
|
|
277
|
-
<wsdl:output>
|
|
278
|
-
<soap12:body use="literal"/>
|
|
279
|
-
</wsdl:output>
|
|
280
|
-
</wsdl:operation>
|
|
281
|
-
</wsdl:binding>
|
|
282
|
-
<wsdl:service name="AddressSvc">
|
|
283
|
-
<wsdl:port name="AddressSvcSoap" binding="tns:AddressSvcSoap">
|
|
284
|
-
<soap:address location="https://avatax.avalara.net/Address/AddressSvc.asmx"/>
|
|
285
|
-
</wsdl:port>
|
|
286
|
-
<wsdl:port name="AddressSvcSoap12" binding="tns:AddressSvcSoap12">
|
|
287
|
-
<soap12:address location="https://avatax.avalara.net/Address/AddressSvc.asmx"/>
|
|
288
|
-
</wsdl:port>
|
|
289
|
-
</wsdl:service>
|
|
290
|
-
</wsdl:definitions>
|