flowcommerce 0.2.83 → 0.2.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dbe752bf473bf5aa658c1e78d5a9b5275ab29b85a39d8072902fd4d7cd04241f
4
- data.tar.gz: 7670b1162a4de42bccd92eb56e1dc8a54573425c5087b728e00a95c6d9799feb
3
+ metadata.gz: 067d77ab7176a02bd12f913b31c0a30be7854b1b29c4b918ba25e9794512b983
4
+ data.tar.gz: 31da501dc8d3c0be8e32998ff9177b683246703da35b3649b0974435714dc536
5
5
  SHA512:
6
- metadata.gz: 558fdc64a27ce24867dc0210cae9f995c7f3da7913a8fe62adc378e6f026447002b1be1812bea3a65c24fc52b7b7696ec44182cfac3405cede7aecd57171a58a
7
- data.tar.gz: 27fc82837987310606c3c48bc9cea30196e1a367c18991bf024edbe99e661d2a6e2fcb46c72dc10a67e81a6aa3b6cd9fae77f850798ad4be30337815aeb67e4f
6
+ metadata.gz: 929244d3c0fe76f2f7e206726c3af90e0435cc18967a3784a853643a667b73aaad4b472ec49781e7e2ee5f847f77756527979af526fbe57438304b662a8f88ff
7
+ data.tar.gz: ce8a010837c4d6d99f1c9d463936f5dabf1185f28277939252b397f3a81b8709215238002bbfeeeff90fdab84d85f50e9f3dedbecf3875517d7ea717c93effa6
data/README.md CHANGED
@@ -2,13 +2,6 @@
2
2
 
3
3
  Native ruby client to the Flow API (https://api.flow.io)
4
4
 
5
- ## Status
6
-
7
- Please note that this library and APIs are in ALPHA and are subject to
8
- change and will break in the future. Once Flow Commerce releases its
9
- official 1.0 library, API changes will be backwards compatible. Until
10
- then - we are super grateful for your patience as we finalize the API
11
- for our launch.
12
5
 
13
6
  ## Installation
14
7
 
@@ -1,6 +1,6 @@
1
1
  # Generated by API Builder - https://www.apibuilder.io
2
- # Service version: 0.9.48
3
- # apibuilder 0.15.9 app.apibuilder.io/flow/api/latest/ruby_client
2
+ # Service version: 0.9.79
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.9 app.apibuilder.io/flow/api/latest/ruby_client' unless defined?(Constants::USER_AGENT)
29
- VERSION = '0.9.48' 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.79' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
32
32
  end
@@ -662,7 +662,8 @@ module Io
662
662
  HttpClient::Preconditions.assert_class('organization', organization, String)
663
663
  opts = HttpClient::Helper.symbolize_keys(incoming)
664
664
  query = {
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) })
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))
666
667
  }.delete_if { |k, v| v.nil? }
667
668
  r = @client.request("/#{CGI.escape(organization)}/address/configurations").with_query(query).get
668
669
  r.map { |x| ::Io::Flow::V0::Models::AddressConfiguration.new(x) }
@@ -848,10 +849,14 @@ module Io
848
849
  r.map { |x| ::Io::Flow::V0::Models::CheckoutAttribute.new(x) }
849
850
  end
850
851
 
851
- def post(organization, checkout_attribute_form)
852
+ def post(organization, checkout_attribute_form, incoming={})
852
853
  HttpClient::Preconditions.assert_class('organization', organization, String)
854
+ opts = HttpClient::Helper.symbolize_keys(incoming)
855
+ query = {
856
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
857
+ }.delete_if { |k, v| v.nil? }
853
858
  (x = checkout_attribute_form; x.is_a?(::Io::Flow::V0::Models::CheckoutAttributeForm) ? x : ::Io::Flow::V0::Models::CheckoutAttributeForm.new(x))
854
- r = @client.request("/#{CGI.escape(organization)}/checkout/attributes").with_json(checkout_attribute_form.to_json).post
859
+ r = @client.request("/#{CGI.escape(organization)}/checkout/attributes").with_query(query).with_json(checkout_attribute_form.to_json).post
855
860
  ::Io::Flow::V0::Models::CheckoutAttribute.new(r)
856
861
  end
857
862
 
@@ -862,11 +867,15 @@ module Io
862
867
  ::Io::Flow::V0::Models::CheckoutAttribute.new(r)
863
868
  end
864
869
 
865
- def put_by_id(organization, id, checkout_attribute_form)
870
+ def put_by_id(organization, id, checkout_attribute_form, incoming={})
866
871
  HttpClient::Preconditions.assert_class('organization', organization, String)
867
872
  HttpClient::Preconditions.assert_class('id', id, String)
873
+ opts = HttpClient::Helper.symbolize_keys(incoming)
874
+ query = {
875
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
876
+ }.delete_if { |k, v| v.nil? }
868
877
  (x = checkout_attribute_form; x.is_a?(::Io::Flow::V0::Models::CheckoutAttributeForm) ? x : ::Io::Flow::V0::Models::CheckoutAttributeForm.new(x))
869
- r = @client.request("/#{CGI.escape(organization)}/checkout/attributes/#{CGI.escape(id)}").with_json(checkout_attribute_form.to_json).put
878
+ r = @client.request("/#{CGI.escape(organization)}/checkout/attributes/#{CGI.escape(id)}").with_query(query).with_json(checkout_attribute_form.to_json).put
870
879
  ::Io::Flow::V0::Models::CheckoutAttribute.new(r)
871
880
  end
872
881
 
@@ -895,7 +904,8 @@ module Io
895
904
  query = {
896
905
  :number => (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, Array).map { |v| HttpClient::Preconditions.assert_class('number', v, String) }),
897
906
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
898
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
907
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
908
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
899
909
  }.delete_if { |k, v| v.nil? }
900
910
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/item/content/checkout").with_query(query).get
901
911
  r.map { |x| ::Io::Flow::V0::Models::CheckoutItemContent.new(x) }
@@ -929,7 +939,8 @@ module Io
929
939
  HttpClient::Preconditions.assert_class('organization', organization, String)
930
940
  opts = HttpClient::Helper.symbolize_keys(incoming)
931
941
  query = {
932
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
942
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
943
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
933
944
  }.delete_if { |k, v| v.nil? }
934
945
  (x = credit_payment_form; x.is_a?(::Io::Flow::V0::Models::CreditPaymentForm) ? x : ::Io::Flow::V0::Models::CreditPaymentForm.new(x))
935
946
  r = @client.request("/#{CGI.escape(organization)}/credit/payments").with_query(query).with_json(credit_payment_form.to_json).post
@@ -966,17 +977,22 @@ module Io
966
977
  HttpClient::Preconditions.assert_class('key', key, String)
967
978
  opts = HttpClient::Helper.symbolize_keys(incoming)
968
979
  query = {
969
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
980
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
981
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
970
982
  }.delete_if { |k, v| v.nil? }
971
983
  (x = credit_payment_form; x.is_a?(::Io::Flow::V0::Models::CreditPaymentForm) ? x : ::Io::Flow::V0::Models::CreditPaymentForm.new(x))
972
984
  r = @client.request("/#{CGI.escape(organization)}/credit/payments/#{CGI.escape(key)}").with_query(query).with_json(credit_payment_form.to_json).put
973
985
  ::Io::Flow::V0::Models::CreditPayment.new(r)
974
986
  end
975
987
 
976
- def delete_by_key(organization, key)
988
+ def delete_by_key(organization, key, incoming={})
977
989
  HttpClient::Preconditions.assert_class('organization', organization, String)
978
990
  HttpClient::Preconditions.assert_class('key', key, String)
979
- r = @client.request("/#{CGI.escape(organization)}/credit/payments/#{CGI.escape(key)}").delete
991
+ opts = HttpClient::Helper.symbolize_keys(incoming)
992
+ query = {
993
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
994
+ }.delete_if { |k, v| v.nil? }
995
+ r = @client.request("/#{CGI.escape(organization)}/credit/payments/#{CGI.escape(key)}").with_query(query).delete
980
996
  nil
981
997
  end
982
998
 
@@ -1054,6 +1070,7 @@ module Io
1054
1070
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1055
1071
  :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),
1056
1072
  :shipping_configuration_key => (x = opts.delete(:shipping_configuration_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('shipping_configuration_key', x, String)),
1073
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
1057
1074
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1058
1075
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1059
1076
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "position" : x), String)
@@ -1063,10 +1080,14 @@ module Io
1063
1080
  end
1064
1081
 
1065
1082
  # Add experience
1066
- def post(organization, experience_form)
1083
+ def post(organization, experience_form, incoming={})
1067
1084
  HttpClient::Preconditions.assert_class('organization', organization, String)
1085
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1086
+ query = {
1087
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1088
+ }.delete_if { |k, v| v.nil? }
1068
1089
  (x = experience_form; x.is_a?(::Io::Flow::V0::Models::ExperienceForm) ? x : ::Io::Flow::V0::Models::ExperienceForm.new(x))
1069
- r = @client.request("/#{CGI.escape(organization)}/experiences").with_json(experience_form.to_json).post
1090
+ r = @client.request("/#{CGI.escape(organization)}/experiences").with_query(query).with_json(experience_form.to_json).post
1070
1091
  ::Io::Flow::V0::Models::Experience.new(r)
1071
1092
  end
1072
1093
 
@@ -1081,7 +1102,8 @@ module Io
1081
1102
  :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
1082
1103
  :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
1083
1104
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1084
- :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
1105
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1106
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1085
1107
  }.delete_if { |k, v| v.nil? }
1086
1108
  r = @client.request("/#{CGI.escape(organization)}/experiences/conversions/#{CGI.escape(base)}/#{CGI.escape(amount)}").with_query(query).get
1087
1109
  ::Io::Flow::V0::Models::PriceWithBase.new(r)
@@ -1101,6 +1123,7 @@ module Io
1101
1123
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1102
1124
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1103
1125
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1126
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
1104
1127
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1105
1128
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1106
1129
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
@@ -1119,7 +1142,8 @@ module Io
1119
1142
  :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
1120
1143
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1121
1144
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1122
- :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String))
1145
+ :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1146
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1123
1147
  }.delete_if { |k, v| v.nil? }
1124
1148
  r = @client.request("/#{CGI.escape(organization)}/experiences/items/#{CGI.escape(number)}").with_query(query).get
1125
1149
  ::Io::Flow::V0::Models::Item.new(r)
@@ -1140,6 +1164,7 @@ module Io
1140
1164
  query = {
1141
1165
  :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
1142
1166
  :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
1167
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
1143
1168
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1144
1169
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1145
1170
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
@@ -1148,18 +1173,26 @@ module Io
1148
1173
  r.map { |x| ::Io::Flow::V0::Models::ExperienceVersion.new(x) }
1149
1174
  end
1150
1175
 
1151
- def get_currency_and_formats_by_experience_key(organization, experience_key)
1176
+ def get_currency_and_formats_by_experience_key(organization, experience_key, incoming={})
1152
1177
  HttpClient::Preconditions.assert_class('organization', organization, String)
1153
1178
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1154
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/currency/formats").get
1179
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1180
+ query = {
1181
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1182
+ }.delete_if { |k, v| v.nil? }
1183
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/currency/formats").with_query(query).get
1155
1184
  ::Io::Flow::V0::Models::ExperienceCurrencyFormat.new(r)
1156
1185
  end
1157
1186
 
1158
- def put_currency_and_formats_by_experience_key(organization, experience_key, experience_currency_format_form)
1187
+ def put_currency_and_formats_by_experience_key(organization, experience_key, experience_currency_format_form, incoming={})
1159
1188
  HttpClient::Preconditions.assert_class('organization', organization, String)
1160
1189
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1190
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1191
+ query = {
1192
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1193
+ }.delete_if { |k, v| v.nil? }
1161
1194
  (x = experience_currency_format_form; x.is_a?(::Io::Flow::V0::Models::ExperienceCurrencyFormatForm) ? x : ::Io::Flow::V0::Models::ExperienceCurrencyFormatForm.new(x))
1162
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/currency/formats").with_json(experience_currency_format_form.to_json).put
1195
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/currency/formats").with_query(query).with_json(experience_currency_format_form.to_json).put
1163
1196
  ::Io::Flow::V0::Models::ExperienceCurrencyFormat.new(r)
1164
1197
  end
1165
1198
 
@@ -1171,7 +1204,8 @@ module Io
1171
1204
  opts = HttpClient::Helper.symbolize_keys(incoming)
1172
1205
  query = {
1173
1206
  :q => (x = opts.delete(:q); x.nil? ? nil : HttpClient::Preconditions.assert_class('q', x, String)),
1174
- :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
1207
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1208
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1175
1209
  }.delete_if { |k, v| v.nil? }
1176
1210
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/local/items").with_query(query).get
1177
1211
  r.map { |x| ::Io::Flow::V0::Models::LocalItem.new(x) }
@@ -1204,11 +1238,15 @@ module Io
1204
1238
  r.map { |x| ::Io::Flow::V0::Models::ItemMargin.new(x) }
1205
1239
  end
1206
1240
 
1207
- def post_margins_by_experience_key(organization, experience_key, item_margin_post_form)
1241
+ def post_margins_by_experience_key(organization, experience_key, item_margin_post_form, incoming={})
1208
1242
  HttpClient::Preconditions.assert_class('organization', organization, String)
1209
1243
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1244
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1245
+ query = {
1246
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1247
+ }.delete_if { |k, v| v.nil? }
1210
1248
  (x = item_margin_post_form; x.is_a?(::Io::Flow::V0::Models::ItemMarginPostForm) ? x : ::Io::Flow::V0::Models::ItemMarginPostForm.new(x))
1211
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/margins").with_json(item_margin_post_form.to_json).post
1249
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/margins").with_query(query).with_json(item_margin_post_form.to_json).post
1212
1250
  ::Io::Flow::V0::Models::ItemMargin.new(r)
1213
1251
  end
1214
1252
 
@@ -1234,12 +1272,16 @@ module Io
1234
1272
  ::Io::Flow::V0::Models::ItemMargin.new(r)
1235
1273
  end
1236
1274
 
1237
- def put_margins_by_experience_key_and_key(organization, experience_key, key, item_margin_put_form)
1275
+ def put_margins_by_experience_key_and_key(organization, experience_key, key, item_margin_put_form, incoming={})
1238
1276
  HttpClient::Preconditions.assert_class('organization', organization, String)
1239
1277
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1240
1278
  HttpClient::Preconditions.assert_class('key', key, String)
1279
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1280
+ query = {
1281
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1282
+ }.delete_if { |k, v| v.nil? }
1241
1283
  (x = item_margin_put_form; x.is_a?(::Io::Flow::V0::Models::ItemMarginPutForm) ? x : ::Io::Flow::V0::Models::ItemMarginPutForm.new(x))
1242
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/margins/#{CGI.escape(key)}").with_json(item_margin_put_form.to_json).put
1284
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/margins/#{CGI.escape(key)}").with_query(query).with_json(item_margin_put_form.to_json).put
1243
1285
  ::Io::Flow::V0::Models::ItemMargin.new(r)
1244
1286
  end
1245
1287
 
@@ -1257,7 +1299,8 @@ module Io
1257
1299
  opts = HttpClient::Helper.symbolize_keys(incoming)
1258
1300
  query = {
1259
1301
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1260
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
1302
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1303
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1261
1304
  }.delete_if { |k, v| v.nil? }
1262
1305
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/payment-method-types").with_query(query).get
1263
1306
  r.map { |x| ::Io::Flow::V0::Models::PaymentMethodType.new(x) }
@@ -1271,7 +1314,8 @@ module Io
1271
1314
  :payment_method_type => (x = opts.delete(:payment_method_type); x.nil? ? nil : HttpClient::Preconditions.assert_class('payment_method_type', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::PaymentMethodType) ? x : ::Io::Flow::V0::Models::PaymentMethodType.apply(x)).value }),
1272
1315
  :tags => (x = opts.delete(:tags); x.nil? ? nil : HttpClient::Preconditions.assert_class('tags', x, Array).map { |v| HttpClient::Preconditions.assert_class('tags', v, String) }),
1273
1316
  :amount => (x = opts.delete(:amount); x.nil? ? nil : HttpClient::Preconditions.assert_class('amount', x, String)),
1274
- :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
1317
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1318
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1275
1319
  }.delete_if { |k, v| v.nil? }
1276
1320
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/payment/method/rules").with_query(query).get
1277
1321
  r.map { |x| ::Io::Flow::V0::Models::PaymentMethodRule.new(x) }
@@ -1279,11 +1323,15 @@ module Io
1279
1323
 
1280
1324
  # Change the ordering or payment tags for an experience. Every post must
1281
1325
  # include one entry for each payment method offered by Flow.
1282
- def put_payment_and_method_and_rules_by_experience_key(organization, experience_key, experience_payment_method_rule_forms)
1326
+ def put_payment_and_method_and_rules_by_experience_key(organization, experience_key, experience_payment_method_rule_forms, incoming={})
1283
1327
  HttpClient::Preconditions.assert_class('organization', organization, String)
1284
1328
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1329
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1330
+ query = {
1331
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1332
+ }.delete_if { |k, v| v.nil? }
1285
1333
  HttpClient::Preconditions.assert_class('experience_payment_method_rule_forms', experience_payment_method_rule_forms, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExperiencePaymentMethodRuleForm) ? x : ::Io::Flow::V0::Models::ExperiencePaymentMethodRuleForm.new(x)) }
1286
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/payment/method/rules").with_json(experience_payment_method_rule_forms.map { |o| o.to_hash }.to_json).put
1334
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/payment/method/rules").with_query(query).with_json(experience_payment_method_rule_forms.map { |o| o.to_hash }.to_json).put
1287
1335
  r.map { |x| ::Io::Flow::V0::Models::PaymentMethodRule.new(x) }
1288
1336
  end
1289
1337
 
@@ -1302,19 +1350,27 @@ module Io
1302
1350
  r.map { |x| ::Io::Flow::V0::Models::ExperiencePriceBookMapping.new(x) }
1303
1351
  end
1304
1352
 
1305
- def post_price_and_books_by_experience_key(organization, experience_key, experience_price_book_mapping_form)
1353
+ def post_price_and_books_by_experience_key(organization, experience_key, experience_price_book_mapping_form, incoming={})
1306
1354
  HttpClient::Preconditions.assert_class('organization', organization, String)
1307
1355
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1356
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1357
+ query = {
1358
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1359
+ }.delete_if { |k, v| v.nil? }
1308
1360
  (x = experience_price_book_mapping_form; x.is_a?(::Io::Flow::V0::Models::ExperiencePriceBookMappingForm) ? x : ::Io::Flow::V0::Models::ExperiencePriceBookMappingForm.new(x))
1309
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books").with_json(experience_price_book_mapping_form.to_json).post
1361
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books").with_query(query).with_json(experience_price_book_mapping_form.to_json).post
1310
1362
  ::Io::Flow::V0::Models::ExperiencePriceBookMapping.new(r)
1311
1363
  end
1312
1364
 
1313
- def put_price_and_books_by_experience_key(organization, experience_key, experience_price_book_mapping_put_form)
1365
+ def put_price_and_books_by_experience_key(organization, experience_key, experience_price_book_mapping_put_form, incoming={})
1314
1366
  HttpClient::Preconditions.assert_class('organization', organization, String)
1315
1367
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1368
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1369
+ query = {
1370
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1371
+ }.delete_if { |k, v| v.nil? }
1316
1372
  (x = experience_price_book_mapping_put_form; x.is_a?(::Io::Flow::V0::Models::ExperiencePriceBookMappingPutForm) ? x : ::Io::Flow::V0::Models::ExperiencePriceBookMappingPutForm.new(x))
1317
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books").with_json(experience_price_book_mapping_put_form.to_json).put
1373
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books").with_query(query).with_json(experience_price_book_mapping_put_form.to_json).put
1318
1374
  r.map { |x| ::Io::Flow::V0::Models::ExperiencePriceBookMapping.new(x) }
1319
1375
  end
1320
1376
 
@@ -1335,37 +1391,53 @@ module Io
1335
1391
  end
1336
1392
 
1337
1393
  # Returns information about a specific experience.
1338
- def get_by_key(organization, key)
1394
+ def get_by_key(organization, key, incoming={})
1339
1395
  HttpClient::Preconditions.assert_class('organization', organization, String)
1340
1396
  HttpClient::Preconditions.assert_class('key', key, String)
1341
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").get
1397
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1398
+ query = {
1399
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1400
+ }.delete_if { |k, v| v.nil? }
1401
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").with_query(query).get
1342
1402
  ::Io::Flow::V0::Models::Experience.new(r)
1343
1403
  end
1344
1404
 
1345
1405
  # Update experience with the specified key, creating if it does not exist.
1346
- def put_by_key(organization, key, experience_form)
1406
+ def put_by_key(organization, key, experience_form, incoming={})
1347
1407
  HttpClient::Preconditions.assert_class('organization', organization, String)
1348
1408
  HttpClient::Preconditions.assert_class('key', key, String)
1409
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1410
+ query = {
1411
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1412
+ }.delete_if { |k, v| v.nil? }
1349
1413
  (x = experience_form; x.is_a?(::Io::Flow::V0::Models::ExperienceForm) ? x : ::Io::Flow::V0::Models::ExperienceForm.new(x))
1350
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").with_json(experience_form.to_json).put
1414
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").with_query(query).with_json(experience_form.to_json).put
1351
1415
  ::Io::Flow::V0::Models::Experience.new(r)
1352
1416
  end
1353
1417
 
1354
1418
  # Delete the experience with this key
1355
- def delete_by_key(organization, key)
1419
+ def delete_by_key(organization, key, incoming={})
1356
1420
  HttpClient::Preconditions.assert_class('organization', organization, String)
1357
1421
  HttpClient::Preconditions.assert_class('key', key, String)
1358
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").delete
1422
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1423
+ query = {
1424
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1425
+ }.delete_if { |k, v| v.nil? }
1426
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").with_query(query).delete
1359
1427
  nil
1360
1428
  end
1361
1429
 
1362
1430
  # Clones the experience with the specified key, using data from
1363
1431
  # experience_clone_form.
1364
- def post_clone_by_key(organization, key, experience_clone_form)
1432
+ def post_clone_by_key(organization, key, experience_clone_form, incoming={})
1365
1433
  HttpClient::Preconditions.assert_class('organization', organization, String)
1366
1434
  HttpClient::Preconditions.assert_class('key', key, String)
1435
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1436
+ query = {
1437
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1438
+ }.delete_if { |k, v| v.nil? }
1367
1439
  (x = experience_clone_form; x.is_a?(::Io::Flow::V0::Models::ExperienceCloneForm) ? x : ::Io::Flow::V0::Models::ExperienceCloneForm.new(x))
1368
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/clone").with_json(experience_clone_form.to_json).post
1440
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/clone").with_query(query).with_json(experience_clone_form.to_json).post
1369
1441
  ::Io::Flow::V0::Models::ExperienceClone.new(r)
1370
1442
  end
1371
1443
 
@@ -1392,43 +1464,60 @@ module Io
1392
1464
  :ship_from_province => (x = opts.delete(:ship_from_province); x.nil? ? nil : HttpClient::Preconditions.assert_class('ship_from_province', x, String)),
1393
1465
  :ship_to_country => (x = opts.delete(:ship_to_country); x.nil? ? nil : HttpClient::Preconditions.assert_class('ship_to_country', x, String)),
1394
1466
  :ship_to_province => (x = opts.delete(:ship_to_province); x.nil? ? nil : HttpClient::Preconditions.assert_class('ship_to_province', x, String)),
1395
- :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
1467
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1468
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1396
1469
  }.delete_if { |k, v| v.nil? }
1397
1470
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/items/#{CGI.escape(number)}/price").with_query(query).get
1398
1471
  ::Io::Flow::V0::Models::PriceCheck.new(r)
1399
1472
  end
1400
1473
 
1401
1474
  # Get the pricing settings for this experience
1402
- def get_pricing_by_key(organization, key)
1475
+ def get_pricing_by_key(organization, key, incoming={})
1403
1476
  HttpClient::Preconditions.assert_class('organization', organization, String)
1404
1477
  HttpClient::Preconditions.assert_class('key', key, String)
1405
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/pricing").get
1478
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1479
+ query = {
1480
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1481
+ }.delete_if { |k, v| v.nil? }
1482
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/pricing").with_query(query).get
1406
1483
  ::Io::Flow::V0::Models::Pricing.new(r)
1407
1484
  end
1408
1485
 
1409
1486
  # Update the pricing settings for this experience
1410
- def put_pricing_by_key(organization, key, pricing)
1487
+ def put_pricing_by_key(organization, key, pricing, incoming={})
1411
1488
  HttpClient::Preconditions.assert_class('organization', organization, String)
1412
1489
  HttpClient::Preconditions.assert_class('key', key, String)
1490
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1491
+ query = {
1492
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1493
+ }.delete_if { |k, v| v.nil? }
1413
1494
  (x = pricing; x.is_a?(::Io::Flow::V0::Models::Pricing) ? x : ::Io::Flow::V0::Models::Pricing.new(x))
1414
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/pricing").with_json(pricing.to_json).put
1495
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/pricing").with_query(query).with_json(pricing.to_json).put
1415
1496
  ::Io::Flow::V0::Models::Pricing.new(r)
1416
1497
  end
1417
1498
 
1418
1499
  # Get available promotions for the experience
1419
- def get_promotions_and_available_by_key(organization, key)
1500
+ def get_promotions_and_available_by_key(organization, key, incoming={})
1420
1501
  HttpClient::Preconditions.assert_class('organization', organization, String)
1421
1502
  HttpClient::Preconditions.assert_class('key', key, String)
1422
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/promotions/available").get
1503
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1504
+ query = {
1505
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1506
+ }.delete_if { |k, v| v.nil? }
1507
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/promotions/available").with_query(query).get
1423
1508
  r.map { |x| ::Io::Flow::V0::Models::Promotion.from_json(x) }
1424
1509
  end
1425
1510
 
1426
1511
  # Updates the status of a given experience.
1427
- def put_status_by_key(organization, key, experience_status_form)
1512
+ def put_status_by_key(organization, key, experience_status_form, incoming={})
1428
1513
  HttpClient::Preconditions.assert_class('organization', organization, String)
1429
1514
  HttpClient::Preconditions.assert_class('key', key, String)
1515
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1516
+ query = {
1517
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1518
+ }.delete_if { |k, v| v.nil? }
1430
1519
  (x = experience_status_form; x.is_a?(::Io::Flow::V0::Models::ExperienceStatusForm) ? x : ::Io::Flow::V0::Models::ExperienceStatusForm.new(x))
1431
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/status").with_json(experience_status_form.to_json).put
1520
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/status").with_query(query).with_json(experience_status_form.to_json).put
1432
1521
  ::Io::Flow::V0::Models::Experience.new(r)
1433
1522
  end
1434
1523
 
@@ -1440,18 +1529,26 @@ module Io
1440
1529
  @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
1441
1530
  end
1442
1531
 
1443
- def get(organization, experience_key)
1532
+ def get(organization, experience_key, incoming={})
1444
1533
  HttpClient::Preconditions.assert_class('organization', organization, String)
1445
1534
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1446
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/checkout").get
1535
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1536
+ query = {
1537
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1538
+ }.delete_if { |k, v| v.nil? }
1539
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/checkout").with_query(query).get
1447
1540
  ::Io::Flow::V0::Models::ExperienceCheckoutSettings.new(r)
1448
1541
  end
1449
1542
 
1450
- def put(organization, experience_key, experience_checkout_settings_form)
1543
+ def put(organization, experience_key, experience_checkout_settings_form, incoming={})
1451
1544
  HttpClient::Preconditions.assert_class('organization', organization, String)
1452
1545
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1546
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1547
+ query = {
1548
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1549
+ }.delete_if { |k, v| v.nil? }
1453
1550
  (x = experience_checkout_settings_form; x.is_a?(::Io::Flow::V0::Models::ExperienceCheckoutSettingsForm) ? x : ::Io::Flow::V0::Models::ExperienceCheckoutSettingsForm.new(x))
1454
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/checkout").with_json(experience_checkout_settings_form.to_json).put
1551
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/checkout").with_query(query).with_json(experience_checkout_settings_form.to_json).put
1455
1552
  ::Io::Flow::V0::Models::ExperienceCheckoutSettings.new(r)
1456
1553
  end
1457
1554
 
@@ -1468,7 +1565,8 @@ module Io
1468
1565
  HttpClient::Preconditions.assert_class('organization', organization, String)
1469
1566
  opts = HttpClient::Helper.symbolize_keys(incoming)
1470
1567
  query = {
1471
- :region_id => (x = opts.delete(:region_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('region_id', x, String))
1568
+ :region_id => (x = opts.delete(:region_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('region_id', x, String)),
1569
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1472
1570
  }.delete_if { |k, v| v.nil? }
1473
1571
  r = @client.request("/#{CGI.escape(organization)}/experience/defaults").with_query(query).get
1474
1572
  ::Io::Flow::V0::Models::ExperienceDefaults.new(r)
@@ -1489,11 +1587,15 @@ module Io
1489
1587
  ::Io::Flow::V0::Models::ExperienceLogisticsSettings.new(r)
1490
1588
  end
1491
1589
 
1492
- def put(organization, experience_key, experience_logistics_settings_put_form)
1590
+ def put(organization, experience_key, experience_logistics_settings_put_form, incoming={})
1493
1591
  HttpClient::Preconditions.assert_class('organization', organization, String)
1494
1592
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1593
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1594
+ query = {
1595
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1596
+ }.delete_if { |k, v| v.nil? }
1495
1597
  (x = experience_logistics_settings_put_form; x.is_a?(::Io::Flow::V0::Models::ExperienceLogisticsSettingsPutForm) ? x : ::Io::Flow::V0::Models::ExperienceLogisticsSettingsPutForm.new(x))
1496
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/logistics").with_json(experience_logistics_settings_put_form.to_json).put
1598
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/logistics").with_query(query).with_json(experience_logistics_settings_put_form.to_json).put
1497
1599
  ::Io::Flow::V0::Models::ExperienceLogisticsSettings.new(r)
1498
1600
  end
1499
1601
 
@@ -1708,6 +1810,7 @@ module Io
1708
1810
  :customer_number => (x = opts.delete(:customer_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('customer_number', x, String)),
1709
1811
  :submitted_at_on_or_after => (x = opts.delete(:submitted_at_on_or_after); x.nil? ? nil : HttpClient::Preconditions.assert_class('submitted_at_on_or_after', HttpClient::Helper.to_date_time_iso8601(x), DateTime)),
1710
1812
  :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
1813
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
1711
1814
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1712
1815
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1713
1816
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String),
@@ -1730,7 +1833,8 @@ module Io
1730
1833
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1731
1834
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1732
1835
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1733
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
1836
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
1837
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1734
1838
  }.delete_if { |k, v| v.nil? }
1735
1839
  (x = order_form; x.is_a?(::Io::Flow::V0::Models::OrderForm) ? x : ::Io::Flow::V0::Models::OrderForm.new(x))
1736
1840
  r = @client.request("/#{CGI.escape(organization)}/orders").with_query(query).with_json(order_form.to_json).post
@@ -1744,7 +1848,8 @@ module Io
1744
1848
  opts = HttpClient::Helper.symbolize_keys(incoming)
1745
1849
  query = {
1746
1850
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1747
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
1851
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
1852
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1748
1853
  }.delete_if { |k, v| v.nil? }
1749
1854
  r = @client.request("/#{CGI.escape(organization)}/orders/identifier/#{CGI.escape(identifier)}").with_query(query).get
1750
1855
  ::Io::Flow::V0::Models::Order.new(r)
@@ -1761,7 +1866,8 @@ module Io
1761
1866
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1762
1867
  :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
1763
1868
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1764
- :show_selections_only => (x = opts.delete(:show_selections_only); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('show_selections_only', x))
1869
+ :show_selections_only => (x = opts.delete(:show_selections_only); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('show_selections_only', x)),
1870
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1765
1871
  }.delete_if { |k, v| v.nil? }
1766
1872
  (x = order_with_discounts_form; x.is_a?(::Io::Flow::V0::Models::OrderWithDiscountsForm) ? x : ::Io::Flow::V0::Models::OrderWithDiscountsForm.new(x))
1767
1873
  r = @client.request("/#{CGI.escape(organization)}/orders/submissions").with_query(query).with_json(order_with_discounts_form.to_json).post
@@ -1791,7 +1897,8 @@ module Io
1791
1897
  opts = HttpClient::Helper.symbolize_keys(incoming)
1792
1898
  query = {
1793
1899
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1794
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
1900
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
1901
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1795
1902
  }.delete_if { |k, v| v.nil? }
1796
1903
  r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}").with_query(query).get
1797
1904
  ::Io::Flow::V0::Models::Order.new(r)
@@ -1811,7 +1918,8 @@ module Io
1811
1918
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1812
1919
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1813
1920
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1814
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
1921
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
1922
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1815
1923
  }.delete_if { |k, v| v.nil? }
1816
1924
  (x = order_put_form; x.is_a?(::Io::Flow::V0::Models::OrderPutForm) ? x : ::Io::Flow::V0::Models::OrderPutForm.new(x))
1817
1925
  r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}").with_query(query).with_json(order_put_form.to_json).put
@@ -1842,7 +1950,8 @@ module Io
1842
1950
  HttpClient::Preconditions.assert_class('number', number, String)
1843
1951
  opts = HttpClient::Helper.symbolize_keys(incoming)
1844
1952
  query = {
1845
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
1953
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1954
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1846
1955
  }.delete_if { |k, v| v.nil? }
1847
1956
  (x = authorization_form; x.is_a?(::Io::Flow::V0::Models::AuthorizationForm) ? x : ::Io::Flow::V0::Models::AuthorizationForm.from_json(x))
1848
1957
  r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/authorizations").with_query(query).with_json(authorization_form.to_json).post
@@ -1850,21 +1959,38 @@ module Io
1850
1959
  end
1851
1960
 
1852
1961
  # Updates an order's destination address
1853
- def put_destination_by_number(organization, number, order_destination_put_form)
1962
+ def put_destination_by_number(organization, number, order_destination_put_form, incoming={})
1854
1963
  HttpClient::Preconditions.assert_class('organization', organization, String)
1855
1964
  HttpClient::Preconditions.assert_class('number', number, String)
1965
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1966
+ query = {
1967
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1968
+ }.delete_if { |k, v| v.nil? }
1856
1969
  (x = order_destination_put_form; x.is_a?(::Io::Flow::V0::Models::OrderDestinationPutForm) ? x : ::Io::Flow::V0::Models::OrderDestinationPutForm.new(x))
1857
- r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/destination").with_json(order_destination_put_form.to_json).put
1970
+ r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/destination").with_query(query).with_json(order_destination_put_form.to_json).put
1858
1971
  ::Io::Flow::V0::Models::Order.new(r)
1859
1972
  end
1860
1973
 
1861
- def put_inventory_and_reservations_by_number(organization, number)
1974
+ def put_inventory_and_reservations_by_number(organization, number, incoming={})
1862
1975
  HttpClient::Preconditions.assert_class('organization', organization, String)
1863
1976
  HttpClient::Preconditions.assert_class('number', number, String)
1864
- r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/inventory/reservations").put
1977
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1978
+ query = {
1979
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1980
+ }.delete_if { |k, v| v.nil? }
1981
+ r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/inventory/reservations").with_query(query).put
1865
1982
  ::Io::Flow::V0::Models::Reservation.new(r)
1866
1983
  end
1867
1984
 
1985
+ # Creates an order payment by applying the authorization to the order.
1986
+ def post_payments_by_number(organization, number, authorization)
1987
+ HttpClient::Preconditions.assert_class('organization', organization, String)
1988
+ HttpClient::Preconditions.assert_class('number', number, String)
1989
+ (x = authorization; x.is_a?(::Io::Flow::V0::Models::Authorization) ? x : ::Io::Flow::V0::Models::Authorization.from_json(x))
1990
+ r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/payments").with_json(authorization.to_json).post
1991
+ ::Io::Flow::V0::Models::Order.new(r)
1992
+ end
1993
+
1868
1994
  # Creates a free shipping promotion for this order, automatically applying it
1869
1995
  # to the order if the order meets the defined promotion trigger.
1870
1996
  def put_promotions_and_free_shipping_by_number_and_key(organization, number, key, free_shipping_order_promotion_form, incoming={})
@@ -1873,7 +1999,8 @@ module Io
1873
1999
  HttpClient::Preconditions.assert_class('key', key, String)
1874
2000
  opts = HttpClient::Helper.symbolize_keys(incoming)
1875
2001
  query = {
1876
- :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))
1877
2004
  }.delete_if { |k, v| v.nil? }
1878
2005
  (x = free_shipping_order_promotion_form; x.is_a?(::Io::Flow::V0::Models::FreeShippingOrderPromotionForm) ? x : ::Io::Flow::V0::Models::FreeShippingOrderPromotionForm.new(x))
1879
2006
  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
@@ -1897,7 +2024,8 @@ module Io
1897
2024
  HttpClient::Preconditions.assert_class('number', number, String)
1898
2025
  opts = HttpClient::Helper.symbolize_keys(incoming)
1899
2026
  query = {
1900
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2027
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2028
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1901
2029
  }.delete_if { |k, v| v.nil? }
1902
2030
  (x = order_submission_form; x.is_a?(::Io::Flow::V0::Models::OrderSubmissionForm) ? x : ::Io::Flow::V0::Models::OrderSubmissionForm.new(x))
1903
2031
  r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/submissions").with_query(query).with_json(order_submission_form.to_json).put
@@ -1906,11 +2034,15 @@ module Io
1906
2034
 
1907
2035
  # Validates a tax registration number, proxying to underlying services and
1908
2036
  # recording the result on the order.
1909
- def put_tax_and_registration_by_number(organization, number, tax_registration_form)
2037
+ def put_tax_and_registration_by_number(organization, number, tax_registration_form, incoming={})
1910
2038
  HttpClient::Preconditions.assert_class('organization', organization, String)
1911
2039
  HttpClient::Preconditions.assert_class('number', number, String)
2040
+ opts = HttpClient::Helper.symbolize_keys(incoming)
2041
+ query = {
2042
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2043
+ }.delete_if { |k, v| v.nil? }
1912
2044
  (x = tax_registration_form; x.is_a?(::Io::Flow::V0::Models::TaxRegistrationForm) ? x : ::Io::Flow::V0::Models::TaxRegistrationForm.new(x))
1913
- r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/tax/registration").with_json(tax_registration_form.to_json).put
2045
+ r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/tax/registration").with_query(query).with_json(tax_registration_form.to_json).put
1914
2046
  ::Io::Flow::V0::Models::TaxRegistration.new(r)
1915
2047
  end
1916
2048
 
@@ -1955,7 +2087,8 @@ module Io
1955
2087
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1956
2088
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1957
2089
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1958
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2090
+ :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
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1959
2092
  }.delete_if { |k, v| v.nil? }
1960
2093
  (x = order_put_form; x.is_a?(::Io::Flow::V0::Models::OrderPutForm) ? x : ::Io::Flow::V0::Models::OrderPutForm.new(x))
1961
2094
  r = @client.request("/#{CGI.escape(organization)}/order/builders").with_query(query).with_json(order_put_form.to_json).post
@@ -1972,7 +2105,8 @@ module Io
1972
2105
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1973
2106
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1974
2107
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1975
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2108
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2109
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1976
2110
  }.delete_if { |k, v| v.nil? }
1977
2111
  (x = order_put_form; x.is_a?(::Io::Flow::V0::Models::OrderPutForm) ? x : ::Io::Flow::V0::Models::OrderPutForm.new(x))
1978
2112
  r = @client.request("/#{CGI.escape(organization)}/order/builders/carts/#{CGI.escape(number)}").with_query(query).with_json(order_put_form.to_json).put
@@ -1987,7 +2121,8 @@ module Io
1987
2121
  opts = HttpClient::Helper.symbolize_keys(incoming)
1988
2122
  query = {
1989
2123
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1990
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
2124
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
2125
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1991
2126
  }.delete_if { |k, v| v.nil? }
1992
2127
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}").with_query(query).get
1993
2128
  ::Io::Flow::V0::Models::OrderBuilder.new(r)
@@ -2003,7 +2138,8 @@ module Io
2003
2138
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
2004
2139
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
2005
2140
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
2006
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2141
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2142
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2007
2143
  }.delete_if { |k, v| v.nil? }
2008
2144
  (x = order_put_form; x.is_a?(::Io::Flow::V0::Models::OrderPutForm) ? x : ::Io::Flow::V0::Models::OrderPutForm.new(x))
2009
2145
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}").with_query(query).with_json(order_put_form.to_json).put
@@ -2015,7 +2151,8 @@ module Io
2015
2151
  HttpClient::Preconditions.assert_class('number', number, String)
2016
2152
  opts = HttpClient::Helper.symbolize_keys(incoming)
2017
2153
  query = {
2018
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2154
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2155
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2019
2156
  }.delete_if { |k, v| v.nil? }
2020
2157
  (x = order_builder_attributes_form; x.is_a?(::Io::Flow::V0::Models::OrderBuilderAttributesForm) ? x : ::Io::Flow::V0::Models::OrderBuilderAttributesForm.new(x))
2021
2158
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/attributes").with_query(query).with_json(order_builder_attributes_form.to_json).put
@@ -2027,7 +2164,8 @@ module Io
2027
2164
  HttpClient::Preconditions.assert_class('number', number, String)
2028
2165
  opts = HttpClient::Helper.symbolize_keys(incoming)
2029
2166
  query = {
2030
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2167
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2168
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2031
2169
  }.delete_if { |k, v| v.nil? }
2032
2170
  (x = order_builder_destination_country_form; x.is_a?(::Io::Flow::V0::Models::OrderBuilderDestinationCountryForm) ? x : ::Io::Flow::V0::Models::OrderBuilderDestinationCountryForm.new(x))
2033
2171
  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
@@ -2039,7 +2177,8 @@ module Io
2039
2177
  HttpClient::Preconditions.assert_class('number', number, String)
2040
2178
  opts = HttpClient::Helper.symbolize_keys(incoming)
2041
2179
  query = {
2042
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2180
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2181
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2043
2182
  }.delete_if { |k, v| v.nil? }
2044
2183
  (x = order_builder_destination_form; x.is_a?(::Io::Flow::V0::Models::OrderBuilderDestinationForm) ? x : ::Io::Flow::V0::Models::OrderBuilderDestinationForm.new(x))
2045
2184
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/destination").with_query(query).with_json(order_builder_destination_form.to_json).put
@@ -2051,7 +2190,8 @@ module Io
2051
2190
  HttpClient::Preconditions.assert_class('number', number, String)
2052
2191
  opts = HttpClient::Helper.symbolize_keys(incoming)
2053
2192
  query = {
2054
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2193
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2194
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2055
2195
  }.delete_if { |k, v| v.nil? }
2056
2196
  (x = order_builder_delivered_duty_form; x.is_a?(::Io::Flow::V0::Models::OrderBuilderDeliveredDutyForm) ? x : ::Io::Flow::V0::Models::OrderBuilderDeliveredDutyForm.new(x))
2057
2197
  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
@@ -2064,13 +2204,71 @@ module Io
2064
2204
  HttpClient::Preconditions.assert_class('number', number, String)
2065
2205
  opts = HttpClient::Helper.symbolize_keys(incoming)
2066
2206
  query = {
2067
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2207
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2208
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2068
2209
  }.delete_if { |k, v| v.nil? }
2069
2210
  (x = order_builder_customer_invoice_address_form; x.is_a?(::Io::Flow::V0::Models::OrderBuilderCustomerInvoiceAddressForm) ? x : ::Io::Flow::V0::Models::OrderBuilderCustomerInvoiceAddressForm.new(x))
2070
2211
  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
2071
2212
  ::Io::Flow::V0::Models::OrderBuilder.new(r)
2072
2213
  end
2073
2214
 
2215
+ # Adds a line item to the order.
2216
+ def post_lines_by_number(organization, number, line_item_form)
2217
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2218
+ HttpClient::Preconditions.assert_class('number', number, String)
2219
+ (x = line_item_form; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x))
2220
+ r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/lines").with_json(line_item_form.to_json).post
2221
+ ::Io::Flow::V0::Models::Order.new(r)
2222
+ end
2223
+
2224
+ # Replaces all line items in the order.
2225
+ def put_lines_by_number(organization, number, line_item_forms)
2226
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2227
+ HttpClient::Preconditions.assert_class('number', number, String)
2228
+ 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)) }
2229
+ 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
2230
+ ::Io::Flow::V0::Models::Order.new(r)
2231
+ end
2232
+
2233
+ # Replaces line item in the order specifed by the line item id.
2234
+ def put_lines_by_number_and_id(organization, number, id, line_item_form)
2235
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2236
+ HttpClient::Preconditions.assert_class('number', number, String)
2237
+ HttpClient::Preconditions.assert_class('id', id, String)
2238
+ (x = line_item_form; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x))
2239
+ r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/lines/#{CGI.escape(id)}").with_json(line_item_form.to_json).put
2240
+ ::Io::Flow::V0::Models::Order.new(r)
2241
+ end
2242
+
2243
+ # Deletes line item in the order specifed by the line item id.
2244
+ def delete_lines_by_number_and_id(organization, number, id)
2245
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2246
+ HttpClient::Preconditions.assert_class('number', number, String)
2247
+ HttpClient::Preconditions.assert_class('id', id, String)
2248
+ r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/lines/#{CGI.escape(id)}").delete
2249
+ ::Io::Flow::V0::Models::OrderBuilder.new(r)
2250
+ end
2251
+
2252
+ # Updates line item attributes in the order specifed by the line item id.
2253
+ def put_lines_and_attributes_by_number_and_id(organization, number, id, line_item_attributes_form)
2254
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2255
+ HttpClient::Preconditions.assert_class('number', number, String)
2256
+ HttpClient::Preconditions.assert_class('id', id, String)
2257
+ (x = line_item_attributes_form; x.is_a?(::Io::Flow::V0::Models::LineItemAttributesForm) ? x : ::Io::Flow::V0::Models::LineItemAttributesForm.new(x))
2258
+ 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
2259
+ ::Io::Flow::V0::Models::Order.new(r)
2260
+ end
2261
+
2262
+ # Updates line item quantity in the order specifed by the line item id.
2263
+ def put_lines_and_quantity_by_number_and_id(organization, number, id, line_item_quantity_form)
2264
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2265
+ HttpClient::Preconditions.assert_class('number', number, String)
2266
+ HttpClient::Preconditions.assert_class('id', id, String)
2267
+ (x = line_item_quantity_form; x.is_a?(::Io::Flow::V0::Models::LineItemQuantityForm) ? x : ::Io::Flow::V0::Models::LineItemQuantityForm.new(x))
2268
+ 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
2269
+ ::Io::Flow::V0::Models::Order.new(r)
2270
+ end
2271
+
2074
2272
  # Validates a tax registration number, proxying to underlying services and
2075
2273
  # recording the result on the order.
2076
2274
  def put_tax_and_registration_by_number(organization, number, tax_registration_form, incoming={})
@@ -2078,7 +2276,8 @@ module Io
2078
2276
  HttpClient::Preconditions.assert_class('number', number, String)
2079
2277
  opts = HttpClient::Helper.symbolize_keys(incoming)
2080
2278
  query = {
2081
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2279
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2280
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2082
2281
  }.delete_if { |k, v| v.nil? }
2083
2282
  (x = tax_registration_form; x.is_a?(::Io::Flow::V0::Models::TaxRegistrationForm) ? x : ::Io::Flow::V0::Models::TaxRegistrationForm.new(x))
2084
2283
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}/tax/registration").with_query(query).with_json(tax_registration_form.to_json).put
@@ -2107,7 +2306,8 @@ module Io
2107
2306
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
2108
2307
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
2109
2308
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2110
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
2309
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
2310
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2111
2311
  }.delete_if { |k, v| v.nil? }
2112
2312
  (x = order_estimate_form; x.is_a?(::Io::Flow::V0::Models::OrderEstimateForm) ? x : ::Io::Flow::V0::Models::OrderEstimateForm.new(x))
2113
2313
  r = @client.request("/#{CGI.escape(organization)}/order-estimates").with_query(query).with_json(order_estimate_form.to_json).post
@@ -2120,7 +2320,8 @@ module Io
2120
2320
  opts = HttpClient::Helper.symbolize_keys(incoming)
2121
2321
  query = {
2122
2322
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2123
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
2323
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
2324
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2124
2325
  }.delete_if { |k, v| v.nil? }
2125
2326
  r = @client.request("/#{CGI.escape(organization)}/order-estimates/#{CGI.escape(number)}").with_query(query).get
2126
2327
  ::Io::Flow::V0::Models::Experience.new(r)
@@ -2137,7 +2338,8 @@ module Io
2137
2338
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
2138
2339
  :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
2139
2340
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2140
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
2341
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
2342
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2141
2343
  }.delete_if { |k, v| v.nil? }
2142
2344
  (x = order_estimate_form; x.is_a?(::Io::Flow::V0::Models::OrderEstimateForm) ? x : ::Io::Flow::V0::Models::OrderEstimateForm.new(x))
2143
2345
  r = @client.request("/#{CGI.escape(organization)}/order-estimates/#{CGI.escape(number)}").with_query(query).with_json(order_estimate_form.to_json).put
@@ -2236,6 +2438,12 @@ module Io
2236
2438
  nil
2237
2439
  end
2238
2440
 
2441
+ def get_generated_and_number(organization)
2442
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2443
+ r = @client.request("/#{CGI.escape(organization)}/order/number/generators/generated/number").get
2444
+ ::Io::Flow::V0::Models::OrderNumberGeneratorGeneratedNumber.new(r)
2445
+ end
2446
+
2239
2447
  end
2240
2448
 
2241
2449
  class OrderPromotions
@@ -2284,7 +2492,8 @@ module Io
2284
2492
  query = {
2285
2493
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
2286
2494
  :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
2287
- :status => HttpClient::Preconditions.assert_class('status', (x = opts.delete(:status); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExperienceStatus) ? x : ::Io::Flow::V0::Models::ExperienceStatus.apply(x)).value }
2495
+ :status => HttpClient::Preconditions.assert_class('status', (x = opts.delete(:status); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExperienceStatus) ? x : ::Io::Flow::V0::Models::ExperienceStatus.apply(x)).value },
2496
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2288
2497
  }.delete_if { |k, v| v.nil? }
2289
2498
  r = @client.request("/#{CGI.escape(organization)}/countries").with_query(query).get
2290
2499
  r.map { |x| ::Io::Flow::V0::Models::Country.new(x) }
@@ -2413,6 +2622,7 @@ module Io
2413
2622
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
2414
2623
  :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
2415
2624
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
2625
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
2416
2626
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2417
2627
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2418
2628
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "display_position" : x), String)
@@ -2430,6 +2640,7 @@ module Io
2430
2640
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
2431
2641
  :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
2432
2642
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
2643
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
2433
2644
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2434
2645
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2435
2646
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "display_position" : x), String)
@@ -2445,7 +2656,8 @@ module Io
2445
2656
  query = {
2446
2657
  :experiences => (x = opts.delete(:experiences); x.nil? ? nil : HttpClient::Preconditions.assert_class('experiences', x, Array).map { |v| HttpClient::Preconditions.assert_class('experiences', v, String) }),
2447
2658
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2448
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
2659
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2660
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2449
2661
  }.delete_if { |k, v| v.nil? }
2450
2662
  r = @client.request("/#{CGI.escape(organization)}/payment/method/rules/batch").with_query(query).get
2451
2663
  r.map { |x| ::Io::Flow::V0::Models::ExperiencePaymentMethodRule.new(x) }
@@ -4505,7 +4717,8 @@ module Io
4505
4717
  HttpClient::Preconditions.assert_class('organization', organization, String)
4506
4718
  opts = HttpClient::Helper.symbolize_keys(incoming)
4507
4719
  query = {
4508
- :show_commercial_invoice => (x = opts.delete(:show_commercial_invoice); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('show_commercial_invoice', x))
4720
+ :show_commercial_invoice => (x = opts.delete(:show_commercial_invoice); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('show_commercial_invoice', x)),
4721
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
4509
4722
  }.delete_if { |k, v| v.nil? }
4510
4723
  (x = shipping_label_form; x.is_a?(::Io::Flow::V0::Models::ShippingLabelForm) ? x : ::Io::Flow::V0::Models::ShippingLabelForm.from_json(x))
4511
4724
  r = @client.request("/#{CGI.escape(organization)}/shipping_labels").with_query(query).with_json(shipping_label_form.to_json).post
@@ -5359,10 +5572,14 @@ module Io
5359
5572
  nil
5360
5573
  end
5361
5574
 
5362
- def post_checkout_and_tokens_by_organization(organization, checkout_token_form)
5575
+ def post_checkout_and_tokens_by_organization(organization, checkout_token_form, incoming={})
5363
5576
  HttpClient::Preconditions.assert_class('organization', organization, String)
5577
+ opts = HttpClient::Helper.symbolize_keys(incoming)
5578
+ query = {
5579
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
5580
+ }.delete_if { |k, v| v.nil? }
5364
5581
  (x = checkout_token_form; x.is_a?(::Io::Flow::V0::Models::CheckoutTokenForm) ? x : ::Io::Flow::V0::Models::CheckoutTokenForm.from_json(x))
5365
- r = @client.request("/#{CGI.escape(organization)}/checkout/tokens").with_json(checkout_token_form.to_json).post
5582
+ r = @client.request("/#{CGI.escape(organization)}/checkout/tokens").with_query(query).with_json(checkout_token_form.to_json).post
5366
5583
  ::Io::Flow::V0::Models::CheckoutToken.new(r)
5367
5584
  end
5368
5585
 
@@ -6760,10 +6977,14 @@ module Io
6760
6977
  ::Io::Flow::V0::Models::Session.from_json(r)
6761
6978
  end
6762
6979
 
6763
- def post_organizations_by_organization(organization, session_form)
6980
+ def post_organizations_by_organization(organization, session_form, incoming={})
6764
6981
  HttpClient::Preconditions.assert_class('organization', organization, String)
6982
+ opts = HttpClient::Helper.symbolize_keys(incoming)
6983
+ query = {
6984
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6985
+ }.delete_if { |k, v| v.nil? }
6765
6986
  (x = session_form; x.is_a?(::Io::Flow::V0::Models::SessionForm) ? x : ::Io::Flow::V0::Models::SessionForm.new(x))
6766
- r = @client.request("/sessions/organizations/#{CGI.escape(organization)}").with_json(session_form.to_json).post
6987
+ r = @client.request("/sessions/organizations/#{CGI.escape(organization)}").with_query(query).with_json(session_form.to_json).post
6767
6988
  ::Io::Flow::V0::Models::OrganizationSession.new(r)
6768
6989
  end
6769
6990
 
@@ -6773,10 +6994,14 @@ module Io
6773
6994
  ::Io::Flow::V0::Models::Session.from_json(r)
6774
6995
  end
6775
6996
 
6776
- def put_by_session(session, session_put_form)
6997
+ def put_by_session(session, session_put_form, incoming={})
6777
6998
  HttpClient::Preconditions.assert_class('session', session, String)
6999
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7000
+ query = {
7001
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7002
+ }.delete_if { |k, v| v.nil? }
6778
7003
  (x = session_put_form; x.is_a?(::Io::Flow::V0::Models::SessionPutForm) ? x : ::Io::Flow::V0::Models::SessionPutForm.new(x))
6779
- r = @client.request("/sessions/#{CGI.escape(session)}").with_json(session_put_form.to_json).put
7004
+ r = @client.request("/sessions/#{CGI.escape(session)}").with_query(query).with_json(session_put_form.to_json).put
6780
7005
  ::Io::Flow::V0::Models::Session.from_json(r)
6781
7006
  end
6782
7007
 
@@ -6793,19 +7018,27 @@ module Io
6793
7018
  ::Io::Flow::V0::Models::Session.from_json(r)
6794
7019
  end
6795
7020
 
6796
- def put_organizations_by_session_and_organization(session, organization, session_put_form)
7021
+ def put_organizations_by_session_and_organization(session, organization, session_put_form, incoming={})
6797
7022
  HttpClient::Preconditions.assert_class('session', session, String)
6798
7023
  HttpClient::Preconditions.assert_class('organization', organization, String)
7024
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7025
+ query = {
7026
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7027
+ }.delete_if { |k, v| v.nil? }
6799
7028
  (x = session_put_form; x.is_a?(::Io::Flow::V0::Models::SessionPutForm) ? x : ::Io::Flow::V0::Models::SessionPutForm.new(x))
6800
- r = @client.request("/sessions/#{CGI.escape(session)}/organizations/#{CGI.escape(organization)}").with_json(session_put_form.to_json).put
7029
+ r = @client.request("/sessions/#{CGI.escape(session)}/organizations/#{CGI.escape(organization)}").with_query(query).with_json(session_put_form.to_json).put
6801
7030
  ::Io::Flow::V0::Models::OrganizationSession.new(r)
6802
7031
  end
6803
7032
 
6804
7033
  # Resets the session based on the provided geo parameters.
6805
- def put_reset_by_session(session, session_put_form)
7034
+ def put_reset_by_session(session, session_put_form, incoming={})
6806
7035
  HttpClient::Preconditions.assert_class('session', session, String)
7036
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7037
+ query = {
7038
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7039
+ }.delete_if { |k, v| v.nil? }
6807
7040
  (x = session_put_form; x.is_a?(::Io::Flow::V0::Models::SessionPutForm) ? x : ::Io::Flow::V0::Models::SessionPutForm.new(x))
6808
- r = @client.request("/sessions/#{CGI.escape(session)}/reset").with_json(session_put_form.to_json).put
7041
+ r = @client.request("/sessions/#{CGI.escape(session)}/reset").with_query(query).with_json(session_put_form.to_json).put
6809
7042
  ::Io::Flow::V0::Models::Session.from_json(r)
6810
7043
  end
6811
7044
 
@@ -6832,47 +7065,71 @@ module Io
6832
7065
  end
6833
7066
 
6834
7067
  # Retrieve representation of a Shopify cart for the given order number.
6835
- def get_order_by_number(number)
7068
+ def get_order_by_number(number, incoming={})
6836
7069
  HttpClient::Preconditions.assert_class('number', number, String)
6837
- r = @client.request("/shopify/carts/order/#{CGI.escape(number)}").get
7070
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7071
+ query = {
7072
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7073
+ }.delete_if { |k, v| v.nil? }
7074
+ r = @client.request("/shopify/carts/order/#{CGI.escape(number)}").with_query(query).get
6838
7075
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6839
7076
  end
6840
7077
 
6841
7078
  # Retrieve representation of a Shopify cart given the unique cart id.
6842
- def get_by_id_html(id)
7079
+ def get_by_id_html(id, incoming={})
6843
7080
  HttpClient::Preconditions.assert_class('id', id, String)
6844
- r = @client.request("/shopify/carts/#{CGI.escape(id)}").get
7081
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7082
+ query = {
7083
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7084
+ }.delete_if { |k, v| v.nil? }
7085
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}").with_query(query).get
6845
7086
  r
6846
7087
  end
6847
7088
 
6848
7089
  # Retrieve representation of a Shopify cart given the unique cart id.
6849
- def get_by_id(id)
7090
+ def get_by_id(id, incoming={})
6850
7091
  HttpClient::Preconditions.assert_class('id', id, String)
6851
- r = @client.request("/shopify/carts/#{CGI.escape(id)}").get
7092
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7093
+ query = {
7094
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7095
+ }.delete_if { |k, v| v.nil? }
7096
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}").with_query(query).get
6852
7097
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6853
7098
  end
6854
7099
 
6855
7100
  # Add an item to a Shopify cart given the unique cart id.
6856
- def post_add_by_id(id, shopify_cart_add_form)
7101
+ def post_add_by_id(id, shopify_cart_add_form, incoming={})
6857
7102
  HttpClient::Preconditions.assert_class('id', id, String)
7103
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7104
+ query = {
7105
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7106
+ }.delete_if { |k, v| v.nil? }
6858
7107
  (x = shopify_cart_add_form; x.is_a?(::Io::Flow::V0::Models::ShopifyCartAddForm) ? x : ::Io::Flow::V0::Models::ShopifyCartAddForm.from_json(x))
6859
- r = @client.request("/shopify/carts/#{CGI.escape(id)}/add").with_json(shopify_cart_add_form.to_json).post
7108
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}/add").with_query(query).with_json(shopify_cart_add_form.to_json).post
6860
7109
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6861
7110
  end
6862
7111
 
6863
7112
  # Update the attribute information for the cart.
6864
- def put_attributes_by_id(id, shopify_order_attributes_form)
7113
+ def put_attributes_by_id(id, shopify_order_attributes_form, incoming={})
6865
7114
  HttpClient::Preconditions.assert_class('id', id, String)
7115
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7116
+ query = {
7117
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7118
+ }.delete_if { |k, v| v.nil? }
6866
7119
  (x = shopify_order_attributes_form; x.is_a?(::Io::Flow::V0::Models::ShopifyOrderAttributesForm) ? x : ::Io::Flow::V0::Models::ShopifyOrderAttributesForm.new(x))
6867
- r = @client.request("/shopify/carts/#{CGI.escape(id)}/attributes").with_json(shopify_order_attributes_form.to_json).put
7120
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}/attributes").with_query(query).with_json(shopify_order_attributes_form.to_json).put
6868
7121
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6869
7122
  end
6870
7123
 
6871
7124
  # Change/Update an item in a Shopify cart given the unique cart id.
6872
- def post_change_by_id(id, shopify_cart_change_form)
7125
+ def post_change_by_id(id, shopify_cart_change_form, incoming={})
6873
7126
  HttpClient::Preconditions.assert_class('id', id, String)
7127
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7128
+ query = {
7129
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7130
+ }.delete_if { |k, v| v.nil? }
6874
7131
  (x = shopify_cart_change_form; x.is_a?(::Io::Flow::V0::Models::ShopifyCartChangeForm) ? x : ::Io::Flow::V0::Models::ShopifyCartChangeForm.new(x))
6875
- r = @client.request("/shopify/carts/#{CGI.escape(id)}/change").with_json(shopify_cart_change_form.to_json).post
7132
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}/change").with_query(query).with_json(shopify_cart_change_form.to_json).post
6876
7133
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6877
7134
  end
6878
7135
 
@@ -6884,10 +7141,14 @@ module Io
6884
7141
  end
6885
7142
 
6886
7143
  # Update the geo information for the cart.
6887
- def put_geo_by_id(id, geo_form)
7144
+ def put_geo_by_id(id, geo_form, incoming={})
6888
7145
  HttpClient::Preconditions.assert_class('id', id, String)
7146
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7147
+ query = {
7148
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
7149
+ }.delete_if { |k, v| v.nil? }
6889
7150
  (x = geo_form; x.is_a?(::Io::Flow::V0::Models::GeoForm) ? x : ::Io::Flow::V0::Models::GeoForm.new(x))
6890
- r = @client.request("/shopify/carts/#{CGI.escape(id)}/geo").with_json(geo_form.to_json).put
7151
+ r = @client.request("/shopify/carts/#{CGI.escape(id)}/geo").with_query(query).with_json(geo_form.to_json).put
6891
7152
  ::Io::Flow::V0::Models::ShopifyCart.new(r)
6892
7153
  end
6893
7154
 
@@ -6896,7 +7157,8 @@ module Io
6896
7157
  HttpClient::Preconditions.assert_class('id', id, String)
6897
7158
  opts = HttpClient::Helper.symbolize_keys(incoming)
6898
7159
  query = {
6899
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
7160
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
7161
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6900
7162
  }.delete_if { |k, v| v.nil? }
6901
7163
  r = @client.request("/shopify/carts/#{CGI.escape(id)}/orders").with_query(query).post
6902
7164
  ::Io::Flow::V0::Models::Order.new(r)
@@ -6916,7 +7178,8 @@ module Io
6916
7178
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
6917
7179
  opts = HttpClient::Helper.symbolize_keys(incoming)
6918
7180
  query = {
6919
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
7181
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
7182
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
6920
7183
  }.delete_if { |k, v| v.nil? }
6921
7184
  (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))
6922
7185
  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
@@ -7502,6 +7765,68 @@ module Io
7502
7765
 
7503
7766
  module Models
7504
7767
 
7768
+ # Configurations to support payment authentication done in the user experience
7769
+ # e.g. card authentication with 3DS by an issuer ACS.
7770
+ class ActionConfiguration
7771
+
7772
+ module Types
7773
+ THREEDS_TWO_BROWSER_ACTION_CONFIGURATION = 'threeds_two_browser_action_configuration' unless defined?(THREEDS_TWO_BROWSER_ACTION_CONFIGURATION)
7774
+ end
7775
+
7776
+ attr_reader :discriminator
7777
+
7778
+ def initialize(incoming={})
7779
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7780
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ActionConfiguration')
7781
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7782
+ end
7783
+
7784
+ def subtype_to_hash
7785
+ raise 'Cannot serialize an instance of action_configuration directly - must use one of the specific types: threeds_two_browser_action_configuration'
7786
+ end
7787
+
7788
+ def to_hash
7789
+ subtype_to_hash.merge(:discriminator => @discriminator)
7790
+ end
7791
+
7792
+ def ActionConfiguration.from_json(hash)
7793
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
7794
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7795
+ if discriminator.empty?
7796
+ raise "Union type[action_configuration] requires a field named 'discriminator'"
7797
+ end
7798
+ case discriminator
7799
+ when Types::THREEDS_TWO_BROWSER_ACTION_CONFIGURATION; ThreedsTwoBrowserActionConfiguration.new(hash)
7800
+ else ActionConfigurationUndefinedType.new(:discriminator => discriminator)
7801
+ end
7802
+ end
7803
+
7804
+ end
7805
+
7806
+ class ActionConfigurationUndefinedType < ActionConfiguration
7807
+
7808
+ attr_reader :name
7809
+
7810
+ def initialize(incoming={})
7811
+ super(:discriminator => 'undefined_type')
7812
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7813
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
7814
+ end
7815
+
7816
+ def subtype_to_hash
7817
+ raise 'Unable to serialize undefined type to json'
7818
+ end
7819
+
7820
+ def copy(incoming={})
7821
+ raise 'Operation not supported for undefined type'
7822
+ end
7823
+
7824
+ def to_hash
7825
+ raise 'Operation not supported for undefined type'
7826
+ end
7827
+
7828
+ end
7829
+
7505
7830
  class AdyenNativeData
7506
7831
 
7507
7832
  module Types
@@ -7971,6 +8296,8 @@ module Io
7971
8296
  module Types
7972
8297
  ADYEN_NATIVE_ACTION_DETAILS = 'adyen_native_action_details' unless defined?(ADYEN_NATIVE_ACTION_DETAILS)
7973
8298
  STRIPE_AUTHORIZATION_RESULT_ACTION_DETAILS = 'stripe_authorization_result_action_details' unless defined?(STRIPE_AUTHORIZATION_RESULT_ACTION_DETAILS)
8299
+ THREEDS_IDENTIFY_ACTION_DETAILS = 'threeds_identify_action_details' unless defined?(THREEDS_IDENTIFY_ACTION_DETAILS)
8300
+ THREEDS_CHALLENGE_ACTION_DETAILS = 'threeds_challenge_action_details' unless defined?(THREEDS_CHALLENGE_ACTION_DETAILS)
7974
8301
  end
7975
8302
 
7976
8303
  attr_reader :discriminator
@@ -7982,7 +8309,7 @@ module Io
7982
8309
  end
7983
8310
 
7984
8311
  def subtype_to_hash
7985
- 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'
8312
+ 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'
7986
8313
  end
7987
8314
 
7988
8315
  def to_hash
@@ -7998,6 +8325,8 @@ module Io
7998
8325
  case discriminator
7999
8326
  when Types::ADYEN_NATIVE_ACTION_DETAILS; AdyenNativeActionDetails.new(hash)
8000
8327
  when Types::STRIPE_AUTHORIZATION_RESULT_ACTION_DETAILS; StripeAuthorizationResultActionDetails.new(hash)
8328
+ when Types::THREEDS_IDENTIFY_ACTION_DETAILS; ThreedsIdentifyActionDetails.new(hash)
8329
+ when Types::THREEDS_CHALLENGE_ACTION_DETAILS; ThreedsChallengeActionDetails.new(hash)
8001
8330
  else AuthorizationResultActionDetailsUndefinedType.new(:discriminator => discriminator)
8002
8331
  end
8003
8332
  end
@@ -11829,6 +12158,130 @@ module Io
11829
12158
 
11830
12159
  end
11831
12160
 
12161
+ # Different version sets of 3ds challenge actions.
12162
+ class ThreedsChallengeAction
12163
+
12164
+ module Types
12165
+ # Used for 2.1 and 2.2 versions of 3ds
12166
+ THREEDS_TWO_CHALLENGE_REQUEST = 'threeds_two_challenge_request' unless defined?(THREEDS_TWO_CHALLENGE_REQUEST)
12167
+ end
12168
+
12169
+ attr_reader :discriminator
12170
+
12171
+ def initialize(incoming={})
12172
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12173
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ThreedsChallengeAction')
12174
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
12175
+ end
12176
+
12177
+ def subtype_to_hash
12178
+ raise 'Cannot serialize an instance of threeds_challenge_action directly - must use one of the specific types: threeds_two_challenge_request'
12179
+ end
12180
+
12181
+ def to_hash
12182
+ subtype_to_hash.merge(:discriminator => @discriminator)
12183
+ end
12184
+
12185
+ def ThreedsChallengeAction.from_json(hash)
12186
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
12187
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
12188
+ if discriminator.empty?
12189
+ raise "Union type[threeds_challenge_action] requires a field named 'discriminator'"
12190
+ end
12191
+ case discriminator
12192
+ when Types::THREEDS_TWO_CHALLENGE_REQUEST; ThreedsTwoChallengeRequest.new(hash)
12193
+ else ThreedsChallengeActionUndefinedType.new(:discriminator => discriminator)
12194
+ end
12195
+ end
12196
+
12197
+ end
12198
+
12199
+ class ThreedsChallengeActionUndefinedType < ThreedsChallengeAction
12200
+
12201
+ attr_reader :name
12202
+
12203
+ def initialize(incoming={})
12204
+ super(:discriminator => 'undefined_type')
12205
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12206
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
12207
+ end
12208
+
12209
+ def subtype_to_hash
12210
+ raise 'Unable to serialize undefined type to json'
12211
+ end
12212
+
12213
+ def copy(incoming={})
12214
+ raise 'Operation not supported for undefined type'
12215
+ end
12216
+
12217
+ def to_hash
12218
+ raise 'Operation not supported for undefined type'
12219
+ end
12220
+
12221
+ end
12222
+
12223
+ # Different version sets of 3ds identify actions.
12224
+ class ThreedsIdentifyAction
12225
+
12226
+ module Types
12227
+ # Used for 2.1 and 2.2 versions of 3ds
12228
+ THREEDS_TWO_METHOD = 'threeds_two_method' unless defined?(THREEDS_TWO_METHOD)
12229
+ end
12230
+
12231
+ attr_reader :discriminator
12232
+
12233
+ def initialize(incoming={})
12234
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12235
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ThreedsIdentifyAction')
12236
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
12237
+ end
12238
+
12239
+ def subtype_to_hash
12240
+ raise 'Cannot serialize an instance of threeds_identify_action directly - must use one of the specific types: threeds_two_method'
12241
+ end
12242
+
12243
+ def to_hash
12244
+ subtype_to_hash.merge(:discriminator => @discriminator)
12245
+ end
12246
+
12247
+ def ThreedsIdentifyAction.from_json(hash)
12248
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
12249
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
12250
+ if discriminator.empty?
12251
+ raise "Union type[threeds_identify_action] requires a field named 'discriminator'"
12252
+ end
12253
+ case discriminator
12254
+ when Types::THREEDS_TWO_METHOD; ThreedsTwoMethod.new(hash)
12255
+ else ThreedsIdentifyActionUndefinedType.new(:discriminator => discriminator)
12256
+ end
12257
+ end
12258
+
12259
+ end
12260
+
12261
+ class ThreedsIdentifyActionUndefinedType < ThreedsIdentifyAction
12262
+
12263
+ attr_reader :name
12264
+
12265
+ def initialize(incoming={})
12266
+ super(:discriminator => 'undefined_type')
12267
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12268
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
12269
+ end
12270
+
12271
+ def subtype_to_hash
12272
+ raise 'Unable to serialize undefined type to json'
12273
+ end
12274
+
12275
+ def copy(incoming={})
12276
+ raise 'Operation not supported for undefined type'
12277
+ end
12278
+
12279
+ def to_hash
12280
+ raise 'Operation not supported for undefined type'
12281
+ end
12282
+
12283
+ end
12284
+
11832
12285
  # Possible outcome types from a tier rule
11833
12286
  class TierRuleOutcome
11834
12287
 
@@ -12372,7 +12825,7 @@ module Io
12372
12825
  end
12373
12826
 
12374
12827
  def AttributeIntent.ALL
12375
- @@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]
12828
+ @@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]
12376
12829
  end
12377
12830
 
12378
12831
  # A brand name of the item (for retailers that sell multiple brands)
@@ -12458,6 +12911,17 @@ module Io
12458
12911
  @@_eccn ||= AttributeIntent.new('eccn')
12459
12912
  end
12460
12913
 
12914
+ # Identifies whether the item can be returned. If not present on an item, it is
12915
+ # assumed to be returnable.
12916
+ def AttributeIntent.returnable
12917
+ @@_returnable ||= AttributeIntent.new('returnable')
12918
+ end
12919
+
12920
+ # Identifies whether the attribute can be used to search for an item.
12921
+ def AttributeIntent.searchable
12922
+ @@_searchable ||= AttributeIntent.new('searchable')
12923
+ end
12924
+
12461
12925
  def to_hash
12462
12926
  value
12463
12927
  end
@@ -15587,6 +16051,55 @@ module Io
15587
16051
 
15588
16052
  end
15589
16053
 
16054
+ class FlowEntity
16055
+
16056
+ attr_reader :value
16057
+
16058
+ def initialize(value)
16059
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
16060
+ end
16061
+
16062
+ # Returns the instance of FlowEntity for this value, creating a new instance for an unknown value
16063
+ def FlowEntity.apply(value)
16064
+ if value.instance_of?(FlowEntity)
16065
+ value
16066
+ else
16067
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
16068
+ value.nil? ? nil : (from_string(value) || FlowEntity.new(value))
16069
+ end
16070
+ end
16071
+
16072
+ # Returns the instance of FlowEntity for this value, or nil if not found
16073
+ def FlowEntity.from_string(value)
16074
+ HttpClient::Preconditions.assert_class('value', value, String)
16075
+ FlowEntity.ALL.find { |v| v.value == value }
16076
+ end
16077
+
16078
+ def FlowEntity.ALL
16079
+ @@all ||= [FlowEntity.flow_usa, FlowEntity.flow_irl, FlowEntity.flow_can]
16080
+ end
16081
+
16082
+ # Flow Commerce Inc., Hoboken, NJ, USA
16083
+ def FlowEntity.flow_usa
16084
+ @@_flow_usa ||= FlowEntity.new('flow-usa')
16085
+ end
16086
+
16087
+ # Flow Commerce Ltd., Dublin, IRL
16088
+ def FlowEntity.flow_irl
16089
+ @@_flow_irl ||= FlowEntity.new('flow-irl')
16090
+ end
16091
+
16092
+ # Flow Commerce Canada Inc., Vancouver, BC, CAN
16093
+ def FlowEntity.flow_can
16094
+ @@_flow_can ||= FlowEntity.new('flow-can')
16095
+ end
16096
+
16097
+ def to_hash
16098
+ value
16099
+ end
16100
+
16101
+ end
16102
+
15590
16103
  class FlowRole
15591
16104
 
15592
16105
  attr_reader :value
@@ -16603,6 +17116,48 @@ module Io
16603
17116
 
16604
17117
  end
16605
17118
 
17119
+ class ItemIdentifier
17120
+
17121
+ attr_reader :value
17122
+
17123
+ def initialize(value)
17124
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
17125
+ end
17126
+
17127
+ # Returns the instance of ItemIdentifier for this value, creating a new instance for an unknown value
17128
+ def ItemIdentifier.apply(value)
17129
+ if value.instance_of?(ItemIdentifier)
17130
+ value
17131
+ else
17132
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
17133
+ value.nil? ? nil : (from_string(value) || ItemIdentifier.new(value))
17134
+ end
17135
+ end
17136
+
17137
+ # Returns the instance of ItemIdentifier for this value, or nil if not found
17138
+ def ItemIdentifier.from_string(value)
17139
+ HttpClient::Preconditions.assert_class('value', value, String)
17140
+ ItemIdentifier.ALL.find { |v| v.value == value }
17141
+ end
17142
+
17143
+ def ItemIdentifier.ALL
17144
+ @@all ||= [ItemIdentifier.item_number, ItemIdentifier.sku]
17145
+ end
17146
+
17147
+ def ItemIdentifier.item_number
17148
+ @@_item_number ||= ItemIdentifier.new('item_number')
17149
+ end
17150
+
17151
+ def ItemIdentifier.sku
17152
+ @@_sku ||= ItemIdentifier.new('sku')
17153
+ end
17154
+
17155
+ def to_hash
17156
+ value
17157
+ end
17158
+
17159
+ end
17160
+
16606
17161
  class LaneDirection
16607
17162
 
16608
17163
  attr_reader :value
@@ -17837,6 +18392,55 @@ module Io
17837
18392
 
17838
18393
  end
17839
18394
 
18395
+ class OrganizationStatus
18396
+
18397
+ attr_reader :value
18398
+
18399
+ def initialize(value)
18400
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
18401
+ end
18402
+
18403
+ # Returns the instance of OrganizationStatus for this value, creating a new instance for an unknown value
18404
+ def OrganizationStatus.apply(value)
18405
+ if value.instance_of?(OrganizationStatus)
18406
+ value
18407
+ else
18408
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
18409
+ value.nil? ? nil : (from_string(value) || OrganizationStatus.new(value))
18410
+ end
18411
+ end
18412
+
18413
+ # Returns the instance of OrganizationStatus for this value, or nil if not found
18414
+ def OrganizationStatus.from_string(value)
18415
+ HttpClient::Preconditions.assert_class('value', value, String)
18416
+ OrganizationStatus.ALL.find { |v| v.value == value }
18417
+ end
18418
+
18419
+ def OrganizationStatus.ALL
18420
+ @@all ||= [OrganizationStatus.active, OrganizationStatus.inactive, OrganizationStatus.deactivated]
18421
+ end
18422
+
18423
+ def OrganizationStatus.active
18424
+ @@_active ||= OrganizationStatus.new('active')
18425
+ end
18426
+
18427
+ # Determined by usage: ex: orders placed, experience updated, catalog items
18428
+ # updated, etc...
18429
+ def OrganizationStatus.inactive
18430
+ @@_inactive ||= OrganizationStatus.new('inactive')
18431
+ end
18432
+
18433
+ # Manually deactivated
18434
+ def OrganizationStatus.deactivated
18435
+ @@_deactivated ||= OrganizationStatus.new('deactivated')
18436
+ end
18437
+
18438
+ def to_hash
18439
+ value
18440
+ end
18441
+
18442
+ end
18443
+
17840
18444
  class PaymentErrorCode
17841
18445
 
17842
18446
  attr_reader :value
@@ -20147,6 +20751,65 @@ module Io
20147
20751
 
20148
20752
  end
20149
20753
 
20754
+ class ThreedsTwoChallengeViewport
20755
+
20756
+ attr_reader :value
20757
+
20758
+ def initialize(value)
20759
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
20760
+ end
20761
+
20762
+ # Returns the instance of ThreedsTwoChallengeViewport for this value, creating a new instance for an unknown value
20763
+ def ThreedsTwoChallengeViewport.apply(value)
20764
+ if value.instance_of?(ThreedsTwoChallengeViewport)
20765
+ value
20766
+ else
20767
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
20768
+ value.nil? ? nil : (from_string(value) || ThreedsTwoChallengeViewport.new(value))
20769
+ end
20770
+ end
20771
+
20772
+ # Returns the instance of ThreedsTwoChallengeViewport for this value, or nil if not found
20773
+ def ThreedsTwoChallengeViewport.from_string(value)
20774
+ HttpClient::Preconditions.assert_class('value', value, String)
20775
+ ThreedsTwoChallengeViewport.ALL.find { |v| v.value == value }
20776
+ end
20777
+
20778
+ def ThreedsTwoChallengeViewport.ALL
20779
+ @@all ||= [ThreedsTwoChallengeViewport.xxx_small, ThreedsTwoChallengeViewport.xx_small, ThreedsTwoChallengeViewport.x_small, ThreedsTwoChallengeViewport.small, ThreedsTwoChallengeViewport.fullscreen]
20780
+ end
20781
+
20782
+ # 250x400
20783
+ def ThreedsTwoChallengeViewport.xxx_small
20784
+ @@_xxx_small ||= ThreedsTwoChallengeViewport.new('xxx_small')
20785
+ end
20786
+
20787
+ # 390x400
20788
+ def ThreedsTwoChallengeViewport.xx_small
20789
+ @@_xx_small ||= ThreedsTwoChallengeViewport.new('xx_small')
20790
+ end
20791
+
20792
+ # 500x600
20793
+ def ThreedsTwoChallengeViewport.x_small
20794
+ @@_x_small ||= ThreedsTwoChallengeViewport.new('x_small')
20795
+ end
20796
+
20797
+ # 600x400
20798
+ def ThreedsTwoChallengeViewport.small
20799
+ @@_small ||= ThreedsTwoChallengeViewport.new('small')
20800
+ end
20801
+
20802
+ # Full Screen. Not recommended for mobile devices at this time.
20803
+ def ThreedsTwoChallengeViewport.fullscreen
20804
+ @@_fullscreen ||= ThreedsTwoChallengeViewport.new('fullscreen')
20805
+ end
20806
+
20807
+ def to_hash
20808
+ value
20809
+ end
20810
+
20811
+ end
20812
+
20150
20813
  class TierAvailability
20151
20814
 
20152
20815
  attr_reader :value
@@ -21692,12 +22355,13 @@ module Io
21692
22355
 
21693
22356
  class AllocationLineDetail < AllocationDetail
21694
22357
 
21695
- attr_reader :number, :quantity, :key, :price, :total, :included, :not_included
22358
+ attr_reader :id, :number, :quantity, :key, :price, :total, :included, :not_included
21696
22359
 
21697
22360
  def initialize(incoming={})
21698
22361
  super(:discriminator => AllocationDetail::Types::ALLOCATION_LINE_DETAIL)
21699
22362
  opts = HttpClient::Helper.symbolize_keys(incoming)
21700
22363
  HttpClient::Preconditions.require_keys(opts, [:number, :quantity, :key, :price, :total, :included, :not_included], 'AllocationLineDetail')
22364
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
21701
22365
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
21702
22366
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
21703
22367
  @key = (x = opts.delete(:key); x.is_a?(::Io::Flow::V0::Models::OrderPriceDetailKey) ? x : ::Io::Flow::V0::Models::OrderPriceDetailKey.apply(x))
@@ -21717,6 +22381,7 @@ module Io
21717
22381
 
21718
22382
  def subtype_to_hash
21719
22383
  {
22384
+ :id => id,
21720
22385
  :number => number,
21721
22386
  :quantity => quantity,
21722
22387
  :key => key.value,
@@ -23517,7 +24182,8 @@ module Io
23517
24182
 
23518
24183
  end
23519
24184
 
23520
- # Shopper browser info. All of these fields are required if you are using 3DS2.
24185
+ # Shopper browser info used as part of card authentication. All of these fields
24186
+ # are required if you are using 3DS2.
23521
24187
  class BrowserInfo
23522
24188
 
23523
24189
  attr_reader :origin, :language, :java_enabled, :color_depth, :screen_height, :screen_width, :time_zone_offset, :user_agent, :accept
@@ -24321,7 +24987,7 @@ module Io
24321
24987
  # Creates an authorization for a transaction from a card payment source.
24322
24988
  class CardPaymentSourceAuthorizationForm < AuthorizationForm
24323
24989
 
24324
- attr_reader :key, :card_payment_source_id, :order_number, :amount, :currency, :browser_info
24990
+ attr_reader :key, :card_payment_source_id, :order_number, :amount, :currency, :browser_info, :action_configuration
24325
24991
 
24326
24992
  def initialize(incoming={})
24327
24993
  super(:discriminator => AuthorizationForm::Types::CARD_PAYMENT_SOURCE_AUTHORIZATION_FORM)
@@ -24333,6 +24999,7 @@ module Io
24333
24999
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
24334
25000
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
24335
25001
  @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)))
25002
+ @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)))
24336
25003
  end
24337
25004
 
24338
25005
  def to_json
@@ -24350,7 +25017,8 @@ module Io
24350
25017
  :order_number => order_number,
24351
25018
  :amount => amount.to_f.to_s,
24352
25019
  :currency => currency,
24353
- :browser_info => browser_info.nil? ? nil : browser_info.to_hash
25020
+ :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
25021
+ :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
24354
25022
  }
24355
25023
  end
24356
25024
 
@@ -27312,14 +27980,15 @@ module Io
27312
27980
  # Represents the format used to export price book item documents
27313
27981
  class CsvPriceBookItemExportRow
27314
27982
 
27315
- attr_reader :price_book_key, :price_book_item_key, :item_number, :item_name, :amount, :item_attributes, :starts_at, :ends_at
27983
+ attr_reader :price_book_key, :price_book_item_key, :item_number, :sku, :item_name, :amount, :item_attributes, :starts_at, :ends_at
27316
27984
 
27317
27985
  def initialize(incoming={})
27318
27986
  opts = HttpClient::Helper.symbolize_keys(incoming)
27319
- HttpClient::Preconditions.require_keys(opts, [:price_book_key, :price_book_item_key, :item_number, :item_name, :amount, :starts_at], 'CsvPriceBookItemExportRow')
27987
+ HttpClient::Preconditions.require_keys(opts, [:price_book_key, :price_book_item_key, :item_number, :sku, :item_name, :amount, :starts_at], 'CsvPriceBookItemExportRow')
27320
27988
  @price_book_key = HttpClient::Preconditions.assert_class('price_book_key', opts.delete(:price_book_key), String)
27321
27989
  @price_book_item_key = HttpClient::Preconditions.assert_class('price_book_item_key', opts.delete(:price_book_item_key), String)
27322
27990
  @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
27991
+ @sku = HttpClient::Preconditions.assert_class('sku', opts.delete(:sku), String)
27323
27992
  @item_name = HttpClient::Preconditions.assert_class('item_name', opts.delete(:item_name), String)
27324
27993
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
27325
27994
  @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 })
@@ -27340,6 +28009,7 @@ module Io
27340
28009
  :price_book_key => price_book_key,
27341
28010
  :price_book_item_key => price_book_item_key,
27342
28011
  :item_number => item_number,
28012
+ :sku => sku,
27343
28013
  :item_name => item_name,
27344
28014
  :amount => amount.to_f.to_s,
27345
28015
  :item_attributes => item_attributes.nil? ? nil : item_attributes,
@@ -28320,11 +28990,12 @@ module Io
28320
28990
 
28321
28991
  class DeliveryItem
28322
28992
 
28323
- attr_reader :number, :quantity, :shipment_estimate, :price, :attributes, :center, :line_number
28993
+ attr_reader :id, :number, :quantity, :shipment_estimate, :price, :attributes, :center, :line_number
28324
28994
 
28325
28995
  def initialize(incoming={})
28326
28996
  opts = HttpClient::Helper.symbolize_keys(incoming)
28327
28997
  HttpClient::Preconditions.require_keys(opts, [:number, :quantity], 'DeliveryItem')
28998
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
28328
28999
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
28329
29000
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
28330
29001
  @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)))
@@ -28344,6 +29015,7 @@ module Io
28344
29015
 
28345
29016
  def to_hash
28346
29017
  {
29018
+ :id => id,
28347
29019
  :number => number,
28348
29020
  :quantity => quantity,
28349
29021
  :shipment_estimate => shipment_estimate.nil? ? nil : shipment_estimate.to_hash,
@@ -29222,7 +29894,7 @@ module Io
29222
29894
  # you can capture up to the amount of the authorization.
29223
29895
  class DirectAuthorizationForm < AuthorizationForm
29224
29896
 
29225
- attr_reader :token, :amount, :currency, :customer, :key, :cvv, :attributes, :destination, :billing_address, :ip, :options, :redirect_urls, :browser_info
29897
+ attr_reader :token, :amount, :currency, :customer, :key, :cvv, :attributes, :destination, :billing_address, :ip, :options, :redirect_urls, :browser_info, :action_configuration
29226
29898
 
29227
29899
  def initialize(incoming={})
29228
29900
  super(:discriminator => AuthorizationForm::Types::DIRECT_AUTHORIZATION_FORM)
@@ -29241,6 +29913,7 @@ module Io
29241
29913
  @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)) })
29242
29914
  @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)))
29243
29915
  @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)))
29916
+ @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)))
29244
29917
  end
29245
29918
 
29246
29919
  def to_json
@@ -29265,7 +29938,8 @@ module Io
29265
29938
  :ip => ip,
29266
29939
  :options => options.nil? ? nil : options.map { |o| o.value },
29267
29940
  :redirect_urls => redirect_urls.nil? ? nil : redirect_urls.to_hash,
29268
- :browser_info => browser_info.nil? ? nil : browser_info.to_hash
29941
+ :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
29942
+ :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
29269
29943
  }
29270
29944
  end
29271
29945
 
@@ -32097,13 +32771,12 @@ module Io
32097
32771
  # Indicates a field is required
32098
32772
  class FieldValidationRequired < FieldValidationRule
32099
32773
 
32100
- attr_reader :unused
32774
+ attr_reader :placeholder
32101
32775
 
32102
32776
  def initialize(incoming={})
32103
32777
  super(:discriminator => FieldValidationRule::Types::FIELD_VALIDATION_REQUIRED)
32104
32778
  opts = HttpClient::Helper.symbolize_keys(incoming)
32105
- HttpClient::Preconditions.require_keys(opts, [:unused], 'FieldValidationRequired')
32106
- @unused = HttpClient::Preconditions.assert_class('unused', opts.delete(:unused), String)
32779
+ @placeholder = (x = opts.delete(:placeholder); x.nil? ? nil : HttpClient::Preconditions.assert_class('placeholder', x, String))
32107
32780
  end
32108
32781
 
32109
32782
  def to_json
@@ -32116,7 +32789,7 @@ module Io
32116
32789
 
32117
32790
  def subtype_to_hash
32118
32791
  {
32119
- :unused => unused
32792
+ :placeholder => placeholder
32120
32793
  }
32121
32794
  end
32122
32795
 
@@ -33167,12 +33840,11 @@ module Io
33167
33840
 
33168
33841
  class GraphqlRequest
33169
33842
 
33170
- attr_reader :id, :query, :operation_name, :variables
33843
+ attr_reader :query, :operation_name, :variables
33171
33844
 
33172
33845
  def initialize(incoming={})
33173
33846
  opts = HttpClient::Helper.symbolize_keys(incoming)
33174
- HttpClient::Preconditions.require_keys(opts, [:id, :query], 'GraphqlRequest')
33175
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
33847
+ HttpClient::Preconditions.require_keys(opts, [:query], 'GraphqlRequest')
33176
33848
  @query = HttpClient::Preconditions.assert_class('query', opts.delete(:query), String)
33177
33849
  @operation_name = (x = opts.delete(:operation_name); x.nil? ? nil : HttpClient::Preconditions.assert_class('operation_name', x, String))
33178
33850
  @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 })
@@ -33188,7 +33860,6 @@ module Io
33188
33860
 
33189
33861
  def to_hash
33190
33862
  {
33191
- :id => id,
33192
33863
  :query => query,
33193
33864
  :operation_name => operation_name,
33194
33865
  :variables => variables.nil? ? nil : variables
@@ -33199,13 +33870,11 @@ module Io
33199
33870
 
33200
33871
  class GraphqlResponse
33201
33872
 
33202
- attr_reader :request_id, :data, :errors
33873
+ attr_reader :data, :errors
33203
33874
 
33204
33875
  def initialize(incoming={})
33205
33876
  opts = HttpClient::Helper.symbolize_keys(incoming)
33206
- HttpClient::Preconditions.require_keys(opts, [:request_id, :data], 'GraphqlResponse')
33207
- @request_id = HttpClient::Preconditions.assert_class('request_id', opts.delete(:request_id), String)
33208
- @data = HttpClient::Preconditions.assert_class('data', HttpClient::Helper.to_object(opts.delete(:data)), Hash)
33877
+ @data = (x = opts.delete(:data); x.nil? ? nil : HttpClient::Preconditions.assert_class('data', HttpClient::Helper.to_object(x), Hash))
33209
33878
  @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) })
33210
33879
  end
33211
33880
 
@@ -33219,7 +33888,6 @@ module Io
33219
33888
 
33220
33889
  def to_hash
33221
33890
  {
33222
- :request_id => request_id,
33223
33891
  :data => data,
33224
33892
  :errors => errors.nil? ? nil : errors
33225
33893
  }
@@ -35517,7 +36185,7 @@ module Io
35517
36185
  # many clients, this will map to a Sku.
35518
36186
  class Item
35519
36187
 
35520
- attr_reader :id, :number, :locale, :name, :price, :categories, :description, :attributes, :dimensions, :images, :local
36188
+ attr_reader :id, :number, :locale, :name, :price, :categories, :description, :attributes, :dimensions, :images, :local, :created_at, :updated_at
35521
36189
 
35522
36190
  def initialize(incoming={})
35523
36191
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -35533,6 +36201,8 @@ module Io
35533
36201
  @dimensions = (x = opts.delete(:dimensions); x.is_a?(::Io::Flow::V0::Models::Dimensions) ? x : ::Io::Flow::V0::Models::Dimensions.new(x))
35534
36202
  @images = HttpClient::Preconditions.assert_class('images', (x = opts.delete(:images); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Image) ? x : ::Io::Flow::V0::Models::Image.new(x)) }
35535
36203
  @local = (x = opts.delete(:local); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Local) ? x : ::Io::Flow::V0::Models::Local.new(x)))
36204
+ @created_at = (x = opts.delete(:created_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
36205
+ @updated_at = (x = opts.delete(:updated_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('updated_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
35536
36206
  end
35537
36207
 
35538
36208
  def to_json
@@ -35555,7 +36225,9 @@ module Io
35555
36225
  :attributes => attributes,
35556
36226
  :dimensions => dimensions.to_hash,
35557
36227
  :images => images.map { |o| o.to_hash },
35558
- :local => local.nil? ? nil : local.to_hash
36228
+ :local => local.nil? ? nil : local.to_hash,
36229
+ :created_at => created_at,
36230
+ :updated_at => updated_at
35559
36231
  }
35560
36232
  end
35561
36233
 
@@ -36769,11 +37441,12 @@ module Io
36769
37441
  # Provides display data for a line item.
36770
37442
  class Line
36771
37443
 
36772
- attr_reader :item_number, :quantity, :price, :total, :attributes
37444
+ attr_reader :id, :item_number, :quantity, :price, :total, :attributes
36773
37445
 
36774
37446
  def initialize(incoming={})
36775
37447
  opts = HttpClient::Helper.symbolize_keys(incoming)
36776
37448
  HttpClient::Preconditions.require_keys(opts, [:item_number, :quantity, :price, :total], 'Line')
37449
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
36777
37450
  @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
36778
37451
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
36779
37452
  @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
@@ -36791,6 +37464,7 @@ module Io
36791
37464
 
36792
37465
  def to_hash
36793
37466
  {
37467
+ :id => id,
36794
37468
  :item_number => item_number,
36795
37469
  :quantity => quantity,
36796
37470
  :price => price.to_hash,
@@ -36840,6 +37514,32 @@ module Io
36840
37514
 
36841
37515
  end
36842
37516
 
37517
+ class LineItemAttributesForm
37518
+
37519
+ attr_reader :attributes
37520
+
37521
+ def initialize(incoming={})
37522
+ opts = HttpClient::Helper.symbolize_keys(incoming)
37523
+ HttpClient::Preconditions.require_keys(opts, [:attributes], 'LineItemAttributesForm')
37524
+ @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 }
37525
+ end
37526
+
37527
+ def to_json
37528
+ JSON.dump(to_hash)
37529
+ end
37530
+
37531
+ def copy(incoming={})
37532
+ LineItemAttributesForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37533
+ end
37534
+
37535
+ def to_hash
37536
+ {
37537
+ :attributes => attributes
37538
+ }
37539
+ end
37540
+
37541
+ end
37542
+
36843
37543
  # Line items represent the items a consumer is purchasing, including additional
36844
37544
  # information to complete the transaction. Note that you may pass in as many
36845
37545
  # line items as you like - including repeating item numbers across line items.
@@ -36883,6 +37583,32 @@ module Io
36883
37583
 
36884
37584
  end
36885
37585
 
37586
+ class LineItemQuantityForm
37587
+
37588
+ attr_reader :quantity
37589
+
37590
+ def initialize(incoming={})
37591
+ opts = HttpClient::Helper.symbolize_keys(incoming)
37592
+ HttpClient::Preconditions.require_keys(opts, [:quantity], 'LineItemQuantityForm')
37593
+ @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
37594
+ end
37595
+
37596
+ def to_json
37597
+ JSON.dump(to_hash)
37598
+ end
37599
+
37600
+ def copy(incoming={})
37601
+ LineItemQuantityForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37602
+ end
37603
+
37604
+ def to_hash
37605
+ {
37606
+ :quantity => quantity
37607
+ }
37608
+ end
37609
+
37610
+ end
37611
+
36886
37612
  class Link
36887
37613
 
36888
37614
  attr_reader :url
@@ -37396,11 +38122,12 @@ module Io
37396
38122
  # Line items on the order, with localized pricing information
37397
38123
  class LocalizedLineItem
37398
38124
 
37399
- attr_reader :number, :name, :quantity, :center, :price, :discount, :discounts, :attributes, :local, :shipment_estimate, :price_source
38125
+ attr_reader :id, :number, :name, :quantity, :center, :price, :discount, :discounts, :attributes, :local, :shipment_estimate, :price_source
37400
38126
 
37401
38127
  def initialize(incoming={})
37402
38128
  opts = HttpClient::Helper.symbolize_keys(incoming)
37403
38129
  HttpClient::Preconditions.require_keys(opts, [:number, :name, :quantity, :local], 'LocalizedLineItem')
38130
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
37404
38131
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
37405
38132
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
37406
38133
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
@@ -37424,6 +38151,7 @@ module Io
37424
38151
 
37425
38152
  def to_hash
37426
38153
  {
38154
+ :id => id,
37427
38155
  :number => number,
37428
38156
  :name => name,
37429
38157
  :quantity => quantity,
@@ -38214,7 +38942,7 @@ module Io
38214
38942
  # you can capture up to the amount of the authorization
38215
38943
  class MerchantOfRecordAuthorizationForm < AuthorizationForm
38216
38944
 
38217
- attr_reader :token, :order_number, :amount, :currency, :key, :cvv, :attributes, :ip, :options, :redirect_urls, :browser_info
38945
+ attr_reader :token, :order_number, :amount, :currency, :key, :cvv, :attributes, :ip, :options, :redirect_urls, :browser_info, :action_configuration
38218
38946
 
38219
38947
  def initialize(incoming={})
38220
38948
  super(:discriminator => AuthorizationForm::Types::MERCHANT_OF_RECORD_AUTHORIZATION_FORM)
@@ -38231,6 +38959,7 @@ module Io
38231
38959
  @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)) })
38232
38960
  @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)))
38233
38961
  @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)))
38962
+ @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)))
38234
38963
  end
38235
38964
 
38236
38965
  def to_json
@@ -38253,7 +38982,8 @@ module Io
38253
38982
  :ip => ip,
38254
38983
  :options => options.nil? ? nil : options.map { |o| o.value },
38255
38984
  :redirect_urls => redirect_urls.nil? ? nil : redirect_urls.to_hash,
38256
- :browser_info => browser_info.nil? ? nil : browser_info.to_hash
38985
+ :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
38986
+ :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
38257
38987
  }
38258
38988
  end
38259
38989
 
@@ -40023,6 +40753,32 @@ module Io
40023
40753
 
40024
40754
  end
40025
40755
 
40756
+ class OrderNumberGeneratorGeneratedNumber
40757
+
40758
+ attr_reader :number
40759
+
40760
+ def initialize(incoming={})
40761
+ opts = HttpClient::Helper.symbolize_keys(incoming)
40762
+ HttpClient::Preconditions.require_keys(opts, [:number], 'OrderNumberGeneratorGeneratedNumber')
40763
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
40764
+ end
40765
+
40766
+ def to_json
40767
+ JSON.dump(to_hash)
40768
+ end
40769
+
40770
+ def copy(incoming={})
40771
+ OrderNumberGeneratorGeneratedNumber.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
40772
+ end
40773
+
40774
+ def to_hash
40775
+ {
40776
+ :number => number
40777
+ }
40778
+ end
40779
+
40780
+ end
40781
+
40026
40782
  # Hexadecimal generator generates a random string, starting with a letter, of a
40027
40783
  # given length
40028
40784
  class OrderNumberGeneratorHexadecimal < OrderNumberGenerator
@@ -40715,7 +41471,7 @@ module Io
40715
41471
 
40716
41472
  end
40717
41473
 
40718
- # Defines the data needed to attach an identifer to each order created by a
41474
+ # Defines the data needed to attach an identifier to each order created by a
40719
41475
  # checkout.
40720
41476
  class OrderSubmissionIdentifierForm
40721
41477
 
@@ -40751,7 +41507,7 @@ module Io
40751
41507
  # flattened to keys.
40752
41508
  class OrderSummary
40753
41509
 
40754
- attr_reader :number, :subtotal, :shipping, :tax, :duty, :insurance, :discount, :surcharges, :adjustment, :total, :lines, :identifiers
41510
+ attr_reader :number, :subtotal, :shipping, :tax, :duty, :insurance, :discount, :surcharges, :adjustment, :total, :lines, :identifiers, :attributes
40755
41511
 
40756
41512
  def initialize(incoming={})
40757
41513
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -40768,6 +41524,7 @@ module Io
40768
41524
  @total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::OrderSummaryPriceDetail) ? x : ::Io::Flow::V0::Models::OrderSummaryPriceDetail.new(x))
40769
41525
  @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)) }
40770
41526
  @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 })
41527
+ @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 })
40771
41528
  end
40772
41529
 
40773
41530
  def to_json
@@ -40791,7 +41548,8 @@ module Io
40791
41548
  :adjustment => adjustment.nil? ? nil : adjustment.to_hash,
40792
41549
  :total => total.to_hash,
40793
41550
  :lines => lines.map { |o| o.to_hash },
40794
- :identifiers => identifiers.nil? ? nil : identifiers
41551
+ :identifiers => identifiers.nil? ? nil : identifiers,
41552
+ :attributes => attributes.nil? ? nil : attributes
40795
41553
  }
40796
41554
  end
40797
41555
 
@@ -40899,11 +41657,12 @@ module Io
40899
41657
 
40900
41658
  class OrderSummaryLineItem
40901
41659
 
40902
- attr_reader :item, :quantity, :discount, :tax, :duty, :total, :price_attributes
41660
+ attr_reader :id, :item, :quantity, :discount, :tax, :duty, :total, :price_attributes, :attributes
40903
41661
 
40904
41662
  def initialize(incoming={})
40905
41663
  opts = HttpClient::Helper.symbolize_keys(incoming)
40906
41664
  HttpClient::Preconditions.require_keys(opts, [:item, :quantity, :total, :price_attributes], 'OrderSummaryLineItem')
41665
+ @id = (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, String))
40907
41666
  @item = (x = opts.delete(:item); x.is_a?(::Io::Flow::V0::Models::OrderSummaryItem) ? x : ::Io::Flow::V0::Models::OrderSummaryItem.new(x))
40908
41667
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
40909
41668
  @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)))
@@ -40911,6 +41670,7 @@ module Io
40911
41670
  @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)))
40912
41671
  @total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
40913
41672
  @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 }
41673
+ @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 })
40914
41674
  end
40915
41675
 
40916
41676
  def to_json
@@ -40923,13 +41683,15 @@ module Io
40923
41683
 
40924
41684
  def to_hash
40925
41685
  {
41686
+ :id => id,
40926
41687
  :item => item.to_hash,
40927
41688
  :quantity => quantity,
40928
41689
  :discount => discount.nil? ? nil : discount.to_hash,
40929
41690
  :tax => tax.nil? ? nil : tax.to_hash,
40930
41691
  :duty => duty.nil? ? nil : duty.to_hash,
40931
41692
  :total => total.to_hash,
40932
- :price_attributes => price_attributes.inject({}) { |hash, o| hash[o[0]] = o[1].nil? ? nil : o[1].to_hash; hash }
41693
+ :price_attributes => price_attributes.inject({}) { |hash, o| hash[o[0]] = o[1].nil? ? nil : o[1].to_hash; hash },
41694
+ :attributes => attributes.nil? ? nil : attributes
40933
41695
  }
40934
41696
  end
40935
41697
 
@@ -41143,7 +41905,7 @@ module Io
41143
41905
  # currently operating in.
41144
41906
  class Organization < ExpandableOrganization
41145
41907
 
41146
- attr_reader :id, :name, :environment, :parent, :defaults, :created_at
41908
+ attr_reader :id, :name, :environment, :parent, :defaults, :created_at, :status
41147
41909
 
41148
41910
  def initialize(incoming={})
41149
41911
  super(:discriminator => ExpandableOrganization::Types::ORGANIZATION)
@@ -41155,6 +41917,7 @@ module Io
41155
41917
  @parent = (x = opts.delete(:parent); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrganizationReference) ? x : ::Io::Flow::V0::Models::OrganizationReference.new(x)))
41156
41918
  @defaults = (x = opts.delete(:defaults); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrganizationDefaults) ? x : ::Io::Flow::V0::Models::OrganizationDefaults.new(x)))
41157
41919
  @created_at = (x = opts.delete(:created_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
41920
+ @status = (x = (x = opts.delete(:status); x.nil? ? "active" : x); x.is_a?(::Io::Flow::V0::Models::OrganizationStatus) ? x : ::Io::Flow::V0::Models::OrganizationStatus.apply(x))
41158
41921
  end
41159
41922
 
41160
41923
  def to_json
@@ -41172,7 +41935,8 @@ module Io
41172
41935
  :environment => environment.value,
41173
41936
  :parent => parent.nil? ? nil : parent.to_hash,
41174
41937
  :defaults => defaults.nil? ? nil : defaults.to_hash,
41175
- :created_at => created_at
41938
+ :created_at => created_at,
41939
+ :status => status.value
41176
41940
  }
41177
41941
  end
41178
41942
 
@@ -41576,7 +42340,7 @@ module Io
41576
42340
  # Either id or name is required.
41577
42341
  class OrganizationForm
41578
42342
 
41579
- attr_reader :id, :name, :environment, :parent_id, :defaults
42343
+ attr_reader :id, :name, :environment, :parent_id, :defaults, :status
41580
42344
 
41581
42345
  def initialize(incoming={})
41582
42346
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -41585,6 +42349,7 @@ module Io
41585
42349
  @environment = (x = (x = opts.delete(:environment); x.nil? ? "production" : x); x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x))
41586
42350
  @parent_id = (x = opts.delete(:parent_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('parent_id', x, String))
41587
42351
  @defaults = (x = opts.delete(:defaults); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrganizationDefaults) ? x : ::Io::Flow::V0::Models::OrganizationDefaults.new(x)))
42352
+ @status = (x = (x = opts.delete(:status); x.nil? ? "active" : x); x.is_a?(::Io::Flow::V0::Models::OrganizationStatus) ? x : ::Io::Flow::V0::Models::OrganizationStatus.apply(x))
41588
42353
  end
41589
42354
 
41590
42355
  def to_json
@@ -41601,7 +42366,8 @@ module Io
41601
42366
  :name => name,
41602
42367
  :environment => environment.value,
41603
42368
  :parent_id => parent_id,
41604
- :defaults => defaults.nil? ? nil : defaults.to_hash
42369
+ :defaults => defaults.nil? ? nil : defaults.to_hash,
42370
+ :status => status.value
41605
42371
  }
41606
42372
  end
41607
42373
 
@@ -41610,7 +42376,7 @@ module Io
41610
42376
  # Data required to upsert an organization.
41611
42377
  class OrganizationPutForm
41612
42378
 
41613
- attr_reader :name, :environment, :parent_id, :defaults
42379
+ attr_reader :name, :environment, :parent_id, :defaults, :status
41614
42380
 
41615
42381
  def initialize(incoming={})
41616
42382
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -41618,6 +42384,7 @@ module Io
41618
42384
  @environment = (x = opts.delete(:environment); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x)))
41619
42385
  @parent_id = (x = opts.delete(:parent_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('parent_id', x, String))
41620
42386
  @defaults = (x = opts.delete(:defaults); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrganizationDefaults) ? x : ::Io::Flow::V0::Models::OrganizationDefaults.new(x)))
42387
+ @status = (x = (x = opts.delete(:status); x.nil? ? "active" : x); x.is_a?(::Io::Flow::V0::Models::OrganizationStatus) ? x : ::Io::Flow::V0::Models::OrganizationStatus.apply(x))
41621
42388
  end
41622
42389
 
41623
42390
  def to_json
@@ -41633,7 +42400,8 @@ module Io
41633
42400
  :name => name,
41634
42401
  :environment => environment.nil? ? nil : environment.value,
41635
42402
  :parent_id => parent_id,
41636
- :defaults => defaults.nil? ? nil : defaults.to_hash
42403
+ :defaults => defaults.nil? ? nil : defaults.to_hash,
42404
+ :status => status.value
41637
42405
  }
41638
42406
  end
41639
42407
 
@@ -43312,7 +44080,7 @@ module Io
43312
44080
  # collection of items, and metadata about those options
43313
44081
  class PhysicalDelivery < Delivery
43314
44082
 
43315
- attr_reader :id, :key, :center, :items, :options, :special_services, :prices, :total, :goods_supply
44083
+ attr_reader :id, :key, :center, :items, :options, :special_services, :prices, :total, :goods_supply, :merchant_of_record_flow_entity
43316
44084
 
43317
44085
  def initialize(incoming={})
43318
44086
  super(:discriminator => Delivery::Types::PHYSICAL_DELIVERY)
@@ -43327,6 +44095,7 @@ module Io
43327
44095
  @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)) })
43328
44096
  @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)))
43329
44097
  @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)))
44098
+ @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)))
43330
44099
  end
43331
44100
 
43332
44101
  def to_json
@@ -43347,7 +44116,8 @@ module Io
43347
44116
  :special_services => special_services.nil? ? nil : special_services.map { |o| o.value },
43348
44117
  :prices => prices.nil? ? nil : prices.map { |o| o.to_hash },
43349
44118
  :total => total.nil? ? nil : total.to_hash,
43350
- :goods_supply => goods_supply.nil? ? nil : goods_supply.value
44119
+ :goods_supply => goods_supply.nil? ? nil : goods_supply.value,
44120
+ :merchant_of_record_flow_entity => merchant_of_record_flow_entity.nil? ? nil : merchant_of_record_flow_entity.value
43351
44121
  }
43352
44122
  end
43353
44123
 
@@ -43595,7 +44365,7 @@ module Io
43595
44365
  # export
43596
44366
  class PriceBookItemExportType < ExportType
43597
44367
 
43598
- attr_reader :price_book_key, :item_numbers, :start_date, :end_date
44368
+ attr_reader :price_book_key, :item_numbers, :start_date, :end_date, :item_identifier
43599
44369
 
43600
44370
  def initialize(incoming={})
43601
44371
  super(:discriminator => ExportType::Types::PRICE_BOOK_ITEM_EXPORT_TYPE)
@@ -43604,6 +44374,7 @@ module Io
43604
44374
  @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) })
43605
44375
  @start_date = (x = opts.delete(:start_date); x.nil? ? nil : HttpClient::Preconditions.assert_class('start_date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
43606
44376
  @end_date = (x = opts.delete(:end_date); x.nil? ? nil : HttpClient::Preconditions.assert_class('end_date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
44377
+ @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))
43607
44378
  end
43608
44379
 
43609
44380
  def to_json
@@ -43619,7 +44390,8 @@ module Io
43619
44390
  :price_book_key => price_book_key,
43620
44391
  :item_numbers => item_numbers.nil? ? nil : item_numbers,
43621
44392
  :start_date => start_date,
43622
- :end_date => end_date
44393
+ :end_date => end_date,
44394
+ :item_identifier => item_identifier.value
43623
44395
  }
43624
44396
  end
43625
44397
 
@@ -52181,6 +52953,158 @@ module Io
52181
52953
 
52182
52954
  end
52183
52955
 
52956
+ # Information necessary to perform a 3ds Challenge action inline to the user
52957
+ # experience.
52958
+ class ThreedsChallengeActionDetails < AuthorizationResultActionDetails
52959
+
52960
+ attr_reader :threeds_challenge_action, :expires_at
52961
+
52962
+ def initialize(incoming={})
52963
+ super(:discriminator => AuthorizationResultActionDetails::Types::THREEDS_CHALLENGE_ACTION_DETAILS)
52964
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52965
+ HttpClient::Preconditions.require_keys(opts, [:threeds_challenge_action, :expires_at], 'ThreedsChallengeActionDetails')
52966
+ @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))
52967
+ @expires_at = HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:expires_at)), DateTime)
52968
+ end
52969
+
52970
+ def to_json
52971
+ JSON.dump(to_hash)
52972
+ end
52973
+
52974
+ def copy(incoming={})
52975
+ ThreedsChallengeActionDetails.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52976
+ end
52977
+
52978
+ def subtype_to_hash
52979
+ {
52980
+ :threeds_challenge_action => threeds_challenge_action.to_hash,
52981
+ :expires_at => expires_at
52982
+ }
52983
+ end
52984
+
52985
+ end
52986
+
52987
+ # Information necessary to perform a 3ds Identify action inline to the user
52988
+ # experience.
52989
+ class ThreedsIdentifyActionDetails < AuthorizationResultActionDetails
52990
+
52991
+ attr_reader :threeds_identify_action, :expires_at
52992
+
52993
+ def initialize(incoming={})
52994
+ super(:discriminator => AuthorizationResultActionDetails::Types::THREEDS_IDENTIFY_ACTION_DETAILS)
52995
+ opts = HttpClient::Helper.symbolize_keys(incoming)
52996
+ HttpClient::Preconditions.require_keys(opts, [:threeds_identify_action, :expires_at], 'ThreedsIdentifyActionDetails')
52997
+ @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))
52998
+ @expires_at = HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:expires_at)), DateTime)
52999
+ end
53000
+
53001
+ def to_json
53002
+ JSON.dump(to_hash)
53003
+ end
53004
+
53005
+ def copy(incoming={})
53006
+ ThreedsIdentifyActionDetails.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
53007
+ end
53008
+
53009
+ def subtype_to_hash
53010
+ {
53011
+ :threeds_identify_action => threeds_identify_action.to_hash,
53012
+ :expires_at => expires_at
53013
+ }
53014
+ end
53015
+
53016
+ end
53017
+
53018
+ # Instructions to the card issuer to render challenges to the user
53019
+ class ThreedsTwoBrowserActionConfiguration < ActionConfiguration
53020
+
53021
+ attr_reader :viewport
53022
+
53023
+ def initialize(incoming={})
53024
+ super(:discriminator => ActionConfiguration::Types::THREEDS_TWO_BROWSER_ACTION_CONFIGURATION)
53025
+ opts = HttpClient::Helper.symbolize_keys(incoming)
53026
+ @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))
53027
+ end
53028
+
53029
+ def to_json
53030
+ JSON.dump(to_hash)
53031
+ end
53032
+
53033
+ def copy(incoming={})
53034
+ ThreedsTwoBrowserActionConfiguration.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
53035
+ end
53036
+
53037
+ def subtype_to_hash
53038
+ {
53039
+ :viewport => viewport.value
53040
+ }
53041
+ end
53042
+
53043
+ end
53044
+
53045
+ # Data that must be passed to the 3DS Client to help the issuer ACS render a
53046
+ # challenge for the user.
53047
+ class ThreedsTwoChallengeRequest < ThreedsChallengeAction
53048
+
53049
+ attr_reader :acs_url, :challenge_request, :session_data
53050
+
53051
+ def initialize(incoming={})
53052
+ super(:discriminator => ThreedsChallengeAction::Types::THREEDS_TWO_CHALLENGE_REQUEST)
53053
+ opts = HttpClient::Helper.symbolize_keys(incoming)
53054
+ HttpClient::Preconditions.require_keys(opts, [:acs_url, :challenge_request], 'ThreedsTwoChallengeRequest')
53055
+ @acs_url = HttpClient::Preconditions.assert_class('acs_url', opts.delete(:acs_url), String)
53056
+ @challenge_request = HttpClient::Preconditions.assert_class('challenge_request', opts.delete(:challenge_request), String)
53057
+ @session_data = (x = opts.delete(:session_data); x.nil? ? nil : HttpClient::Preconditions.assert_class('session_data', x, String))
53058
+ end
53059
+
53060
+ def to_json
53061
+ JSON.dump(to_hash)
53062
+ end
53063
+
53064
+ def copy(incoming={})
53065
+ ThreedsTwoChallengeRequest.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
53066
+ end
53067
+
53068
+ def subtype_to_hash
53069
+ {
53070
+ :acs_url => acs_url,
53071
+ :challenge_request => challenge_request,
53072
+ :session_data => session_data
53073
+ }
53074
+ end
53075
+
53076
+ end
53077
+
53078
+ # Data that must be rendered by the 3DS Client in order to help the issuer ACS
53079
+ # silently identify the user. This format doesn't decompose the ACS identify
53080
+ # method.
53081
+ class ThreedsTwoMethod < ThreedsIdentifyAction
53082
+
53083
+ attr_reader :method
53084
+
53085
+ def initialize(incoming={})
53086
+ super(:discriminator => ThreedsIdentifyAction::Types::THREEDS_TWO_METHOD)
53087
+ opts = HttpClient::Helper.symbolize_keys(incoming)
53088
+ HttpClient::Preconditions.require_keys(opts, [:method], 'ThreedsTwoMethod')
53089
+ @method = HttpClient::Preconditions.assert_class('method', opts.delete(:method), String)
53090
+ end
53091
+
53092
+ def to_json
53093
+ JSON.dump(to_hash)
53094
+ end
53095
+
53096
+ def copy(incoming={})
53097
+ ThreedsTwoMethod.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
53098
+ end
53099
+
53100
+ def subtype_to_hash
53101
+ {
53102
+ :method => method
53103
+ }
53104
+ end
53105
+
53106
+ end
53107
+
52184
53108
  # Service shipping tier available in this tier group. e.g. Standard tier,
52185
53109
  # Express tier, Economy tier
52186
53110
  class Tier
@@ -54685,7 +55609,7 @@ module Io
54685
55609
  end
54686
55610
 
54687
55611
  def Helper.to_big_decimal(value)
54688
- value ? BigDecimal.new(value.to_s) : nil
55612
+ value ? BigDecimal(value.to_s) : nil
54689
55613
  end
54690
55614
 
54691
55615
  def Helper.to_object(value)