flowcommerce 0.2.80 → 0.2.87

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c15848ac0c9fda083a1e8b1fbf823292a05e35543a26d4badc1bdee9372fa264
4
- data.tar.gz: 245f87a1fae87cb21a6c2669d109eda64669eaf8343b465b924e81b74b3a0df3
3
+ metadata.gz: f4f09a9394c37c46d0920cf85937ec7c1461c0e80edde6b6d28f6128f612d6a5
4
+ data.tar.gz: ed48759a85e97d8aee99fc152c220e04f7f2eff7847f955737114a528340a4ce
5
5
  SHA512:
6
- metadata.gz: 35b9f5a72493d0f3e5fe34839acb03a5894aebd63660c13095974c100cf78fb8a3dd70c23501cfbcb87ad9d13e105397b2ba24dcef083a974cf24fcd70005451
7
- data.tar.gz: 01ade8ed9b9cc798d402291a9d5530e7173c3bf96fc1fd19e3d3c8ffc8b70bc4756a69587b9ae7db0ce4308602c0375e8c6ee07fa8f5d2b691dd67b5113e1b01
6
+ metadata.gz: 704b4df67ee004259b25fa763fbfeae4523285435ce478023e51a2f54c194eeebcd528c5d4df1dd97cc87340c2294dab41d543321e4067934d5f987bca659031
7
+ data.tar.gz: 45e805bd254c6f997b2cf2f52fbef624777f2f325d0ca674cd8f25833857986ce5e63ea6c169ab09463526be6e6f238978c07f829225d28c78ce4f3bb4f05110
@@ -1,6 +1,6 @@
1
1
  # Generated by API Builder - https://www.apibuilder.io
2
- # Service version: 0.9.10
3
- # apibuilder 0.15.6 app.apibuilder.io/flow/api/latest/ruby_client
2
+ # Service version: 0.9.76
3
+ # apibuilder 0.15.11 app.apibuilder.io/flow/api/latest/ruby_client
4
4
 
5
5
  require 'cgi'
6
6
  require 'net/http'
@@ -25,8 +25,8 @@ module Io
25
25
 
26
26
  BASE_URL = 'https://api.flow.io' unless defined?(Constants::BASE_URL)
27
27
  NAMESPACE = 'io.flow.v0' unless defined?(Constants::NAMESPACE)
28
- USER_AGENT = 'apibuilder 0.15.6 app.apibuilder.io/flow/api/latest/ruby_client' unless defined?(Constants::USER_AGENT)
29
- VERSION = '0.9.10' unless defined?(Constants::VERSION)
28
+ USER_AGENT = 'apibuilder 0.15.11 app.apibuilder.io/flow/api/latest/ruby_client' unless defined?(Constants::USER_AGENT)
29
+ VERSION = '0.9.76' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
32
32
  end
@@ -612,6 +612,22 @@ module Io
612
612
  @suggestions ||= ::Io::Flow::V0::Clients::Suggestions.new(self)
613
613
  end
614
614
 
615
+ def sync_pending_records
616
+ @sync_pending_records ||= ::Io::Flow::V0::Clients::SyncPendingRecords.new(self)
617
+ end
618
+
619
+ def sync_records
620
+ @sync_records ||= ::Io::Flow::V0::Clients::SyncRecords.new(self)
621
+ end
622
+
623
+ def sync_record_failures
624
+ @sync_record_failures ||= ::Io::Flow::V0::Clients::SyncRecordFailures.new(self)
625
+ end
626
+
627
+ def sync_streams
628
+ @sync_streams ||= ::Io::Flow::V0::Clients::SyncStreams.new(self)
629
+ end
630
+
615
631
  def tax_settings
616
632
  @tax_settings ||= ::Io::Flow::V0::Clients::TaxSettings.new(self)
617
633
  end
@@ -646,7 +662,8 @@ module Io
646
662
  HttpClient::Preconditions.assert_class('organization', organization, String)
647
663
  opts = HttpClient::Helper.symbolize_keys(incoming)
648
664
  query = {
649
- :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, Array).map { |v| HttpClient::Preconditions.assert_class('country', v, String) })
665
+ :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, Array).map { |v| HttpClient::Preconditions.assert_class('country', v, String) }),
666
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
650
667
  }.delete_if { |k, v| v.nil? }
651
668
  r = @client.request("/#{CGI.escape(organization)}/address/configurations").with_query(query).get
652
669
  r.map { |x| ::Io::Flow::V0::Models::AddressConfiguration.new(x) }
@@ -913,7 +930,8 @@ module Io
913
930
  HttpClient::Preconditions.assert_class('organization', organization, String)
914
931
  opts = HttpClient::Helper.symbolize_keys(incoming)
915
932
  query = {
916
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
933
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
934
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
917
935
  }.delete_if { |k, v| v.nil? }
918
936
  (x = credit_payment_form; x.is_a?(::Io::Flow::V0::Models::CreditPaymentForm) ? x : ::Io::Flow::V0::Models::CreditPaymentForm.new(x))
919
937
  r = @client.request("/#{CGI.escape(organization)}/credit/payments").with_query(query).with_json(credit_payment_form.to_json).post
@@ -950,17 +968,22 @@ module Io
950
968
  HttpClient::Preconditions.assert_class('key', key, String)
951
969
  opts = HttpClient::Helper.symbolize_keys(incoming)
952
970
  query = {
953
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
971
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
972
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
954
973
  }.delete_if { |k, v| v.nil? }
955
974
  (x = credit_payment_form; x.is_a?(::Io::Flow::V0::Models::CreditPaymentForm) ? x : ::Io::Flow::V0::Models::CreditPaymentForm.new(x))
956
975
  r = @client.request("/#{CGI.escape(organization)}/credit/payments/#{CGI.escape(key)}").with_query(query).with_json(credit_payment_form.to_json).put
957
976
  ::Io::Flow::V0::Models::CreditPayment.new(r)
958
977
  end
959
978
 
960
- def delete_by_key(organization, key)
979
+ def delete_by_key(organization, key, incoming={})
961
980
  HttpClient::Preconditions.assert_class('organization', organization, String)
962
981
  HttpClient::Preconditions.assert_class('key', key, String)
963
- r = @client.request("/#{CGI.escape(organization)}/credit/payments/#{CGI.escape(key)}").delete
982
+ opts = HttpClient::Helper.symbolize_keys(incoming)
983
+ query = {
984
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
985
+ }.delete_if { |k, v| v.nil? }
986
+ r = @client.request("/#{CGI.escape(organization)}/credit/payments/#{CGI.escape(key)}").with_query(query).delete
964
987
  nil
965
988
  end
966
989
 
@@ -1038,6 +1061,7 @@ module Io
1038
1061
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1039
1062
  :status => (x = opts.delete(:status); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExperienceStatus) ? x : ::Io::Flow::V0::Models::ExperienceStatus.apply(x)).value),
1040
1063
  :shipping_configuration_key => (x = opts.delete(:shipping_configuration_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('shipping_configuration_key', x, String)),
1064
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
1041
1065
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1042
1066
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1043
1067
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "position" : x), String)
@@ -1065,7 +1089,8 @@ module Io
1065
1089
  :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
1066
1090
  :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
1067
1091
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1068
- :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
1092
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1093
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1069
1094
  }.delete_if { |k, v| v.nil? }
1070
1095
  r = @client.request("/#{CGI.escape(organization)}/experiences/conversions/#{CGI.escape(base)}/#{CGI.escape(amount)}").with_query(query).get
1071
1096
  ::Io::Flow::V0::Models::PriceWithBase.new(r)
@@ -1085,6 +1110,7 @@ module Io
1085
1110
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1086
1111
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1087
1112
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1113
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
1088
1114
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1089
1115
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1090
1116
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
@@ -1103,7 +1129,8 @@ module Io
1103
1129
  :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
1104
1130
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1105
1131
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1106
- :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String))
1132
+ :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1133
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1107
1134
  }.delete_if { |k, v| v.nil? }
1108
1135
  r = @client.request("/#{CGI.escape(organization)}/experiences/items/#{CGI.escape(number)}").with_query(query).get
1109
1136
  ::Io::Flow::V0::Models::Item.new(r)
@@ -1155,7 +1182,8 @@ module Io
1155
1182
  opts = HttpClient::Helper.symbolize_keys(incoming)
1156
1183
  query = {
1157
1184
  :q => (x = opts.delete(:q); x.nil? ? nil : HttpClient::Preconditions.assert_class('q', x, String)),
1158
- :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
1185
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1186
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1159
1187
  }.delete_if { |k, v| v.nil? }
1160
1188
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/local/items").with_query(query).get
1161
1189
  r.map { |x| ::Io::Flow::V0::Models::LocalItem.new(x) }
@@ -1376,7 +1404,8 @@ module Io
1376
1404
  :ship_from_province => (x = opts.delete(:ship_from_province); x.nil? ? nil : HttpClient::Preconditions.assert_class('ship_from_province', x, String)),
1377
1405
  :ship_to_country => (x = opts.delete(:ship_to_country); x.nil? ? nil : HttpClient::Preconditions.assert_class('ship_to_country', x, String)),
1378
1406
  :ship_to_province => (x = opts.delete(:ship_to_province); x.nil? ? nil : HttpClient::Preconditions.assert_class('ship_to_province', x, String)),
1379
- :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
1407
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1408
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1380
1409
  }.delete_if { |k, v| v.nil? }
1381
1410
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/items/#{CGI.escape(number)}/price").with_query(query).get
1382
1411
  ::Io::Flow::V0::Models::PriceCheck.new(r)
@@ -1391,11 +1420,15 @@ module Io
1391
1420
  end
1392
1421
 
1393
1422
  # Update the pricing settings for this experience
1394
- def put_pricing_by_key(organization, key, pricing)
1423
+ def put_pricing_by_key(organization, key, pricing, incoming={})
1395
1424
  HttpClient::Preconditions.assert_class('organization', organization, String)
1396
1425
  HttpClient::Preconditions.assert_class('key', key, String)
1426
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1427
+ query = {
1428
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1429
+ }.delete_if { |k, v| v.nil? }
1397
1430
  (x = pricing; x.is_a?(::Io::Flow::V0::Models::Pricing) ? x : ::Io::Flow::V0::Models::Pricing.new(x))
1398
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/pricing").with_json(pricing.to_json).put
1431
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/pricing").with_query(query).with_json(pricing.to_json).put
1399
1432
  ::Io::Flow::V0::Models::Pricing.new(r)
1400
1433
  end
1401
1434
 
@@ -1714,7 +1747,8 @@ module Io
1714
1747
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1715
1748
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1716
1749
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1717
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
1750
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
1751
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1718
1752
  }.delete_if { |k, v| v.nil? }
1719
1753
  (x = order_form; x.is_a?(::Io::Flow::V0::Models::OrderForm) ? x : ::Io::Flow::V0::Models::OrderForm.new(x))
1720
1754
  r = @client.request("/#{CGI.escape(organization)}/orders").with_query(query).with_json(order_form.to_json).post
@@ -1743,7 +1777,10 @@ module Io
1743
1777
  opts = HttpClient::Helper.symbolize_keys(incoming)
1744
1778
  query = {
1745
1779
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1746
- :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String))
1780
+ :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
1781
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1782
+ :show_selections_only => (x = opts.delete(:show_selections_only); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('show_selections_only', x)),
1783
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1747
1784
  }.delete_if { |k, v| v.nil? }
1748
1785
  (x = order_with_discounts_form; x.is_a?(::Io::Flow::V0::Models::OrderWithDiscountsForm) ? x : ::Io::Flow::V0::Models::OrderWithDiscountsForm.new(x))
1749
1786
  r = @client.request("/#{CGI.escape(organization)}/orders/submissions").with_query(query).with_json(order_with_discounts_form.to_json).post
@@ -1793,7 +1830,8 @@ module Io
1793
1830
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1794
1831
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1795
1832
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1796
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
1833
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
1834
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1797
1835
  }.delete_if { |k, v| v.nil? }
1798
1836
  (x = order_put_form; x.is_a?(::Io::Flow::V0::Models::OrderPutForm) ? x : ::Io::Flow::V0::Models::OrderPutForm.new(x))
1799
1837
  r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}").with_query(query).with_json(order_put_form.to_json).put
@@ -1824,7 +1862,8 @@ module Io
1824
1862
  HttpClient::Preconditions.assert_class('number', number, String)
1825
1863
  opts = HttpClient::Helper.symbolize_keys(incoming)
1826
1864
  query = {
1827
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
1865
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1866
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1828
1867
  }.delete_if { |k, v| v.nil? }
1829
1868
  (x = authorization_form; x.is_a?(::Io::Flow::V0::Models::AuthorizationForm) ? x : ::Io::Flow::V0::Models::AuthorizationForm.from_json(x))
1830
1869
  r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/authorizations").with_query(query).with_json(authorization_form.to_json).post
@@ -1832,21 +1871,38 @@ module Io
1832
1871
  end
1833
1872
 
1834
1873
  # Updates an order's destination address
1835
- def put_destination_by_number(organization, number, order_destination_put_form)
1874
+ def put_destination_by_number(organization, number, order_destination_put_form, incoming={})
1836
1875
  HttpClient::Preconditions.assert_class('organization', organization, String)
1837
1876
  HttpClient::Preconditions.assert_class('number', number, String)
1877
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1878
+ query = {
1879
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1880
+ }.delete_if { |k, v| v.nil? }
1838
1881
  (x = order_destination_put_form; x.is_a?(::Io::Flow::V0::Models::OrderDestinationPutForm) ? x : ::Io::Flow::V0::Models::OrderDestinationPutForm.new(x))
1839
- r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/destination").with_json(order_destination_put_form.to_json).put
1882
+ r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/destination").with_query(query).with_json(order_destination_put_form.to_json).put
1840
1883
  ::Io::Flow::V0::Models::Order.new(r)
1841
1884
  end
1842
1885
 
1843
- def put_inventory_and_reservations_by_number(organization, number)
1886
+ def put_inventory_and_reservations_by_number(organization, number, incoming={})
1844
1887
  HttpClient::Preconditions.assert_class('organization', organization, String)
1845
1888
  HttpClient::Preconditions.assert_class('number', number, String)
1846
- r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/inventory/reservations").put
1889
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1890
+ query = {
1891
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1892
+ }.delete_if { |k, v| v.nil? }
1893
+ r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/inventory/reservations").with_query(query).put
1847
1894
  ::Io::Flow::V0::Models::Reservation.new(r)
1848
1895
  end
1849
1896
 
1897
+ # Creates an order payment by applying the authorization to the order.
1898
+ def post_payments_by_number(organization, number, authorization)
1899
+ HttpClient::Preconditions.assert_class('organization', organization, String)
1900
+ HttpClient::Preconditions.assert_class('number', number, String)
1901
+ (x = authorization; x.is_a?(::Io::Flow::V0::Models::Authorization) ? x : ::Io::Flow::V0::Models::Authorization.from_json(x))
1902
+ r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/payments").with_json(authorization.to_json).post
1903
+ ::Io::Flow::V0::Models::Order.new(r)
1904
+ end
1905
+
1850
1906
  # Creates a free shipping promotion for this order, automatically applying it
1851
1907
  # to the order if the order meets the defined promotion trigger.
1852
1908
  def put_promotions_and_free_shipping_by_number_and_key(organization, number, key, free_shipping_order_promotion_form, incoming={})
@@ -1855,7 +1911,8 @@ module Io
1855
1911
  HttpClient::Preconditions.assert_class('key', key, String)
1856
1912
  opts = HttpClient::Helper.symbolize_keys(incoming)
1857
1913
  query = {
1858
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
1914
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1915
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1859
1916
  }.delete_if { |k, v| v.nil? }
1860
1917
  (x = free_shipping_order_promotion_form; x.is_a?(::Io::Flow::V0::Models::FreeShippingOrderPromotionForm) ? x : ::Io::Flow::V0::Models::FreeShippingOrderPromotionForm.new(x))
1861
1918
  r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/promotions/#{CGI.escape(key)}/free_shipping").with_query(query).with_json(free_shipping_order_promotion_form.to_json).put
@@ -1879,7 +1936,8 @@ module Io
1879
1936
  HttpClient::Preconditions.assert_class('number', number, String)
1880
1937
  opts = HttpClient::Helper.symbolize_keys(incoming)
1881
1938
  query = {
1882
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
1939
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1940
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1883
1941
  }.delete_if { |k, v| v.nil? }
1884
1942
  (x = order_submission_form; x.is_a?(::Io::Flow::V0::Models::OrderSubmissionForm) ? x : ::Io::Flow::V0::Models::OrderSubmissionForm.new(x))
1885
1943
  r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/submissions").with_query(query).with_json(order_submission_form.to_json).put
@@ -1888,11 +1946,15 @@ module Io
1888
1946
 
1889
1947
  # Validates a tax registration number, proxying to underlying services and
1890
1948
  # recording the result on the order.
1891
- def put_tax_and_registration_by_number(organization, number, tax_registration_form)
1949
+ def put_tax_and_registration_by_number(organization, number, tax_registration_form, incoming={})
1892
1950
  HttpClient::Preconditions.assert_class('organization', organization, String)
1893
1951
  HttpClient::Preconditions.assert_class('number', number, String)
1952
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1953
+ query = {
1954
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1955
+ }.delete_if { |k, v| v.nil? }
1894
1956
  (x = tax_registration_form; x.is_a?(::Io::Flow::V0::Models::TaxRegistrationForm) ? x : ::Io::Flow::V0::Models::TaxRegistrationForm.new(x))
1895
- r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/tax/registration").with_json(tax_registration_form.to_json).put
1957
+ r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/tax/registration").with_query(query).with_json(tax_registration_form.to_json).put
1896
1958
  ::Io::Flow::V0::Models::TaxRegistration.new(r)
1897
1959
  end
1898
1960
 
@@ -1937,7 +1999,8 @@ module Io
1937
1999
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1938
2000
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1939
2001
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1940
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2002
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2003
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1941
2004
  }.delete_if { |k, v| v.nil? }
1942
2005
  (x = order_put_form; x.is_a?(::Io::Flow::V0::Models::OrderPutForm) ? x : ::Io::Flow::V0::Models::OrderPutForm.new(x))
1943
2006
  r = @client.request("/#{CGI.escape(organization)}/order/builders").with_query(query).with_json(order_put_form.to_json).post
@@ -1954,7 +2017,8 @@ module Io
1954
2017
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1955
2018
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1956
2019
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1957
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2020
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2021
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1958
2022
  }.delete_if { |k, v| v.nil? }
1959
2023
  (x = order_put_form; x.is_a?(::Io::Flow::V0::Models::OrderPutForm) ? x : ::Io::Flow::V0::Models::OrderPutForm.new(x))
1960
2024
  r = @client.request("/#{CGI.escape(organization)}/order/builders/carts/#{CGI.escape(number)}").with_query(query).with_json(order_put_form.to_json).put
@@ -1985,7 +2049,8 @@ module Io
1985
2049
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1986
2050
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1987
2051
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1988
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2052
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2053
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1989
2054
  }.delete_if { |k, v| v.nil? }
1990
2055
  (x = order_put_form; x.is_a?(::Io::Flow::V0::Models::OrderPutForm) ? x : ::Io::Flow::V0::Models::OrderPutForm.new(x))
1991
2056
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}").with_query(query).with_json(order_put_form.to_json).put
@@ -1997,7 +2062,8 @@ module Io
1997
2062
  HttpClient::Preconditions.assert_class('number', number, String)
1998
2063
  opts = HttpClient::Helper.symbolize_keys(incoming)
1999
2064
  query = {
2000
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2065
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2066
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2001
2067
  }.delete_if { |k, v| v.nil? }
2002
2068
  (x = order_builder_attributes_form; x.is_a?(::Io::Flow::V0::Models::OrderBuilderAttributesForm) ? x : ::Io::Flow::V0::Models::OrderBuilderAttributesForm.new(x))
2003
2069
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/attributes").with_query(query).with_json(order_builder_attributes_form.to_json).put
@@ -2009,7 +2075,8 @@ module Io
2009
2075
  HttpClient::Preconditions.assert_class('number', number, String)
2010
2076
  opts = HttpClient::Helper.symbolize_keys(incoming)
2011
2077
  query = {
2012
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2078
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2079
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2013
2080
  }.delete_if { |k, v| v.nil? }
2014
2081
  (x = order_builder_destination_country_form; x.is_a?(::Io::Flow::V0::Models::OrderBuilderDestinationCountryForm) ? x : ::Io::Flow::V0::Models::OrderBuilderDestinationCountryForm.new(x))
2015
2082
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/country").with_query(query).with_json(order_builder_destination_country_form.to_json).put
@@ -2021,7 +2088,8 @@ module Io
2021
2088
  HttpClient::Preconditions.assert_class('number', number, String)
2022
2089
  opts = HttpClient::Helper.symbolize_keys(incoming)
2023
2090
  query = {
2024
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2091
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2092
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2025
2093
  }.delete_if { |k, v| v.nil? }
2026
2094
  (x = order_builder_destination_form; x.is_a?(::Io::Flow::V0::Models::OrderBuilderDestinationForm) ? x : ::Io::Flow::V0::Models::OrderBuilderDestinationForm.new(x))
2027
2095
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/destination").with_query(query).with_json(order_builder_destination_form.to_json).put
@@ -2033,7 +2101,8 @@ module Io
2033
2101
  HttpClient::Preconditions.assert_class('number', number, String)
2034
2102
  opts = HttpClient::Helper.symbolize_keys(incoming)
2035
2103
  query = {
2036
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2104
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2105
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2037
2106
  }.delete_if { |k, v| v.nil? }
2038
2107
  (x = order_builder_delivered_duty_form; x.is_a?(::Io::Flow::V0::Models::OrderBuilderDeliveredDutyForm) ? x : ::Io::Flow::V0::Models::OrderBuilderDeliveredDutyForm.new(x))
2039
2108
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/duty").with_query(query).with_json(order_builder_delivered_duty_form.to_json).put
@@ -2046,13 +2115,71 @@ module Io
2046
2115
  HttpClient::Preconditions.assert_class('number', number, String)
2047
2116
  opts = HttpClient::Helper.symbolize_keys(incoming)
2048
2117
  query = {
2049
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2118
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2119
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2050
2120
  }.delete_if { |k, v| v.nil? }
2051
2121
  (x = order_builder_customer_invoice_address_form; x.is_a?(::Io::Flow::V0::Models::OrderBuilderCustomerInvoiceAddressForm) ? x : ::Io::Flow::V0::Models::OrderBuilderCustomerInvoiceAddressForm.new(x))
2052
2122
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/invoice/address").with_query(query).with_json(order_builder_customer_invoice_address_form.to_json).put
2053
2123
  ::Io::Flow::V0::Models::OrderBuilder.new(r)
2054
2124
  end
2055
2125
 
2126
+ # Adds a line item to the order.
2127
+ def post_lines_by_number(organization, number, line_item_form)
2128
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2129
+ HttpClient::Preconditions.assert_class('number', number, String)
2130
+ (x = line_item_form; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x))
2131
+ r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/lines").with_json(line_item_form.to_json).post
2132
+ ::Io::Flow::V0::Models::Order.new(r)
2133
+ end
2134
+
2135
+ # Replaces all line items in the order.
2136
+ def put_lines_by_number(organization, number, line_item_forms)
2137
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2138
+ HttpClient::Preconditions.assert_class('number', number, String)
2139
+ HttpClient::Preconditions.assert_class('line_item_forms', line_item_forms, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x)) }
2140
+ r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/lines").with_json(line_item_forms.map { |o| o.to_hash }.to_json).put
2141
+ ::Io::Flow::V0::Models::Order.new(r)
2142
+ end
2143
+
2144
+ # Replaces line item in the order specifed by the line item id.
2145
+ def put_lines_by_number_and_id(organization, number, id, line_item_form)
2146
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2147
+ HttpClient::Preconditions.assert_class('number', number, String)
2148
+ HttpClient::Preconditions.assert_class('id', id, String)
2149
+ (x = line_item_form; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x))
2150
+ r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/lines/#{CGI.escape(id)}").with_json(line_item_form.to_json).put
2151
+ ::Io::Flow::V0::Models::Order.new(r)
2152
+ end
2153
+
2154
+ # Deletes line item in the order specifed by the line item id.
2155
+ def delete_lines_by_number_and_id(organization, number, id)
2156
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2157
+ HttpClient::Preconditions.assert_class('number', number, String)
2158
+ HttpClient::Preconditions.assert_class('id', id, String)
2159
+ r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/lines/#{CGI.escape(id)}").delete
2160
+ ::Io::Flow::V0::Models::OrderBuilder.new(r)
2161
+ end
2162
+
2163
+ # Updates line item attributes in the order specifed by the line item id.
2164
+ def put_lines_and_attributes_by_number_and_id(organization, number, id, line_item_attributes_form)
2165
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2166
+ HttpClient::Preconditions.assert_class('number', number, String)
2167
+ HttpClient::Preconditions.assert_class('id', id, String)
2168
+ (x = line_item_attributes_form; x.is_a?(::Io::Flow::V0::Models::LineItemAttributesForm) ? x : ::Io::Flow::V0::Models::LineItemAttributesForm.new(x))
2169
+ r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/lines/#{CGI.escape(id)}/attributes").with_json(line_item_attributes_form.to_json).put
2170
+ ::Io::Flow::V0::Models::Order.new(r)
2171
+ end
2172
+
2173
+ # Updates line item quantity in the order specifed by the line item id.
2174
+ def put_lines_and_quantity_by_number_and_id(organization, number, id, line_item_quantity_form)
2175
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2176
+ HttpClient::Preconditions.assert_class('number', number, String)
2177
+ HttpClient::Preconditions.assert_class('id', id, String)
2178
+ (x = line_item_quantity_form; x.is_a?(::Io::Flow::V0::Models::LineItemQuantityForm) ? x : ::Io::Flow::V0::Models::LineItemQuantityForm.new(x))
2179
+ r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/lines/#{CGI.escape(id)}/quantity").with_json(line_item_quantity_form.to_json).put
2180
+ ::Io::Flow::V0::Models::Order.new(r)
2181
+ end
2182
+
2056
2183
  # Validates a tax registration number, proxying to underlying services and
2057
2184
  # recording the result on the order.
2058
2185
  def put_tax_and_registration_by_number(organization, number, tax_registration_form, incoming={})
@@ -2060,7 +2187,8 @@ module Io
2060
2187
  HttpClient::Preconditions.assert_class('number', number, String)
2061
2188
  opts = HttpClient::Helper.symbolize_keys(incoming)
2062
2189
  query = {
2063
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2190
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2191
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2064
2192
  }.delete_if { |k, v| v.nil? }
2065
2193
  (x = tax_registration_form; x.is_a?(::Io::Flow::V0::Models::TaxRegistrationForm) ? x : ::Io::Flow::V0::Models::TaxRegistrationForm.new(x))
2066
2194
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/tax/registration").with_query(query).with_json(tax_registration_form.to_json).put
@@ -2089,7 +2217,8 @@ module Io
2089
2217
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
2090
2218
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
2091
2219
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2092
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
2220
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
2221
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2093
2222
  }.delete_if { |k, v| v.nil? }
2094
2223
  (x = order_estimate_form; x.is_a?(::Io::Flow::V0::Models::OrderEstimateForm) ? x : ::Io::Flow::V0::Models::OrderEstimateForm.new(x))
2095
2224
  r = @client.request("/#{CGI.escape(organization)}/order-estimates").with_query(query).with_json(order_estimate_form.to_json).post
@@ -2119,7 +2248,8 @@ module Io
2119
2248
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
2120
2249
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
2121
2250
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2122
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
2251
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
2252
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2123
2253
  }.delete_if { |k, v| v.nil? }
2124
2254
  (x = order_estimate_form; x.is_a?(::Io::Flow::V0::Models::OrderEstimateForm) ? x : ::Io::Flow::V0::Models::OrderEstimateForm.new(x))
2125
2255
  r = @client.request("/#{CGI.escape(organization)}/order-estimates/#{CGI.escape(number)}").with_query(query).with_json(order_estimate_form.to_json).put
@@ -2218,6 +2348,12 @@ module Io
2218
2348
  nil
2219
2349
  end
2220
2350
 
2351
+ def get_generated_and_number(organization)
2352
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2353
+ r = @client.request("/#{CGI.escape(organization)}/order/number/generators/generated/number").get
2354
+ ::Io::Flow::V0::Models::OrderNumberGeneratorGeneratedNumber.new(r)
2355
+ end
2356
+
2221
2357
  end
2222
2358
 
2223
2359
  class OrderPromotions
@@ -2863,28 +2999,12 @@ module Io
2863
2999
  :destination => (x = opts.delete(:destination); x.nil? ? nil : HttpClient::Preconditions.assert_class('destination', x, String)),
2864
3000
  :code => (x = opts.delete(:code); x.nil? ? nil : HttpClient::Preconditions.assert_class('code', x, String)),
2865
3001
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2866
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2867
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
3002
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
2868
3003
  }.delete_if { |k, v| v.nil? }
2869
3004
  r = @client.request("/#{CGI.escape(organization)}/harmonization/hs10").with_query(query).get
2870
3005
  r.map { |x| ::Io::Flow::V0::Models::Hs10.new(x) }
2871
3006
  end
2872
3007
 
2873
- # Provides visibility into recent changes of each object, including deletion
2874
- def get_versions(organization, incoming={})
2875
- HttpClient::Preconditions.assert_class('organization', organization, String)
2876
- opts = HttpClient::Helper.symbolize_keys(incoming)
2877
- query = {
2878
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2879
- :hs10_id => (x = opts.delete(:hs10_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('hs10_id', x, Array).map { |v| HttpClient::Preconditions.assert_class('hs10_id', v, String) }),
2880
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2881
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2882
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
2883
- }.delete_if { |k, v| v.nil? }
2884
- r = @client.request("/#{CGI.escape(organization)}/harmonization/hs10/versions").with_query(query).get
2885
- r.map { |x| ::Io::Flow::V0::Models::Hs10Version.new(x) }
2886
- end
2887
-
2888
3008
  end
2889
3009
 
2890
3010
  class TaxRegistrations
@@ -2900,6 +3020,18 @@ module Io
2900
3020
  ::Io::Flow::V0::Models::TaxRegistration.new(r)
2901
3021
  end
2902
3022
 
3023
+ def get_details(organization, incoming={})
3024
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3025
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3026
+ query = {
3027
+ :order_number => HttpClient::Preconditions.assert_class('order_number', opts.delete(:order_number), String),
3028
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3029
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
3030
+ }.delete_if { |k, v| v.nil? }
3031
+ r = @client.request("/#{CGI.escape(organization)}/tax/registrations/details").with_query(query).get
3032
+ ::Io::Flow::V0::Models::DetailedTaxRegistration.new(r)
3033
+ end
3034
+
2903
3035
  def put_by_key(organization, key, tax_registration_form)
2904
3036
  HttpClient::Preconditions.assert_class('organization', organization, String)
2905
3037
  HttpClient::Preconditions.assert_class('key', key, String)
@@ -3707,7 +3839,8 @@ module Io
3707
3839
  :service => (x = opts.delete(:service); x.nil? ? nil : HttpClient::Preconditions.assert_class('service', x, String)),
3708
3840
  :item_number => (x = opts.delete(:item_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('item_number', x, Array).map { |v| HttpClient::Preconditions.assert_class('item_number', v, String) }),
3709
3841
  :min_lead_days => (x = opts.delete(:min_lead_days); x.nil? ? nil : HttpClient::Preconditions.assert_class('min_lead_days', x, Integer)),
3710
- :max_lead_days => (x = opts.delete(:max_lead_days); x.nil? ? nil : HttpClient::Preconditions.assert_class('max_lead_days', x, Integer))
3842
+ :max_lead_days => (x = opts.delete(:max_lead_days); x.nil? ? nil : HttpClient::Preconditions.assert_class('max_lead_days', x, Integer)),
3843
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
3711
3844
  }.delete_if { |k, v| v.nil? }
3712
3845
  r = @client.request("/#{CGI.escape(organization)}/delivery-windows/summary").with_query(query).get
3713
3846
  ::Io::Flow::V0::Models::DeliveryWindow.new(r)
@@ -3720,7 +3853,8 @@ module Io
3720
3853
  query = {
3721
3854
  :destination => (x = opts.delete(:destination); x.nil? ? nil : HttpClient::Preconditions.assert_class('destination', x, Array).map { |v| HttpClient::Preconditions.assert_class('destination', v, String) }),
3722
3855
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3723
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
3856
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3857
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
3724
3858
  }.delete_if { |k, v| v.nil? }
3725
3859
  r = @client.request("/#{CGI.escape(organization)}/delivery-windows/summary/all").with_query(query).get
3726
3860
  r.map { |x| ::Io::Flow::V0::Models::DeliveryWindowSummary.new(x) }
@@ -3988,10 +4122,14 @@ module Io
3988
4122
  r.map { |x| ::Io::Flow::V0::Models::Quote.new(x) }
3989
4123
  end
3990
4124
 
3991
- def post(organization, quote_form)
4125
+ def post(organization, quote_form, incoming={})
3992
4126
  HttpClient::Preconditions.assert_class('organization', organization, String)
4127
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4128
+ query = {
4129
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
4130
+ }.delete_if { |k, v| v.nil? }
3993
4131
  (x = quote_form; x.is_a?(::Io::Flow::V0::Models::QuoteForm) ? x : ::Io::Flow::V0::Models::QuoteForm.new(x))
3994
- r = @client.request("/#{CGI.escape(organization)}/quotes").with_json(quote_form.to_json).post
4132
+ r = @client.request("/#{CGI.escape(organization)}/quotes").with_query(query).with_json(quote_form.to_json).post
3995
4133
  ::Io::Flow::V0::Models::Quote.new(r)
3996
4134
  end
3997
4135
 
@@ -4052,6 +4190,13 @@ module Io
4052
4190
  ::Io::Flow::V0::Models::Ratecard.new(r)
4053
4191
  end
4054
4192
 
4193
+ def delete_by_id(organization, id)
4194
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4195
+ HttpClient::Preconditions.assert_class('id', id, String)
4196
+ r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(id)}").delete
4197
+ nil
4198
+ end
4199
+
4055
4200
  def put_publish_by_id(organization, id)
4056
4201
  HttpClient::Preconditions.assert_class('organization', organization, String)
4057
4202
  HttpClient::Preconditions.assert_class('id', id, String)
@@ -4073,19 +4218,27 @@ module Io
4073
4218
  # gravitational weight, the weight field must be set. When estimating based
4074
4219
  # off dimensional weight, then length/width/depth must be set. For either one,
4075
4220
  # the appropriate unit of measurement must be given.
4076
- def post(organization, ratecard_estimate_form)
4221
+ def post(organization, ratecard_estimate_form, incoming={})
4077
4222
  HttpClient::Preconditions.assert_class('organization', organization, String)
4223
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4224
+ query = {
4225
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
4226
+ }.delete_if { |k, v| v.nil? }
4078
4227
  (x = ratecard_estimate_form; x.is_a?(::Io::Flow::V0::Models::RatecardEstimateForm) ? x : ::Io::Flow::V0::Models::RatecardEstimateForm.from_json(x))
4079
- r = @client.request("/#{CGI.escape(organization)}/ratecard_estimates").with_json(ratecard_estimate_form.to_json).post
4228
+ r = @client.request("/#{CGI.escape(organization)}/ratecard_estimates").with_query(query).with_json(ratecard_estimate_form.to_json).post
4080
4229
  r.map { |x| ::Io::Flow::V0::Models::RatecardEstimate.from_json(x) }
4081
4230
  end
4082
4231
 
4083
4232
  # Endpoint to get a summary of the shipment estimates based on applicable rate
4084
4233
  # cards. An origin and destination country must be provided.
4085
- def post_summaries(organization, ratecard_estimate_summary_form)
4234
+ def post_summaries(organization, ratecard_estimate_summary_form, incoming={})
4086
4235
  HttpClient::Preconditions.assert_class('organization', organization, String)
4236
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4237
+ query = {
4238
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
4239
+ }.delete_if { |k, v| v.nil? }
4087
4240
  (x = ratecard_estimate_summary_form; x.is_a?(::Io::Flow::V0::Models::RatecardEstimateSummaryForm) ? x : ::Io::Flow::V0::Models::RatecardEstimateSummaryForm.new(x))
4088
- r = @client.request("/#{CGI.escape(organization)}/ratecard_estimates/summaries").with_json(ratecard_estimate_summary_form.to_json).post
4241
+ r = @client.request("/#{CGI.escape(organization)}/ratecard_estimates/summaries").with_query(query).with_json(ratecard_estimate_summary_form.to_json).post
4089
4242
  r.map { |x| ::Io::Flow::V0::Models::RatecardEstimate.from_json(x) }
4090
4243
  end
4091
4244
 
@@ -4107,6 +4260,7 @@ module Io
4107
4260
  :origin => (x = opts.delete(:origin); x.nil? ? nil : HttpClient::Preconditions.assert_class('origin', x, String)),
4108
4261
  :ratecard_id => (x = opts.delete(:ratecard_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('ratecard_id', x, String)),
4109
4262
  :service => (x = opts.delete(:service); x.nil? ? nil : HttpClient::Preconditions.assert_class('service', x, String)),
4263
+ :ratecard_owner => (x = opts.delete(:ratecard_owner); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::RatecardOwner) ? x : ::Io::Flow::V0::Models::RatecardOwner.apply(x)).value),
4110
4264
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
4111
4265
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
4112
4266
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
@@ -4469,7 +4623,8 @@ module Io
4469
4623
  HttpClient::Preconditions.assert_class('organization', organization, String)
4470
4624
  opts = HttpClient::Helper.symbolize_keys(incoming)
4471
4625
  query = {
4472
- :show_commercial_invoice => (x = opts.delete(:show_commercial_invoice); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('show_commercial_invoice', x))
4626
+ :show_commercial_invoice => (x = opts.delete(:show_commercial_invoice); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('show_commercial_invoice', x)),
4627
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
4473
4628
  }.delete_if { |k, v| v.nil? }
4474
4629
  (x = shipping_label_form; x.is_a?(::Io::Flow::V0::Models::ShippingLabelForm) ? x : ::Io::Flow::V0::Models::ShippingLabelForm.from_json(x))
4475
4630
  r = @client.request("/#{CGI.escape(organization)}/shipping_labels").with_query(query).with_json(shipping_label_form.to_json).post
@@ -4922,7 +5077,9 @@ module Io
4922
5077
  opts = HttpClient::Helper.symbolize_keys(incoming)
4923
5078
  query = {
4924
5079
  :address => (x = opts.delete(:address); x.nil? ? nil : HttpClient::Preconditions.assert_class('address', x, String)),
4925
- :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
5080
+ :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
5081
+ :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
5082
+ :postal_prefix => (x = opts.delete(:postal_prefix); x.nil? ? nil : HttpClient::Preconditions.assert_class('postal_prefix', x, String))
4926
5083
  }.delete_if { |k, v| v.nil? }
4927
5084
  r = @client.request("/addresses").with_query(query).get
4928
5085
  r.map { |x| ::Io::Flow::V0::Models::Address.new(x) }
@@ -5321,10 +5478,14 @@ module Io
5321
5478
  nil
5322
5479
  end
5323
5480
 
5324
- def post_checkout_and_tokens_by_organization(organization, checkout_token_form)
5481
+ def post_checkout_and_tokens_by_organization(organization, checkout_token_form, incoming={})
5325
5482
  HttpClient::Preconditions.assert_class('organization', organization, String)
5483
+ opts = HttpClient::Helper.symbolize_keys(incoming)
5484
+ query = {
5485
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
5486
+ }.delete_if { |k, v| v.nil? }
5326
5487
  (x = checkout_token_form; x.is_a?(::Io::Flow::V0::Models::CheckoutTokenForm) ? x : ::Io::Flow::V0::Models::CheckoutTokenForm.from_json(x))
5327
- r = @client.request("/#{CGI.escape(organization)}/checkout/tokens").with_json(checkout_token_form.to_json).post
5488
+ r = @client.request("/#{CGI.escape(organization)}/checkout/tokens").with_query(query).with_json(checkout_token_form.to_json).post
5328
5489
  ::Io::Flow::V0::Models::CheckoutToken.new(r)
5329
5490
  end
5330
5491
 
@@ -5512,11 +5673,11 @@ module Io
5512
5673
  ::Io::Flow::V0::Models::Customer.new(r)
5513
5674
  end
5514
5675
 
5515
- # Returns information about a specific customer.
5516
- def get_customer_by_client_token(organization, client_token)
5676
+ # Returns information about a specific customer given a client token.
5677
+ def post_client_and_tokens(organization, customer_client_token)
5517
5678
  HttpClient::Preconditions.assert_class('organization', organization, String)
5518
- HttpClient::Preconditions.assert_class('client_token', client_token, String)
5519
- r = @client.request("/#{CGI.escape(organization)}/customers/#{CGI.escape(client_token)}/customer").get
5679
+ (x = customer_client_token; x.is_a?(::Io::Flow::V0::Models::CustomerClientToken) ? x : ::Io::Flow::V0::Models::CustomerClientToken.new(x))
5680
+ r = @client.request("/#{CGI.escape(organization)}/customers/client/tokens").with_json(customer_client_token.to_json).post
5520
5681
  ::Io::Flow::V0::Models::Customer.new(r)
5521
5682
  end
5522
5683
 
@@ -5921,7 +6082,7 @@ module Io
5921
6082
  def get_organization_and_roles_by_organization(organization)
5922
6083
  HttpClient::Preconditions.assert_class('organization', organization, String)
5923
6084
  r = @client.request("/permission/organization/#{CGI.escape(organization)}/roles").get
5924
- r.map { |x| ::Io::Flow::V0::Models::FlowRole.from_json(x) }
6085
+ r.map { |x| ::Io::Flow::V0::Models::FlowRole.new(x) }
5925
6086
  end
5926
6087
 
5927
6088
  end
@@ -6722,10 +6883,14 @@ module Io
6722
6883
  ::Io::Flow::V0::Models::Session.from_json(r)
6723
6884
  end
6724
6885
 
6725
- def post_organizations_by_organization(organization, session_form)
6886
+ def post_organizations_by_organization(organization, session_form, incoming={})
6726
6887
  HttpClient::Preconditions.assert_class('organization', organization, String)
6888
+ opts = HttpClient::Helper.symbolize_keys(incoming)
6889
+ query = {
6890
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6891
+ }.delete_if { |k, v| v.nil? }
6727
6892
  (x = session_form; x.is_a?(::Io::Flow::V0::Models::SessionForm) ? x : ::Io::Flow::V0::Models::SessionForm.new(x))
6728
- r = @client.request("/sessions/organizations/#{CGI.escape(organization)}").with_json(session_form.to_json).post
6893
+ r = @client.request("/sessions/organizations/#{CGI.escape(organization)}").with_query(query).with_json(session_form.to_json).post
6729
6894
  ::Io::Flow::V0::Models::OrganizationSession.new(r)
6730
6895
  end
6731
6896
 
@@ -6735,10 +6900,14 @@ module Io
6735
6900
  ::Io::Flow::V0::Models::Session.from_json(r)
6736
6901
  end
6737
6902
 
6738
- def put_by_session(session, session_put_form)
6903
+ def put_by_session(session, session_put_form, incoming={})
6739
6904
  HttpClient::Preconditions.assert_class('session', session, String)
6905
+ opts = HttpClient::Helper.symbolize_keys(incoming)
6906
+ query = {
6907
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6908
+ }.delete_if { |k, v| v.nil? }
6740
6909
  (x = session_put_form; x.is_a?(::Io::Flow::V0::Models::SessionPutForm) ? x : ::Io::Flow::V0::Models::SessionPutForm.new(x))
6741
- r = @client.request("/sessions/#{CGI.escape(session)}").with_json(session_put_form.to_json).put
6910
+ r = @client.request("/sessions/#{CGI.escape(session)}").with_query(query).with_json(session_put_form.to_json).put
6742
6911
  ::Io::Flow::V0::Models::Session.from_json(r)
6743
6912
  end
6744
6913
 
@@ -6755,19 +6924,27 @@ module Io
6755
6924
  ::Io::Flow::V0::Models::Session.from_json(r)
6756
6925
  end
6757
6926
 
6758
- def put_organizations_by_session_and_organization(session, organization, session_put_form)
6927
+ def put_organizations_by_session_and_organization(session, organization, session_put_form, incoming={})
6759
6928
  HttpClient::Preconditions.assert_class('session', session, String)
6760
6929
  HttpClient::Preconditions.assert_class('organization', organization, String)
6930
+ opts = HttpClient::Helper.symbolize_keys(incoming)
6931
+ query = {
6932
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6933
+ }.delete_if { |k, v| v.nil? }
6761
6934
  (x = session_put_form; x.is_a?(::Io::Flow::V0::Models::SessionPutForm) ? x : ::Io::Flow::V0::Models::SessionPutForm.new(x))
6762
- r = @client.request("/sessions/#{CGI.escape(session)}/organizations/#{CGI.escape(organization)}").with_json(session_put_form.to_json).put
6935
+ r = @client.request("/sessions/#{CGI.escape(session)}/organizations/#{CGI.escape(organization)}").with_query(query).with_json(session_put_form.to_json).put
6763
6936
  ::Io::Flow::V0::Models::OrganizationSession.new(r)
6764
6937
  end
6765
6938
 
6766
6939
  # Resets the session based on the provided geo parameters.
6767
- def put_reset_by_session(session, session_put_form)
6940
+ def put_reset_by_session(session, session_put_form, incoming={})
6768
6941
  HttpClient::Preconditions.assert_class('session', session, String)
6942
+ opts = HttpClient::Helper.symbolize_keys(incoming)
6943
+ query = {
6944
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6945
+ }.delete_if { |k, v| v.nil? }
6769
6946
  (x = session_put_form; x.is_a?(::Io::Flow::V0::Models::SessionPutForm) ? x : ::Io::Flow::V0::Models::SessionPutForm.new(x))
6770
- r = @client.request("/sessions/#{CGI.escape(session)}/reset").with_json(session_put_form.to_json).put
6947
+ r = @client.request("/sessions/#{CGI.escape(session)}/reset").with_query(query).with_json(session_put_form.to_json).put
6771
6948
  ::Io::Flow::V0::Models::Session.from_json(r)
6772
6949
  end
6773
6950
 
@@ -6794,47 +6971,71 @@ module Io
6794
6971
  end
6795
6972
 
6796
6973
  # Retrieve representation of a Shopify cart for the given order number.
6797
- def get_order_by_number(number)
6974
+ def get_order_by_number(number, incoming={})
6798
6975
  HttpClient::Preconditions.assert_class('number', number, String)
6799
- r = @client.request("/shopify/carts/order/#{CGI.escape(number)}").get
6976
+ opts = HttpClient::Helper.symbolize_keys(incoming)
6977
+ query = {
6978
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6979
+ }.delete_if { |k, v| v.nil? }
6980
+ r = @client.request("/shopify/carts/order/#{CGI.escape(number)}").with_query(query).get
6800
6981
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6801
6982
  end
6802
6983
 
6803
6984
  # Retrieve representation of a Shopify cart given the unique cart id.
6804
- def get_by_id_html(id)
6985
+ def get_by_id_html(id, incoming={})
6805
6986
  HttpClient::Preconditions.assert_class('id', id, String)
6806
- r = @client.request("/shopify/carts/#{CGI.escape(id)}").get
6987
+ opts = HttpClient::Helper.symbolize_keys(incoming)
6988
+ query = {
6989
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6990
+ }.delete_if { |k, v| v.nil? }
6991
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}").with_query(query).get
6807
6992
  r
6808
6993
  end
6809
6994
 
6810
6995
  # Retrieve representation of a Shopify cart given the unique cart id.
6811
- def get_by_id(id)
6996
+ def get_by_id(id, incoming={})
6812
6997
  HttpClient::Preconditions.assert_class('id', id, String)
6813
- r = @client.request("/shopify/carts/#{CGI.escape(id)}").get
6998
+ opts = HttpClient::Helper.symbolize_keys(incoming)
6999
+ query = {
7000
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7001
+ }.delete_if { |k, v| v.nil? }
7002
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}").with_query(query).get
6814
7003
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6815
7004
  end
6816
7005
 
6817
7006
  # Add an item to a Shopify cart given the unique cart id.
6818
- def post_add_by_id(id, shopify_cart_add_form)
7007
+ def post_add_by_id(id, shopify_cart_add_form, incoming={})
6819
7008
  HttpClient::Preconditions.assert_class('id', id, String)
7009
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7010
+ query = {
7011
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7012
+ }.delete_if { |k, v| v.nil? }
6820
7013
  (x = shopify_cart_add_form; x.is_a?(::Io::Flow::V0::Models::ShopifyCartAddForm) ? x : ::Io::Flow::V0::Models::ShopifyCartAddForm.from_json(x))
6821
- r = @client.request("/shopify/carts/#{CGI.escape(id)}/add").with_json(shopify_cart_add_form.to_json).post
7014
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}/add").with_query(query).with_json(shopify_cart_add_form.to_json).post
6822
7015
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6823
7016
  end
6824
7017
 
6825
7018
  # Update the attribute information for the cart.
6826
- def put_attributes_by_id(id, shopify_order_attributes_form)
7019
+ def put_attributes_by_id(id, shopify_order_attributes_form, incoming={})
6827
7020
  HttpClient::Preconditions.assert_class('id', id, String)
7021
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7022
+ query = {
7023
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7024
+ }.delete_if { |k, v| v.nil? }
6828
7025
  (x = shopify_order_attributes_form; x.is_a?(::Io::Flow::V0::Models::ShopifyOrderAttributesForm) ? x : ::Io::Flow::V0::Models::ShopifyOrderAttributesForm.new(x))
6829
- r = @client.request("/shopify/carts/#{CGI.escape(id)}/attributes").with_json(shopify_order_attributes_form.to_json).put
7026
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}/attributes").with_query(query).with_json(shopify_order_attributes_form.to_json).put
6830
7027
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6831
7028
  end
6832
7029
 
6833
7030
  # Change/Update an item in a Shopify cart given the unique cart id.
6834
- def post_change_by_id(id, shopify_cart_change_form)
7031
+ def post_change_by_id(id, shopify_cart_change_form, incoming={})
6835
7032
  HttpClient::Preconditions.assert_class('id', id, String)
7033
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7034
+ query = {
7035
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7036
+ }.delete_if { |k, v| v.nil? }
6836
7037
  (x = shopify_cart_change_form; x.is_a?(::Io::Flow::V0::Models::ShopifyCartChangeForm) ? x : ::Io::Flow::V0::Models::ShopifyCartChangeForm.new(x))
6837
- r = @client.request("/shopify/carts/#{CGI.escape(id)}/change").with_json(shopify_cart_change_form.to_json).post
7038
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}/change").with_query(query).with_json(shopify_cart_change_form.to_json).post
6838
7039
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6839
7040
  end
6840
7041
 
@@ -6846,10 +7047,14 @@ module Io
6846
7047
  end
6847
7048
 
6848
7049
  # Update the geo information for the cart.
6849
- def put_geo_by_id(id, geo_form)
7050
+ def put_geo_by_id(id, geo_form, incoming={})
6850
7051
  HttpClient::Preconditions.assert_class('id', id, String)
7052
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7053
+ query = {
7054
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7055
+ }.delete_if { |k, v| v.nil? }
6851
7056
  (x = geo_form; x.is_a?(::Io::Flow::V0::Models::GeoForm) ? x : ::Io::Flow::V0::Models::GeoForm.new(x))
6852
- r = @client.request("/shopify/carts/#{CGI.escape(id)}/geo").with_json(geo_form.to_json).put
7057
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}/geo").with_query(query).with_json(geo_form.to_json).put
6853
7058
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6854
7059
  end
6855
7060
 
@@ -6858,7 +7063,8 @@ module Io
6858
7063
  HttpClient::Preconditions.assert_class('id', id, String)
6859
7064
  opts = HttpClient::Helper.symbolize_keys(incoming)
6860
7065
  query = {
6861
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
7066
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
7067
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6862
7068
  }.delete_if { |k, v| v.nil? }
6863
7069
  r = @client.request("/shopify/carts/#{CGI.escape(id)}/orders").with_query(query).post
6864
7070
  ::Io::Flow::V0::Models::Order.new(r)
@@ -6873,15 +7079,16 @@ module Io
6873
7079
  end
6874
7080
 
6875
7081
  # Creates a shopify cart conversion from a shopify cart
6876
- def post_conversions(organization, experience_key, io_flow_shopify_external_v0_models_shopify_cart, incoming={})
7082
+ def post_conversions(organization, experience_key, io_flow_shopify_external_v0_models_shopify_external_cart, incoming={})
6877
7083
  HttpClient::Preconditions.assert_class('organization', organization, String)
6878
7084
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
6879
7085
  opts = HttpClient::Helper.symbolize_keys(incoming)
6880
7086
  query = {
6881
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
7087
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
7088
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6882
7089
  }.delete_if { |k, v| v.nil? }
6883
- (x = io_flow_shopify_external_v0_models_shopify_cart; x.is_a?(::Io::Flow::Shopify::External::V0::Models::ShopifyCart) ? x : ::Io::Flow::Shopify::External::V0::Models::ShopifyCart.new(x))
6884
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/shopify/cart/conversions").with_query(query).with_json(io_flow_shopify_external_v0_models_shopify_cart.to_json).post
7090
+ (x = io_flow_shopify_external_v0_models_shopify_external_cart; x.is_a?(::Io::Flow::Shopify::External::V0::Models::ShopifyExternalCart) ? x : ::Io::Flow::Shopify::External::V0::Models::ShopifyExternalCart.new(x))
7091
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/shopify/cart/conversions").with_query(query).with_json(io_flow_shopify_external_v0_models_shopify_external_cart.to_json).post
6885
7092
  ::Io::Flow::V0::Models::ShopifyCartConversion.new(r)
6886
7093
  end
6887
7094
 
@@ -7074,6 +7281,209 @@ module Io
7074
7281
 
7075
7282
  end
7076
7283
 
7284
+ class SyncPendingRecords
7285
+
7286
+ def initialize(client)
7287
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
7288
+ end
7289
+
7290
+ def get(organization, incoming={})
7291
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7292
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7293
+ query = {
7294
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
7295
+ :stream_key => (x = opts.delete(:stream_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('stream_key', x, String)),
7296
+ :value => (x = opts.delete(:value); x.nil? ? nil : HttpClient::Preconditions.assert_class('value', x, String)),
7297
+ :system => (x = opts.delete(:system); x.nil? ? nil : HttpClient::Preconditions.assert_class('system', x, String)),
7298
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
7299
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
7300
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
7301
+ }.delete_if { |k, v| v.nil? }
7302
+ r = @client.request("/#{CGI.escape(organization)}/sync/pending/records").with_query(query).get
7303
+ r.map { |x| ::Io::Flow::V0::Models::SyncPendingRecord.new(x) }
7304
+ end
7305
+
7306
+ end
7307
+
7308
+ class SyncRecords
7309
+
7310
+ def initialize(client)
7311
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
7312
+ end
7313
+
7314
+ def get(organization, incoming={})
7315
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7316
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7317
+ query = {
7318
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
7319
+ :stream_key => (x = opts.delete(:stream_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('stream_key', x, String)),
7320
+ :system => (x = opts.delete(:system); x.nil? ? nil : HttpClient::Preconditions.assert_class('system', x, String)),
7321
+ :value => (x = opts.delete(:value); x.nil? ? nil : HttpClient::Preconditions.assert_class('value', x, String)),
7322
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
7323
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
7324
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
7325
+ }.delete_if { |k, v| v.nil? }
7326
+ r = @client.request("/#{CGI.escape(organization)}/sync/records").with_query(query).get
7327
+ r.map { |x| ::Io::Flow::V0::Models::SyncRecord.new(x) }
7328
+ end
7329
+
7330
+ def post(organization, sync_record_form)
7331
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7332
+ (x = sync_record_form; x.is_a?(::Io::Flow::V0::Models::SyncRecordForm) ? x : ::Io::Flow::V0::Models::SyncRecordForm.new(x))
7333
+ r = @client.request("/#{CGI.escape(organization)}/sync/records").with_json(sync_record_form.to_json).post
7334
+ ::Io::Flow::V0::Models::SyncRecord.new(r)
7335
+ end
7336
+
7337
+ # Idempotent method to upsert a value for a system for this stream.
7338
+ def put_streams_and_systems_and_values_by_stream_key_and_system_and_value(organization, stream_key, system, value)
7339
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7340
+ HttpClient::Preconditions.assert_class('stream_key', stream_key, String)
7341
+ HttpClient::Preconditions.assert_class('system', system, String)
7342
+ HttpClient::Preconditions.assert_class('value', value, String)
7343
+ r = @client.request("/#{CGI.escape(organization)}/sync/records/streams/#{CGI.escape(stream_key)}/systems/#{CGI.escape(system)}/values/#{CGI.escape(value)}").put
7344
+ ::Io::Flow::V0::Models::SyncRecord.new(r)
7345
+ end
7346
+
7347
+ # Delete a value for a system for this stream.
7348
+ def delete_streams_and_systems_and_values_by_stream_key_and_system_and_value(organization, stream_key, system, value)
7349
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7350
+ HttpClient::Preconditions.assert_class('stream_key', stream_key, String)
7351
+ HttpClient::Preconditions.assert_class('system', system, String)
7352
+ HttpClient::Preconditions.assert_class('value', value, String)
7353
+ r = @client.request("/#{CGI.escape(organization)}/sync/records/streams/#{CGI.escape(stream_key)}/systems/#{CGI.escape(system)}/values/#{CGI.escape(value)}").delete
7354
+ nil
7355
+ end
7356
+
7357
+ def get_by_id(organization, id)
7358
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7359
+ HttpClient::Preconditions.assert_class('id', id, String)
7360
+ r = @client.request("/#{CGI.escape(organization)}/sync/records/#{CGI.escape(id)}").get
7361
+ ::Io::Flow::V0::Models::SyncRecord.new(r)
7362
+ end
7363
+
7364
+ def put_by_id(organization, id, sync_record_form)
7365
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7366
+ HttpClient::Preconditions.assert_class('id', id, String)
7367
+ (x = sync_record_form; x.is_a?(::Io::Flow::V0::Models::SyncRecordForm) ? x : ::Io::Flow::V0::Models::SyncRecordForm.new(x))
7368
+ r = @client.request("/#{CGI.escape(organization)}/sync/records/#{CGI.escape(id)}").with_json(sync_record_form.to_json).put
7369
+ ::Io::Flow::V0::Models::SyncRecord.new(r)
7370
+ end
7371
+
7372
+ def delete_by_id(organization, id)
7373
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7374
+ HttpClient::Preconditions.assert_class('id', id, String)
7375
+ r = @client.request("/#{CGI.escape(organization)}/sync/records/#{CGI.escape(id)}").delete
7376
+ nil
7377
+ end
7378
+
7379
+ end
7380
+
7381
+ class SyncRecordFailures
7382
+
7383
+ def initialize(client)
7384
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
7385
+ end
7386
+
7387
+ def get(organization, incoming={})
7388
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7389
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7390
+ query = {
7391
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
7392
+ :stream_key => (x = opts.delete(:stream_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('stream_key', x, String)),
7393
+ :value => (x = opts.delete(:value); x.nil? ? nil : HttpClient::Preconditions.assert_class('value', x, String)),
7394
+ :system => (x = opts.delete(:system); x.nil? ? nil : HttpClient::Preconditions.assert_class('system', x, String)),
7395
+ :reason => (x = opts.delete(:reason); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SyncRecordFailureReason) ? x : ::Io::Flow::V0::Models::SyncRecordFailureReason.apply(x)).value),
7396
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
7397
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
7398
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
7399
+ }.delete_if { |k, v| v.nil? }
7400
+ r = @client.request("/#{CGI.escape(organization)}/sync/record/failures").with_query(query).get
7401
+ r.map { |x| ::Io::Flow::V0::Models::SyncRecordFailure.new(x) }
7402
+ end
7403
+
7404
+ def post(organization, sync_record_failure_form)
7405
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7406
+ (x = sync_record_failure_form; x.is_a?(::Io::Flow::V0::Models::SyncRecordFailureForm) ? x : ::Io::Flow::V0::Models::SyncRecordFailureForm.new(x))
7407
+ r = @client.request("/#{CGI.escape(organization)}/sync/record/failures").with_json(sync_record_failure_form.to_json).post
7408
+ ::Io::Flow::V0::Models::SyncRecordFailure.new(r)
7409
+ end
7410
+
7411
+ def get_by_id(organization, id)
7412
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7413
+ HttpClient::Preconditions.assert_class('id', id, String)
7414
+ r = @client.request("/#{CGI.escape(organization)}/sync/record/failures/#{CGI.escape(id)}").get
7415
+ ::Io::Flow::V0::Models::SyncRecordFailure.new(r)
7416
+ end
7417
+
7418
+ def put_by_id(organization, id, sync_record_failure_form)
7419
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7420
+ HttpClient::Preconditions.assert_class('id', id, String)
7421
+ (x = sync_record_failure_form; x.is_a?(::Io::Flow::V0::Models::SyncRecordFailureForm) ? x : ::Io::Flow::V0::Models::SyncRecordFailureForm.new(x))
7422
+ r = @client.request("/#{CGI.escape(organization)}/sync/record/failures/#{CGI.escape(id)}").with_json(sync_record_failure_form.to_json).put
7423
+ ::Io::Flow::V0::Models::SyncRecordFailure.new(r)
7424
+ end
7425
+
7426
+ def delete_by_id(organization, id)
7427
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7428
+ HttpClient::Preconditions.assert_class('id', id, String)
7429
+ r = @client.request("/#{CGI.escape(organization)}/sync/record/failures/#{CGI.escape(id)}").delete
7430
+ nil
7431
+ end
7432
+
7433
+ end
7434
+
7435
+ class SyncStreams
7436
+
7437
+ def initialize(client)
7438
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
7439
+ end
7440
+
7441
+ def get(organization, incoming={})
7442
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7443
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7444
+ query = {
7445
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
7446
+ :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String)),
7447
+ :type => (x = opts.delete(:type); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SyncStreamType) ? x : ::Io::Flow::V0::Models::SyncStreamType.apply(x)).value),
7448
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
7449
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
7450
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
7451
+ }.delete_if { |k, v| v.nil? }
7452
+ r = @client.request("/#{CGI.escape(organization)}/sync/streams").with_query(query).get
7453
+ r.map { |x| ::Io::Flow::V0::Models::SyncStream.new(x) }
7454
+ end
7455
+
7456
+ def post(organization, sync_stream_form)
7457
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7458
+ (x = sync_stream_form; x.is_a?(::Io::Flow::V0::Models::SyncStreamForm) ? x : ::Io::Flow::V0::Models::SyncStreamForm.new(x))
7459
+ r = @client.request("/#{CGI.escape(organization)}/sync/streams").with_json(sync_stream_form.to_json).post
7460
+ ::Io::Flow::V0::Models::SyncStream.new(r)
7461
+ end
7462
+
7463
+ def get_by_key(organization, key)
7464
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7465
+ HttpClient::Preconditions.assert_class('key', key, String)
7466
+ r = @client.request("/#{CGI.escape(organization)}/sync/streams/#{CGI.escape(key)}").get
7467
+ ::Io::Flow::V0::Models::SyncStream.new(r)
7468
+ end
7469
+
7470
+ def put_by_key(organization, key, sync_stream_form)
7471
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7472
+ HttpClient::Preconditions.assert_class('key', key, String)
7473
+ (x = sync_stream_form; x.is_a?(::Io::Flow::V0::Models::SyncStreamForm) ? x : ::Io::Flow::V0::Models::SyncStreamForm.new(x))
7474
+ r = @client.request("/#{CGI.escape(organization)}/sync/streams/#{CGI.escape(key)}").with_json(sync_stream_form.to_json).put
7475
+ ::Io::Flow::V0::Models::SyncStream.new(r)
7476
+ end
7477
+
7478
+ def delete_by_key(organization, key)
7479
+ HttpClient::Preconditions.assert_class('organization', organization, String)
7480
+ HttpClient::Preconditions.assert_class('key', key, String)
7481
+ r = @client.request("/#{CGI.escape(organization)}/sync/streams/#{CGI.escape(key)}").delete
7482
+ nil
7483
+ end
7484
+
7485
+ end
7486
+
7077
7487
  class TaxSettings
7078
7488
 
7079
7489
  def initialize(client)
@@ -7261,6 +7671,68 @@ module Io
7261
7671
 
7262
7672
  module Models
7263
7673
 
7674
+ # Configurations to support payment authentication done in the user experience
7675
+ # e.g. card authentication with 3DS by an issuer ACS.
7676
+ class ActionConfiguration
7677
+
7678
+ module Types
7679
+ THREEDS_TWO_BROWSER_ACTION_CONFIGURATION = 'threeds_two_browser_action_configuration' unless defined?(THREEDS_TWO_BROWSER_ACTION_CONFIGURATION)
7680
+ end
7681
+
7682
+ attr_reader :discriminator
7683
+
7684
+ def initialize(incoming={})
7685
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7686
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ActionConfiguration')
7687
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7688
+ end
7689
+
7690
+ def subtype_to_hash
7691
+ raise 'Cannot serialize an instance of action_configuration directly - must use one of the specific types: threeds_two_browser_action_configuration'
7692
+ end
7693
+
7694
+ def to_hash
7695
+ subtype_to_hash.merge(:discriminator => @discriminator)
7696
+ end
7697
+
7698
+ def ActionConfiguration.from_json(hash)
7699
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
7700
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7701
+ if discriminator.empty?
7702
+ raise "Union type[action_configuration] requires a field named 'discriminator'"
7703
+ end
7704
+ case discriminator
7705
+ when Types::THREEDS_TWO_BROWSER_ACTION_CONFIGURATION; ThreedsTwoBrowserActionConfiguration.new(hash)
7706
+ else ActionConfigurationUndefinedType.new(:discriminator => discriminator)
7707
+ end
7708
+ end
7709
+
7710
+ end
7711
+
7712
+ class ActionConfigurationUndefinedType < ActionConfiguration
7713
+
7714
+ attr_reader :name
7715
+
7716
+ def initialize(incoming={})
7717
+ super(:discriminator => 'undefined_type')
7718
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7719
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
7720
+ end
7721
+
7722
+ def subtype_to_hash
7723
+ raise 'Unable to serialize undefined type to json'
7724
+ end
7725
+
7726
+ def copy(incoming={})
7727
+ raise 'Operation not supported for undefined type'
7728
+ end
7729
+
7730
+ def to_hash
7731
+ raise 'Operation not supported for undefined type'
7732
+ end
7733
+
7734
+ end
7735
+
7264
7736
  class AdyenNativeData
7265
7737
 
7266
7738
  module Types
@@ -7730,6 +8202,8 @@ module Io
7730
8202
  module Types
7731
8203
  ADYEN_NATIVE_ACTION_DETAILS = 'adyen_native_action_details' unless defined?(ADYEN_NATIVE_ACTION_DETAILS)
7732
8204
  STRIPE_AUTHORIZATION_RESULT_ACTION_DETAILS = 'stripe_authorization_result_action_details' unless defined?(STRIPE_AUTHORIZATION_RESULT_ACTION_DETAILS)
8205
+ THREEDS_IDENTIFY_ACTION_DETAILS = 'threeds_identify_action_details' unless defined?(THREEDS_IDENTIFY_ACTION_DETAILS)
8206
+ THREEDS_CHALLENGE_ACTION_DETAILS = 'threeds_challenge_action_details' unless defined?(THREEDS_CHALLENGE_ACTION_DETAILS)
7733
8207
  end
7734
8208
 
7735
8209
  attr_reader :discriminator
@@ -7741,7 +8215,7 @@ module Io
7741
8215
  end
7742
8216
 
7743
8217
  def subtype_to_hash
7744
- raise 'Cannot serialize an instance of authorization_result_action_details directly - must use one of the specific types: adyen_native_action_details, stripe_authorization_result_action_details'
8218
+ raise 'Cannot serialize an instance of authorization_result_action_details directly - must use one of the specific types: adyen_native_action_details, stripe_authorization_result_action_details, threeds_identify_action_details, threeds_challenge_action_details'
7745
8219
  end
7746
8220
 
7747
8221
  def to_hash
@@ -7757,6 +8231,8 @@ module Io
7757
8231
  case discriminator
7758
8232
  when Types::ADYEN_NATIVE_ACTION_DETAILS; AdyenNativeActionDetails.new(hash)
7759
8233
  when Types::STRIPE_AUTHORIZATION_RESULT_ACTION_DETAILS; StripeAuthorizationResultActionDetails.new(hash)
8234
+ when Types::THREEDS_IDENTIFY_ACTION_DETAILS; ThreedsIdentifyActionDetails.new(hash)
8235
+ when Types::THREEDS_CHALLENGE_ACTION_DETAILS; ThreedsChallengeActionDetails.new(hash)
7760
8236
  else AuthorizationResultActionDetailsUndefinedType.new(:discriminator => discriminator)
7761
8237
  end
7762
8238
  end
@@ -9370,8 +9846,8 @@ module Io
9370
9846
  HARMONIZATION_OVERVIEW_EXPORT_TYPE = 'harmonization_overview_export_type' unless defined?(HARMONIZATION_OVERVIEW_EXPORT_TYPE)
9371
9847
  HARMONIZATION_HS6_EXPORT_TYPE = 'harmonization_hs6_export_type' unless defined?(HARMONIZATION_HS6_EXPORT_TYPE)
9372
9848
  HARMONIZATION_HS10_EXPORT_TYPE = 'harmonization_hs10_export_type' unless defined?(HARMONIZATION_HS10_EXPORT_TYPE)
9849
+ HARMONIZATION_TARIFF_CODES_EXPORT_TYPE = 'harmonization_tariff_codes_export_type' unless defined?(HARMONIZATION_TARIFF_CODES_EXPORT_TYPE)
9373
9850
  UNHARMONIZED_ITEM_EXPORT_TYPE = 'unharmonized_item_export_type' unless defined?(UNHARMONIZED_ITEM_EXPORT_TYPE)
9374
- HARMONIZATION_LANDED_COST_EXPORT_TYPE = 'harmonization_landed_cost_export_type' unless defined?(HARMONIZATION_LANDED_COST_EXPORT_TYPE)
9375
9851
  ORDER_EXPORT_TYPE = 'order_export_type' unless defined?(ORDER_EXPORT_TYPE)
9376
9852
  PRICE_BOOK_ITEM_EXPORT_TYPE = 'price_book_item_export_type' unless defined?(PRICE_BOOK_ITEM_EXPORT_TYPE)
9377
9853
  SOLIDUS_PRODUCT_EXPORT_TYPE = 'solidus_product_export_type' unless defined?(SOLIDUS_PRODUCT_EXPORT_TYPE)
@@ -9389,7 +9865,7 @@ module Io
9389
9865
  end
9390
9866
 
9391
9867
  def subtype_to_hash
9392
- raise 'Cannot serialize an instance of export_type directly - must use one of the specific types: account_transactions_export_type, account_orders_export_type, analytics_export_type, catalog_item_export_type, experience_export_type, harmonization_overview_export_type, harmonization_hs6_export_type, harmonization_hs10_export_type, unharmonized_item_export_type, harmonization_landed_cost_export_type, order_export_type, price_book_item_export_type, solidus_product_export_type, solidus_variant_export_type, localized_item_prices_export_type, marketing_feeds_export_type'
9868
+ raise 'Cannot serialize an instance of export_type directly - must use one of the specific types: account_transactions_export_type, account_orders_export_type, analytics_export_type, catalog_item_export_type, experience_export_type, harmonization_overview_export_type, harmonization_hs6_export_type, harmonization_hs10_export_type, harmonization_tariff_codes_export_type, unharmonized_item_export_type, order_export_type, price_book_item_export_type, solidus_product_export_type, solidus_variant_export_type, localized_item_prices_export_type, marketing_feeds_export_type'
9393
9869
  end
9394
9870
 
9395
9871
  def to_hash
@@ -9411,8 +9887,8 @@ module Io
9411
9887
  when Types::HARMONIZATION_OVERVIEW_EXPORT_TYPE; HarmonizationOverviewExportType.new(hash)
9412
9888
  when Types::HARMONIZATION_HS6_EXPORT_TYPE; HarmonizationHs6ExportType.new(hash)
9413
9889
  when Types::HARMONIZATION_HS10_EXPORT_TYPE; HarmonizationHs10ExportType.new(hash)
9890
+ when Types::HARMONIZATION_TARIFF_CODES_EXPORT_TYPE; HarmonizationTariffCodesExportType.new(hash)
9414
9891
  when Types::UNHARMONIZED_ITEM_EXPORT_TYPE; UnharmonizedItemExportType.new(hash)
9415
- when Types::HARMONIZATION_LANDED_COST_EXPORT_TYPE; HarmonizationLandedCostExportType.new(hash)
9416
9892
  when Types::ORDER_EXPORT_TYPE; OrderExportType.new(hash)
9417
9893
  when Types::PRICE_BOOK_ITEM_EXPORT_TYPE; PriceBookItemExportType.new(hash)
9418
9894
  when Types::SOLIDUS_PRODUCT_EXPORT_TYPE; SolidusProductExportType.new(hash)
@@ -9515,69 +9991,6 @@ module Io
9515
9991
 
9516
9992
  end
9517
9993
 
9518
- # All roles available to attach to a user.
9519
- class FlowRole
9520
-
9521
- module Types
9522
- FLOW_USER_ROLE = 'flow_user_role' unless defined?(FLOW_USER_ROLE)
9523
- FLOW_ADDON_ROLE = 'flow_addon_role' unless defined?(FLOW_ADDON_ROLE)
9524
- end
9525
-
9526
- attr_reader :discriminator
9527
-
9528
- def initialize(incoming={})
9529
- opts = HttpClient::Helper.symbolize_keys(incoming)
9530
- HttpClient::Preconditions.require_keys(opts, [:discriminator], 'FlowRole')
9531
- @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
9532
- end
9533
-
9534
- def subtype_to_hash
9535
- raise 'Cannot serialize an instance of flow_role directly - must use one of the specific types: flow_user_role, flow_addon_role'
9536
- end
9537
-
9538
- def to_hash
9539
- subtype_to_hash.merge(:discriminator => @discriminator)
9540
- end
9541
-
9542
- def FlowRole.from_json(hash)
9543
- HttpClient::Preconditions.assert_class('hash', hash, Hash)
9544
- discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
9545
- if discriminator.empty?
9546
- raise "Union type[flow_role] requires a field named 'discriminator'"
9547
- end
9548
- case discriminator
9549
- when Types::FLOW_USER_ROLE; FlowUserRole.new(hash)
9550
- when Types::FLOW_ADDON_ROLE; FlowAddonRole.new(hash)
9551
- else FlowRoleUndefinedType.new(:discriminator => discriminator)
9552
- end
9553
- end
9554
-
9555
- end
9556
-
9557
- class FlowRoleUndefinedType < FlowRole
9558
-
9559
- attr_reader :name
9560
-
9561
- def initialize(incoming={})
9562
- super(:discriminator => 'undefined_type')
9563
- opts = HttpClient::Helper.symbolize_keys(incoming)
9564
- @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
9565
- end
9566
-
9567
- def subtype_to_hash
9568
- raise 'Unable to serialize undefined type to json'
9569
- end
9570
-
9571
- def copy(incoming={})
9572
- raise 'Operation not supported for undefined type'
9573
- end
9574
-
9575
- def to_hash
9576
- raise 'Operation not supported for undefined type'
9577
- end
9578
-
9579
- end
9580
-
9581
9994
  class GatewayAuthenticationData
9582
9995
 
9583
9996
  module Types
@@ -11651,6 +12064,130 @@ module Io
11651
12064
 
11652
12065
  end
11653
12066
 
12067
+ # Different version sets of 3ds challenge actions.
12068
+ class ThreedsChallengeAction
12069
+
12070
+ module Types
12071
+ # Used for 2.1 and 2.2 versions of 3ds
12072
+ THREEDS_TWO_CHALLENGE_REQUEST = 'threeds_two_challenge_request' unless defined?(THREEDS_TWO_CHALLENGE_REQUEST)
12073
+ end
12074
+
12075
+ attr_reader :discriminator
12076
+
12077
+ def initialize(incoming={})
12078
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12079
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ThreedsChallengeAction')
12080
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
12081
+ end
12082
+
12083
+ def subtype_to_hash
12084
+ raise 'Cannot serialize an instance of threeds_challenge_action directly - must use one of the specific types: threeds_two_challenge_request'
12085
+ end
12086
+
12087
+ def to_hash
12088
+ subtype_to_hash.merge(:discriminator => @discriminator)
12089
+ end
12090
+
12091
+ def ThreedsChallengeAction.from_json(hash)
12092
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
12093
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
12094
+ if discriminator.empty?
12095
+ raise "Union type[threeds_challenge_action] requires a field named 'discriminator'"
12096
+ end
12097
+ case discriminator
12098
+ when Types::THREEDS_TWO_CHALLENGE_REQUEST; ThreedsTwoChallengeRequest.new(hash)
12099
+ else ThreedsChallengeActionUndefinedType.new(:discriminator => discriminator)
12100
+ end
12101
+ end
12102
+
12103
+ end
12104
+
12105
+ class ThreedsChallengeActionUndefinedType < ThreedsChallengeAction
12106
+
12107
+ attr_reader :name
12108
+
12109
+ def initialize(incoming={})
12110
+ super(:discriminator => 'undefined_type')
12111
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12112
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
12113
+ end
12114
+
12115
+ def subtype_to_hash
12116
+ raise 'Unable to serialize undefined type to json'
12117
+ end
12118
+
12119
+ def copy(incoming={})
12120
+ raise 'Operation not supported for undefined type'
12121
+ end
12122
+
12123
+ def to_hash
12124
+ raise 'Operation not supported for undefined type'
12125
+ end
12126
+
12127
+ end
12128
+
12129
+ # Different version sets of 3ds identify actions.
12130
+ class ThreedsIdentifyAction
12131
+
12132
+ module Types
12133
+ # Used for 2.1 and 2.2 versions of 3ds
12134
+ THREEDS_TWO_METHOD = 'threeds_two_method' unless defined?(THREEDS_TWO_METHOD)
12135
+ end
12136
+
12137
+ attr_reader :discriminator
12138
+
12139
+ def initialize(incoming={})
12140
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12141
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ThreedsIdentifyAction')
12142
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
12143
+ end
12144
+
12145
+ def subtype_to_hash
12146
+ raise 'Cannot serialize an instance of threeds_identify_action directly - must use one of the specific types: threeds_two_method'
12147
+ end
12148
+
12149
+ def to_hash
12150
+ subtype_to_hash.merge(:discriminator => @discriminator)
12151
+ end
12152
+
12153
+ def ThreedsIdentifyAction.from_json(hash)
12154
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
12155
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
12156
+ if discriminator.empty?
12157
+ raise "Union type[threeds_identify_action] requires a field named 'discriminator'"
12158
+ end
12159
+ case discriminator
12160
+ when Types::THREEDS_TWO_METHOD; ThreedsTwoMethod.new(hash)
12161
+ else ThreedsIdentifyActionUndefinedType.new(:discriminator => discriminator)
12162
+ end
12163
+ end
12164
+
12165
+ end
12166
+
12167
+ class ThreedsIdentifyActionUndefinedType < ThreedsIdentifyAction
12168
+
12169
+ attr_reader :name
12170
+
12171
+ def initialize(incoming={})
12172
+ super(:discriminator => 'undefined_type')
12173
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12174
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
12175
+ end
12176
+
12177
+ def subtype_to_hash
12178
+ raise 'Unable to serialize undefined type to json'
12179
+ end
12180
+
12181
+ def copy(incoming={})
12182
+ raise 'Operation not supported for undefined type'
12183
+ end
12184
+
12185
+ def to_hash
12186
+ raise 'Operation not supported for undefined type'
12187
+ end
12188
+
12189
+ end
12190
+
11654
12191
  # Possible outcome types from a tier rule
11655
12192
  class TierRuleOutcome
11656
12193
 
@@ -11952,6 +12489,80 @@ module Io
11952
12489
 
11953
12490
  end
11954
12491
 
12492
+ class AddressFieldName
12493
+
12494
+ attr_reader :value
12495
+
12496
+ def initialize(value)
12497
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
12498
+ end
12499
+
12500
+ # Returns the instance of AddressFieldName for this value, creating a new instance for an unknown value
12501
+ def AddressFieldName.apply(value)
12502
+ if value.instance_of?(AddressFieldName)
12503
+ value
12504
+ else
12505
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
12506
+ value.nil? ? nil : (from_string(value) || AddressFieldName.new(value))
12507
+ end
12508
+ end
12509
+
12510
+ # Returns the instance of AddressFieldName for this value, or nil if not found
12511
+ def AddressFieldName.from_string(value)
12512
+ HttpClient::Preconditions.assert_class('value', value, String)
12513
+ AddressFieldName.ALL.find { |v| v.value == value }
12514
+ end
12515
+
12516
+ def AddressFieldName.ALL
12517
+ @@all ||= [AddressFieldName.first_name, AddressFieldName.last_name, AddressFieldName.street_1, AddressFieldName.street_2, AddressFieldName.city, AddressFieldName.province, AddressFieldName.postal, AddressFieldName.country, AddressFieldName.phone, AddressFieldName.company]
12518
+ end
12519
+
12520
+ def AddressFieldName.first_name
12521
+ @@_first_name ||= AddressFieldName.new('first_name')
12522
+ end
12523
+
12524
+ def AddressFieldName.last_name
12525
+ @@_last_name ||= AddressFieldName.new('last_name')
12526
+ end
12527
+
12528
+ def AddressFieldName.street_1
12529
+ @@_street_1 ||= AddressFieldName.new('street_1')
12530
+ end
12531
+
12532
+ def AddressFieldName.street_2
12533
+ @@_street_2 ||= AddressFieldName.new('street_2')
12534
+ end
12535
+
12536
+ def AddressFieldName.city
12537
+ @@_city ||= AddressFieldName.new('city')
12538
+ end
12539
+
12540
+ def AddressFieldName.province
12541
+ @@_province ||= AddressFieldName.new('province')
12542
+ end
12543
+
12544
+ def AddressFieldName.postal
12545
+ @@_postal ||= AddressFieldName.new('postal')
12546
+ end
12547
+
12548
+ def AddressFieldName.country
12549
+ @@_country ||= AddressFieldName.new('country')
12550
+ end
12551
+
12552
+ def AddressFieldName.phone
12553
+ @@_phone ||= AddressFieldName.new('phone')
12554
+ end
12555
+
12556
+ def AddressFieldName.company
12557
+ @@_company ||= AddressFieldName.new('company')
12558
+ end
12559
+
12560
+ def to_hash
12561
+ value
12562
+ end
12563
+
12564
+ end
12565
+
11955
12566
  class AdjustmentReasonKey
11956
12567
 
11957
12568
  attr_reader :value
@@ -12120,7 +12731,7 @@ module Io
12120
12731
  end
12121
12732
 
12122
12733
  def AttributeIntent.ALL
12123
- @@all ||= [AttributeIntent.brand, AttributeIntent.color, AttributeIntent.countries_of_origin, AttributeIntent.product_id, AttributeIntent.fulfillment_method, AttributeIntent.hazardous, AttributeIntent.price, AttributeIntent.size, AttributeIntent.sku, AttributeIntent.taxability, AttributeIntent.consumer_url, AttributeIntent.gtin, AttributeIntent.mpn, AttributeIntent.facet]
12734
+ @@all ||= [AttributeIntent.brand, AttributeIntent.color, AttributeIntent.countries_of_origin, AttributeIntent.product_id, AttributeIntent.fulfillment_method, AttributeIntent.hazardous, AttributeIntent.price, AttributeIntent.size, AttributeIntent.sku, AttributeIntent.taxability, AttributeIntent.consumer_url, AttributeIntent.gtin, AttributeIntent.mpn, AttributeIntent.facet, AttributeIntent.eccn, AttributeIntent.returnable, AttributeIntent.searchable]
12124
12735
  end
12125
12736
 
12126
12737
  # A brand name of the item (for retailers that sell multiple brands)
@@ -12195,6 +12806,28 @@ module Io
12195
12806
  @@_facet ||= AttributeIntent.new('facet')
12196
12807
  end
12197
12808
 
12809
+ # An Export Control Classification Number (ECCN) is a five-character
12810
+ # alphanumeric key used in the Commerce Control List (CCL) to classify U.S.
12811
+ # exports and determine whether an export license is needed from the Department
12812
+ # of Commerce. If exempt, then EAR99 is used as the item’s ECCN. EAR99 is a
12813
+ # classification that indicates that an item is subject to the Export
12814
+ # Administration Regulations (EAR), but not listed with a specific Export
12815
+ # Control Classification Number (ECCN) on the Commerce Control List (CCL).
12816
+ def AttributeIntent.eccn
12817
+ @@_eccn ||= AttributeIntent.new('eccn')
12818
+ end
12819
+
12820
+ # Identifies whether the item can be returned. If not present on an item, it is
12821
+ # assumed to be returnable.
12822
+ def AttributeIntent.returnable
12823
+ @@_returnable ||= AttributeIntent.new('returnable')
12824
+ end
12825
+
12826
+ # Identifies whether the attribute can be used to search for an item.
12827
+ def AttributeIntent.searchable
12828
+ @@_searchable ||= AttributeIntent.new('searchable')
12829
+ end
12830
+
12198
12831
  def to_hash
12199
12832
  value
12200
12833
  end
@@ -12958,7 +13591,7 @@ module Io
12958
13591
  end
12959
13592
 
12960
13593
  def CardErrorCode.ALL
12961
- @@all ||= [CardErrorCode.invalid_address, CardErrorCode.invalid_name, CardErrorCode.invalid_number, CardErrorCode.invalid_expiration, CardErrorCode.invalid_token_type, CardErrorCode.avs, CardErrorCode.cvv, CardErrorCode.fraud, CardErrorCode.unknown]
13594
+ @@all ||= [CardErrorCode.invalid_address, CardErrorCode.invalid_currency, CardErrorCode.invalid_name, CardErrorCode.invalid_number, CardErrorCode.invalid_expiration, CardErrorCode.invalid_token_type, CardErrorCode.avs, CardErrorCode.cvv, CardErrorCode.fraud, CardErrorCode.unknown]
12962
13595
  end
12963
13596
 
12964
13597
  # Invalid billing address
@@ -12966,6 +13599,11 @@ module Io
12966
13599
  @@_invalid_address ||= CardErrorCode.new('invalid_address')
12967
13600
  end
12968
13601
 
13602
+ # Invalid requested currency
13603
+ def CardErrorCode.invalid_currency
13604
+ @@_invalid_currency ||= CardErrorCode.new('invalid_currency')
13605
+ end
13606
+
12969
13607
  # Invalid cardholder name
12970
13608
  def CardErrorCode.invalid_name
12971
13609
  @@_invalid_name ||= CardErrorCode.new('invalid_name')
@@ -15280,52 +15918,46 @@ module Io
15280
15918
 
15281
15919
  end
15282
15920
 
15283
- class FlowAddonRole < FlowRole
15921
+ class FlowBehavior
15284
15922
 
15285
15923
  attr_reader :value
15286
15924
 
15287
15925
  def initialize(value)
15288
- super(:name => FlowRole::Types::FLOW_ADDON_ROLE, :discriminator => 'flow_addon_role')
15289
15926
  @value = HttpClient::Preconditions.assert_class('value', value, String)
15290
15927
  end
15291
15928
 
15292
- # Returns the instance of FlowAddonRole for this value, creating a new instance for an unknown value
15293
- def FlowAddonRole.apply(value)
15294
- if value.instance_of?(FlowAddonRole)
15929
+ # Returns the instance of FlowBehavior for this value, creating a new instance for an unknown value
15930
+ def FlowBehavior.apply(value)
15931
+ if value.instance_of?(FlowBehavior)
15295
15932
  value
15296
15933
  else
15297
15934
  HttpClient::Preconditions.assert_class_or_nil('value', value, String)
15298
- value.nil? ? nil : (from_string(value) || FlowAddonRole.new(value))
15935
+ value.nil? ? nil : (from_string(value) || FlowBehavior.new(value))
15299
15936
  end
15300
15937
  end
15301
15938
 
15302
- # Returns the instance of FlowAddonRole for this value, or nil if not found
15303
- def FlowAddonRole.from_string(value)
15939
+ # Returns the instance of FlowBehavior for this value, or nil if not found
15940
+ def FlowBehavior.from_string(value)
15304
15941
  HttpClient::Preconditions.assert_class('value', value, String)
15305
- FlowAddonRole.ALL.find { |v| v.value == value }
15306
- end
15307
-
15308
- def FlowAddonRole.ALL
15309
- @@all ||= [FlowAddonRole.consumer_data_viewer, FlowAddonRole.membership_manager]
15942
+ FlowBehavior.ALL.find { |v| v.value == value }
15310
15943
  end
15311
15944
 
15312
- # Can view consumer's private data
15313
- def FlowAddonRole.consumer_data_viewer
15314
- @@_consumer_data_viewer ||= FlowAddonRole.new('consumer_data_viewer')
15945
+ def FlowBehavior.ALL
15946
+ @@all ||= [FlowBehavior.view_consumer_data]
15315
15947
  end
15316
15948
 
15317
- # Can invite new users to the org.
15318
- def FlowAddonRole.membership_manager
15319
- @@_membership_manager ||= FlowAddonRole.new('membership_manager')
15949
+ # Allows user to view consumers' personal data.
15950
+ def FlowBehavior.view_consumer_data
15951
+ @@_view_consumer_data ||= FlowBehavior.new('view_consumer_data')
15320
15952
  end
15321
15953
 
15322
- def subtype_to_hash
15954
+ def to_hash
15323
15955
  value
15324
15956
  end
15325
15957
 
15326
15958
  end
15327
15959
 
15328
- class FlowBehavior
15960
+ class FlowEntity
15329
15961
 
15330
15962
  attr_reader :value
15331
15963
 
@@ -15333,29 +15965,39 @@ module Io
15333
15965
  @value = HttpClient::Preconditions.assert_class('value', value, String)
15334
15966
  end
15335
15967
 
15336
- # Returns the instance of FlowBehavior for this value, creating a new instance for an unknown value
15337
- def FlowBehavior.apply(value)
15338
- if value.instance_of?(FlowBehavior)
15968
+ # Returns the instance of FlowEntity for this value, creating a new instance for an unknown value
15969
+ def FlowEntity.apply(value)
15970
+ if value.instance_of?(FlowEntity)
15339
15971
  value
15340
15972
  else
15341
15973
  HttpClient::Preconditions.assert_class_or_nil('value', value, String)
15342
- value.nil? ? nil : (from_string(value) || FlowBehavior.new(value))
15974
+ value.nil? ? nil : (from_string(value) || FlowEntity.new(value))
15343
15975
  end
15344
15976
  end
15345
15977
 
15346
- # Returns the instance of FlowBehavior for this value, or nil if not found
15347
- def FlowBehavior.from_string(value)
15978
+ # Returns the instance of FlowEntity for this value, or nil if not found
15979
+ def FlowEntity.from_string(value)
15348
15980
  HttpClient::Preconditions.assert_class('value', value, String)
15349
- FlowBehavior.ALL.find { |v| v.value == value }
15981
+ FlowEntity.ALL.find { |v| v.value == value }
15350
15982
  end
15351
15983
 
15352
- def FlowBehavior.ALL
15353
- @@all ||= [FlowBehavior.view_consumer_data]
15984
+ def FlowEntity.ALL
15985
+ @@all ||= [FlowEntity.flow_usa, FlowEntity.flow_irl, FlowEntity.flow_can]
15354
15986
  end
15355
15987
 
15356
- # Allows user to view consumers' personal data.
15357
- def FlowBehavior.view_consumer_data
15358
- @@_view_consumer_data ||= FlowBehavior.new('view_consumer_data')
15988
+ # Flow Commerce Inc., Hoboken, NJ, USA
15989
+ def FlowEntity.flow_usa
15990
+ @@_flow_usa ||= FlowEntity.new('flow-usa')
15991
+ end
15992
+
15993
+ # Flow Commerce Ltd., Dublin, IRL
15994
+ def FlowEntity.flow_irl
15995
+ @@_flow_irl ||= FlowEntity.new('flow-irl')
15996
+ end
15997
+
15998
+ # Flow Commerce Canada Inc., Vancouver, BC, CAN
15999
+ def FlowEntity.flow_can
16000
+ @@_flow_can ||= FlowEntity.new('flow-can')
15359
16001
  end
15360
16002
 
15361
16003
  def to_hash
@@ -15364,71 +16006,70 @@ module Io
15364
16006
 
15365
16007
  end
15366
16008
 
15367
- class FlowUserRole < FlowRole
16009
+ class FlowRole
15368
16010
 
15369
16011
  attr_reader :value
15370
16012
 
15371
16013
  def initialize(value)
15372
- super(:name => FlowRole::Types::FLOW_USER_ROLE, :discriminator => 'flow_user_role')
15373
16014
  @value = HttpClient::Preconditions.assert_class('value', value, String)
15374
16015
  end
15375
16016
 
15376
- # Returns the instance of FlowUserRole for this value, creating a new instance for an unknown value
15377
- def FlowUserRole.apply(value)
15378
- if value.instance_of?(FlowUserRole)
16017
+ # Returns the instance of FlowRole for this value, creating a new instance for an unknown value
16018
+ def FlowRole.apply(value)
16019
+ if value.instance_of?(FlowRole)
15379
16020
  value
15380
16021
  else
15381
16022
  HttpClient::Preconditions.assert_class_or_nil('value', value, String)
15382
- value.nil? ? nil : (from_string(value) || FlowUserRole.new(value))
16023
+ value.nil? ? nil : (from_string(value) || FlowRole.new(value))
15383
16024
  end
15384
16025
  end
15385
16026
 
15386
- # Returns the instance of FlowUserRole for this value, or nil if not found
15387
- def FlowUserRole.from_string(value)
16027
+ # Returns the instance of FlowRole for this value, or nil if not found
16028
+ def FlowRole.from_string(value)
15388
16029
  HttpClient::Preconditions.assert_class('value', value, String)
15389
- FlowUserRole.ALL.find { |v| v.value == value }
16030
+ FlowRole.ALL.find { |v| v.value == value }
15390
16031
  end
15391
16032
 
15392
- def FlowUserRole.ALL
15393
- @@all ||= [FlowUserRole.organization_admin, FlowUserRole.organization_merchant, FlowUserRole.organization_operations, FlowUserRole.organization_fulfillment, FlowUserRole.organization_marketing, FlowUserRole.organization_finance, FlowUserRole.flow_operations]
16033
+ def FlowRole.ALL
16034
+ @@all ||= [FlowRole.organization_admin, FlowRole.organization_merchant, FlowRole.organization_customer_service, FlowRole.organization_fulfillment, FlowRole.organization_marketing, FlowRole.organization_finance, FlowRole.flow_operations]
15394
16035
  end
15395
16036
 
15396
16037
  # Can fully administrate a merchant organization.
15397
- def FlowUserRole.organization_admin
15398
- @@_organization_admin ||= FlowUserRole.new('organization_admin')
16038
+ def FlowRole.organization_admin
16039
+ @@_organization_admin ||= FlowRole.new('organization_admin')
15399
16040
  end
15400
16041
 
15401
16042
  # Can access merchant functions such as analytics, billing, experiences.
15402
- def FlowUserRole.organization_merchant
15403
- @@_organization_merchant ||= FlowUserRole.new('organization_merchant')
16043
+ def FlowRole.organization_merchant
16044
+ @@_organization_merchant ||= FlowRole.new('organization_merchant')
15404
16045
  end
15405
16046
 
15406
16047
  # Can access customer service functions and retreive relevant data.
15407
- def FlowUserRole.organization_operations
15408
- @@_organization_operations ||= FlowUserRole.new('organization_operations')
16048
+ def FlowRole.organization_customer_service
16049
+ @@_organization_customer_service ||= FlowRole.new('organization_customer_service')
15409
16050
  end
15410
16051
 
15411
16052
  # Can access fulfillment functions and retreive relevant data.
15412
- def FlowUserRole.organization_fulfillment
15413
- @@_organization_fulfillment ||= FlowUserRole.new('organization_fulfillment')
16053
+ def FlowRole.organization_fulfillment
16054
+ @@_organization_fulfillment ||= FlowRole.new('organization_fulfillment')
15414
16055
  end
15415
16056
 
15416
16057
  # Can access marketing functions and retreive relevant data.
15417
- def FlowUserRole.organization_marketing
15418
- @@_organization_marketing ||= FlowUserRole.new('organization_marketing')
16058
+ def FlowRole.organization_marketing
16059
+ @@_organization_marketing ||= FlowRole.new('organization_marketing')
15419
16060
  end
15420
16061
 
15421
16062
  # Can access billing and reconcilliation functions and retreive relevant data.
15422
- def FlowUserRole.organization_finance
15423
- @@_organization_finance ||= FlowUserRole.new('organization_finance')
16063
+ def FlowRole.organization_finance
16064
+ @@_organization_finance ||= FlowRole.new('organization_finance')
15424
16065
  end
15425
16066
 
15426
16067
  # Can access Flow internal functions.
15427
- def FlowUserRole.flow_operations
15428
- @@_flow_operations ||= FlowUserRole.new('flow_operations')
16068
+ def FlowRole.flow_operations
16069
+ @@_flow_operations ||= FlowRole.new('flow_operations')
15429
16070
  end
15430
16071
 
15431
- def subtype_to_hash
16072
+ def to_hash
15432
16073
  value
15433
16074
  end
15434
16075
 
@@ -16381,6 +17022,48 @@ module Io
16381
17022
 
16382
17023
  end
16383
17024
 
17025
+ class ItemIdentifier
17026
+
17027
+ attr_reader :value
17028
+
17029
+ def initialize(value)
17030
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
17031
+ end
17032
+
17033
+ # Returns the instance of ItemIdentifier for this value, creating a new instance for an unknown value
17034
+ def ItemIdentifier.apply(value)
17035
+ if value.instance_of?(ItemIdentifier)
17036
+ value
17037
+ else
17038
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
17039
+ value.nil? ? nil : (from_string(value) || ItemIdentifier.new(value))
17040
+ end
17041
+ end
17042
+
17043
+ # Returns the instance of ItemIdentifier for this value, or nil if not found
17044
+ def ItemIdentifier.from_string(value)
17045
+ HttpClient::Preconditions.assert_class('value', value, String)
17046
+ ItemIdentifier.ALL.find { |v| v.value == value }
17047
+ end
17048
+
17049
+ def ItemIdentifier.ALL
17050
+ @@all ||= [ItemIdentifier.item_number, ItemIdentifier.sku]
17051
+ end
17052
+
17053
+ def ItemIdentifier.item_number
17054
+ @@_item_number ||= ItemIdentifier.new('item_number')
17055
+ end
17056
+
17057
+ def ItemIdentifier.sku
17058
+ @@_sku ||= ItemIdentifier.new('sku')
17059
+ end
17060
+
17061
+ def to_hash
17062
+ value
17063
+ end
17064
+
17065
+ end
17066
+
16384
17067
  class LaneDirection
16385
17068
 
16386
17069
  attr_reader :value
@@ -17691,6 +18374,50 @@ module Io
17691
18374
 
17692
18375
  end
17693
18376
 
18377
+ class PaymentMethodCapability
18378
+
18379
+ attr_reader :value
18380
+
18381
+ def initialize(value)
18382
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
18383
+ end
18384
+
18385
+ # Returns the instance of PaymentMethodCapability for this value, creating a new instance for an unknown value
18386
+ def PaymentMethodCapability.apply(value)
18387
+ if value.instance_of?(PaymentMethodCapability)
18388
+ value
18389
+ else
18390
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
18391
+ value.nil? ? nil : (from_string(value) || PaymentMethodCapability.new(value))
18392
+ end
18393
+ end
18394
+
18395
+ # Returns the instance of PaymentMethodCapability for this value, or nil if not found
18396
+ def PaymentMethodCapability.from_string(value)
18397
+ HttpClient::Preconditions.assert_class('value', value, String)
18398
+ PaymentMethodCapability.ALL.find { |v| v.value == value }
18399
+ end
18400
+
18401
+ def PaymentMethodCapability.ALL
18402
+ @@all ||= [PaymentMethodCapability.credit, PaymentMethodCapability.debit]
18403
+ end
18404
+
18405
+ # Credit cards provide access to a line of debt issued by a bank.
18406
+ def PaymentMethodCapability.credit
18407
+ @@_credit ||= PaymentMethodCapability.new('credit')
18408
+ end
18409
+
18410
+ # Debit cards deduct money directly from a bank account.
18411
+ def PaymentMethodCapability.debit
18412
+ @@_debit ||= PaymentMethodCapability.new('debit')
18413
+ end
18414
+
18415
+ def to_hash
18416
+ value
18417
+ end
18418
+
18419
+ end
18420
+
17694
18421
  class PaymentMethodRuleContentKey
17695
18422
 
17696
18423
  attr_reader :value
@@ -19520,6 +20247,152 @@ module Io
19520
20247
 
19521
20248
  end
19522
20249
 
20250
+ class SyncRecordFailureReason
20251
+
20252
+ attr_reader :value
20253
+
20254
+ def initialize(value)
20255
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
20256
+ end
20257
+
20258
+ # Returns the instance of SyncRecordFailureReason for this value, creating a new instance for an unknown value
20259
+ def SyncRecordFailureReason.apply(value)
20260
+ if value.instance_of?(SyncRecordFailureReason)
20261
+ value
20262
+ else
20263
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
20264
+ value.nil? ? nil : (from_string(value) || SyncRecordFailureReason.new(value))
20265
+ end
20266
+ end
20267
+
20268
+ # Returns the instance of SyncRecordFailureReason for this value, or nil if not found
20269
+ def SyncRecordFailureReason.from_string(value)
20270
+ HttpClient::Preconditions.assert_class('value', value, String)
20271
+ SyncRecordFailureReason.ALL.find { |v| v.value == value }
20272
+ end
20273
+
20274
+ def SyncRecordFailureReason.ALL
20275
+ @@all ||= [SyncRecordFailureReason.inventory, SyncRecordFailureReason.address, SyncRecordFailureReason.promotion, SyncRecordFailureReason.other]
20276
+ end
20277
+
20278
+ def SyncRecordFailureReason.inventory
20279
+ @@_inventory ||= SyncRecordFailureReason.new('inventory')
20280
+ end
20281
+
20282
+ def SyncRecordFailureReason.address
20283
+ @@_address ||= SyncRecordFailureReason.new('address')
20284
+ end
20285
+
20286
+ def SyncRecordFailureReason.promotion
20287
+ @@_promotion ||= SyncRecordFailureReason.new('promotion')
20288
+ end
20289
+
20290
+ def SyncRecordFailureReason.other
20291
+ @@_other ||= SyncRecordFailureReason.new('other')
20292
+ end
20293
+
20294
+ def to_hash
20295
+ value
20296
+ end
20297
+
20298
+ end
20299
+
20300
+ class SyncStreamType
20301
+
20302
+ attr_reader :value
20303
+
20304
+ def initialize(value)
20305
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
20306
+ end
20307
+
20308
+ # Returns the instance of SyncStreamType for this value, creating a new instance for an unknown value
20309
+ def SyncStreamType.apply(value)
20310
+ if value.instance_of?(SyncStreamType)
20311
+ value
20312
+ else
20313
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
20314
+ value.nil? ? nil : (from_string(value) || SyncStreamType.new(value))
20315
+ end
20316
+ end
20317
+
20318
+ # Returns the instance of SyncStreamType for this value, or nil if not found
20319
+ def SyncStreamType.from_string(value)
20320
+ HttpClient::Preconditions.assert_class('value', value, String)
20321
+ SyncStreamType.ALL.find { |v| v.value == value }
20322
+ end
20323
+
20324
+ def SyncStreamType.ALL
20325
+ @@all ||= [SyncStreamType.submitted_order, SyncStreamType.placed_order]
20326
+ end
20327
+
20328
+ # Represents a sync stream of submitted orders - ie each record reported
20329
+ # represents a submitted order
20330
+ def SyncStreamType.submitted_order
20331
+ @@_submitted_order ||= SyncStreamType.new('submitted_order')
20332
+ end
20333
+
20334
+ # Represents a sync stream of placed orders - ie each record reported represents
20335
+ # a placed order
20336
+ def SyncStreamType.placed_order
20337
+ @@_placed_order ||= SyncStreamType.new('placed_order')
20338
+ end
20339
+
20340
+ def to_hash
20341
+ value
20342
+ end
20343
+
20344
+ end
20345
+
20346
+ class SyncUnitOfTime
20347
+
20348
+ attr_reader :value
20349
+
20350
+ def initialize(value)
20351
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
20352
+ end
20353
+
20354
+ # Returns the instance of SyncUnitOfTime for this value, creating a new instance for an unknown value
20355
+ def SyncUnitOfTime.apply(value)
20356
+ if value.instance_of?(SyncUnitOfTime)
20357
+ value
20358
+ else
20359
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
20360
+ value.nil? ? nil : (from_string(value) || SyncUnitOfTime.new(value))
20361
+ end
20362
+ end
20363
+
20364
+ # Returns the instance of SyncUnitOfTime for this value, or nil if not found
20365
+ def SyncUnitOfTime.from_string(value)
20366
+ HttpClient::Preconditions.assert_class('value', value, String)
20367
+ SyncUnitOfTime.ALL.find { |v| v.value == value }
20368
+ end
20369
+
20370
+ def SyncUnitOfTime.ALL
20371
+ @@all ||= [SyncUnitOfTime.day, SyncUnitOfTime.hour, SyncUnitOfTime.minute, SyncUnitOfTime.second]
20372
+ end
20373
+
20374
+ def SyncUnitOfTime.day
20375
+ @@_day ||= SyncUnitOfTime.new('day')
20376
+ end
20377
+
20378
+ def SyncUnitOfTime.hour
20379
+ @@_hour ||= SyncUnitOfTime.new('hour')
20380
+ end
20381
+
20382
+ def SyncUnitOfTime.minute
20383
+ @@_minute ||= SyncUnitOfTime.new('minute')
20384
+ end
20385
+
20386
+ def SyncUnitOfTime.second
20387
+ @@_second ||= SyncUnitOfTime.new('second')
20388
+ end
20389
+
20390
+ def to_hash
20391
+ value
20392
+ end
20393
+
20394
+ end
20395
+
19523
20396
  class TaxApplicability
19524
20397
 
19525
20398
  attr_reader :value
@@ -19735,6 +20608,65 @@ module Io
19735
20608
 
19736
20609
  end
19737
20610
 
20611
+ class ThreedsTwoChallengeViewport
20612
+
20613
+ attr_reader :value
20614
+
20615
+ def initialize(value)
20616
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
20617
+ end
20618
+
20619
+ # Returns the instance of ThreedsTwoChallengeViewport for this value, creating a new instance for an unknown value
20620
+ def ThreedsTwoChallengeViewport.apply(value)
20621
+ if value.instance_of?(ThreedsTwoChallengeViewport)
20622
+ value
20623
+ else
20624
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
20625
+ value.nil? ? nil : (from_string(value) || ThreedsTwoChallengeViewport.new(value))
20626
+ end
20627
+ end
20628
+
20629
+ # Returns the instance of ThreedsTwoChallengeViewport for this value, or nil if not found
20630
+ def ThreedsTwoChallengeViewport.from_string(value)
20631
+ HttpClient::Preconditions.assert_class('value', value, String)
20632
+ ThreedsTwoChallengeViewport.ALL.find { |v| v.value == value }
20633
+ end
20634
+
20635
+ def ThreedsTwoChallengeViewport.ALL
20636
+ @@all ||= [ThreedsTwoChallengeViewport.xxx_small, ThreedsTwoChallengeViewport.xx_small, ThreedsTwoChallengeViewport.x_small, ThreedsTwoChallengeViewport.small, ThreedsTwoChallengeViewport.fullscreen]
20637
+ end
20638
+
20639
+ # 250x400
20640
+ def ThreedsTwoChallengeViewport.xxx_small
20641
+ @@_xxx_small ||= ThreedsTwoChallengeViewport.new('xxx_small')
20642
+ end
20643
+
20644
+ # 390x400
20645
+ def ThreedsTwoChallengeViewport.xx_small
20646
+ @@_xx_small ||= ThreedsTwoChallengeViewport.new('xx_small')
20647
+ end
20648
+
20649
+ # 500x600
20650
+ def ThreedsTwoChallengeViewport.x_small
20651
+ @@_x_small ||= ThreedsTwoChallengeViewport.new('x_small')
20652
+ end
20653
+
20654
+ # 600x400
20655
+ def ThreedsTwoChallengeViewport.small
20656
+ @@_small ||= ThreedsTwoChallengeViewport.new('small')
20657
+ end
20658
+
20659
+ # Full Screen. Not recommended for mobile devices at this time.
20660
+ def ThreedsTwoChallengeViewport.fullscreen
20661
+ @@_fullscreen ||= ThreedsTwoChallengeViewport.new('fullscreen')
20662
+ end
20663
+
20664
+ def to_hash
20665
+ value
20666
+ end
20667
+
20668
+ end
20669
+
19738
20670
  class TierAvailability
19739
20671
 
19740
20672
  attr_reader :value
@@ -20747,7 +21679,7 @@ module Io
20747
21679
 
20748
21680
  class AddressConfiguration
20749
21681
 
20750
- attr_reader :country, :field_validation, :provinces
21682
+ attr_reader :country, :field_validation, :provinces, :formats
20751
21683
 
20752
21684
  def initialize(incoming={})
20753
21685
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -20755,6 +21687,7 @@ module Io
20755
21687
  @country = HttpClient::Preconditions.assert_class('country', opts.delete(:country), String)
20756
21688
  @field_validation = (x = opts.delete(:field_validation); x.is_a?(::Io::Flow::V0::Models::AddressFieldValidation) ? x : ::Io::Flow::V0::Models::AddressFieldValidation.new(x))
20757
21689
  @provinces = HttpClient::Preconditions.assert_class('provinces', (x = opts.delete(:provinces); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AddressConfigurationProvince) ? x : ::Io::Flow::V0::Models::AddressConfigurationProvince.new(x)) }
21690
+ @formats = HttpClient::Preconditions.assert_class('formats', (x = opts.delete(:formats); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AddressConfigurationFormat) ? x : ::Io::Flow::V0::Models::AddressConfigurationFormat.new(x)) }
20758
21691
  end
20759
21692
 
20760
21693
  def to_json
@@ -20769,7 +21702,61 @@ module Io
20769
21702
  {
20770
21703
  :country => country,
20771
21704
  :field_validation => field_validation.to_hash,
20772
- :provinces => provinces.map { |o| o.to_hash }
21705
+ :provinces => provinces.map { |o| o.to_hash },
21706
+ :formats => formats.map { |o| o.to_hash }
21707
+ }
21708
+ end
21709
+
21710
+ end
21711
+
21712
+ class AddressConfigurationFieldPlacement
21713
+
21714
+ attr_reader :name
21715
+
21716
+ def initialize(incoming={})
21717
+ opts = HttpClient::Helper.symbolize_keys(incoming)
21718
+ HttpClient::Preconditions.require_keys(opts, [:name], 'AddressConfigurationFieldPlacement')
21719
+ @name = (x = opts.delete(:name); x.is_a?(::Io::Flow::V0::Models::AddressFieldName) ? x : ::Io::Flow::V0::Models::AddressFieldName.apply(x))
21720
+ end
21721
+
21722
+ def to_json
21723
+ JSON.dump(to_hash)
21724
+ end
21725
+
21726
+ def copy(incoming={})
21727
+ AddressConfigurationFieldPlacement.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
21728
+ end
21729
+
21730
+ def to_hash
21731
+ {
21732
+ :name => name.value
21733
+ }
21734
+ end
21735
+
21736
+ end
21737
+
21738
+ # Field placements within an address configuration format
21739
+ class AddressConfigurationFormat
21740
+
21741
+ attr_reader :placements
21742
+
21743
+ def initialize(incoming={})
21744
+ opts = HttpClient::Helper.symbolize_keys(incoming)
21745
+ HttpClient::Preconditions.require_keys(opts, [:placements], 'AddressConfigurationFormat')
21746
+ @placements = HttpClient::Preconditions.assert_class('placements', opts.delete(:placements), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AddressConfigurationFieldPlacement) ? x : ::Io::Flow::V0::Models::AddressConfigurationFieldPlacement.new(x)) }
21747
+ end
21748
+
21749
+ def to_json
21750
+ JSON.dump(to_hash)
21751
+ end
21752
+
21753
+ def copy(incoming={})
21754
+ AddressConfigurationFormat.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
21755
+ end
21756
+
21757
+ def to_hash
21758
+ {
21759
+ :placements => placements.map { |o| o.to_hash }
20773
21760
  }
20774
21761
  end
20775
21762
 
@@ -21225,12 +22212,13 @@ module Io
21225
22212
 
21226
22213
  class AllocationLineDetail < AllocationDetail
21227
22214
 
21228
- attr_reader :number, :quantity, :key, :price, :total, :included, :not_included
22215
+ attr_reader :id, :number, :quantity, :key, :price, :total, :included, :not_included
21229
22216
 
21230
22217
  def initialize(incoming={})
21231
22218
  super(:discriminator => AllocationDetail::Types::ALLOCATION_LINE_DETAIL)
21232
22219
  opts = HttpClient::Helper.symbolize_keys(incoming)
21233
22220
  HttpClient::Preconditions.require_keys(opts, [:number, :quantity, :key, :price, :total, :included, :not_included], 'AllocationLineDetail')
22221
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
21234
22222
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
21235
22223
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
21236
22224
  @key = (x = opts.delete(:key); x.is_a?(::Io::Flow::V0::Models::OrderPriceDetailKey) ? x : ::Io::Flow::V0::Models::OrderPriceDetailKey.apply(x))
@@ -21250,6 +22238,7 @@ module Io
21250
22238
 
21251
22239
  def subtype_to_hash
21252
22240
  {
22241
+ :id => id,
21253
22242
  :number => number,
21254
22243
  :quantity => quantity,
21255
22244
  :key => key.value,
@@ -22896,7 +23885,7 @@ module Io
22896
23885
  HttpClient::Preconditions.require_keys(opts, [:behavior, :authentication_techniques, :roles], 'BehaviorAudit')
22897
23886
  @behavior = (x = opts.delete(:behavior); x.is_a?(::Io::Flow::V0::Models::FlowBehavior) ? x : ::Io::Flow::V0::Models::FlowBehavior.apply(x))
22898
23887
  @authentication_techniques = HttpClient::Preconditions.assert_class('authentication_techniques', opts.delete(:authentication_techniques), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AuthenticationTechnique) ? x : ::Io::Flow::V0::Models::AuthenticationTechnique.apply(x)) }
22899
- @roles = HttpClient::Preconditions.assert_class('roles', opts.delete(:roles), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.from_json(x)) }
23888
+ @roles = HttpClient::Preconditions.assert_class('roles', opts.delete(:roles), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.apply(x)) }
22900
23889
  end
22901
23890
 
22902
23891
  def to_json
@@ -22911,7 +23900,7 @@ module Io
22911
23900
  {
22912
23901
  :behavior => behavior.value,
22913
23902
  :authentication_techniques => authentication_techniques.map { |o| o.value },
22914
- :roles => roles.map { |o| o.to_hash }
23903
+ :roles => roles.map { |o| o.value }
22915
23904
  }
22916
23905
  end
22917
23906
 
@@ -23050,7 +24039,8 @@ module Io
23050
24039
 
23051
24040
  end
23052
24041
 
23053
- # Shopper browser info. All of these fields are required if you are using 3DS2.
24042
+ # Shopper browser info used as part of card authentication. All of these fields
24043
+ # are required if you are using 3DS2.
23054
24044
  class BrowserInfo
23055
24045
 
23056
24046
  attr_reader :origin, :language, :java_enabled, :color_depth, :screen_height, :screen_width, :time_zone_offset, :user_agent, :accept
@@ -23718,7 +24708,7 @@ module Io
23718
24708
 
23719
24709
  class CardForm
23720
24710
 
23721
- attr_reader :number, :cipher, :expiration_month, :expiration_year, :name, :cvv, :address, :ip, :challenge_text, :challenge_cipher, :token_type
24711
+ attr_reader :number, :cipher, :expiration_month, :expiration_year, :name, :cvv, :address, :ip, :challenge_text, :challenge_cipher, :token_type, :requested_currency, :metadata
23722
24712
 
23723
24713
  def initialize(incoming={})
23724
24714
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -23734,6 +24724,8 @@ module Io
23734
24724
  @challenge_text = (x = opts.delete(:challenge_text); x.nil? ? nil : HttpClient::Preconditions.assert_class('challenge_text', x, String))
23735
24725
  @challenge_cipher = (x = opts.delete(:challenge_cipher); x.nil? ? nil : HttpClient::Preconditions.assert_class('challenge_cipher', x, String))
23736
24726
  @token_type = (x = opts.delete(:token_type); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TokenType) ? x : ::Io::Flow::V0::Models::TokenType.apply(x)))
24727
+ @requested_currency = (x = opts.delete(:requested_currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('requested_currency', x, String))
24728
+ @metadata = (x = opts.delete(:metadata); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::CardMetadata) ? x : ::Io::Flow::V0::Models::CardMetadata.new(x)))
23737
24729
  end
23738
24730
 
23739
24731
  def to_json
@@ -23756,7 +24748,34 @@ module Io
23756
24748
  :ip => ip,
23757
24749
  :challenge_text => challenge_text,
23758
24750
  :challenge_cipher => challenge_cipher,
23759
- :token_type => token_type.nil? ? nil : token_type.value
24751
+ :token_type => token_type.nil? ? nil : token_type.value,
24752
+ :requested_currency => requested_currency,
24753
+ :metadata => metadata.nil? ? nil : metadata.to_hash
24754
+ }
24755
+ end
24756
+
24757
+ end
24758
+
24759
+ class CardMetadata
24760
+
24761
+ attr_reader :merchant_of_record
24762
+
24763
+ def initialize(incoming={})
24764
+ opts = HttpClient::Helper.symbolize_keys(incoming)
24765
+ @merchant_of_record = (x = opts.delete(:merchant_of_record); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrderMerchantOfRecord) ? x : ::Io::Flow::V0::Models::OrderMerchantOfRecord.apply(x)))
24766
+ end
24767
+
24768
+ def to_json
24769
+ JSON.dump(to_hash)
24770
+ end
24771
+
24772
+ def copy(incoming={})
24773
+ CardMetadata.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
24774
+ end
24775
+
24776
+ def to_hash
24777
+ {
24778
+ :merchant_of_record => merchant_of_record.nil? ? nil : merchant_of_record.value
23760
24779
  }
23761
24780
  end
23762
24781
 
@@ -23825,7 +24844,7 @@ module Io
23825
24844
  # Creates an authorization for a transaction from a card payment source.
23826
24845
  class CardPaymentSourceAuthorizationForm < AuthorizationForm
23827
24846
 
23828
- attr_reader :key, :card_payment_source_id, :order_number, :amount, :currency, :browser_info
24847
+ attr_reader :key, :card_payment_source_id, :order_number, :amount, :currency, :browser_info, :action_configuration
23829
24848
 
23830
24849
  def initialize(incoming={})
23831
24850
  super(:discriminator => AuthorizationForm::Types::CARD_PAYMENT_SOURCE_AUTHORIZATION_FORM)
@@ -23837,6 +24856,7 @@ module Io
23837
24856
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
23838
24857
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
23839
24858
  @browser_info = (x = opts.delete(:browser_info); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserInfo) ? x : ::Io::Flow::V0::Models::BrowserInfo.new(x)))
24859
+ @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ActionConfiguration) ? x : ::Io::Flow::V0::Models::ActionConfiguration.from_json(x)))
23840
24860
  end
23841
24861
 
23842
24862
  def to_json
@@ -23854,7 +24874,8 @@ module Io
23854
24874
  :order_number => order_number,
23855
24875
  :amount => amount.to_f.to_s,
23856
24876
  :currency => currency,
23857
- :browser_info => browser_info.nil? ? nil : browser_info.to_hash
24877
+ :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
24878
+ :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
23858
24879
  }
23859
24880
  end
23860
24881
 
@@ -25284,32 +26305,6 @@ module Io
25284
26305
 
25285
26306
  end
25286
26307
 
25287
- class CheckoutSettings
25288
-
25289
- attr_reader :configuration
25290
-
25291
- def initialize(incoming={})
25292
- opts = HttpClient::Helper.symbolize_keys(incoming)
25293
- HttpClient::Preconditions.require_keys(opts, [:configuration], 'CheckoutSettings')
25294
- @configuration = (x = opts.delete(:configuration); x.is_a?(::Io::Flow::V0::Models::ExperienceConfigurationReference) ? x : ::Io::Flow::V0::Models::ExperienceConfigurationReference.new(x))
25295
- end
25296
-
25297
- def to_json
25298
- JSON.dump(to_hash)
25299
- end
25300
-
25301
- def copy(incoming={})
25302
- CheckoutSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
25303
- end
25304
-
25305
- def to_hash
25306
- {
25307
- :configuration => configuration.to_hash
25308
- }
25309
- end
25310
-
25311
- end
25312
-
25313
26308
  # Represents a secure token that can be used to redirect to Checkout UI
25314
26309
  class CheckoutToken
25315
26310
 
@@ -26165,7 +27160,7 @@ module Io
26165
27160
  opts = HttpClient::Helper.symbolize_keys(incoming)
26166
27161
  HttpClient::Preconditions.require_keys(opts, [:id, :experiments], 'Context')
26167
27162
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
26168
- @experiments = HttpClient::Preconditions.assert_class('experiments', opts.delete(:experiments), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Experiment) ? x : ::Io::Flow::V0::Models::Experiment.new(x)) }
27163
+ @experiments = HttpClient::Preconditions.assert_class('experiments', opts.delete(:experiments), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::SessionContextExperiment) ? x : ::Io::Flow::V0::Models::SessionContextExperiment.new(x)) }
26169
27164
  end
26170
27165
 
26171
27166
  def to_json
@@ -26192,7 +27187,7 @@ module Io
26192
27187
  def initialize(incoming={})
26193
27188
  opts = HttpClient::Helper.symbolize_keys(incoming)
26194
27189
  HttpClient::Preconditions.require_keys(opts, [:experiments], 'ContextForm')
26195
- @experiments = HttpClient::Preconditions.assert_class('experiments', opts.delete(:experiments), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Experiment) ? x : ::Io::Flow::V0::Models::Experiment.new(x)) }
27190
+ @experiments = HttpClient::Preconditions.assert_class('experiments', opts.delete(:experiments), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::SessionContextExperiment) ? x : ::Io::Flow::V0::Models::SessionContextExperiment.new(x)) }
26196
27191
  end
26197
27192
 
26198
27193
  def to_json
@@ -26842,14 +27837,15 @@ module Io
26842
27837
  # Represents the format used to export price book item documents
26843
27838
  class CsvPriceBookItemExportRow
26844
27839
 
26845
- attr_reader :price_book_key, :price_book_item_key, :item_number, :item_name, :amount, :item_attributes, :starts_at, :ends_at
27840
+ attr_reader :price_book_key, :price_book_item_key, :item_number, :sku, :item_name, :amount, :item_attributes, :starts_at, :ends_at
26846
27841
 
26847
27842
  def initialize(incoming={})
26848
27843
  opts = HttpClient::Helper.symbolize_keys(incoming)
26849
- HttpClient::Preconditions.require_keys(opts, [:price_book_key, :price_book_item_key, :item_number, :item_name, :amount, :starts_at], 'CsvPriceBookItemExportRow')
27844
+ HttpClient::Preconditions.require_keys(opts, [:price_book_key, :price_book_item_key, :item_number, :sku, :item_name, :amount, :starts_at], 'CsvPriceBookItemExportRow')
26850
27845
  @price_book_key = HttpClient::Preconditions.assert_class('price_book_key', opts.delete(:price_book_key), String)
26851
27846
  @price_book_item_key = HttpClient::Preconditions.assert_class('price_book_item_key', opts.delete(:price_book_item_key), String)
26852
27847
  @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
27848
+ @sku = HttpClient::Preconditions.assert_class('sku', opts.delete(:sku), String)
26853
27849
  @item_name = HttpClient::Preconditions.assert_class('item_name', opts.delete(:item_name), String)
26854
27850
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
26855
27851
  @item_attributes = (x = opts.delete(:item_attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('item_attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('item_attributes', d[1], String); h })
@@ -26870,6 +27866,7 @@ module Io
26870
27866
  :price_book_key => price_book_key,
26871
27867
  :price_book_item_key => price_book_item_key,
26872
27868
  :item_number => item_number,
27869
+ :sku => sku,
26873
27870
  :item_name => item_name,
26874
27871
  :amount => amount.to_f.to_s,
26875
27872
  :item_attributes => item_attributes.nil? ? nil : item_attributes,
@@ -27322,6 +28319,32 @@ module Io
27322
28319
 
27323
28320
  end
27324
28321
 
28322
+ class CustomerClientToken
28323
+
28324
+ attr_reader :token
28325
+
28326
+ def initialize(incoming={})
28327
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28328
+ HttpClient::Preconditions.require_keys(opts, [:token], 'CustomerClientToken')
28329
+ @token = HttpClient::Preconditions.assert_class('token', opts.delete(:token), String)
28330
+ end
28331
+
28332
+ def to_json
28333
+ JSON.dump(to_hash)
28334
+ end
28335
+
28336
+ def copy(incoming={})
28337
+ CustomerClientToken.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28338
+ end
28339
+
28340
+ def to_hash
28341
+ {
28342
+ :token => token
28343
+ }
28344
+ end
28345
+
28346
+ end
28347
+
27325
28348
  class CustomerDeleted < Event
27326
28349
 
27327
28350
  attr_reader :event_id, :timestamp, :organization, :customer
@@ -27737,6 +28760,34 @@ module Io
27737
28760
 
27738
28761
  end
27739
28762
 
28763
+ class DatetimeWithTimezone
28764
+
28765
+ attr_reader :datetime, :timezone
28766
+
28767
+ def initialize(incoming={})
28768
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28769
+ HttpClient::Preconditions.require_keys(opts, [:datetime, :timezone], 'DatetimeWithTimezone')
28770
+ @datetime = HttpClient::Preconditions.assert_class('datetime', HttpClient::Helper.to_date_time_iso8601(opts.delete(:datetime)), DateTime)
28771
+ @timezone = HttpClient::Preconditions.assert_class('timezone', opts.delete(:timezone), String)
28772
+ end
28773
+
28774
+ def to_json
28775
+ JSON.dump(to_hash)
28776
+ end
28777
+
28778
+ def copy(incoming={})
28779
+ DatetimeWithTimezone.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28780
+ end
28781
+
28782
+ def to_hash
28783
+ {
28784
+ :datetime => datetime,
28785
+ :timezone => timezone
28786
+ }
28787
+ end
28788
+
28789
+ end
28790
+
27740
28791
  class DdpRatecardFee < RatecardFee
27741
28792
 
27742
28793
  attr_reader :amount
@@ -27796,11 +28847,12 @@ module Io
27796
28847
 
27797
28848
  class DeliveryItem
27798
28849
 
27799
- attr_reader :number, :quantity, :shipment_estimate, :price, :attributes, :center, :line_number
28850
+ attr_reader :id, :number, :quantity, :shipment_estimate, :price, :attributes, :center, :line_number
27800
28851
 
27801
28852
  def initialize(incoming={})
27802
28853
  opts = HttpClient::Helper.symbolize_keys(incoming)
27803
28854
  HttpClient::Preconditions.require_keys(opts, [:number, :quantity], 'DeliveryItem')
28855
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
27804
28856
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
27805
28857
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
27806
28858
  @shipment_estimate = (x = opts.delete(:shipment_estimate); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::DatetimeRange) ? x : ::Io::Flow::V0::Models::DatetimeRange.new(x)))
@@ -27820,6 +28872,7 @@ module Io
27820
28872
 
27821
28873
  def to_hash
27822
28874
  {
28875
+ :id => id,
27823
28876
  :number => number,
27824
28877
  :quantity => quantity,
27825
28878
  :shipment_estimate => shipment_estimate.nil? ? nil : shipment_estimate.to_hash,
@@ -28449,6 +29502,58 @@ module Io
28449
29502
 
28450
29503
  end
28451
29504
 
29505
+ # Result of looking up a specific tax registration number. Includes details of
29506
+ # both the consumer request and the VIES response.
29507
+ class DetailedTaxRegistration
29508
+
29509
+ attr_reader :id, :key, :consumer_company_name, :number, :country, :success, :timestamp, :vies_result, :vies_result_reason, :vies_company_name, :vies_company_address, :company_name_match_result, :company_name_match_result_reason
29510
+
29511
+ def initialize(incoming={})
29512
+ opts = HttpClient::Helper.symbolize_keys(incoming)
29513
+ HttpClient::Preconditions.require_keys(opts, [:id, :key, :number, :country, :success, :timestamp, :vies_result, :company_name_match_result], 'DetailedTaxRegistration')
29514
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
29515
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
29516
+ @consumer_company_name = (x = opts.delete(:consumer_company_name); x.nil? ? nil : HttpClient::Preconditions.assert_class('consumer_company_name', x, String))
29517
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
29518
+ @country = HttpClient::Preconditions.assert_class('country', opts.delete(:country), String)
29519
+ @success = HttpClient::Preconditions.assert_boolean('success', opts.delete(:success))
29520
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
29521
+ @vies_result = (x = opts.delete(:vies_result); x.is_a?(::Io::Flow::V0::Models::TaxVerificationResult) ? x : ::Io::Flow::V0::Models::TaxVerificationResult.apply(x))
29522
+ @vies_result_reason = (x = opts.delete(:vies_result_reason); x.nil? ? nil : HttpClient::Preconditions.assert_class('vies_result_reason', x, String))
29523
+ @vies_company_name = (x = opts.delete(:vies_company_name); x.nil? ? nil : HttpClient::Preconditions.assert_class('vies_company_name', x, String))
29524
+ @vies_company_address = (x = opts.delete(:vies_company_address); x.nil? ? nil : HttpClient::Preconditions.assert_class('vies_company_address', x, String))
29525
+ @company_name_match_result = (x = opts.delete(:company_name_match_result); x.is_a?(::Io::Flow::V0::Models::TaxVerificationResult) ? x : ::Io::Flow::V0::Models::TaxVerificationResult.apply(x))
29526
+ @company_name_match_result_reason = (x = opts.delete(:company_name_match_result_reason); x.nil? ? nil : HttpClient::Preconditions.assert_class('company_name_match_result_reason', x, String))
29527
+ end
29528
+
29529
+ def to_json
29530
+ JSON.dump(to_hash)
29531
+ end
29532
+
29533
+ def copy(incoming={})
29534
+ DetailedTaxRegistration.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
29535
+ end
29536
+
29537
+ def to_hash
29538
+ {
29539
+ :id => id,
29540
+ :key => key,
29541
+ :consumer_company_name => consumer_company_name,
29542
+ :number => number,
29543
+ :country => country,
29544
+ :success => success,
29545
+ :timestamp => timestamp,
29546
+ :vies_result => vies_result.value,
29547
+ :vies_result_reason => vies_result_reason,
29548
+ :vies_company_name => vies_company_name,
29549
+ :vies_company_address => vies_company_address,
29550
+ :company_name_match_result => company_name_match_result.value,
29551
+ :company_name_match_result_reason => company_name_match_result_reason
29552
+ }
29553
+ end
29554
+
29555
+ end
29556
+
28452
29557
  # Represents a collection of items that are digitally available and do not
28453
29558
  # require a physical shipment
28454
29559
  class DigitalDelivery < Delivery
@@ -28646,7 +29751,7 @@ module Io
28646
29751
  # you can capture up to the amount of the authorization.
28647
29752
  class DirectAuthorizationForm < AuthorizationForm
28648
29753
 
28649
- attr_reader :token, :amount, :currency, :customer, :key, :cvv, :attributes, :destination, :billing_address, :ip, :options, :redirect_urls, :browser_info
29754
+ attr_reader :token, :amount, :currency, :customer, :key, :cvv, :attributes, :destination, :billing_address, :ip, :options, :redirect_urls, :browser_info, :action_configuration
28650
29755
 
28651
29756
  def initialize(incoming={})
28652
29757
  super(:discriminator => AuthorizationForm::Types::DIRECT_AUTHORIZATION_FORM)
@@ -28665,6 +29770,7 @@ module Io
28665
29770
  @options = (x = opts.delete(:options); x.nil? ? nil : HttpClient::Preconditions.assert_class('options', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AuthorizationOption) ? x : ::Io::Flow::V0::Models::AuthorizationOption.apply(x)) })
28666
29771
  @redirect_urls = (x = opts.delete(:redirect_urls); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PostPaymentRedirectUrls) ? x : ::Io::Flow::V0::Models::PostPaymentRedirectUrls.new(x)))
28667
29772
  @browser_info = (x = opts.delete(:browser_info); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserInfo) ? x : ::Io::Flow::V0::Models::BrowserInfo.new(x)))
29773
+ @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ActionConfiguration) ? x : ::Io::Flow::V0::Models::ActionConfiguration.from_json(x)))
28668
29774
  end
28669
29775
 
28670
29776
  def to_json
@@ -28689,7 +29795,8 @@ module Io
28689
29795
  :ip => ip,
28690
29796
  :options => options.nil? ? nil : options.map { |o| o.value },
28691
29797
  :redirect_urls => redirect_urls.nil? ? nil : redirect_urls.to_hash,
28692
- :browser_info => browser_info.nil? ? nil : browser_info.to_hash
29798
+ :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
29799
+ :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
28693
29800
  }
28694
29801
  end
28695
29802
 
@@ -28900,15 +30007,15 @@ module Io
28900
30007
 
28901
30008
  class DiscountRuleSettings
28902
30009
 
28903
- attr_reader :id, :name, :from, :to, :status, :experience_keys, :rule
30010
+ attr_reader :id, :name, :from_with_tz, :to_with_tz, :status, :experience_keys, :rule
28904
30011
 
28905
30012
  def initialize(incoming={})
28906
30013
  opts = HttpClient::Helper.symbolize_keys(incoming)
28907
- HttpClient::Preconditions.require_keys(opts, [:id, :name, :from, :status, :experience_keys, :rule], 'DiscountRuleSettings')
30014
+ HttpClient::Preconditions.require_keys(opts, [:id, :name, :from_with_tz, :status, :experience_keys, :rule], 'DiscountRuleSettings')
28908
30015
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
28909
30016
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
28910
- @from = HttpClient::Preconditions.assert_class('from', HttpClient::Helper.to_date_time_iso8601(opts.delete(:from)), DateTime)
28911
- @to = (x = opts.delete(:to); x.nil? ? nil : HttpClient::Preconditions.assert_class('to', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
30017
+ @from_with_tz = (x = opts.delete(:from_with_tz); x.is_a?(::Io::Flow::V0::Models::DatetimeWithTimezone) ? x : ::Io::Flow::V0::Models::DatetimeWithTimezone.new(x))
30018
+ @to_with_tz = (x = opts.delete(:to_with_tz); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::DatetimeWithTimezone) ? x : ::Io::Flow::V0::Models::DatetimeWithTimezone.new(x)))
28912
30019
  @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::DiscountRuleStatus) ? x : ::Io::Flow::V0::Models::DiscountRuleStatus.apply(x))
28913
30020
  @experience_keys = HttpClient::Preconditions.assert_class('experience_keys', opts.delete(:experience_keys), Array).map { |v| HttpClient::Preconditions.assert_class('experience_keys', v, String) }
28914
30021
  @rule = (x = opts.delete(:rule); x.is_a?(::Io::Flow::V0::Models::DiscountRule) ? x : ::Io::Flow::V0::Models::DiscountRule.new(x))
@@ -28926,8 +30033,8 @@ module Io
28926
30033
  {
28927
30034
  :id => id,
28928
30035
  :name => name,
28929
- :from => from,
28930
- :to => to,
30036
+ :from_with_tz => from_with_tz.to_hash,
30037
+ :to_with_tz => to_with_tz.nil? ? nil : to_with_tz.to_hash,
28931
30038
  :status => status.value,
28932
30039
  :experience_keys => experience_keys,
28933
30040
  :rule => rule.to_hash
@@ -28938,14 +30045,14 @@ module Io
28938
30045
 
28939
30046
  class DiscountRuleSettingsForm
28940
30047
 
28941
- attr_reader :name, :from, :to, :experience_keys, :rule
30048
+ attr_reader :name, :from_with_tz, :to_with_tz, :experience_keys, :rule
28942
30049
 
28943
30050
  def initialize(incoming={})
28944
30051
  opts = HttpClient::Helper.symbolize_keys(incoming)
28945
- HttpClient::Preconditions.require_keys(opts, [:name, :from, :experience_keys, :rule], 'DiscountRuleSettingsForm')
30052
+ HttpClient::Preconditions.require_keys(opts, [:name, :from_with_tz, :experience_keys, :rule], 'DiscountRuleSettingsForm')
28946
30053
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
28947
- @from = HttpClient::Preconditions.assert_class('from', HttpClient::Helper.to_date_time_iso8601(opts.delete(:from)), DateTime)
28948
- @to = (x = opts.delete(:to); x.nil? ? nil : HttpClient::Preconditions.assert_class('to', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
30054
+ @from_with_tz = (x = opts.delete(:from_with_tz); x.is_a?(::Io::Flow::V0::Models::DatetimeWithTimezone) ? x : ::Io::Flow::V0::Models::DatetimeWithTimezone.new(x))
30055
+ @to_with_tz = (x = opts.delete(:to_with_tz); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::DatetimeWithTimezone) ? x : ::Io::Flow::V0::Models::DatetimeWithTimezone.new(x)))
28949
30056
  @experience_keys = HttpClient::Preconditions.assert_class('experience_keys', opts.delete(:experience_keys), Array).map { |v| HttpClient::Preconditions.assert_class('experience_keys', v, String) }
28950
30057
  @rule = (x = opts.delete(:rule); x.is_a?(::Io::Flow::V0::Models::DiscountRule) ? x : ::Io::Flow::V0::Models::DiscountRule.new(x))
28951
30058
  end
@@ -28961,8 +30068,8 @@ module Io
28961
30068
  def to_hash
28962
30069
  {
28963
30070
  :name => name,
28964
- :from => from,
28965
- :to => to,
30071
+ :from_with_tz => from_with_tz.to_hash,
30072
+ :to_with_tz => to_with_tz.nil? ? nil : to_with_tz.to_hash,
28966
30073
  :experience_keys => experience_keys,
28967
30074
  :rule => rule.to_hash
28968
30075
  }
@@ -29850,6 +30957,32 @@ module Io
29850
30957
 
29851
30958
  end
29852
30959
 
30960
+ class ExperienceCheckoutConfigurationSettings
30961
+
30962
+ attr_reader :configuration
30963
+
30964
+ def initialize(incoming={})
30965
+ opts = HttpClient::Helper.symbolize_keys(incoming)
30966
+ HttpClient::Preconditions.require_keys(opts, [:configuration], 'ExperienceCheckoutConfigurationSettings')
30967
+ @configuration = (x = opts.delete(:configuration); x.is_a?(::Io::Flow::V0::Models::ExperienceConfigurationReference) ? x : ::Io::Flow::V0::Models::ExperienceConfigurationReference.new(x))
30968
+ end
30969
+
30970
+ def to_json
30971
+ JSON.dump(to_hash)
30972
+ end
30973
+
30974
+ def copy(incoming={})
30975
+ ExperienceCheckoutConfigurationSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
30976
+ end
30977
+
30978
+ def to_hash
30979
+ {
30980
+ :configuration => configuration.to_hash
30981
+ }
30982
+ end
30983
+
30984
+ end
30985
+
29853
30986
  class ExperienceCheckoutSettings
29854
30987
 
29855
30988
  attr_reader :id, :experience, :checkout_configuration
@@ -30920,7 +32053,7 @@ module Io
30920
32053
  @delivered_duty = (x = opts.delete(:delivered_duty); x.is_a?(::Io::Flow::V0::Models::DeliveredDutySetting) ? x : ::Io::Flow::V0::Models::DeliveredDutySetting.new(x))
30921
32054
  @pricing_settings = (x = opts.delete(:pricing_settings); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PricingSettings) ? x : ::Io::Flow::V0::Models::PricingSettings.new(x)))
30922
32055
  @logistics_settings = (x = opts.delete(:logistics_settings); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LogisticsSettings) ? x : ::Io::Flow::V0::Models::LogisticsSettings.new(x)))
30923
- @checkout_settings = (x = opts.delete(:checkout_settings); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::CheckoutSettings) ? x : ::Io::Flow::V0::Models::CheckoutSettings.new(x)))
32056
+ @checkout_settings = (x = opts.delete(:checkout_settings); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExperienceCheckoutConfigurationSettings) ? x : ::Io::Flow::V0::Models::ExperienceCheckoutConfigurationSettings.new(x)))
30924
32057
  end
30925
32058
 
30926
32059
  def to_json
@@ -31125,35 +32258,6 @@ module Io
31125
32258
 
31126
32259
  end
31127
32260
 
31128
- # Experiment for A/B testing
31129
- class Experiment
31130
-
31131
- attr_reader :key, :variant
31132
-
31133
- def initialize(incoming={})
31134
- opts = HttpClient::Helper.symbolize_keys(incoming)
31135
- HttpClient::Preconditions.require_keys(opts, [:key], 'Experiment')
31136
- @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
31137
- @variant = (x = opts.delete(:variant); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExperimentVariant) ? x : ::Io::Flow::V0::Models::ExperimentVariant.new(x)))
31138
- end
31139
-
31140
- def to_json
31141
- JSON.dump(to_hash)
31142
- end
31143
-
31144
- def copy(incoming={})
31145
- Experiment.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
31146
- end
31147
-
31148
- def to_hash
31149
- {
31150
- :key => key,
31151
- :variant => variant.nil? ? nil : variant.to_hash
31152
- }
31153
- end
31154
-
31155
- end
31156
-
31157
32261
  # Experiment variant. Control or variant
31158
32262
  class ExperimentVariant
31159
32263
 
@@ -31524,13 +32628,12 @@ module Io
31524
32628
  # Indicates a field is required
31525
32629
  class FieldValidationRequired < FieldValidationRule
31526
32630
 
31527
- attr_reader :unused
32631
+ attr_reader :placeholder
31528
32632
 
31529
32633
  def initialize(incoming={})
31530
32634
  super(:discriminator => FieldValidationRule::Types::FIELD_VALIDATION_REQUIRED)
31531
32635
  opts = HttpClient::Helper.symbolize_keys(incoming)
31532
- HttpClient::Preconditions.require_keys(opts, [:unused], 'FieldValidationRequired')
31533
- @unused = HttpClient::Preconditions.assert_class('unused', opts.delete(:unused), String)
32636
+ @placeholder = (x = opts.delete(:placeholder); x.nil? ? nil : HttpClient::Preconditions.assert_class('placeholder', x, String))
31534
32637
  end
31535
32638
 
31536
32639
  def to_json
@@ -31543,7 +32646,7 @@ module Io
31543
32646
 
31544
32647
  def subtype_to_hash
31545
32648
  {
31546
- :unused => unused
32649
+ :placeholder => placeholder
31547
32650
  }
31548
32651
  end
31549
32652
 
@@ -31663,11 +32766,12 @@ module Io
31663
32766
  # Rule to apply to enable white-listing and black-listing for an email address.
31664
32767
  class FraudEmailRule
31665
32768
 
31666
- attr_reader :email, :decision
32769
+ attr_reader :id, :email, :decision
31667
32770
 
31668
32771
  def initialize(incoming={})
31669
32772
  opts = HttpClient::Helper.symbolize_keys(incoming)
31670
32773
  HttpClient::Preconditions.require_keys(opts, [:email, :decision], 'FraudEmailRule')
32774
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
31671
32775
  @email = HttpClient::Preconditions.assert_class('email', opts.delete(:email), String)
31672
32776
  @decision = (x = opts.delete(:decision); x.is_a?(::Io::Flow::V0::Models::FraudEmailRuleDecision) ? x : ::Io::Flow::V0::Models::FraudEmailRuleDecision.apply(x))
31673
32777
  end
@@ -31682,6 +32786,7 @@ module Io
31682
32786
 
31683
32787
  def to_hash
31684
32788
  {
32789
+ :id => id,
31685
32790
  :email => email,
31686
32791
  :decision => decision.value
31687
32792
  }
@@ -32590,6 +33695,63 @@ module Io
32590
33695
 
32591
33696
  end
32592
33697
 
33698
+ class GraphqlRequest
33699
+
33700
+ attr_reader :query, :operation_name, :variables
33701
+
33702
+ def initialize(incoming={})
33703
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33704
+ HttpClient::Preconditions.require_keys(opts, [:query], 'GraphqlRequest')
33705
+ @query = HttpClient::Preconditions.assert_class('query', opts.delete(:query), String)
33706
+ @operation_name = (x = opts.delete(:operation_name); x.nil? ? nil : HttpClient::Preconditions.assert_class('operation_name', x, String))
33707
+ @variables = (x = opts.delete(:variables); x.nil? ? nil : HttpClient::Preconditions.assert_class('variables', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('variables', d[1], String); h })
33708
+ end
33709
+
33710
+ def to_json
33711
+ JSON.dump(to_hash)
33712
+ end
33713
+
33714
+ def copy(incoming={})
33715
+ GraphqlRequest.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33716
+ end
33717
+
33718
+ def to_hash
33719
+ {
33720
+ :query => query,
33721
+ :operation_name => operation_name,
33722
+ :variables => variables.nil? ? nil : variables
33723
+ }
33724
+ end
33725
+
33726
+ end
33727
+
33728
+ class GraphqlResponse
33729
+
33730
+ attr_reader :data, :errors
33731
+
33732
+ def initialize(incoming={})
33733
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33734
+ @data = (x = opts.delete(:data); x.nil? ? nil : HttpClient::Preconditions.assert_class('data', HttpClient::Helper.to_object(x), Hash))
33735
+ @errors = (x = opts.delete(:errors); x.nil? ? nil : HttpClient::Preconditions.assert_class('errors', x, Array).map { |v| HttpClient::Preconditions.assert_class('errors', HttpClient::Helper.to_object(v), Hash) })
33736
+ end
33737
+
33738
+ def to_json
33739
+ JSON.dump(to_hash)
33740
+ end
33741
+
33742
+ def copy(incoming={})
33743
+ GraphqlResponse.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33744
+ end
33745
+
33746
+ def to_hash
33747
+ {
33748
+ :data => data,
33749
+ :errors => errors.nil? ? nil : errors
33750
+ }
33751
+ end
33752
+
33753
+ end
33754
+
32593
33755
  class HarmonizationDocument < Document
32594
33756
 
32595
33757
  attr_reader :code, :categories, :origin
@@ -32689,16 +33851,17 @@ module Io
32689
33851
 
32690
33852
  end
32691
33853
 
32692
- # Export for landed cost items.
32693
- class HarmonizationLandedCostExportType < ExportType
33854
+ # Exports HS10 code overview details
33855
+ class HarmonizationOverviewExportType < ExportType
32694
33856
 
32695
- attr_reader :items
33857
+ attr_reader :origin, :destination, :sort
32696
33858
 
32697
33859
  def initialize(incoming={})
32698
- super(:discriminator => ExportType::Types::HARMONIZATION_LANDED_COST_EXPORT_TYPE)
33860
+ super(:discriminator => ExportType::Types::HARMONIZATION_OVERVIEW_EXPORT_TYPE)
32699
33861
  opts = HttpClient::Helper.symbolize_keys(incoming)
32700
- HttpClient::Preconditions.require_keys(opts, [:items], 'HarmonizationLandedCostExportType')
32701
- @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LandedCostItem) ? x : ::Io::Flow::V0::Models::LandedCostItem.new(x)) }
33862
+ @origin = (x = opts.delete(:origin); x.nil? ? nil : HttpClient::Preconditions.assert_class('origin', x, String))
33863
+ @destination = (x = opts.delete(:destination); x.nil? ? nil : HttpClient::Preconditions.assert_class('destination', x, String))
33864
+ @sort = (x = opts.delete(:sort); x.nil? ? nil : HttpClient::Preconditions.assert_class('sort', x, String))
32702
33865
  end
32703
33866
 
32704
33867
  def to_json
@@ -32706,27 +33869,27 @@ module Io
32706
33869
  end
32707
33870
 
32708
33871
  def copy(incoming={})
32709
- HarmonizationLandedCostExportType.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33872
+ HarmonizationOverviewExportType.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
32710
33873
  end
32711
33874
 
32712
33875
  def subtype_to_hash
32713
33876
  {
32714
- :items => items.map { |o| o.to_hash }
33877
+ :origin => origin,
33878
+ :destination => destination,
33879
+ :sort => sort
32715
33880
  }
32716
33881
  end
32717
33882
 
32718
33883
  end
32719
33884
 
32720
- # Exports HS10 code overview details
32721
- class HarmonizationOverviewExportType < ExportType
33885
+ # Exports harmonization tariff codes for all destinations
33886
+ class HarmonizationTariffCodesExportType < ExportType
32722
33887
 
32723
- attr_reader :origin, :destination, :sort
33888
+ attr_reader :sort
32724
33889
 
32725
33890
  def initialize(incoming={})
32726
- super(:discriminator => ExportType::Types::HARMONIZATION_OVERVIEW_EXPORT_TYPE)
33891
+ super(:discriminator => ExportType::Types::HARMONIZATION_TARIFF_CODES_EXPORT_TYPE)
32727
33892
  opts = HttpClient::Helper.symbolize_keys(incoming)
32728
- @origin = (x = opts.delete(:origin); x.nil? ? nil : HttpClient::Preconditions.assert_class('origin', x, String))
32729
- @destination = (x = opts.delete(:destination); x.nil? ? nil : HttpClient::Preconditions.assert_class('destination', x, String))
32730
33893
  @sort = (x = opts.delete(:sort); x.nil? ? nil : HttpClient::Preconditions.assert_class('sort', x, String))
32731
33894
  end
32732
33895
 
@@ -32735,13 +33898,11 @@ module Io
32735
33898
  end
32736
33899
 
32737
33900
  def copy(incoming={})
32738
- HarmonizationOverviewExportType.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33901
+ HarmonizationTariffCodesExportType.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
32739
33902
  end
32740
33903
 
32741
33904
  def subtype_to_hash
32742
33905
  {
32743
- :origin => origin,
32744
- :destination => destination,
32745
33906
  :sort => sort
32746
33907
  }
32747
33908
  end
@@ -34465,12 +35626,12 @@ module Io
34465
35626
  # available
34466
35627
  class InventoryUnlimited < InventoryStrategy
34467
35628
 
34468
- attr_reader :quantity
35629
+ attr_reader :placeholder
34469
35630
 
34470
35631
  def initialize(incoming={})
34471
35632
  super(:discriminator => InventoryStrategy::Types::INVENTORY_UNLIMITED)
34472
35633
  opts = HttpClient::Helper.symbolize_keys(incoming)
34473
- @quantity = HttpClient::Preconditions.assert_class('quantity', (x = opts.delete(:quantity); x.nil? ? "unlimited" : x), String)
35634
+ @placeholder = HttpClient::Preconditions.assert_class('placeholder', (x = opts.delete(:placeholder); x.nil? ? "unlimited" : x), String)
34474
35635
  end
34475
35636
 
34476
35637
  def to_json
@@ -34483,7 +35644,7 @@ module Io
34483
35644
 
34484
35645
  def subtype_to_hash
34485
35646
  {
34486
- :quantity => quantity
35647
+ :placeholder => placeholder
34487
35648
  }
34488
35649
  end
34489
35650
 
@@ -34613,7 +35774,7 @@ module Io
34613
35774
  @email = HttpClient::Preconditions.assert_class('email', opts.delete(:email), String)
34614
35775
  @name = (x = opts.delete(:name); x.is_a?(::Io::Flow::V0::Models::Name) ? x : ::Io::Flow::V0::Models::Name.new(x))
34615
35776
  @role = (x = opts.delete(:role); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Role) ? x : ::Io::Flow::V0::Models::Role.apply(x)))
34616
- @roles = (x = opts.delete(:roles); x.nil? ? nil : HttpClient::Preconditions.assert_class('roles', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.from_json(x)) })
35777
+ @roles = (x = opts.delete(:roles); x.nil? ? nil : HttpClient::Preconditions.assert_class('roles', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.apply(x)) })
34617
35778
  @expiration = HttpClient::Preconditions.assert_class('expiration', HttpClient::Helper.to_date_time_iso8601(opts.delete(:expiration)), DateTime)
34618
35779
  end
34619
35780
 
@@ -34632,7 +35793,7 @@ module Io
34632
35793
  :email => email,
34633
35794
  :name => name.to_hash,
34634
35795
  :role => role.nil? ? nil : role.value,
34635
- :roles => roles.nil? ? nil : roles.map { |o| o.to_hash },
35796
+ :roles => roles.nil? ? nil : roles.map { |o| o.value },
34636
35797
  :expiration => expiration
34637
35798
  }
34638
35799
  end
@@ -34679,7 +35840,7 @@ module Io
34679
35840
  @email = HttpClient::Preconditions.assert_class('email', opts.delete(:email), String)
34680
35841
  @name = (x = opts.delete(:name); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Name) ? x : ::Io::Flow::V0::Models::Name.new(x)))
34681
35842
  @role = (x = (x = opts.delete(:role); x.nil? ? "member" : x); x.is_a?(::Io::Flow::V0::Models::Role) ? x : ::Io::Flow::V0::Models::Role.apply(x))
34682
- @roles = (x = opts.delete(:roles); x.nil? ? nil : HttpClient::Preconditions.assert_class('roles', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.from_json(x)) })
35843
+ @roles = (x = opts.delete(:roles); x.nil? ? nil : HttpClient::Preconditions.assert_class('roles', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.apply(x)) })
34683
35844
  end
34684
35845
 
34685
35846
  def to_json
@@ -34696,7 +35857,7 @@ module Io
34696
35857
  :email => email,
34697
35858
  :name => name.nil? ? nil : name.to_hash,
34698
35859
  :role => role.value,
34699
- :roles => roles.nil? ? nil : roles.map { |o| o.to_hash }
35860
+ :roles => roles.nil? ? nil : roles.map { |o| o.value }
34700
35861
  }
34701
35862
  end
34702
35863
 
@@ -36133,11 +37294,12 @@ module Io
36133
37294
  # Provides display data for a line item.
36134
37295
  class Line
36135
37296
 
36136
- attr_reader :item_number, :quantity, :price, :total, :attributes
37297
+ attr_reader :id, :item_number, :quantity, :price, :total, :attributes
36137
37298
 
36138
37299
  def initialize(incoming={})
36139
37300
  opts = HttpClient::Helper.symbolize_keys(incoming)
36140
37301
  HttpClient::Preconditions.require_keys(opts, [:item_number, :quantity, :price, :total], 'Line')
37302
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
36141
37303
  @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
36142
37304
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
36143
37305
  @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
@@ -36155,6 +37317,7 @@ module Io
36155
37317
 
36156
37318
  def to_hash
36157
37319
  {
37320
+ :id => id,
36158
37321
  :item_number => item_number,
36159
37322
  :quantity => quantity,
36160
37323
  :price => price.to_hash,
@@ -36204,6 +37367,32 @@ module Io
36204
37367
 
36205
37368
  end
36206
37369
 
37370
+ class LineItemAttributesForm
37371
+
37372
+ attr_reader :attributes
37373
+
37374
+ def initialize(incoming={})
37375
+ opts = HttpClient::Helper.symbolize_keys(incoming)
37376
+ HttpClient::Preconditions.require_keys(opts, [:attributes], 'LineItemAttributesForm')
37377
+ @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
37378
+ end
37379
+
37380
+ def to_json
37381
+ JSON.dump(to_hash)
37382
+ end
37383
+
37384
+ def copy(incoming={})
37385
+ LineItemAttributesForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37386
+ end
37387
+
37388
+ def to_hash
37389
+ {
37390
+ :attributes => attributes
37391
+ }
37392
+ end
37393
+
37394
+ end
37395
+
36207
37396
  # Line items represent the items a consumer is purchasing, including additional
36208
37397
  # information to complete the transaction. Note that you may pass in as many
36209
37398
  # line items as you like - including repeating item numbers across line items.
@@ -36247,6 +37436,32 @@ module Io
36247
37436
 
36248
37437
  end
36249
37438
 
37439
+ class LineItemQuantityForm
37440
+
37441
+ attr_reader :quantity
37442
+
37443
+ def initialize(incoming={})
37444
+ opts = HttpClient::Helper.symbolize_keys(incoming)
37445
+ HttpClient::Preconditions.require_keys(opts, [:quantity], 'LineItemQuantityForm')
37446
+ @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
37447
+ end
37448
+
37449
+ def to_json
37450
+ JSON.dump(to_hash)
37451
+ end
37452
+
37453
+ def copy(incoming={})
37454
+ LineItemQuantityForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37455
+ end
37456
+
37457
+ def to_hash
37458
+ {
37459
+ :quantity => quantity
37460
+ }
37461
+ end
37462
+
37463
+ end
37464
+
36250
37465
  class Link
36251
37466
 
36252
37467
  attr_reader :url
@@ -36760,11 +37975,12 @@ module Io
36760
37975
  # Line items on the order, with localized pricing information
36761
37976
  class LocalizedLineItem
36762
37977
 
36763
- attr_reader :number, :name, :quantity, :center, :price, :discount, :discounts, :attributes, :local, :shipment_estimate, :price_source
37978
+ attr_reader :id, :number, :name, :quantity, :center, :price, :discount, :discounts, :attributes, :local, :shipment_estimate, :price_source
36764
37979
 
36765
37980
  def initialize(incoming={})
36766
37981
  opts = HttpClient::Helper.symbolize_keys(incoming)
36767
37982
  HttpClient::Preconditions.require_keys(opts, [:number, :name, :quantity, :local], 'LocalizedLineItem')
37983
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
36768
37984
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
36769
37985
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
36770
37986
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
@@ -36788,6 +38004,7 @@ module Io
36788
38004
 
36789
38005
  def to_hash
36790
38006
  {
38007
+ :id => id,
36791
38008
  :number => number,
36792
38009
  :name => name,
36793
38010
  :quantity => quantity,
@@ -37199,7 +38416,7 @@ module Io
37199
38416
  @organization = (x = opts.delete(:organization); x.is_a?(::Io::Flow::V0::Models::ExpandableOrganization) ? x : ::Io::Flow::V0::Models::ExpandableOrganization.from_json(x))
37200
38417
  @user = (x = opts.delete(:user); x.is_a?(::Io::Flow::V0::Models::ExpandableUser) ? x : ::Io::Flow::V0::Models::ExpandableUser.from_json(x))
37201
38418
  @role = (x = opts.delete(:role); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Role) ? x : ::Io::Flow::V0::Models::Role.apply(x)))
37202
- @roles = HttpClient::Preconditions.assert_class('roles', opts.delete(:roles), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.from_json(x)) }
38419
+ @roles = HttpClient::Preconditions.assert_class('roles', opts.delete(:roles), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.apply(x)) }
37203
38420
  end
37204
38421
 
37205
38422
  def to_json
@@ -37216,7 +38433,7 @@ module Io
37216
38433
  :organization => organization.to_hash,
37217
38434
  :user => user.to_hash,
37218
38435
  :role => role.nil? ? nil : role.value,
37219
- :roles => roles.map { |o| o.to_hash }
38436
+ :roles => roles.map { |o| o.value }
37220
38437
  }
37221
38438
  end
37222
38439
 
@@ -37264,7 +38481,7 @@ module Io
37264
38481
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
37265
38482
  @user = HttpClient::Preconditions.assert_class('user', opts.delete(:user), String)
37266
38483
  @role = (x = (x = opts.delete(:role); x.nil? ? "member" : x); x.is_a?(::Io::Flow::V0::Models::Role) ? x : ::Io::Flow::V0::Models::Role.apply(x))
37267
- @roles = HttpClient::Preconditions.assert_class('roles', (x = opts.delete(:roles); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.from_json(x)) }
38484
+ @roles = HttpClient::Preconditions.assert_class('roles', (x = opts.delete(:roles); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.apply(x)) }
37268
38485
  end
37269
38486
 
37270
38487
  def to_json
@@ -37280,7 +38497,7 @@ module Io
37280
38497
  :organization => organization,
37281
38498
  :user => user,
37282
38499
  :role => role.value,
37283
- :roles => roles.map { |o| o.to_hash }
38500
+ :roles => roles.map { |o| o.value }
37284
38501
  }
37285
38502
  end
37286
38503
 
@@ -37294,7 +38511,7 @@ module Io
37294
38511
  def initialize(incoming={})
37295
38512
  opts = HttpClient::Helper.symbolize_keys(incoming)
37296
38513
  @role = (x = (x = opts.delete(:role); x.nil? ? "member" : x); x.is_a?(::Io::Flow::V0::Models::Role) ? x : ::Io::Flow::V0::Models::Role.apply(x))
37297
- @roles = HttpClient::Preconditions.assert_class('roles', (x = opts.delete(:roles); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.from_json(x)) }
38514
+ @roles = HttpClient::Preconditions.assert_class('roles', (x = opts.delete(:roles); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.apply(x)) }
37298
38515
  end
37299
38516
 
37300
38517
  def to_json
@@ -37308,7 +38525,7 @@ module Io
37308
38525
  def to_hash
37309
38526
  {
37310
38527
  :role => role.value,
37311
- :roles => roles.map { |o| o.to_hash }
38528
+ :roles => roles.map { |o| o.value }
37312
38529
  }
37313
38530
  end
37314
38531
 
@@ -37578,7 +38795,7 @@ module Io
37578
38795
  # you can capture up to the amount of the authorization
37579
38796
  class MerchantOfRecordAuthorizationForm < AuthorizationForm
37580
38797
 
37581
- attr_reader :token, :order_number, :amount, :currency, :key, :cvv, :attributes, :ip, :options, :redirect_urls, :browser_info
38798
+ attr_reader :token, :order_number, :amount, :currency, :key, :cvv, :attributes, :ip, :options, :redirect_urls, :browser_info, :action_configuration
37582
38799
 
37583
38800
  def initialize(incoming={})
37584
38801
  super(:discriminator => AuthorizationForm::Types::MERCHANT_OF_RECORD_AUTHORIZATION_FORM)
@@ -37595,6 +38812,7 @@ module Io
37595
38812
  @options = (x = opts.delete(:options); x.nil? ? nil : HttpClient::Preconditions.assert_class('options', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AuthorizationOption) ? x : ::Io::Flow::V0::Models::AuthorizationOption.apply(x)) })
37596
38813
  @redirect_urls = (x = opts.delete(:redirect_urls); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PostPaymentRedirectUrls) ? x : ::Io::Flow::V0::Models::PostPaymentRedirectUrls.new(x)))
37597
38814
  @browser_info = (x = opts.delete(:browser_info); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserInfo) ? x : ::Io::Flow::V0::Models::BrowserInfo.new(x)))
38815
+ @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ActionConfiguration) ? x : ::Io::Flow::V0::Models::ActionConfiguration.from_json(x)))
37598
38816
  end
37599
38817
 
37600
38818
  def to_json
@@ -37617,7 +38835,8 @@ module Io
37617
38835
  :ip => ip,
37618
38836
  :options => options.nil? ? nil : options.map { |o| o.value },
37619
38837
  :redirect_urls => redirect_urls.nil? ? nil : redirect_urls.to_hash,
37620
- :browser_info => browser_info.nil? ? nil : browser_info.to_hash
38838
+ :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
38839
+ :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
37621
38840
  }
37622
38841
  end
37623
38842
 
@@ -39387,6 +40606,32 @@ module Io
39387
40606
 
39388
40607
  end
39389
40608
 
40609
+ class OrderNumberGeneratorGeneratedNumber
40610
+
40611
+ attr_reader :number
40612
+
40613
+ def initialize(incoming={})
40614
+ opts = HttpClient::Helper.symbolize_keys(incoming)
40615
+ HttpClient::Preconditions.require_keys(opts, [:number], 'OrderNumberGeneratorGeneratedNumber')
40616
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
40617
+ end
40618
+
40619
+ def to_json
40620
+ JSON.dump(to_hash)
40621
+ end
40622
+
40623
+ def copy(incoming={})
40624
+ OrderNumberGeneratorGeneratedNumber.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
40625
+ end
40626
+
40627
+ def to_hash
40628
+ {
40629
+ :number => number
40630
+ }
40631
+ end
40632
+
40633
+ end
40634
+
39390
40635
  # Hexadecimal generator generates a random string, starting with a letter, of a
39391
40636
  # given length
39392
40637
  class OrderNumberGeneratorHexadecimal < OrderNumberGenerator
@@ -40079,7 +41324,7 @@ module Io
40079
41324
 
40080
41325
  end
40081
41326
 
40082
- # Defines the data needed to attach an identifer to each order created by a
41327
+ # Defines the data needed to attach an identifier to each order created by a
40083
41328
  # checkout.
40084
41329
  class OrderSubmissionIdentifierForm
40085
41330
 
@@ -40115,7 +41360,7 @@ module Io
40115
41360
  # flattened to keys.
40116
41361
  class OrderSummary
40117
41362
 
40118
- attr_reader :number, :subtotal, :shipping, :tax, :duty, :insurance, :discount, :surcharges, :adjustment, :total, :lines, :identifiers
41363
+ attr_reader :number, :subtotal, :shipping, :tax, :duty, :insurance, :discount, :surcharges, :adjustment, :total, :lines, :identifiers, :attributes
40119
41364
 
40120
41365
  def initialize(incoming={})
40121
41366
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -40132,6 +41377,7 @@ module Io
40132
41377
  @total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::OrderSummaryPriceDetail) ? x : ::Io::Flow::V0::Models::OrderSummaryPriceDetail.new(x))
40133
41378
  @lines = HttpClient::Preconditions.assert_class('lines', opts.delete(:lines), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::OrderSummaryLineItem) ? x : ::Io::Flow::V0::Models::OrderSummaryLineItem.new(x)) }
40134
41379
  @identifiers = (x = opts.delete(:identifiers); x.nil? ? nil : HttpClient::Preconditions.assert_class('identifiers', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('identifiers', d[1], String); h })
41380
+ @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
40135
41381
  end
40136
41382
 
40137
41383
  def to_json
@@ -40155,7 +41401,8 @@ module Io
40155
41401
  :adjustment => adjustment.nil? ? nil : adjustment.to_hash,
40156
41402
  :total => total.to_hash,
40157
41403
  :lines => lines.map { |o| o.to_hash },
40158
- :identifiers => identifiers.nil? ? nil : identifiers
41404
+ :identifiers => identifiers.nil? ? nil : identifiers,
41405
+ :attributes => attributes.nil? ? nil : attributes
40159
41406
  }
40160
41407
  end
40161
41408
 
@@ -40263,11 +41510,12 @@ module Io
40263
41510
 
40264
41511
  class OrderSummaryLineItem
40265
41512
 
40266
- attr_reader :item, :quantity, :discount, :tax, :duty, :total, :price_attributes
41513
+ attr_reader :id, :item, :quantity, :discount, :tax, :duty, :total, :price_attributes, :attributes
40267
41514
 
40268
41515
  def initialize(incoming={})
40269
41516
  opts = HttpClient::Helper.symbolize_keys(incoming)
40270
41517
  HttpClient::Preconditions.require_keys(opts, [:item, :quantity, :total, :price_attributes], 'OrderSummaryLineItem')
41518
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
40271
41519
  @item = (x = opts.delete(:item); x.is_a?(::Io::Flow::V0::Models::OrderSummaryItem) ? x : ::Io::Flow::V0::Models::OrderSummaryItem.new(x))
40272
41520
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
40273
41521
  @discount = (x = opts.delete(:discount); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x)))
@@ -40275,6 +41523,7 @@ module Io
40275
41523
  @duty = (x = opts.delete(:duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrderSummaryLevy) ? x : ::Io::Flow::V0::Models::OrderSummaryLevy.new(x)))
40276
41524
  @total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
40277
41525
  @price_attributes = HttpClient::Preconditions.assert_class('price_attributes', opts.delete(:price_attributes), Hash).inject({}) { |h, d| h[d[0]] = (x = d[1]; x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x)); h }
41526
+ @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
40278
41527
  end
40279
41528
 
40280
41529
  def to_json
@@ -40287,13 +41536,15 @@ module Io
40287
41536
 
40288
41537
  def to_hash
40289
41538
  {
41539
+ :id => id,
40290
41540
  :item => item.to_hash,
40291
41541
  :quantity => quantity,
40292
41542
  :discount => discount.nil? ? nil : discount.to_hash,
40293
41543
  :tax => tax.nil? ? nil : tax.to_hash,
40294
41544
  :duty => duty.nil? ? nil : duty.to_hash,
40295
41545
  :total => total.to_hash,
40296
- :price_attributes => price_attributes.inject({}) { |hash, o| hash[o[0]] = o[1].nil? ? nil : o[1].to_hash; hash }
41546
+ :price_attributes => price_attributes.inject({}) { |hash, o| hash[o[0]] = o[1].nil? ? nil : o[1].to_hash; hash },
41547
+ :attributes => attributes.nil? ? nil : attributes
40297
41548
  }
40298
41549
  end
40299
41550
 
@@ -42016,7 +43267,7 @@ module Io
42016
43267
  # metadata required for processing
42017
43268
  class PaymentMethod
42018
43269
 
42019
- attr_reader :id, :type, :name, :images, :regions
43270
+ attr_reader :id, :type, :name, :images, :regions, :capabilities
42020
43271
 
42021
43272
  def initialize(incoming={})
42022
43273
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -42026,6 +43277,7 @@ module Io
42026
43277
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
42027
43278
  @images = (x = opts.delete(:images); x.is_a?(::Io::Flow::V0::Models::PaymentMethodImages) ? x : ::Io::Flow::V0::Models::PaymentMethodImages.new(x))
42028
43279
  @regions = HttpClient::Preconditions.assert_class('regions', opts.delete(:regions), Array).map { |v| HttpClient::Preconditions.assert_class('regions', v, String) }
43280
+ @capabilities = (x = opts.delete(:capabilities); x.nil? ? nil : HttpClient::Preconditions.assert_class('capabilities', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::PaymentMethodCapability) ? x : ::Io::Flow::V0::Models::PaymentMethodCapability.apply(x)) })
42029
43281
  end
42030
43282
 
42031
43283
  def to_json
@@ -42042,7 +43294,8 @@ module Io
42042
43294
  :type => type.value,
42043
43295
  :name => name,
42044
43296
  :images => images.to_hash,
42045
- :regions => regions
43297
+ :regions => regions,
43298
+ :capabilities => capabilities.nil? ? nil : capabilities.map { |o| o.value }
42046
43299
  }
42047
43300
  end
42048
43301
 
@@ -42501,7 +43754,7 @@ module Io
42501
43754
  HttpClient::Preconditions.require_keys(opts, [:authentication_technique, :roles, :behaviors, :routes], 'PermissionCheck')
42502
43755
  @authentication_technique = (x = opts.delete(:authentication_technique); x.is_a?(::Io::Flow::V0::Models::AuthenticationTechnique) ? x : ::Io::Flow::V0::Models::AuthenticationTechnique.apply(x))
42503
43756
  @user = (x = opts.delete(:user); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExpandableUser) ? x : ::Io::Flow::V0::Models::ExpandableUser.from_json(x)))
42504
- @roles = HttpClient::Preconditions.assert_class('roles', opts.delete(:roles), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.from_json(x)) }
43757
+ @roles = HttpClient::Preconditions.assert_class('roles', opts.delete(:roles), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.apply(x)) }
42505
43758
  @behaviors = HttpClient::Preconditions.assert_class('behaviors', opts.delete(:behaviors), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowBehavior) ? x : ::Io::Flow::V0::Models::FlowBehavior.apply(x)) }
42506
43759
  @routes = HttpClient::Preconditions.assert_class('routes', opts.delete(:routes), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::PermittedRoute) ? x : ::Io::Flow::V0::Models::PermittedRoute.new(x)) }
42507
43760
  end
@@ -42518,7 +43771,7 @@ module Io
42518
43771
  {
42519
43772
  :authentication_technique => authentication_technique.value,
42520
43773
  :user => user.nil? ? nil : user.to_hash,
42521
- :roles => roles.map { |o| o.to_hash },
43774
+ :roles => roles.map { |o| o.value },
42522
43775
  :behaviors => behaviors.map { |o| o.value },
42523
43776
  :routes => routes.map { |o| o.to_hash }
42524
43777
  }
@@ -42536,7 +43789,7 @@ module Io
42536
43789
  HttpClient::Preconditions.require_keys(opts, [:code, :messages], 'PermissionError')
42537
43790
  @code = (x = opts.delete(:code); x.is_a?(::Io::Flow::V0::Models::GenericErrorCode) ? x : ::Io::Flow::V0::Models::GenericErrorCode.apply(x))
42538
43791
  @messages = HttpClient::Preconditions.assert_class('messages', opts.delete(:messages), Array).map { |v| HttpClient::Preconditions.assert_class('messages', v, String) }
42539
- @granting_roles = (x = opts.delete(:granting_roles); x.nil? ? nil : HttpClient::Preconditions.assert_class('granting_roles', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.from_json(x)) })
43792
+ @granting_roles = (x = opts.delete(:granting_roles); x.nil? ? nil : HttpClient::Preconditions.assert_class('granting_roles', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.apply(x)) })
42540
43793
  @admin_users = (x = opts.delete(:admin_users); x.nil? ? nil : HttpClient::Preconditions.assert_class('admin_users', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::User) ? x : ::Io::Flow::V0::Models::User.new(x)) })
42541
43794
  end
42542
43795
 
@@ -42552,7 +43805,7 @@ module Io
42552
43805
  {
42553
43806
  :code => code.value,
42554
43807
  :messages => messages,
42555
- :granting_roles => granting_roles.nil? ? nil : granting_roles.map { |o| o.to_hash },
43808
+ :granting_roles => granting_roles.nil? ? nil : granting_roles.map { |o| o.value },
42556
43809
  :admin_users => admin_users.nil? ? nil : admin_users.map { |o| o.to_hash }
42557
43810
  }
42558
43811
  end
@@ -42674,7 +43927,7 @@ module Io
42674
43927
  # collection of items, and metadata about those options
42675
43928
  class PhysicalDelivery < Delivery
42676
43929
 
42677
- attr_reader :id, :key, :center, :items, :options, :special_services, :prices, :total, :goods_supply
43930
+ attr_reader :id, :key, :center, :items, :options, :special_services, :prices, :total, :goods_supply, :merchant_of_record_flow_entity
42678
43931
 
42679
43932
  def initialize(incoming={})
42680
43933
  super(:discriminator => Delivery::Types::PHYSICAL_DELIVERY)
@@ -42689,6 +43942,7 @@ module Io
42689
43942
  @prices = (x = opts.delete(:prices); x.nil? ? nil : HttpClient::Preconditions.assert_class('prices', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::OrderPriceDetail) ? x : ::Io::Flow::V0::Models::OrderPriceDetail.new(x)) })
42690
43943
  @total = (x = opts.delete(:total); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalizedTotal) ? x : ::Io::Flow::V0::Models::LocalizedTotal.new(x)))
42691
43944
  @goods_supply = (x = opts.delete(:goods_supply); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::GoodsSupply) ? x : ::Io::Flow::V0::Models::GoodsSupply.apply(x)))
43945
+ @merchant_of_record_flow_entity = (x = opts.delete(:merchant_of_record_flow_entity); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::FlowEntity) ? x : ::Io::Flow::V0::Models::FlowEntity.apply(x)))
42692
43946
  end
42693
43947
 
42694
43948
  def to_json
@@ -42709,7 +43963,8 @@ module Io
42709
43963
  :special_services => special_services.nil? ? nil : special_services.map { |o| o.value },
42710
43964
  :prices => prices.nil? ? nil : prices.map { |o| o.to_hash },
42711
43965
  :total => total.nil? ? nil : total.to_hash,
42712
- :goods_supply => goods_supply.nil? ? nil : goods_supply.value
43966
+ :goods_supply => goods_supply.nil? ? nil : goods_supply.value,
43967
+ :merchant_of_record_flow_entity => merchant_of_record_flow_entity.nil? ? nil : merchant_of_record_flow_entity.value
42713
43968
  }
42714
43969
  end
42715
43970
 
@@ -42957,7 +44212,7 @@ module Io
42957
44212
  # export
42958
44213
  class PriceBookItemExportType < ExportType
42959
44214
 
42960
- attr_reader :price_book_key, :item_numbers, :start_date, :end_date
44215
+ attr_reader :price_book_key, :item_numbers, :start_date, :end_date, :item_identifier
42961
44216
 
42962
44217
  def initialize(incoming={})
42963
44218
  super(:discriminator => ExportType::Types::PRICE_BOOK_ITEM_EXPORT_TYPE)
@@ -42966,6 +44221,7 @@ module Io
42966
44221
  @item_numbers = (x = opts.delete(:item_numbers); x.nil? ? nil : HttpClient::Preconditions.assert_class('item_numbers', x, Array).map { |v| HttpClient::Preconditions.assert_class('item_numbers', v, String) })
42967
44222
  @start_date = (x = opts.delete(:start_date); x.nil? ? nil : HttpClient::Preconditions.assert_class('start_date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
42968
44223
  @end_date = (x = opts.delete(:end_date); x.nil? ? nil : HttpClient::Preconditions.assert_class('end_date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
44224
+ @item_identifier = (x = (x = opts.delete(:item_identifier); x.nil? ? "item_number" : x); x.is_a?(::Io::Flow::V0::Models::ItemIdentifier) ? x : ::Io::Flow::V0::Models::ItemIdentifier.apply(x))
42969
44225
  end
42970
44226
 
42971
44227
  def to_json
@@ -42981,7 +44237,8 @@ module Io
42981
44237
  :price_book_key => price_book_key,
42982
44238
  :item_numbers => item_numbers.nil? ? nil : item_numbers,
42983
44239
  :start_date => start_date,
42984
- :end_date => end_date
44240
+ :end_date => end_date,
44241
+ :item_identifier => item_identifier.value
42985
44242
  }
42986
44243
  end
42987
44244
 
@@ -44933,7 +46190,7 @@ module Io
44933
46190
  opts = HttpClient::Helper.symbolize_keys(incoming)
44934
46191
  HttpClient::Preconditions.require_keys(opts, [:id, :ratecard, :currency, :delivered_duty, :shipment_window, :destination, :dim_factor, :fees, :origin, :service, :rates, :rounding, :weight_unit, :distance_unit], 'RatecardLane')
44935
46192
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
44936
- @ratecard = (x = opts.delete(:ratecard); x.is_a?(::Io::Flow::V0::Models::RatecardReference) ? x : ::Io::Flow::V0::Models::RatecardReference.new(x))
46193
+ @ratecard = (x = opts.delete(:ratecard); x.is_a?(::Io::Flow::V0::Models::RatecardSummary) ? x : ::Io::Flow::V0::Models::RatecardSummary.new(x))
44937
46194
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
44938
46195
  @delivered_duty = (x = opts.delete(:delivered_duty); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
44939
46196
  @shipment_window = (x = opts.delete(:shipment_window); x.is_a?(::Io::Flow::V0::Models::ShipmentWindow) ? x : ::Io::Flow::V0::Models::ShipmentWindow.new(x))
@@ -45376,6 +46633,36 @@ module Io
45376
46633
 
45377
46634
  end
45378
46635
 
46636
+ class RatecardSummary
46637
+
46638
+ attr_reader :id, :number, :ratecard_owner
46639
+
46640
+ def initialize(incoming={})
46641
+ opts = HttpClient::Helper.symbolize_keys(incoming)
46642
+ HttpClient::Preconditions.require_keys(opts, [:id, :number, :ratecard_owner], 'RatecardSummary')
46643
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
46644
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
46645
+ @ratecard_owner = (x = opts.delete(:ratecard_owner); x.is_a?(::Io::Flow::V0::Models::RatecardOwner) ? x : ::Io::Flow::V0::Models::RatecardOwner.apply(x))
46646
+ end
46647
+
46648
+ def to_json
46649
+ JSON.dump(to_hash)
46650
+ end
46651
+
46652
+ def copy(incoming={})
46653
+ RatecardSummary.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
46654
+ end
46655
+
46656
+ def to_hash
46657
+ {
46658
+ :id => id,
46659
+ :number => number,
46660
+ :ratecard_owner => ratecard_owner.value
46661
+ }
46662
+ end
46663
+
46664
+ end
46665
+
45379
46666
  class RatecardUpserted < Event
45380
46667
 
45381
46668
  attr_reader :event_id, :timestamp, :organization, :ratecard
@@ -47201,7 +48488,7 @@ module Io
47201
48488
  @method = (x = opts.delete(:method); x.is_a?(::Io::Flow::V0::Models::PermittedHttpMethod) ? x : ::Io::Flow::V0::Models::PermittedHttpMethod.apply(x))
47202
48489
  @path = HttpClient::Preconditions.assert_class('path', opts.delete(:path), String)
47203
48490
  @authentication_techniques = HttpClient::Preconditions.assert_class('authentication_techniques', opts.delete(:authentication_techniques), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AuthenticationTechnique) ? x : ::Io::Flow::V0::Models::AuthenticationTechnique.apply(x)) }
47204
- @roles = HttpClient::Preconditions.assert_class('roles', opts.delete(:roles), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.from_json(x)) }
48491
+ @roles = HttpClient::Preconditions.assert_class('roles', opts.delete(:roles), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FlowRole) ? x : ::Io::Flow::V0::Models::FlowRole.apply(x)) }
47205
48492
  end
47206
48493
 
47207
48494
  def to_json
@@ -47217,7 +48504,7 @@ module Io
47217
48504
  :method => method.value,
47218
48505
  :path => path,
47219
48506
  :authentication_techniques => authentication_techniques.map { |o| o.value },
47220
- :roles => roles.map { |o| o.to_hash }
48507
+ :roles => roles.map { |o| o.value }
47221
48508
  }
47222
48509
  end
47223
48510
 
@@ -47517,6 +48804,35 @@ module Io
47517
48804
 
47518
48805
  end
47519
48806
 
48807
+ # Experiment for A/B testing
48808
+ class SessionContextExperiment
48809
+
48810
+ attr_reader :key, :variant
48811
+
48812
+ def initialize(incoming={})
48813
+ opts = HttpClient::Helper.symbolize_keys(incoming)
48814
+ HttpClient::Preconditions.require_keys(opts, [:key], 'SessionContextExperiment')
48815
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
48816
+ @variant = (x = opts.delete(:variant); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExperimentVariant) ? x : ::Io::Flow::V0::Models::ExperimentVariant.new(x)))
48817
+ end
48818
+
48819
+ def to_json
48820
+ JSON.dump(to_hash)
48821
+ end
48822
+
48823
+ def copy(incoming={})
48824
+ SessionContextExperiment.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
48825
+ end
48826
+
48827
+ def to_hash
48828
+ {
48829
+ :key => key,
48830
+ :variant => variant.nil? ? nil : variant.to_hash
48831
+ }
48832
+ end
48833
+
48834
+ end
48835
+
47520
48836
  class SessionCurrencyFormat
47521
48837
 
47522
48838
  attr_reader :symbol, :label_formatters
@@ -49170,7 +50486,7 @@ module Io
49170
50486
  def initialize(incoming={})
49171
50487
  opts = HttpClient::Helper.symbolize_keys(incoming)
49172
50488
  HttpClient::Preconditions.require_keys(opts, [:cart], 'ShopifyCartConversionShopifyCart')
49173
- @cart = (x = opts.delete(:cart); x.is_a?(::Io::Flow::Shopify::External::V0::Models::ShopifyCart) ? x : ::Io::Flow::Shopify::External::V0::Models::ShopifyCart.new(x))
50489
+ @cart = (x = opts.delete(:cart); x.is_a?(::Io::Flow::Shopify::External::V0::Models::ShopifyExternalCart) ? x : ::Io::Flow::Shopify::External::V0::Models::ShopifyExternalCart.new(x))
49174
50490
  end
49175
50491
 
49176
50492
  def to_json
@@ -50881,10 +52197,11 @@ module Io
50881
52197
  end
50882
52198
 
50883
52199
  # Minimal form to create a shipping label. Origin and destination are assumed
50884
- # based on a given order's center and final shipping destination
52200
+ # based on a given order's center and final shipping destination, if no center
52201
+ # key is provided
50885
52202
  class SummaryShippingLabelForm < ShippingLabelForm
50886
52203
 
50887
- attr_reader :order_number, :items
52204
+ attr_reader :order_number, :items, :center_key
50888
52205
 
50889
52206
  def initialize(incoming={})
50890
52207
  super(:discriminator => ShippingLabelForm::Types::SUMMARY_SHIPPING_LABEL_FORM)
@@ -50892,6 +52209,7 @@ module Io
50892
52209
  HttpClient::Preconditions.require_keys(opts, [:order_number, :items], 'SummaryShippingLabelForm')
50893
52210
  @order_number = HttpClient::Preconditions.assert_class('order_number', opts.delete(:order_number), String)
50894
52211
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x)) }
52212
+ @center_key = (x = opts.delete(:center_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('center_key', x, String))
50895
52213
  end
50896
52214
 
50897
52215
  def to_json
@@ -50905,7 +52223,8 @@ module Io
50905
52223
  def subtype_to_hash
50906
52224
  {
50907
52225
  :order_number => order_number,
50908
- :items => items.map { |o| o.to_hash }
52226
+ :items => items.map { |o| o.to_hash },
52227
+ :center_key => center_key
50909
52228
  }
50910
52229
  end
50911
52230
 
@@ -51001,6 +52320,352 @@ module Io
51001
52320
 
51002
52321
  end
51003
52322
 
52323
+ # Represents a duration of time with the ability to convert to a scala
52324
+ # FiniteDuration.
52325
+ class SyncDuration
52326
+
52327
+ attr_reader :unit, :value
52328
+
52329
+ def initialize(incoming={})
52330
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52331
+ HttpClient::Preconditions.require_keys(opts, [:unit, :value], 'SyncDuration')
52332
+ @unit = (x = opts.delete(:unit); x.is_a?(::Io::Flow::V0::Models::SyncUnitOfTime) ? x : ::Io::Flow::V0::Models::SyncUnitOfTime.apply(x))
52333
+ @value = HttpClient::Preconditions.assert_class('value', opts.delete(:value), Integer)
52334
+ end
52335
+
52336
+ def to_json
52337
+ JSON.dump(to_hash)
52338
+ end
52339
+
52340
+ def copy(incoming={})
52341
+ SyncDuration.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52342
+ end
52343
+
52344
+ def to_hash
52345
+ {
52346
+ :unit => unit.value,
52347
+ :value => value
52348
+ }
52349
+ end
52350
+
52351
+ end
52352
+
52353
+ class SyncPendingRecord
52354
+
52355
+ attr_reader :id, :stream, :value, :system
52356
+
52357
+ def initialize(incoming={})
52358
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52359
+ HttpClient::Preconditions.require_keys(opts, [:id, :stream, :value, :system], 'SyncPendingRecord')
52360
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
52361
+ @stream = (x = opts.delete(:stream); x.is_a?(::Io::Flow::V0::Models::SyncStreamReference) ? x : ::Io::Flow::V0::Models::SyncStreamReference.new(x))
52362
+ @value = HttpClient::Preconditions.assert_class('value', opts.delete(:value), String)
52363
+ @system = HttpClient::Preconditions.assert_class('system', opts.delete(:system), String)
52364
+ end
52365
+
52366
+ def to_json
52367
+ JSON.dump(to_hash)
52368
+ end
52369
+
52370
+ def copy(incoming={})
52371
+ SyncPendingRecord.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52372
+ end
52373
+
52374
+ def to_hash
52375
+ {
52376
+ :id => id,
52377
+ :stream => stream.to_hash,
52378
+ :value => value,
52379
+ :system => system
52380
+ }
52381
+ end
52382
+
52383
+ end
52384
+
52385
+ class SyncRecord
52386
+
52387
+ attr_reader :id, :system, :value, :stream
52388
+
52389
+ def initialize(incoming={})
52390
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52391
+ HttpClient::Preconditions.require_keys(opts, [:id, :system, :value, :stream], 'SyncRecord')
52392
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
52393
+ @system = HttpClient::Preconditions.assert_class('system', opts.delete(:system), String)
52394
+ @value = HttpClient::Preconditions.assert_class('value', opts.delete(:value), String)
52395
+ @stream = (x = opts.delete(:stream); x.is_a?(::Io::Flow::V0::Models::SyncStreamReference) ? x : ::Io::Flow::V0::Models::SyncStreamReference.new(x))
52396
+ end
52397
+
52398
+ def to_json
52399
+ JSON.dump(to_hash)
52400
+ end
52401
+
52402
+ def copy(incoming={})
52403
+ SyncRecord.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52404
+ end
52405
+
52406
+ def to_hash
52407
+ {
52408
+ :id => id,
52409
+ :system => system,
52410
+ :value => value,
52411
+ :stream => stream.to_hash
52412
+ }
52413
+ end
52414
+
52415
+ end
52416
+
52417
+ class SyncRecordFailure
52418
+
52419
+ attr_reader :id, :stream, :value, :system, :reason, :attributes
52420
+
52421
+ def initialize(incoming={})
52422
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52423
+ HttpClient::Preconditions.require_keys(opts, [:id, :stream, :value, :system, :reason], 'SyncRecordFailure')
52424
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
52425
+ @stream = (x = opts.delete(:stream); x.is_a?(::Io::Flow::V0::Models::SyncStreamReference) ? x : ::Io::Flow::V0::Models::SyncStreamReference.new(x))
52426
+ @value = HttpClient::Preconditions.assert_class('value', opts.delete(:value), String)
52427
+ @system = HttpClient::Preconditions.assert_class('system', opts.delete(:system), String)
52428
+ @reason = (x = opts.delete(:reason); x.is_a?(::Io::Flow::V0::Models::SyncRecordFailureReason) ? x : ::Io::Flow::V0::Models::SyncRecordFailureReason.apply(x))
52429
+ @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
52430
+ end
52431
+
52432
+ def to_json
52433
+ JSON.dump(to_hash)
52434
+ end
52435
+
52436
+ def copy(incoming={})
52437
+ SyncRecordFailure.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52438
+ end
52439
+
52440
+ def to_hash
52441
+ {
52442
+ :id => id,
52443
+ :stream => stream.to_hash,
52444
+ :value => value,
52445
+ :system => system,
52446
+ :reason => reason.value,
52447
+ :attributes => attributes.nil? ? nil : attributes
52448
+ }
52449
+ end
52450
+
52451
+ end
52452
+
52453
+ class SyncRecordFailureForm
52454
+
52455
+ attr_reader :stream_key, :value, :system, :reason, :attributes
52456
+
52457
+ def initialize(incoming={})
52458
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52459
+ HttpClient::Preconditions.require_keys(opts, [:stream_key, :value, :system, :reason], 'SyncRecordFailureForm')
52460
+ @stream_key = HttpClient::Preconditions.assert_class('stream_key', opts.delete(:stream_key), String)
52461
+ @value = HttpClient::Preconditions.assert_class('value', opts.delete(:value), String)
52462
+ @system = HttpClient::Preconditions.assert_class('system', opts.delete(:system), String)
52463
+ @reason = (x = opts.delete(:reason); x.is_a?(::Io::Flow::V0::Models::SyncRecordFailureReason) ? x : ::Io::Flow::V0::Models::SyncRecordFailureReason.apply(x))
52464
+ @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
52465
+ end
52466
+
52467
+ def to_json
52468
+ JSON.dump(to_hash)
52469
+ end
52470
+
52471
+ def copy(incoming={})
52472
+ SyncRecordFailureForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52473
+ end
52474
+
52475
+ def to_hash
52476
+ {
52477
+ :stream_key => stream_key,
52478
+ :value => value,
52479
+ :system => system,
52480
+ :reason => reason.value,
52481
+ :attributes => attributes.nil? ? nil : attributes
52482
+ }
52483
+ end
52484
+
52485
+ end
52486
+
52487
+ class SyncRecordForm
52488
+
52489
+ attr_reader :stream_key, :system, :value
52490
+
52491
+ def initialize(incoming={})
52492
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52493
+ HttpClient::Preconditions.require_keys(opts, [:stream_key, :system, :value], 'SyncRecordForm')
52494
+ @stream_key = HttpClient::Preconditions.assert_class('stream_key', opts.delete(:stream_key), String)
52495
+ @system = HttpClient::Preconditions.assert_class('system', opts.delete(:system), String)
52496
+ @value = HttpClient::Preconditions.assert_class('value', opts.delete(:value), String)
52497
+ end
52498
+
52499
+ def to_json
52500
+ JSON.dump(to_hash)
52501
+ end
52502
+
52503
+ def copy(incoming={})
52504
+ SyncRecordForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52505
+ end
52506
+
52507
+ def to_hash
52508
+ {
52509
+ :stream_key => stream_key,
52510
+ :system => system,
52511
+ :value => value
52512
+ }
52513
+ end
52514
+
52515
+ end
52516
+
52517
+ class SyncStream
52518
+
52519
+ attr_reader :id, :key, :type, :systems, :settings
52520
+
52521
+ def initialize(incoming={})
52522
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52523
+ HttpClient::Preconditions.require_keys(opts, [:id, :key, :type, :systems, :settings], 'SyncStream')
52524
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
52525
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
52526
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::SyncStreamType) ? x : ::Io::Flow::V0::Models::SyncStreamType.apply(x))
52527
+ @systems = HttpClient::Preconditions.assert_class('systems', opts.delete(:systems), Array).map { |v| HttpClient::Preconditions.assert_class('systems', v, String) }
52528
+ @settings = (x = opts.delete(:settings); x.is_a?(::Io::Flow::V0::Models::SyncStreamSettings) ? x : ::Io::Flow::V0::Models::SyncStreamSettings.new(x))
52529
+ end
52530
+
52531
+ def to_json
52532
+ JSON.dump(to_hash)
52533
+ end
52534
+
52535
+ def copy(incoming={})
52536
+ SyncStream.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52537
+ end
52538
+
52539
+ def to_hash
52540
+ {
52541
+ :id => id,
52542
+ :key => key,
52543
+ :type => type.value,
52544
+ :systems => systems,
52545
+ :settings => settings.to_hash
52546
+ }
52547
+ end
52548
+
52549
+ end
52550
+
52551
+ class SyncStreamForm
52552
+
52553
+ attr_reader :type, :systems, :settings
52554
+
52555
+ def initialize(incoming={})
52556
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52557
+ HttpClient::Preconditions.require_keys(opts, [:type, :systems], 'SyncStreamForm')
52558
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::SyncStreamType) ? x : ::Io::Flow::V0::Models::SyncStreamType.apply(x))
52559
+ @systems = HttpClient::Preconditions.assert_class('systems', opts.delete(:systems), Array).map { |v| HttpClient::Preconditions.assert_class('systems', v, String) }
52560
+ @settings = (x = opts.delete(:settings); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SyncStreamSettingsForm) ? x : ::Io::Flow::V0::Models::SyncStreamSettingsForm.new(x)))
52561
+ end
52562
+
52563
+ def to_json
52564
+ JSON.dump(to_hash)
52565
+ end
52566
+
52567
+ def copy(incoming={})
52568
+ SyncStreamForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52569
+ end
52570
+
52571
+ def to_hash
52572
+ {
52573
+ :type => type.value,
52574
+ :systems => systems,
52575
+ :settings => settings.nil? ? nil : settings.to_hash
52576
+ }
52577
+ end
52578
+
52579
+ end
52580
+
52581
+ class SyncStreamReference
52582
+
52583
+ attr_reader :id, :key
52584
+
52585
+ def initialize(incoming={})
52586
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52587
+ HttpClient::Preconditions.require_keys(opts, [:id, :key], 'SyncStreamReference')
52588
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
52589
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
52590
+ end
52591
+
52592
+ def to_json
52593
+ JSON.dump(to_hash)
52594
+ end
52595
+
52596
+ def copy(incoming={})
52597
+ SyncStreamReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52598
+ end
52599
+
52600
+ def to_hash
52601
+ {
52602
+ :id => id,
52603
+ :key => key
52604
+ }
52605
+ end
52606
+
52607
+ end
52608
+
52609
+ class SyncStreamSettings
52610
+
52611
+ attr_reader :pending_record_after, :warn_after, :error_after
52612
+
52613
+ def initialize(incoming={})
52614
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52615
+ HttpClient::Preconditions.require_keys(opts, [:pending_record_after, :warn_after, :error_after], 'SyncStreamSettings')
52616
+ @pending_record_after = (x = opts.delete(:pending_record_after); x.is_a?(::Io::Flow::V0::Models::SyncDuration) ? x : ::Io::Flow::V0::Models::SyncDuration.new(x))
52617
+ @warn_after = (x = opts.delete(:warn_after); x.is_a?(::Io::Flow::V0::Models::SyncDuration) ? x : ::Io::Flow::V0::Models::SyncDuration.new(x))
52618
+ @error_after = (x = opts.delete(:error_after); x.is_a?(::Io::Flow::V0::Models::SyncDuration) ? x : ::Io::Flow::V0::Models::SyncDuration.new(x))
52619
+ end
52620
+
52621
+ def to_json
52622
+ JSON.dump(to_hash)
52623
+ end
52624
+
52625
+ def copy(incoming={})
52626
+ SyncStreamSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52627
+ end
52628
+
52629
+ def to_hash
52630
+ {
52631
+ :pending_record_after => pending_record_after.to_hash,
52632
+ :warn_after => warn_after.to_hash,
52633
+ :error_after => error_after.to_hash
52634
+ }
52635
+ end
52636
+
52637
+ end
52638
+
52639
+ class SyncStreamSettingsForm
52640
+
52641
+ attr_reader :pending_record_after, :warn_after, :error_after
52642
+
52643
+ def initialize(incoming={})
52644
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52645
+ HttpClient::Preconditions.require_keys(opts, [:pending_record_after, :warn_after, :error_after], 'SyncStreamSettingsForm')
52646
+ @pending_record_after = (x = opts.delete(:pending_record_after); x.is_a?(::Io::Flow::V0::Models::SyncDuration) ? x : ::Io::Flow::V0::Models::SyncDuration.new(x))
52647
+ @warn_after = (x = opts.delete(:warn_after); x.is_a?(::Io::Flow::V0::Models::SyncDuration) ? x : ::Io::Flow::V0::Models::SyncDuration.new(x))
52648
+ @error_after = (x = opts.delete(:error_after); x.is_a?(::Io::Flow::V0::Models::SyncDuration) ? x : ::Io::Flow::V0::Models::SyncDuration.new(x))
52649
+ end
52650
+
52651
+ def to_json
52652
+ JSON.dump(to_hash)
52653
+ end
52654
+
52655
+ def copy(incoming={})
52656
+ SyncStreamSettingsForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52657
+ end
52658
+
52659
+ def to_hash
52660
+ {
52661
+ :pending_record_after => pending_record_after.to_hash,
52662
+ :warn_after => warn_after.to_hash,
52663
+ :error_after => error_after.to_hash
52664
+ }
52665
+ end
52666
+
52667
+ end
52668
+
51004
52669
  # Represents a simple model of taxes that apply to a given item / destination.
51005
52670
  class Tax
51006
52671
 
@@ -51135,6 +52800,158 @@ module Io
51135
52800
 
51136
52801
  end
51137
52802
 
52803
+ # Information necessary to perform a 3ds Challenge action inline to the user
52804
+ # experience.
52805
+ class ThreedsChallengeActionDetails < AuthorizationResultActionDetails
52806
+
52807
+ attr_reader :threeds_challenge_action, :expires_at
52808
+
52809
+ def initialize(incoming={})
52810
+ super(:discriminator => AuthorizationResultActionDetails::Types::THREEDS_CHALLENGE_ACTION_DETAILS)
52811
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52812
+ HttpClient::Preconditions.require_keys(opts, [:threeds_challenge_action, :expires_at], 'ThreedsChallengeActionDetails')
52813
+ @threeds_challenge_action = (x = opts.delete(:threeds_challenge_action); x.is_a?(::Io::Flow::V0::Models::ThreedsChallengeAction) ? x : ::Io::Flow::V0::Models::ThreedsChallengeAction.from_json(x))
52814
+ @expires_at = HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:expires_at)), DateTime)
52815
+ end
52816
+
52817
+ def to_json
52818
+ JSON.dump(to_hash)
52819
+ end
52820
+
52821
+ def copy(incoming={})
52822
+ ThreedsChallengeActionDetails.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52823
+ end
52824
+
52825
+ def subtype_to_hash
52826
+ {
52827
+ :threeds_challenge_action => threeds_challenge_action.to_hash,
52828
+ :expires_at => expires_at
52829
+ }
52830
+ end
52831
+
52832
+ end
52833
+
52834
+ # Information necessary to perform a 3ds Identify action inline to the user
52835
+ # experience.
52836
+ class ThreedsIdentifyActionDetails < AuthorizationResultActionDetails
52837
+
52838
+ attr_reader :threeds_identify_action, :expires_at
52839
+
52840
+ def initialize(incoming={})
52841
+ super(:discriminator => AuthorizationResultActionDetails::Types::THREEDS_IDENTIFY_ACTION_DETAILS)
52842
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52843
+ HttpClient::Preconditions.require_keys(opts, [:threeds_identify_action, :expires_at], 'ThreedsIdentifyActionDetails')
52844
+ @threeds_identify_action = (x = opts.delete(:threeds_identify_action); x.is_a?(::Io::Flow::V0::Models::ThreedsIdentifyAction) ? x : ::Io::Flow::V0::Models::ThreedsIdentifyAction.from_json(x))
52845
+ @expires_at = HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:expires_at)), DateTime)
52846
+ end
52847
+
52848
+ def to_json
52849
+ JSON.dump(to_hash)
52850
+ end
52851
+
52852
+ def copy(incoming={})
52853
+ ThreedsIdentifyActionDetails.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52854
+ end
52855
+
52856
+ def subtype_to_hash
52857
+ {
52858
+ :threeds_identify_action => threeds_identify_action.to_hash,
52859
+ :expires_at => expires_at
52860
+ }
52861
+ end
52862
+
52863
+ end
52864
+
52865
+ # Instructions to the card issuer to render challenges to the user
52866
+ class ThreedsTwoBrowserActionConfiguration < ActionConfiguration
52867
+
52868
+ attr_reader :viewport
52869
+
52870
+ def initialize(incoming={})
52871
+ super(:discriminator => ActionConfiguration::Types::THREEDS_TWO_BROWSER_ACTION_CONFIGURATION)
52872
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52873
+ @viewport = (x = (x = opts.delete(:viewport); x.nil? ? "xxx_small" : x); x.is_a?(::Io::Flow::V0::Models::ThreedsTwoChallengeViewport) ? x : ::Io::Flow::V0::Models::ThreedsTwoChallengeViewport.apply(x))
52874
+ end
52875
+
52876
+ def to_json
52877
+ JSON.dump(to_hash)
52878
+ end
52879
+
52880
+ def copy(incoming={})
52881
+ ThreedsTwoBrowserActionConfiguration.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52882
+ end
52883
+
52884
+ def subtype_to_hash
52885
+ {
52886
+ :viewport => viewport.value
52887
+ }
52888
+ end
52889
+
52890
+ end
52891
+
52892
+ # Data that must be passed to the 3DS Client to help the issuer ACS render a
52893
+ # challenge for the user.
52894
+ class ThreedsTwoChallengeRequest < ThreedsChallengeAction
52895
+
52896
+ attr_reader :acs_url, :challenge_request, :session_data
52897
+
52898
+ def initialize(incoming={})
52899
+ super(:discriminator => ThreedsChallengeAction::Types::THREEDS_TWO_CHALLENGE_REQUEST)
52900
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52901
+ HttpClient::Preconditions.require_keys(opts, [:acs_url, :challenge_request], 'ThreedsTwoChallengeRequest')
52902
+ @acs_url = HttpClient::Preconditions.assert_class('acs_url', opts.delete(:acs_url), String)
52903
+ @challenge_request = HttpClient::Preconditions.assert_class('challenge_request', opts.delete(:challenge_request), String)
52904
+ @session_data = (x = opts.delete(:session_data); x.nil? ? nil : HttpClient::Preconditions.assert_class('session_data', x, String))
52905
+ end
52906
+
52907
+ def to_json
52908
+ JSON.dump(to_hash)
52909
+ end
52910
+
52911
+ def copy(incoming={})
52912
+ ThreedsTwoChallengeRequest.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52913
+ end
52914
+
52915
+ def subtype_to_hash
52916
+ {
52917
+ :acs_url => acs_url,
52918
+ :challenge_request => challenge_request,
52919
+ :session_data => session_data
52920
+ }
52921
+ end
52922
+
52923
+ end
52924
+
52925
+ # Data that must be rendered by the 3DS Client in order to help the issuer ACS
52926
+ # silently identify the user. This format doesn't decompose the ACS identify
52927
+ # method.
52928
+ class ThreedsTwoMethod < ThreedsIdentifyAction
52929
+
52930
+ attr_reader :method
52931
+
52932
+ def initialize(incoming={})
52933
+ super(:discriminator => ThreedsIdentifyAction::Types::THREEDS_TWO_METHOD)
52934
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52935
+ HttpClient::Preconditions.require_keys(opts, [:method], 'ThreedsTwoMethod')
52936
+ @method = HttpClient::Preconditions.assert_class('method', opts.delete(:method), String)
52937
+ end
52938
+
52939
+ def to_json
52940
+ JSON.dump(to_hash)
52941
+ end
52942
+
52943
+ def copy(incoming={})
52944
+ ThreedsTwoMethod.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52945
+ end
52946
+
52947
+ def subtype_to_hash
52948
+ {
52949
+ :method => method
52950
+ }
52951
+ end
52952
+
52953
+ end
52954
+
51138
52955
  # Service shipping tier available in this tier group. e.g. Standard tier,
51139
52956
  # Express tier, Economy tier
51140
52957
  class Tier
@@ -53639,7 +55456,7 @@ module Io
53639
55456
  end
53640
55457
 
53641
55458
  def Helper.to_big_decimal(value)
53642
- value ? BigDecimal.new(value.to_s) : nil
55459
+ value ? BigDecimal(value.to_s) : nil
53643
55460
  end
53644
55461
 
53645
55462
  def Helper.to_object(value)