flowcommerce 0.2.58 → 0.2.59

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
  SHA1:
3
- metadata.gz: 60efcea07de086501a8d4a394052801ec65bfcee
4
- data.tar.gz: 8aae8863bfe8af264e2940d136afdb4bcc76cab7
3
+ metadata.gz: cab5eba811e139e0e913ac8a8abef82bd60877d4
4
+ data.tar.gz: c7c20e06acdd3eff216b043316d5a76b6dad773b
5
5
  SHA512:
6
- metadata.gz: 1e365c5a133d83de852453ce700414fb1e0cf199496289ec6f118c5948571447f72b076c5953101814317945b32622dd5225ead6add14f0be1dc2f2cedc416cd
7
- data.tar.gz: 9b334c8c3af5efee9bc0fd37ff27317d66c3c4a90d009f843aa3b10e8b27b19254a1915d6db302c1b297cf402b440770adcc381ea76615c4b6e52df79bd24ada
6
+ metadata.gz: f6713b2dc2fba002126272596c56d5ae862970faf5ab00fdeaecf374eb8f7bdd6eeede9eb22b5be4bc6d32130e0827c8d29f1fbee54ac5ad7e97b5113884e529
7
+ data.tar.gz: 8d3c4169cd2a110833381e47d0b95b5fab9a8be53dc022139a2c36d20259fc1270cb8e0e49d9edb68ca033428095b5239628ec6e7cdad432d912f96d67b256c0
@@ -1,6 +1,6 @@
1
1
  # Generated by API Builder - https://www.apibuilder.io
2
- # Service version: 0.4.99
3
- # apibuilder 0.14.3 app.apibuilder.io/flow/api/0.5.12/ruby_client
2
+ # Service version: 0.5.16
3
+ # apibuilder 0.14.3 app.apibuilder.io/flow/api/0.5.23/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.14.3 app.apibuilder.io/flow/api/0.5.12/ruby_client' unless defined?(Constants::USER_AGENT)
29
- VERSION = '0.4.99' unless defined?(Constants::VERSION)
28
+ USER_AGENT = 'apibuilder 0.14.3 app.apibuilder.io/flow/api/0.5.23/ruby_client' unless defined?(Constants::USER_AGENT)
29
+ VERSION = '0.5.16' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
32
32
  end
@@ -774,6 +774,7 @@ module Io
774
774
  HttpClient::Preconditions.assert_class('organization', organization, String)
775
775
  opts = HttpClient::Helper.symbolize_keys(incoming)
776
776
  query = {
777
+ :q => (x = opts.delete(:q); x.nil? ? nil : HttpClient::Preconditions.assert_class('q', x, String)),
777
778
  :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
778
779
  :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
779
780
  :name => (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, String)),
@@ -7371,6 +7372,70 @@ module Io
7371
7372
 
7372
7373
  end
7373
7374
 
7375
+ class PartnerCenterFee
7376
+
7377
+ module Types
7378
+ COMMERCIAL_INVOICE_FEE = 'commercial_invoice_fee' unless defined?(COMMERCIAL_INVOICE_FEE)
7379
+ INBOUND_CARTON_FEE = 'inbound_carton_fee' unless defined?(INBOUND_CARTON_FEE)
7380
+ OUTBOUND_CARTON_FEE = 'outbound_carton_fee' unless defined?(OUTBOUND_CARTON_FEE)
7381
+ end
7382
+
7383
+ attr_reader :discriminator
7384
+
7385
+ def initialize(incoming={})
7386
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7387
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'PartnerCenterFee')
7388
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7389
+ end
7390
+
7391
+ def subtype_to_hash
7392
+ raise 'Cannot serialize an instance of partner_center_fee directly - must use one of the specific types: commercial_invoice_fee, inbound_carton_fee, outbound_carton_fee'
7393
+ end
7394
+
7395
+ def to_hash
7396
+ subtype_to_hash.merge(:discriminator => @discriminator)
7397
+ end
7398
+
7399
+ def PartnerCenterFee.from_json(hash)
7400
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
7401
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7402
+ if discriminator.empty?
7403
+ raise "Union type[partner_center_fee] requires a field named 'discriminator'"
7404
+ end
7405
+ case discriminator
7406
+ when Types::COMMERCIAL_INVOICE_FEE; CommercialInvoiceFee.new(hash)
7407
+ when Types::INBOUND_CARTON_FEE; InboundCartonFee.new(hash)
7408
+ when Types::OUTBOUND_CARTON_FEE; OutboundCartonFee.new(hash)
7409
+ else PartnerCenterFeeUndefinedType.new(:discriminator => discriminator)
7410
+ end
7411
+ end
7412
+
7413
+ end
7414
+
7415
+ class PartnerCenterFeeUndefinedType < PartnerCenterFee
7416
+
7417
+ attr_reader :name
7418
+
7419
+ def initialize(incoming={})
7420
+ super(:discriminator => 'undefined_type')
7421
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7422
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
7423
+ end
7424
+
7425
+ def subtype_to_hash
7426
+ raise 'Unable to serialize undefined type to json'
7427
+ end
7428
+
7429
+ def copy(incoming={})
7430
+ raise 'Operation not supported for undefined type'
7431
+ end
7432
+
7433
+ def to_hash
7434
+ raise 'Operation not supported for undefined type'
7435
+ end
7436
+
7437
+ end
7438
+
7374
7439
  # Represents data for a specific online payment method
7375
7440
  class Payment
7376
7441
 
@@ -9359,6 +9424,114 @@ module Io
9359
9424
 
9360
9425
  end
9361
9426
 
9427
+ class DeliveryOptionCostDetailComponentKey
9428
+
9429
+ attr_reader :value
9430
+
9431
+ def initialize(value)
9432
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
9433
+ end
9434
+
9435
+ # Returns the instance of DeliveryOptionCostDetailComponentKey for this value, creating a new instance for an unknown value
9436
+ def DeliveryOptionCostDetailComponentKey.apply(value)
9437
+ if value.instance_of?(DeliveryOptionCostDetailComponentKey)
9438
+ value
9439
+ else
9440
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
9441
+ value.nil? ? nil : (from_string(value) || DeliveryOptionCostDetailComponentKey.new(value))
9442
+ end
9443
+ end
9444
+
9445
+ # Returns the instance of DeliveryOptionCostDetailComponentKey for this value, or nil if not found
9446
+ def DeliveryOptionCostDetailComponentKey.from_string(value)
9447
+ HttpClient::Preconditions.assert_class('value', value, String)
9448
+ DeliveryOptionCostDetailComponentKey.ALL.find { |v| v.value == value }
9449
+ end
9450
+
9451
+ def DeliveryOptionCostDetailComponentKey.ALL
9452
+ @@all ||= [DeliveryOptionCostDetailComponentKey.ratecard_base_cost, DeliveryOptionCostDetailComponentKey.ratecard_ddp_fee, DeliveryOptionCostDetailComponentKey.ratecard_fuel_surcharge, DeliveryOptionCostDetailComponentKey.ratecard_oversized_shipment_fee, DeliveryOptionCostDetailComponentKey.ratecard_rural_shipment_fee, DeliveryOptionCostDetailComponentKey.center_commercial_invoice_fee, DeliveryOptionCostDetailComponentKey.center_inbound_carton_fee, DeliveryOptionCostDetailComponentKey.center_outbound_carton_fee]
9453
+ end
9454
+
9455
+ def DeliveryOptionCostDetailComponentKey.ratecard_base_cost
9456
+ @@_ratecard_base_cost ||= DeliveryOptionCostDetailComponentKey.new('ratecard_base_cost')
9457
+ end
9458
+
9459
+ def DeliveryOptionCostDetailComponentKey.ratecard_ddp_fee
9460
+ @@_ratecard_ddp_fee ||= DeliveryOptionCostDetailComponentKey.new('ratecard_ddp_fee')
9461
+ end
9462
+
9463
+ def DeliveryOptionCostDetailComponentKey.ratecard_fuel_surcharge
9464
+ @@_ratecard_fuel_surcharge ||= DeliveryOptionCostDetailComponentKey.new('ratecard_fuel_surcharge')
9465
+ end
9466
+
9467
+ def DeliveryOptionCostDetailComponentKey.ratecard_oversized_shipment_fee
9468
+ @@_ratecard_oversized_shipment_fee ||= DeliveryOptionCostDetailComponentKey.new('ratecard_oversized_shipment_fee')
9469
+ end
9470
+
9471
+ def DeliveryOptionCostDetailComponentKey.ratecard_rural_shipment_fee
9472
+ @@_ratecard_rural_shipment_fee ||= DeliveryOptionCostDetailComponentKey.new('ratecard_rural_shipment_fee')
9473
+ end
9474
+
9475
+ def DeliveryOptionCostDetailComponentKey.center_commercial_invoice_fee
9476
+ @@_center_commercial_invoice_fee ||= DeliveryOptionCostDetailComponentKey.new('center_commercial_invoice_fee')
9477
+ end
9478
+
9479
+ def DeliveryOptionCostDetailComponentKey.center_inbound_carton_fee
9480
+ @@_center_inbound_carton_fee ||= DeliveryOptionCostDetailComponentKey.new('center_inbound_carton_fee')
9481
+ end
9482
+
9483
+ def DeliveryOptionCostDetailComponentKey.center_outbound_carton_fee
9484
+ @@_center_outbound_carton_fee ||= DeliveryOptionCostDetailComponentKey.new('center_outbound_carton_fee')
9485
+ end
9486
+
9487
+ def to_hash
9488
+ value
9489
+ end
9490
+
9491
+ end
9492
+
9493
+ class DeliveryOptionCostDetailSource
9494
+
9495
+ attr_reader :value
9496
+
9497
+ def initialize(value)
9498
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
9499
+ end
9500
+
9501
+ # Returns the instance of DeliveryOptionCostDetailSource for this value, creating a new instance for an unknown value
9502
+ def DeliveryOptionCostDetailSource.apply(value)
9503
+ if value.instance_of?(DeliveryOptionCostDetailSource)
9504
+ value
9505
+ else
9506
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
9507
+ value.nil? ? nil : (from_string(value) || DeliveryOptionCostDetailSource.new(value))
9508
+ end
9509
+ end
9510
+
9511
+ # Returns the instance of DeliveryOptionCostDetailSource for this value, or nil if not found
9512
+ def DeliveryOptionCostDetailSource.from_string(value)
9513
+ HttpClient::Preconditions.assert_class('value', value, String)
9514
+ DeliveryOptionCostDetailSource.ALL.find { |v| v.value == value }
9515
+ end
9516
+
9517
+ def DeliveryOptionCostDetailSource.ALL
9518
+ @@all ||= [DeliveryOptionCostDetailSource.center, DeliveryOptionCostDetailSource.ratecard]
9519
+ end
9520
+
9521
+ def DeliveryOptionCostDetailSource.center
9522
+ @@_center ||= DeliveryOptionCostDetailSource.new('center')
9523
+ end
9524
+
9525
+ def DeliveryOptionCostDetailSource.ratecard
9526
+ @@_ratecard ||= DeliveryOptionCostDetailSource.new('ratecard')
9527
+ end
9528
+
9529
+ def to_hash
9530
+ value
9531
+ end
9532
+
9533
+ end
9534
+
9362
9535
  class DeliveryWindowComponentSource
9363
9536
 
9364
9537
  attr_reader :value
@@ -11137,7 +11310,7 @@ module Io
11137
11310
  end
11138
11311
 
11139
11312
  def OrderErrorCode.ALL
11140
- @@all ||= [OrderErrorCode.generic_error, OrderErrorCode.order_item_not_available, OrderErrorCode.order_identifier_error, OrderErrorCode.authorization_invalid, OrderErrorCode.domestic_shipping_unavailable, OrderErrorCode.value_threshold_exceeded, OrderErrorCode.invalid_currency, OrderErrorCode.invalid_country, OrderErrorCode.invalid_region, OrderErrorCode.invalid_language]
11313
+ @@all ||= [OrderErrorCode.generic_error, OrderErrorCode.order_item_not_available, OrderErrorCode.order_identifier_error, OrderErrorCode.authorization_invalid, OrderErrorCode.domestic_shipping_unavailable, OrderErrorCode.shipping_unavailable, OrderErrorCode.value_threshold_exceeded, OrderErrorCode.invalid_currency, OrderErrorCode.invalid_country, OrderErrorCode.invalid_region, OrderErrorCode.invalid_language]
11141
11314
  end
11142
11315
 
11143
11316
  def OrderErrorCode.generic_error
@@ -11164,13 +11337,18 @@ module Io
11164
11337
  @@_authorization_invalid ||= OrderErrorCode.new('authorization_invalid')
11165
11338
  end
11166
11339
 
11167
- # Indicates that an order was created for a country to which you have asked Flow
11168
- # not to ship. Usually this indicates an error that a request was made to create
11169
- # an order for your domestic country
11340
+ # Indicates that an order was created for a country for one of your domicile
11341
+ # countries and you have asked Flow not to accept orders for this country.
11170
11342
  def OrderErrorCode.domestic_shipping_unavailable
11171
11343
  @@_domestic_shipping_unavailable ||= OrderErrorCode.new('domestic_shipping_unavailable')
11172
11344
  end
11173
11345
 
11346
+ # Indicates that an order was created for a country to which you have asked Flow
11347
+ # not to ship.
11348
+ def OrderErrorCode.shipping_unavailable
11349
+ @@_shipping_unavailable ||= OrderErrorCode.new('shipping_unavailable')
11350
+ end
11351
+
11174
11352
  # Indicates the order value exceeds the value threshold for destination and
11175
11353
  # cannot be shipped. When specified, the order will also populate the threshold
11176
11354
  # attribute.
@@ -15030,18 +15208,17 @@ module Io
15030
15208
 
15031
15209
  class AuthorizationUpserted < Event
15032
15210
 
15033
- attr_reader :event_id, :timestamp, :organization, :key, :order_number, :card, :amount, :currency, :customer, :attributes, :destination, :result, :ip, :created_at
15211
+ attr_reader :event_id, :timestamp, :organization, :key, :order_number, :amount, :currency, :customer, :attributes, :destination, :result, :ip, :created_at
15034
15212
 
15035
15213
  def initialize(incoming={})
15036
15214
  super(:discriminator => Event::Types::AUTHORIZATION_UPSERTED)
15037
15215
  opts = HttpClient::Helper.symbolize_keys(incoming)
15038
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :key, :card, :amount, :currency, :customer, :attributes, :result, :created_at], 'AuthorizationUpserted')
15216
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :key, :amount, :currency, :customer, :attributes, :result, :created_at], 'AuthorizationUpserted')
15039
15217
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
15040
15218
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
15041
15219
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
15042
15220
  @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
15043
15221
  @order_number = (x = opts.delete(:order_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_number', x, String))
15044
- @card = (x = opts.delete(:card); x.is_a?(::Io::Flow::V0::Models::ExpandableCard) ? x : ::Io::Flow::V0::Models::ExpandableCard.from_json(x))
15045
15222
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
15046
15223
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
15047
15224
  @customer = (x = opts.delete(:customer); x.is_a?(::Io::Flow::V0::Models::Customer) ? x : ::Io::Flow::V0::Models::Customer.new(x))
@@ -15067,7 +15244,6 @@ module Io
15067
15244
  :organization => organization,
15068
15245
  :key => key,
15069
15246
  :order_number => order_number,
15070
- :card => card.to_hash,
15071
15247
  :amount => amount,
15072
15248
  :currency => currency,
15073
15249
  :customer => customer.to_hash,
@@ -16813,6 +16989,34 @@ module Io
16813
16989
 
16814
16990
  end
16815
16991
 
16992
+ class CenterReference
16993
+
16994
+ attr_reader :organization_id, :center_key
16995
+
16996
+ def initialize(incoming={})
16997
+ opts = HttpClient::Helper.symbolize_keys(incoming)
16998
+ HttpClient::Preconditions.require_keys(opts, [:organization_id, :center_key], 'CenterReference')
16999
+ @organization_id = HttpClient::Preconditions.assert_class('organization_id', opts.delete(:organization_id), String)
17000
+ @center_key = HttpClient::Preconditions.assert_class('center_key', opts.delete(:center_key), String)
17001
+ end
17002
+
17003
+ def to_json
17004
+ JSON.dump(to_hash)
17005
+ end
17006
+
17007
+ def copy(incoming={})
17008
+ CenterReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
17009
+ end
17010
+
17011
+ def to_hash
17012
+ {
17013
+ :organization_id => organization_id,
17014
+ :center_key => center_key
17015
+ }
17016
+ end
17017
+
17018
+ end
17019
+
16816
17020
  class CenterSummary
16817
17021
 
16818
17022
  attr_reader :id, :key
@@ -17034,6 +17238,33 @@ module Io
17034
17238
 
17035
17239
  end
17036
17240
 
17241
+ class CommercialInvoiceFee < PartnerCenterFee
17242
+
17243
+ attr_reader :amount
17244
+
17245
+ def initialize(incoming={})
17246
+ super(:discriminator => PartnerCenterFee::Types::COMMERCIAL_INVOICE_FEE)
17247
+ opts = HttpClient::Helper.symbolize_keys(incoming)
17248
+ HttpClient::Preconditions.require_keys(opts, [:amount], 'CommercialInvoiceFee')
17249
+ @amount = (x = opts.delete(:amount); x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x))
17250
+ end
17251
+
17252
+ def to_json
17253
+ JSON.dump(to_hash)
17254
+ end
17255
+
17256
+ def copy(incoming={})
17257
+ CommercialInvoiceFee.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
17258
+ end
17259
+
17260
+ def subtype_to_hash
17261
+ {
17262
+ :amount => amount.to_hash
17263
+ }
17264
+ end
17265
+
17266
+ end
17267
+
17037
17268
  # Defines structured fields for a contact person. Typically used for specifying
17038
17269
  # contact person for an account, shipment, or organization representative
17039
17270
  class Contact
@@ -17644,13 +17875,14 @@ module Io
17644
17875
  # range and cost
17645
17876
  class DeliveryOption
17646
17877
 
17647
- attr_reader :id, :cost, :delivered_duty, :price, :service, :tier, :window, :rule_outcome, :weight, :send_to
17878
+ attr_reader :id, :cost, :cost_details, :delivered_duty, :price, :service, :tier, :window, :rule_outcome, :weight, :send_to
17648
17879
 
17649
17880
  def initialize(incoming={})
17650
17881
  opts = HttpClient::Helper.symbolize_keys(incoming)
17651
17882
  HttpClient::Preconditions.require_keys(opts, [:id, :cost, :delivered_duty, :price, :service, :tier, :window], 'DeliveryOption')
17652
17883
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
17653
17884
  @cost = (x = opts.delete(:cost); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
17885
+ @cost_details = (x = opts.delete(:cost_details); x.nil? ? nil : HttpClient::Preconditions.assert_class('cost_details', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::DeliveryOptionCostDetail) ? x : ::Io::Flow::V0::Models::DeliveryOptionCostDetail.new(x)) })
17654
17886
  @delivered_duty = (x = opts.delete(:delivered_duty); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
17655
17887
  @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
17656
17888
  @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::ServiceSummary) ? x : ::Io::Flow::V0::Models::ServiceSummary.new(x))
@@ -17673,6 +17905,7 @@ module Io
17673
17905
  {
17674
17906
  :id => id,
17675
17907
  :cost => cost.to_hash,
17908
+ :cost_details => cost_details.nil? ? nil : cost_details.map { |o| o.to_hash },
17676
17909
  :delivered_duty => delivered_duty.value,
17677
17910
  :price => price.to_hash,
17678
17911
  :service => service.to_hash,
@@ -17686,6 +17919,76 @@ module Io
17686
17919
 
17687
17920
  end
17688
17921
 
17922
+ class DeliveryOptionCostComponent
17923
+
17924
+ attr_reader :key, :currency, :amount, :label, :base
17925
+
17926
+ def initialize(incoming={})
17927
+ opts = HttpClient::Helper.symbolize_keys(incoming)
17928
+ HttpClient::Preconditions.require_keys(opts, [:key, :currency, :amount, :label], 'DeliveryOptionCostComponent')
17929
+ @key = (x = opts.delete(:key); x.is_a?(::Io::Flow::V0::Models::DeliveryOptionCostDetailComponentKey) ? x : ::Io::Flow::V0::Models::DeliveryOptionCostDetailComponentKey.apply(x))
17930
+ @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
17931
+ @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
17932
+ @label = HttpClient::Preconditions.assert_class('label', opts.delete(:label), String)
17933
+ @base = (x = opts.delete(:base); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x)))
17934
+ end
17935
+
17936
+ def to_json
17937
+ JSON.dump(to_hash)
17938
+ end
17939
+
17940
+ def copy(incoming={})
17941
+ DeliveryOptionCostComponent.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
17942
+ end
17943
+
17944
+ def to_hash
17945
+ {
17946
+ :key => key.value,
17947
+ :currency => currency,
17948
+ :amount => amount,
17949
+ :label => label,
17950
+ :base => base.nil? ? nil : base.to_hash
17951
+ }
17952
+ end
17953
+
17954
+ end
17955
+
17956
+ class DeliveryOptionCostDetail
17957
+
17958
+ attr_reader :source, :currency, :amount, :label, :base, :components
17959
+
17960
+ def initialize(incoming={})
17961
+ opts = HttpClient::Helper.symbolize_keys(incoming)
17962
+ HttpClient::Preconditions.require_keys(opts, [:source, :currency, :amount, :label, :components], 'DeliveryOptionCostDetail')
17963
+ @source = (x = opts.delete(:source); x.is_a?(::Io::Flow::V0::Models::DeliveryOptionCostDetailSource) ? x : ::Io::Flow::V0::Models::DeliveryOptionCostDetailSource.apply(x))
17964
+ @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
17965
+ @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
17966
+ @label = HttpClient::Preconditions.assert_class('label', opts.delete(:label), String)
17967
+ @base = (x = opts.delete(:base); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x)))
17968
+ @components = HttpClient::Preconditions.assert_class('components', opts.delete(:components), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::DeliveryOptionCostComponent) ? x : ::Io::Flow::V0::Models::DeliveryOptionCostComponent.new(x)) }
17969
+ end
17970
+
17971
+ def to_json
17972
+ JSON.dump(to_hash)
17973
+ end
17974
+
17975
+ def copy(incoming={})
17976
+ DeliveryOptionCostDetail.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
17977
+ end
17978
+
17979
+ def to_hash
17980
+ {
17981
+ :source => source.value,
17982
+ :currency => currency,
17983
+ :amount => amount,
17984
+ :label => label,
17985
+ :base => base.nil? ? nil : base.to_hash,
17986
+ :components => components.map { |o| o.to_hash }
17987
+ }
17988
+ end
17989
+
17990
+ end
17991
+
17689
17992
  class DeliveryOptionDeleted < Event
17690
17993
 
17691
17994
  attr_reader :event_id, :timestamp, :organization, :id
@@ -21309,6 +21612,33 @@ module Io
21309
21612
 
21310
21613
  end
21311
21614
 
21615
+ class InboundCartonFee < PartnerCenterFee
21616
+
21617
+ attr_reader :amount
21618
+
21619
+ def initialize(incoming={})
21620
+ super(:discriminator => PartnerCenterFee::Types::INBOUND_CARTON_FEE)
21621
+ opts = HttpClient::Helper.symbolize_keys(incoming)
21622
+ HttpClient::Preconditions.require_keys(opts, [:amount], 'InboundCartonFee')
21623
+ @amount = (x = opts.delete(:amount); x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x))
21624
+ end
21625
+
21626
+ def to_json
21627
+ JSON.dump(to_hash)
21628
+ end
21629
+
21630
+ def copy(incoming={})
21631
+ InboundCartonFee.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
21632
+ end
21633
+
21634
+ def subtype_to_hash
21635
+ {
21636
+ :amount => amount.to_hash
21637
+ }
21638
+ end
21639
+
21640
+ end
21641
+
21312
21642
  class IncludedLevies
21313
21643
 
21314
21644
  attr_reader :key, :label
@@ -24844,13 +25174,14 @@ module Io
24844
25174
 
24845
25175
  end
24846
25176
 
24847
- # An order represents all of the information about a particular line item,
24848
- # including pricing, currency rates, delivery options, etc. All information in
24849
- # an order is guaranteed by Flow - if an order is submitted before its
24850
- # expiration. The intended use case is to create an order as a consumer enters
24851
- # checkout, then to submit that order as part of the user submitting their
24852
- # order. Note that Flow will automatically mark an order submitted if we see a
24853
- # payment authorization for an order.
25177
+ # An order represents all of the information about a particular set of line
25178
+ # items, including pricing, currency rates, delivery options, etc. All
25179
+ # information in an order is guaranteed by Flow - if an order is submitted
25180
+ # before its expiration. The intended use case is to create an order as a
25181
+ # consumer enters checkout, then to submit that order as part of the user
25182
+ # submitting their order. Note that Flow will automatically mark an order
25183
+ # submitted if we see payment authorization(s) covering the full balance of an
25184
+ # order.
24854
25185
  class Order < ExpandableOrder
24855
25186
 
24856
25187
  attr_reader :id, :number, :experience, :customer, :delivered_duty, :destination, :expires_at, :items, :deliveries, :selections, :prices, :total, :attributes, :submitted_at, :lines, :identifiers, :promotions, :payments, :balance, :rules
@@ -26778,6 +27109,33 @@ module Io
26778
27109
 
26779
27110
  end
26780
27111
 
27112
+ class OutboundCartonFee < PartnerCenterFee
27113
+
27114
+ attr_reader :amount
27115
+
27116
+ def initialize(incoming={})
27117
+ super(:discriminator => PartnerCenterFee::Types::OUTBOUND_CARTON_FEE)
27118
+ opts = HttpClient::Helper.symbolize_keys(incoming)
27119
+ HttpClient::Preconditions.require_keys(opts, [:amount], 'OutboundCartonFee')
27120
+ @amount = (x = opts.delete(:amount); x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x))
27121
+ end
27122
+
27123
+ def to_json
27124
+ JSON.dump(to_hash)
27125
+ end
27126
+
27127
+ def copy(incoming={})
27128
+ OutboundCartonFee.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
27129
+ end
27130
+
27131
+ def subtype_to_hash
27132
+ {
27133
+ :amount => amount.to_hash
27134
+ }
27135
+ end
27136
+
27137
+ end
27138
+
26781
27139
  # Describes the outgoing feed constructed by Flow
26782
27140
  class OutgoingFeed
26783
27141
 
@@ -26867,15 +27225,18 @@ module Io
26867
27225
 
26868
27226
  end
26869
27227
 
27228
+ # Represents information about a partner (e.g. external 3PL) running the
27229
+ # fulfillment center
26870
27230
  class PartnerCenter
26871
27231
 
26872
- attr_reader :partner_reference, :number
27232
+ attr_reader :partner_reference, :number, :fees
26873
27233
 
26874
27234
  def initialize(incoming={})
26875
27235
  opts = HttpClient::Helper.symbolize_keys(incoming)
26876
27236
  HttpClient::Preconditions.require_keys(opts, [:partner_reference], 'PartnerCenter')
26877
27237
  @partner_reference = (x = opts.delete(:partner_reference); x.is_a?(::Io::Flow::V0::Models::PartnerReference) ? x : ::Io::Flow::V0::Models::PartnerReference.new(x))
26878
27238
  @number = (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, String))
27239
+ @fees = (x = opts.delete(:fees); x.nil? ? nil : HttpClient::Preconditions.assert_class('fees', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::PartnerCenterFee) ? x : ::Io::Flow::V0::Models::PartnerCenterFee.from_json(x)) })
26879
27240
  end
26880
27241
 
26881
27242
  def to_json
@@ -26889,7 +27250,8 @@ module Io
26889
27250
  def to_hash
26890
27251
  {
26891
27252
  :partner_reference => partner_reference.to_hash,
26892
- :number => number
27253
+ :number => number,
27254
+ :fees => fees.nil? ? nil : fees.map { |o| o.to_hash }
26893
27255
  }
26894
27256
  end
26895
27257
 
@@ -26897,13 +27259,14 @@ module Io
26897
27259
 
26898
27260
  class PartnerCenterForm
26899
27261
 
26900
- attr_reader :partner_id, :number
27262
+ attr_reader :partner_id, :number, :fees
26901
27263
 
26902
27264
  def initialize(incoming={})
26903
27265
  opts = HttpClient::Helper.symbolize_keys(incoming)
26904
27266
  HttpClient::Preconditions.require_keys(opts, [:partner_id], 'PartnerCenterForm')
26905
27267
  @partner_id = HttpClient::Preconditions.assert_class('partner_id', opts.delete(:partner_id), String)
26906
27268
  @number = (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, String))
27269
+ @fees = (x = opts.delete(:fees); x.nil? ? nil : HttpClient::Preconditions.assert_class('fees', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::PartnerCenterFee) ? x : ::Io::Flow::V0::Models::PartnerCenterFee.from_json(x)) })
26907
27270
  end
26908
27271
 
26909
27272
  def to_json
@@ -26917,7 +27280,8 @@ module Io
26917
27280
  def to_hash
26918
27281
  {
26919
27282
  :partner_id => partner_id,
26920
- :number => number
27283
+ :number => number,
27284
+ :fees => fees.nil? ? nil : fees.map { |o| o.to_hash }
26921
27285
  }
26922
27286
  end
26923
27287
 
@@ -29723,13 +30087,14 @@ module Io
29723
30087
 
29724
30088
  class ReservationForm
29725
30089
 
29726
- attr_reader :order_number, :items
30090
+ attr_reader :order_number, :items, :duration
29727
30091
 
29728
30092
  def initialize(incoming={})
29729
30093
  opts = HttpClient::Helper.symbolize_keys(incoming)
29730
30094
  HttpClient::Preconditions.require_keys(opts, [:items], 'ReservationForm')
29731
30095
  @order_number = (x = opts.delete(:order_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_number', x, String))
29732
30096
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ReservationItemForm) ? x : ::Io::Flow::V0::Models::ReservationItemForm.new(x)) }
30097
+ @duration = (x = opts.delete(:duration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Duration) ? x : ::Io::Flow::V0::Models::Duration.new(x)))
29733
30098
  end
29734
30099
 
29735
30100
  def to_json
@@ -29743,7 +30108,8 @@ module Io
29743
30108
  def to_hash
29744
30109
  {
29745
30110
  :order_number => order_number,
29746
- :items => items.map { |o| o.to_hash }
30111
+ :items => items.map { |o| o.to_hash },
30112
+ :duration => duration.nil? ? nil : duration.to_hash
29747
30113
  }
29748
30114
  end
29749
30115
 
@@ -29751,13 +30117,14 @@ module Io
29751
30117
 
29752
30118
  class ReservationItem
29753
30119
 
29754
- attr_reader :item, :quantity
30120
+ attr_reader :item, :quantity, :serials
29755
30121
 
29756
30122
  def initialize(incoming={})
29757
30123
  opts = HttpClient::Helper.symbolize_keys(incoming)
29758
30124
  HttpClient::Preconditions.require_keys(opts, [:item, :quantity], 'ReservationItem')
29759
30125
  @item = (x = opts.delete(:item); x.is_a?(::Io::Flow::V0::Models::ReservationItemReference) ? x : ::Io::Flow::V0::Models::ReservationItemReference.new(x))
29760
30126
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
30127
+ @serials = (x = opts.delete(:serials); x.nil? ? nil : HttpClient::Preconditions.assert_class('serials', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ReservationSerialReference) ? x : ::Io::Flow::V0::Models::ReservationSerialReference.new(x)) })
29761
30128
  end
29762
30129
 
29763
30130
  def to_json
@@ -29771,7 +30138,8 @@ module Io
29771
30138
  def to_hash
29772
30139
  {
29773
30140
  :item => item.to_hash,
29774
- :quantity => quantity
30141
+ :quantity => quantity,
30142
+ :serials => serials.nil? ? nil : serials.map { |o| o.to_hash }
29775
30143
  }
29776
30144
  end
29777
30145
 
@@ -29779,13 +30147,14 @@ module Io
29779
30147
 
29780
30148
  class ReservationItemForm
29781
30149
 
29782
- attr_reader :item_number, :quantity
30150
+ attr_reader :item_number, :quantity, :serial_numbers
29783
30151
 
29784
30152
  def initialize(incoming={})
29785
30153
  opts = HttpClient::Helper.symbolize_keys(incoming)
29786
- HttpClient::Preconditions.require_keys(opts, [:item_number, :quantity], 'ReservationItemForm')
30154
+ HttpClient::Preconditions.require_keys(opts, [:item_number], 'ReservationItemForm')
29787
30155
  @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
29788
- @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
30156
+ @quantity = (x = opts.delete(:quantity); x.nil? ? nil : HttpClient::Preconditions.assert_class('quantity', x, Integer))
30157
+ @serial_numbers = (x = opts.delete(:serial_numbers); x.nil? ? nil : HttpClient::Preconditions.assert_class('serial_numbers', x, Array).map { |v| HttpClient::Preconditions.assert_class('serial_numbers', v, String) })
29789
30158
  end
29790
30159
 
29791
30160
  def to_json
@@ -29799,7 +30168,8 @@ module Io
29799
30168
  def to_hash
29800
30169
  {
29801
30170
  :item_number => item_number,
29802
- :quantity => quantity
30171
+ :quantity => quantity,
30172
+ :serial_numbers => serial_numbers.nil? ? nil : serial_numbers
29803
30173
  }
29804
30174
  end
29805
30175
 
@@ -29857,6 +30227,36 @@ module Io
29857
30227
 
29858
30228
  end
29859
30229
 
30230
+ class ReservationSerialReference
30231
+
30232
+ attr_reader :number, :item_price, :center
30233
+
30234
+ def initialize(incoming={})
30235
+ opts = HttpClient::Helper.symbolize_keys(incoming)
30236
+ HttpClient::Preconditions.require_keys(opts, [:number, :item_price, :center], 'ReservationSerialReference')
30237
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
30238
+ @item_price = (x = opts.delete(:item_price); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
30239
+ @center = (x = opts.delete(:center); x.is_a?(::Io::Flow::V0::Models::CenterReference) ? x : ::Io::Flow::V0::Models::CenterReference.new(x))
30240
+ end
30241
+
30242
+ def to_json
30243
+ JSON.dump(to_hash)
30244
+ end
30245
+
30246
+ def copy(incoming={})
30247
+ ReservationSerialReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
30248
+ end
30249
+
30250
+ def to_hash
30251
+ {
30252
+ :number => number,
30253
+ :item_price => item_price.to_hash,
30254
+ :center => center.to_hash
30255
+ }
30256
+ end
30257
+
30258
+ end
30259
+
29860
30260
  class Return
29861
30261
 
29862
30262
  attr_reader :id, :key, :items, :labels
@@ -30650,17 +31050,17 @@ module Io
30650
31050
  # A unique identifier assigned to an individual item.
30651
31051
  class Serial
30652
31052
 
30653
- attr_reader :id, :number, :item_number, :item_price, :status, :center_key, :attributes
31053
+ attr_reader :id, :number, :item_number, :item_price, :status, :center, :attributes
30654
31054
 
30655
31055
  def initialize(incoming={})
30656
31056
  opts = HttpClient::Helper.symbolize_keys(incoming)
30657
- HttpClient::Preconditions.require_keys(opts, [:id, :number, :item_number, :item_price, :status, :center_key], 'Serial')
31057
+ HttpClient::Preconditions.require_keys(opts, [:id, :number, :item_number, :item_price, :status, :center], 'Serial')
30658
31058
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
30659
31059
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
30660
31060
  @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
30661
31061
  @item_price = (x = opts.delete(:item_price); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
30662
31062
  @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::SerialStatus) ? x : ::Io::Flow::V0::Models::SerialStatus.apply(x))
30663
- @center_key = HttpClient::Preconditions.assert_class('center_key', opts.delete(:center_key), String)
31063
+ @center = (x = opts.delete(:center); x.is_a?(::Io::Flow::V0::Models::CenterReference) ? x : ::Io::Flow::V0::Models::CenterReference.new(x))
30664
31064
  @attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? {} : x), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
30665
31065
  end
30666
31066
 
@@ -30679,7 +31079,7 @@ module Io
30679
31079
  :item_number => item_number,
30680
31080
  :item_price => item_price.to_hash,
30681
31081
  :status => status.value,
30682
- :center_key => center_key,
31082
+ :center => center.to_hash,
30683
31083
  :attributes => attributes
30684
31084
  }
30685
31085
  end
@@ -31217,7 +31617,7 @@ module Io
31217
31617
 
31218
31618
  class ShippingAddress
31219
31619
 
31220
- attr_reader :contact, :location, :center_key
31620
+ attr_reader :contact, :location, :center_key, :center_reference
31221
31621
 
31222
31622
  def initialize(incoming={})
31223
31623
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -31225,6 +31625,7 @@ module Io
31225
31625
  @contact = (x = opts.delete(:contact); x.is_a?(::Io::Flow::V0::Models::Contact) ? x : ::Io::Flow::V0::Models::Contact.new(x))
31226
31626
  @location = (x = opts.delete(:location); x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x))
31227
31627
  @center_key = (x = opts.delete(:center_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('center_key', x, String))
31628
+ @center_reference = (x = opts.delete(:center_reference); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::CenterReference) ? x : ::Io::Flow::V0::Models::CenterReference.new(x)))
31228
31629
  end
31229
31630
 
31230
31631
  def to_json
@@ -31239,7 +31640,8 @@ module Io
31239
31640
  {
31240
31641
  :contact => contact.to_hash,
31241
31642
  :location => location.to_hash,
31242
- :center_key => center_key
31643
+ :center_key => center_key,
31644
+ :center_reference => center_reference.nil? ? nil : center_reference.to_hash
31243
31645
  }
31244
31646
  end
31245
31647
 
@@ -31344,7 +31746,7 @@ module Io
31344
31746
 
31345
31747
  class ShippingLabelForm
31346
31748
 
31347
- attr_reader :destination, :origin, :package, :attributes, :delivered_duty, :order_number, :service, :shipment_recipient
31749
+ attr_reader :destination, :origin, :package, :attributes, :delivered_duty, :direction, :order_number, :service, :shipment_recipient
31348
31750
 
31349
31751
  def initialize(incoming={})
31350
31752
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -31354,6 +31756,7 @@ module Io
31354
31756
  @package = (x = opts.delete(:package); x.is_a?(::Io::Flow::V0::Models::ShippingLabelPackage) ? x : ::Io::Flow::V0::Models::ShippingLabelPackage.new(x))
31355
31757
  @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 })
31356
31758
  @delivered_duty = (x = opts.delete(:delivered_duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x)))
31759
+ @direction = (x = opts.delete(:direction); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Direction) ? x : ::Io::Flow::V0::Models::Direction.apply(x)))
31357
31760
  @order_number = (x = opts.delete(:order_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_number', x, String))
31358
31761
  @service = (x = opts.delete(:service); x.nil? ? nil : HttpClient::Preconditions.assert_class('service', x, String))
31359
31762
  @shipment_recipient = (x = opts.delete(:shipment_recipient); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShipmentRecipient) ? x : ::Io::Flow::V0::Models::ShipmentRecipient.apply(x)))
@@ -31374,6 +31777,7 @@ module Io
31374
31777
  :package => package.to_hash,
31375
31778
  :attributes => attributes.nil? ? nil : attributes,
31376
31779
  :delivered_duty => delivered_duty.nil? ? nil : delivered_duty.value,
31780
+ :direction => direction.nil? ? nil : direction.value,
31377
31781
  :order_number => order_number,
31378
31782
  :service => service,
31379
31783
  :shipment_recipient => shipment_recipient.nil? ? nil : shipment_recipient.value
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flowcommerce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.58
4
+ version: 0.2.59
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flow Commerce, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-15 00:00:00.000000000 Z
11
+ date: 2018-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json