flowcommerce 0.2.20 → 0.2.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/flow_commerce/flow_api_v0_client.rb +582 -82
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e5a93926266838903971f3c491924549a0de61d
|
4
|
+
data.tar.gz: e8eb91d1d1c4815191395ca46d9ebcb1b3efce6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b75a8a2cbc58184ecfcf44d6f6ad89bd3f9a44633f6337e6100ce53e8c67f5fa8e01a8dbdb1a2f30e9b568cda076b82ca3fddc9e1ef5c7bfd3241ff05ec38e20
|
7
|
+
data.tar.gz: d3f018416fa98197800a47eef804769e60bbda78c486cb3219d2f9fb76e924c1fb194c151592c78579308b59b0c2e9d03a49adc7d3716304fb13ddbb4b427ba7
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Generated by apidoc - http://www.apidoc.me
|
2
2
|
# Service version: 0.3.28
|
3
|
-
# apidoc:0.11.
|
3
|
+
# apidoc:0.11.93 http://www.apidoc.me/flow/api/0.3.38/ruby_client
|
4
4
|
|
5
5
|
require 'cgi'
|
6
6
|
require 'net/http'
|
@@ -25,7 +25,7 @@ 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 = 'apidoc:0.11.
|
28
|
+
USER_AGENT = 'apidoc:0.11.93 http://www.apidoc.me/flow/api/0.3.38/ruby_client' unless defined?(Constants::USER_AGENT)
|
29
29
|
VERSION = '0.3.28' unless defined?(Constants::VERSION)
|
30
30
|
VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
|
31
31
|
|
@@ -76,6 +76,10 @@ module Io
|
|
76
76
|
@catalogs ||= ::Io::Flow::V0::Clients::Catalogs.new(self)
|
77
77
|
end
|
78
78
|
|
79
|
+
def credit_payments
|
80
|
+
@credit_payments ||= ::Io::Flow::V0::Clients::CreditPayments.new(self)
|
81
|
+
end
|
82
|
+
|
79
83
|
def experiences
|
80
84
|
@experiences ||= ::Io::Flow::V0::Clients::Experiences.new(self)
|
81
85
|
end
|
@@ -541,6 +545,85 @@ module Io
|
|
541
545
|
|
542
546
|
end
|
543
547
|
|
548
|
+
class CreditPayments
|
549
|
+
|
550
|
+
def initialize(client)
|
551
|
+
@client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
|
552
|
+
end
|
553
|
+
|
554
|
+
def get(organization, incoming={})
|
555
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
556
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
557
|
+
query = {
|
558
|
+
:id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
|
559
|
+
:key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
|
560
|
+
:order_number => (x = opts.delete(:order_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_number', x, String)),
|
561
|
+
:limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
|
562
|
+
:offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
|
563
|
+
:sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String),
|
564
|
+
:expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
|
565
|
+
}.delete_if { |k, v| v.nil? }
|
566
|
+
r = @client.request("/#{CGI.escape(organization)}/credit/payments").with_query(query).get
|
567
|
+
r.map { |x| ::Io::Flow::V0::Models::CreditPayment.new(x) }
|
568
|
+
end
|
569
|
+
|
570
|
+
def post(organization, credit_payment_form, incoming={})
|
571
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
572
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
573
|
+
query = {
|
574
|
+
:expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
|
575
|
+
}.delete_if { |k, v| v.nil? }
|
576
|
+
(x = credit_payment_form; x.is_a?(::Io::Flow::V0::Models::CreditPaymentForm) ? x : ::Io::Flow::V0::Models::CreditPaymentForm.new(x))
|
577
|
+
r = @client.request("/#{CGI.escape(organization)}/credit/payments").with_query(query).with_json(credit_payment_form.to_json).post
|
578
|
+
::Io::Flow::V0::Models::CreditPayment.new(r)
|
579
|
+
end
|
580
|
+
|
581
|
+
def get_by_key(organization, key, incoming={})
|
582
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
583
|
+
HttpClient::Preconditions.assert_class('key', key, String)
|
584
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
585
|
+
query = {
|
586
|
+
:expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
|
587
|
+
}.delete_if { |k, v| v.nil? }
|
588
|
+
r = @client.request("/#{CGI.escape(organization)}/credit/payments/#{CGI.escape(key)}").with_query(query).get
|
589
|
+
::Io::Flow::V0::Models::CreditPayment.new(r)
|
590
|
+
end
|
591
|
+
|
592
|
+
def put_by_key(organization, key, credit_payment_put_form, incoming={})
|
593
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
594
|
+
HttpClient::Preconditions.assert_class('key', key, String)
|
595
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
596
|
+
query = {
|
597
|
+
:expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
|
598
|
+
}.delete_if { |k, v| v.nil? }
|
599
|
+
(x = credit_payment_put_form; x.is_a?(::Io::Flow::V0::Models::CreditPaymentPutForm) ? x : ::Io::Flow::V0::Models::CreditPaymentPutForm.new(x))
|
600
|
+
r = @client.request("/#{CGI.escape(organization)}/credit/payments/#{CGI.escape(key)}").with_query(query).with_json(credit_payment_put_form.to_json).put
|
601
|
+
::Io::Flow::V0::Models::CreditPayment.new(r)
|
602
|
+
end
|
603
|
+
|
604
|
+
def delete_by_key(organization, key)
|
605
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
606
|
+
HttpClient::Preconditions.assert_class('key', key, String)
|
607
|
+
r = @client.request("/#{CGI.escape(organization)}/credit/payments/#{CGI.escape(key)}").delete
|
608
|
+
nil
|
609
|
+
end
|
610
|
+
|
611
|
+
def get_versions(organization, incoming={})
|
612
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
613
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
614
|
+
query = {
|
615
|
+
:id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
|
616
|
+
:key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
|
617
|
+
:limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
|
618
|
+
:offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
|
619
|
+
:sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
|
620
|
+
}.delete_if { |k, v| v.nil? }
|
621
|
+
r = @client.request("/#{CGI.escape(organization)}/credit/payments/versions").with_query(query).get
|
622
|
+
r.map { |x| ::Io::Flow::V0::Models::CreditPaymentVersion.new(x) }
|
623
|
+
end
|
624
|
+
|
625
|
+
end
|
626
|
+
|
544
627
|
class Experiences
|
545
628
|
|
546
629
|
def initialize(client)
|
@@ -4766,6 +4849,75 @@ module Io
|
|
4766
4849
|
|
4767
4850
|
end
|
4768
4851
|
|
4852
|
+
# A delivery represents a group of items that will be delivered together -
|
4853
|
+
# presenting a single price and delivery time frame, where applicable, to the
|
4854
|
+
# user. Deliveries commonly are created based on the type of item and, for
|
4855
|
+
# physical goods, their center of origin
|
4856
|
+
class Delivery
|
4857
|
+
|
4858
|
+
module Types
|
4859
|
+
# Represents items that can be delivered electronically (e.g. a gift card
|
4860
|
+
# delivered via email)
|
4861
|
+
DIGITAL_DELIVERY = 'digital_delivery' unless defined?(DIGITAL_DELIVERY)
|
4862
|
+
# Represents items that are physical and require shipment
|
4863
|
+
PHYSICAL_DELIVERY = 'physical_delivery' unless defined?(PHYSICAL_DELIVERY)
|
4864
|
+
end
|
4865
|
+
|
4866
|
+
attr_reader :discriminator
|
4867
|
+
|
4868
|
+
def initialize(incoming={})
|
4869
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
4870
|
+
HttpClient::Preconditions.require_keys(opts, [:discriminator], 'Delivery')
|
4871
|
+
@discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
|
4872
|
+
end
|
4873
|
+
|
4874
|
+
def subtype_to_hash
|
4875
|
+
raise 'Cannot serialize an instance of delivery directly - must use one of the specific types: digital_delivery, physical_delivery'
|
4876
|
+
end
|
4877
|
+
|
4878
|
+
def to_hash
|
4879
|
+
subtype_to_hash.merge(:discriminator => @discriminator)
|
4880
|
+
end
|
4881
|
+
|
4882
|
+
def Delivery.from_json(hash)
|
4883
|
+
HttpClient::Preconditions.assert_class('hash', hash, Hash)
|
4884
|
+
discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
|
4885
|
+
if discriminator.empty?
|
4886
|
+
raise "Union type[delivery] requires a field named 'discriminator'"
|
4887
|
+
end
|
4888
|
+
case discriminator
|
4889
|
+
when Types::DIGITAL_DELIVERY; DigitalDelivery.new(hash)
|
4890
|
+
when Types::PHYSICAL_DELIVERY; PhysicalDelivery.new(hash)
|
4891
|
+
else DeliveryUndefinedType.new(:discriminator => discriminator)
|
4892
|
+
end
|
4893
|
+
end
|
4894
|
+
|
4895
|
+
end
|
4896
|
+
|
4897
|
+
class DeliveryUndefinedType < Delivery
|
4898
|
+
|
4899
|
+
attr_reader :name
|
4900
|
+
|
4901
|
+
def initialize(incoming={})
|
4902
|
+
super(:discriminator => 'undefined_type')
|
4903
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
4904
|
+
@name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
|
4905
|
+
end
|
4906
|
+
|
4907
|
+
def subtype_to_hash
|
4908
|
+
raise 'Unable to serialize undefined type to json'
|
4909
|
+
end
|
4910
|
+
|
4911
|
+
def copy(incoming={})
|
4912
|
+
raise 'Operation not supported for undefined type'
|
4913
|
+
end
|
4914
|
+
|
4915
|
+
def to_hash
|
4916
|
+
raise 'Operation not supported for undefined type'
|
4917
|
+
end
|
4918
|
+
|
4919
|
+
end
|
4920
|
+
|
4769
4921
|
# De Minimis describes the country specific rules for exactly how tax and duties
|
4770
4922
|
# are calculated, as well as any exemptions that apply. See
|
4771
4923
|
# https://en.wikipedia.org/wiki/De_minimis for more information.
|
@@ -5289,6 +5441,68 @@ module Io
|
|
5289
5441
|
|
5290
5442
|
end
|
5291
5443
|
|
5444
|
+
class ExpandableOrder
|
5445
|
+
|
5446
|
+
module Types
|
5447
|
+
ORDER = 'order' unless defined?(ORDER)
|
5448
|
+
ORDER_REFERENCE = 'order_reference' unless defined?(ORDER_REFERENCE)
|
5449
|
+
end
|
5450
|
+
|
5451
|
+
attr_reader :discriminator
|
5452
|
+
|
5453
|
+
def initialize(incoming={})
|
5454
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
5455
|
+
HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ExpandableOrder')
|
5456
|
+
@discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
|
5457
|
+
end
|
5458
|
+
|
5459
|
+
def subtype_to_hash
|
5460
|
+
raise 'Cannot serialize an instance of expandable_order directly - must use one of the specific types: order, order_reference'
|
5461
|
+
end
|
5462
|
+
|
5463
|
+
def to_hash
|
5464
|
+
subtype_to_hash.merge(:discriminator => @discriminator)
|
5465
|
+
end
|
5466
|
+
|
5467
|
+
def ExpandableOrder.from_json(hash)
|
5468
|
+
HttpClient::Preconditions.assert_class('hash', hash, Hash)
|
5469
|
+
discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
|
5470
|
+
if discriminator.empty?
|
5471
|
+
raise "Union type[expandable_order] requires a field named 'discriminator'"
|
5472
|
+
end
|
5473
|
+
case discriminator
|
5474
|
+
when Types::ORDER; Order.new(hash)
|
5475
|
+
when Types::ORDER_REFERENCE; OrderReference.new(hash)
|
5476
|
+
else ExpandableOrderUndefinedType.new(:discriminator => discriminator)
|
5477
|
+
end
|
5478
|
+
end
|
5479
|
+
|
5480
|
+
end
|
5481
|
+
|
5482
|
+
class ExpandableOrderUndefinedType < ExpandableOrder
|
5483
|
+
|
5484
|
+
attr_reader :name
|
5485
|
+
|
5486
|
+
def initialize(incoming={})
|
5487
|
+
super(:discriminator => 'undefined_type')
|
5488
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
5489
|
+
@name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
|
5490
|
+
end
|
5491
|
+
|
5492
|
+
def subtype_to_hash
|
5493
|
+
raise 'Unable to serialize undefined type to json'
|
5494
|
+
end
|
5495
|
+
|
5496
|
+
def copy(incoming={})
|
5497
|
+
raise 'Operation not supported for undefined type'
|
5498
|
+
end
|
5499
|
+
|
5500
|
+
def to_hash
|
5501
|
+
raise 'Operation not supported for undefined type'
|
5502
|
+
end
|
5503
|
+
|
5504
|
+
end
|
5505
|
+
|
5292
5506
|
class ExpandableOrganization
|
5293
5507
|
|
5294
5508
|
module Types
|
@@ -5613,6 +5827,7 @@ module Io
|
|
5613
5827
|
HARMONIZATION_OVERVIEW_EXPORT_TYPE = 'harmonization_overview_export_type' unless defined?(HARMONIZATION_OVERVIEW_EXPORT_TYPE)
|
5614
5828
|
HARMONIZATION_HS6_EXPORT_TYPE = 'harmonization_hs6_export_type' unless defined?(HARMONIZATION_HS6_EXPORT_TYPE)
|
5615
5829
|
HARMONIZATION_HS10_EXPORT_TYPE = 'harmonization_hs10_export_type' unless defined?(HARMONIZATION_HS10_EXPORT_TYPE)
|
5830
|
+
UNHARMONIZED_ITEM_EXPORT_TYPE = 'unharmonized_item_export_type' unless defined?(UNHARMONIZED_ITEM_EXPORT_TYPE)
|
5616
5831
|
ORDER_EXPORT_TYPE = 'order_export_type' unless defined?(ORDER_EXPORT_TYPE)
|
5617
5832
|
SOLIDUS_PRODUCT_EXPORT_TYPE = 'solidus_product_export_type' unless defined?(SOLIDUS_PRODUCT_EXPORT_TYPE)
|
5618
5833
|
SOLIDUS_VARIANT_EXPORT_TYPE = 'solidus_variant_export_type' unless defined?(SOLIDUS_VARIANT_EXPORT_TYPE)
|
@@ -5627,7 +5842,7 @@ module Io
|
|
5627
5842
|
end
|
5628
5843
|
|
5629
5844
|
def subtype_to_hash
|
5630
|
-
raise 'Cannot serialize an instance of export_type directly - must use one of the specific types: account_transactions_export_type, account_orders_export_type, catalog_item_export_type, harmonization_overview_export_type, harmonization_hs6_export_type, harmonization_hs10_export_type, order_export_type, solidus_product_export_type, solidus_variant_export_type'
|
5845
|
+
raise 'Cannot serialize an instance of export_type directly - must use one of the specific types: account_transactions_export_type, account_orders_export_type, catalog_item_export_type, harmonization_overview_export_type, harmonization_hs6_export_type, harmonization_hs10_export_type, unharmonized_item_export_type, order_export_type, solidus_product_export_type, solidus_variant_export_type'
|
5631
5846
|
end
|
5632
5847
|
|
5633
5848
|
def to_hash
|
@@ -5647,6 +5862,7 @@ module Io
|
|
5647
5862
|
when Types::HARMONIZATION_OVERVIEW_EXPORT_TYPE; HarmonizationOverviewExportType.new(hash)
|
5648
5863
|
when Types::HARMONIZATION_HS6_EXPORT_TYPE; HarmonizationHs6ExportType.new(hash)
|
5649
5864
|
when Types::HARMONIZATION_HS10_EXPORT_TYPE; HarmonizationHs10ExportType.new(hash)
|
5865
|
+
when Types::UNHARMONIZED_ITEM_EXPORT_TYPE; UnharmonizedItemExportType.new(hash)
|
5650
5866
|
when Types::ORDER_EXPORT_TYPE; OrderExportType.new(hash)
|
5651
5867
|
when Types::SOLIDUS_PRODUCT_EXPORT_TYPE; SolidusProductExportType.new(hash)
|
5652
5868
|
when Types::SOLIDUS_VARIANT_EXPORT_TYPE; SolidusVariantExportType.new(hash)
|
@@ -7336,6 +7552,75 @@ module Io
|
|
7336
7552
|
|
7337
7553
|
end
|
7338
7554
|
|
7555
|
+
class CreditPaymentErrorCode
|
7556
|
+
|
7557
|
+
attr_reader :value
|
7558
|
+
|
7559
|
+
def initialize(value)
|
7560
|
+
@value = HttpClient::Preconditions.assert_class('value', value, String)
|
7561
|
+
end
|
7562
|
+
|
7563
|
+
# Returns the instance of CreditPaymentErrorCode for this value, creating a new instance for an unknown value
|
7564
|
+
def CreditPaymentErrorCode.apply(value)
|
7565
|
+
if value.instance_of?(CreditPaymentErrorCode)
|
7566
|
+
value
|
7567
|
+
else
|
7568
|
+
HttpClient::Preconditions.assert_class_or_nil('value', value, String)
|
7569
|
+
value.nil? ? nil : (from_string(value) || CreditPaymentErrorCode.new(value))
|
7570
|
+
end
|
7571
|
+
end
|
7572
|
+
|
7573
|
+
# Returns the instance of CreditPaymentErrorCode for this value, or nil if not found
|
7574
|
+
def CreditPaymentErrorCode.from_string(value)
|
7575
|
+
HttpClient::Preconditions.assert_class('value', value, String)
|
7576
|
+
CreditPaymentErrorCode.ALL.find { |v| v.value == value }
|
7577
|
+
end
|
7578
|
+
|
7579
|
+
def CreditPaymentErrorCode.ALL
|
7580
|
+
@@all ||= [CreditPaymentErrorCode.generic_error, CreditPaymentErrorCode.invalid_order_number, CreditPaymentErrorCode.invalid_currency, CreditPaymentErrorCode.invalid_description, CreditPaymentErrorCode.duplicate, CreditPaymentErrorCode.amount_must_be_positive, CreditPaymentErrorCode.amount_exceeds_balance]
|
7581
|
+
end
|
7582
|
+
|
7583
|
+
def CreditPaymentErrorCode.generic_error
|
7584
|
+
@@_generic_error ||= CreditPaymentErrorCode.new('generic_error')
|
7585
|
+
end
|
7586
|
+
|
7587
|
+
# Indicates the specified order does not exist
|
7588
|
+
def CreditPaymentErrorCode.invalid_order_number
|
7589
|
+
@@_invalid_order_number ||= CreditPaymentErrorCode.new('invalid_order_number')
|
7590
|
+
end
|
7591
|
+
|
7592
|
+
# Indicates that the specified currency code is not valid
|
7593
|
+
def CreditPaymentErrorCode.invalid_currency
|
7594
|
+
@@_invalid_currency ||= CreditPaymentErrorCode.new('invalid_currency')
|
7595
|
+
end
|
7596
|
+
|
7597
|
+
# Indicates that the description is invalid (must be non-empty)
|
7598
|
+
def CreditPaymentErrorCode.invalid_description
|
7599
|
+
@@_invalid_description ||= CreditPaymentErrorCode.new('invalid_description')
|
7600
|
+
end
|
7601
|
+
|
7602
|
+
# Indicates that a credit payment with the specified key already exists
|
7603
|
+
def CreditPaymentErrorCode.duplicate
|
7604
|
+
@@_duplicate ||= CreditPaymentErrorCode.new('duplicate')
|
7605
|
+
end
|
7606
|
+
|
7607
|
+
# Indicates the provided credit amount was <= 0
|
7608
|
+
def CreditPaymentErrorCode.amount_must_be_positive
|
7609
|
+
@@_amount_must_be_positive ||= CreditPaymentErrorCode.new('amount_must_be_positive')
|
7610
|
+
end
|
7611
|
+
|
7612
|
+
# Indicates the provided credit amount exceeds the remaining balance on the
|
7613
|
+
# order
|
7614
|
+
def CreditPaymentErrorCode.amount_exceeds_balance
|
7615
|
+
@@_amount_exceeds_balance ||= CreditPaymentErrorCode.new('amount_exceeds_balance')
|
7616
|
+
end
|
7617
|
+
|
7618
|
+
def to_hash
|
7619
|
+
value
|
7620
|
+
end
|
7621
|
+
|
7622
|
+
end
|
7623
|
+
|
7339
7624
|
class CvvCode
|
7340
7625
|
|
7341
7626
|
attr_reader :value
|
@@ -10268,18 +10553,18 @@ module Io
|
|
10268
10553
|
@@all ||= [SubcatalogItemStatus.excluded, SubcatalogItemStatus.included, SubcatalogItemStatus.restricted]
|
10269
10554
|
end
|
10270
10555
|
|
10271
|
-
#
|
10272
|
-
# marked as restricted.
|
10556
|
+
# The user has chosen to exclude the item from the associated subcatalog.
|
10273
10557
|
def SubcatalogItemStatus.excluded
|
10274
10558
|
@@_excluded ||= SubcatalogItemStatus.new('excluded')
|
10275
10559
|
end
|
10276
10560
|
|
10277
|
-
#
|
10561
|
+
# The item is included in the associated subcatalog.
|
10278
10562
|
def SubcatalogItemStatus.included
|
10279
10563
|
@@_included ||= SubcatalogItemStatus.new('included')
|
10280
10564
|
end
|
10281
10565
|
|
10282
|
-
# Item is
|
10566
|
+
# Item is not allowed to be sold in the market associated with the given
|
10567
|
+
# subcatalog.
|
10283
10568
|
def SubcatalogItemStatus.restricted
|
10284
10569
|
@@_restricted ||= SubcatalogItemStatus.new('restricted')
|
10285
10570
|
end
|
@@ -13688,6 +13973,181 @@ module Io
|
|
13688
13973
|
|
13689
13974
|
end
|
13690
13975
|
|
13976
|
+
# A Credit Payment records a 'non cash' payment against an order (e.g. a store
|
13977
|
+
# credit, gift card, etc.), recording the amount of that credit and additional
|
13978
|
+
# details to reconcile payments. The primary purpose of the credit payment is to
|
13979
|
+
# record that a payment has been made against an order so the remaining balance
|
13980
|
+
# can be correctly computed.
|
13981
|
+
class CreditPayment
|
13982
|
+
|
13983
|
+
attr_reader :id, :order, :key, :description, :value, :original, :attributes
|
13984
|
+
|
13985
|
+
def initialize(incoming={})
|
13986
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
13987
|
+
HttpClient::Preconditions.require_keys(opts, [:id, :order, :key, :description, :value, :original, :attributes], 'CreditPayment')
|
13988
|
+
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
13989
|
+
@order = (x = opts.delete(:order); x.is_a?(::Io::Flow::V0::Models::ExpandableOrder) ? x : ::Io::Flow::V0::Models::ExpandableOrder.from_json(x))
|
13990
|
+
@key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
|
13991
|
+
@description = HttpClient::Preconditions.assert_class('description', opts.delete(:description), String)
|
13992
|
+
@value = (x = opts.delete(:value); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
|
13993
|
+
@original = (x = opts.delete(:original); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
|
13994
|
+
@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 }
|
13995
|
+
end
|
13996
|
+
|
13997
|
+
def to_json
|
13998
|
+
JSON.dump(to_hash)
|
13999
|
+
end
|
14000
|
+
|
14001
|
+
def copy(incoming={})
|
14002
|
+
CreditPayment.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
14003
|
+
end
|
14004
|
+
|
14005
|
+
def to_hash
|
14006
|
+
{
|
14007
|
+
:id => id,
|
14008
|
+
:order => order.to_hash,
|
14009
|
+
:key => key,
|
14010
|
+
:description => description,
|
14011
|
+
:value => value.to_hash,
|
14012
|
+
:original => original.to_hash,
|
14013
|
+
:attributes => attributes
|
14014
|
+
}
|
14015
|
+
end
|
14016
|
+
|
14017
|
+
end
|
14018
|
+
|
14019
|
+
class CreditPaymentError
|
14020
|
+
|
14021
|
+
attr_reader :code, :messages, :codes
|
14022
|
+
|
14023
|
+
def initialize(incoming={})
|
14024
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
14025
|
+
HttpClient::Preconditions.require_keys(opts, [:code, :messages, :codes], 'CreditPaymentError')
|
14026
|
+
@code = (x = opts.delete(:code); x.is_a?(::Io::Flow::V0::Models::CreditPaymentErrorCode) ? x : ::Io::Flow::V0::Models::CreditPaymentErrorCode.apply(x))
|
14027
|
+
@messages = HttpClient::Preconditions.assert_class('messages', opts.delete(:messages), Array).map { |v| HttpClient::Preconditions.assert_class('messages', v, String) }
|
14028
|
+
@codes = HttpClient::Preconditions.assert_class('codes', opts.delete(:codes), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::CreditPaymentErrorCode) ? x : ::Io::Flow::V0::Models::CreditPaymentErrorCode.apply(x)) }
|
14029
|
+
end
|
14030
|
+
|
14031
|
+
def to_json
|
14032
|
+
JSON.dump(to_hash)
|
14033
|
+
end
|
14034
|
+
|
14035
|
+
def copy(incoming={})
|
14036
|
+
CreditPaymentError.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
14037
|
+
end
|
14038
|
+
|
14039
|
+
def to_hash
|
14040
|
+
{
|
14041
|
+
:code => code.value,
|
14042
|
+
:messages => messages,
|
14043
|
+
:codes => codes.map { |o| o.value }
|
14044
|
+
}
|
14045
|
+
end
|
14046
|
+
|
14047
|
+
end
|
14048
|
+
|
14049
|
+
class CreditPaymentForm
|
14050
|
+
|
14051
|
+
attr_reader :order_number, :key, :description, :amount, :currency, :attributes
|
14052
|
+
|
14053
|
+
def initialize(incoming={})
|
14054
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
14055
|
+
HttpClient::Preconditions.require_keys(opts, [:order_number, :description, :amount, :currency], 'CreditPaymentForm')
|
14056
|
+
@order_number = HttpClient::Preconditions.assert_class('order_number', opts.delete(:order_number), String)
|
14057
|
+
@key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
|
14058
|
+
@description = HttpClient::Preconditions.assert_class('description', opts.delete(:description), String)
|
14059
|
+
@amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
|
14060
|
+
@currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
|
14061
|
+
@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 })
|
14062
|
+
end
|
14063
|
+
|
14064
|
+
def to_json
|
14065
|
+
JSON.dump(to_hash)
|
14066
|
+
end
|
14067
|
+
|
14068
|
+
def copy(incoming={})
|
14069
|
+
CreditPaymentForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
14070
|
+
end
|
14071
|
+
|
14072
|
+
def to_hash
|
14073
|
+
{
|
14074
|
+
:order_number => order_number,
|
14075
|
+
:key => key,
|
14076
|
+
:description => description,
|
14077
|
+
:amount => amount,
|
14078
|
+
:currency => currency,
|
14079
|
+
:attributes => attributes.nil? ? nil : attributes
|
14080
|
+
}
|
14081
|
+
end
|
14082
|
+
|
14083
|
+
end
|
14084
|
+
|
14085
|
+
class CreditPaymentPutForm
|
14086
|
+
|
14087
|
+
attr_reader :order_number, :description, :amount, :currency, :attributes
|
14088
|
+
|
14089
|
+
def initialize(incoming={})
|
14090
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
14091
|
+
HttpClient::Preconditions.require_keys(opts, [:order_number, :description, :amount, :currency], 'CreditPaymentPutForm')
|
14092
|
+
@order_number = HttpClient::Preconditions.assert_class('order_number', opts.delete(:order_number), String)
|
14093
|
+
@description = HttpClient::Preconditions.assert_class('description', opts.delete(:description), String)
|
14094
|
+
@amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
|
14095
|
+
@currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
|
14096
|
+
@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 })
|
14097
|
+
end
|
14098
|
+
|
14099
|
+
def to_json
|
14100
|
+
JSON.dump(to_hash)
|
14101
|
+
end
|
14102
|
+
|
14103
|
+
def copy(incoming={})
|
14104
|
+
CreditPaymentPutForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
14105
|
+
end
|
14106
|
+
|
14107
|
+
def to_hash
|
14108
|
+
{
|
14109
|
+
:order_number => order_number,
|
14110
|
+
:description => description,
|
14111
|
+
:amount => amount,
|
14112
|
+
:currency => currency,
|
14113
|
+
:attributes => attributes.nil? ? nil : attributes
|
14114
|
+
}
|
14115
|
+
end
|
14116
|
+
|
14117
|
+
end
|
14118
|
+
|
14119
|
+
class CreditPaymentVersion
|
14120
|
+
|
14121
|
+
attr_reader :id, :timestamp, :type, :credit_payment
|
14122
|
+
|
14123
|
+
def initialize(incoming={})
|
14124
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
14125
|
+
HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :credit_payment], 'CreditPaymentVersion')
|
14126
|
+
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
14127
|
+
@timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
|
14128
|
+
@type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
|
14129
|
+
@credit_payment = (x = opts.delete(:credit_payment); x.is_a?(::Io::Flow::V0::Models::CreditPayment) ? x : ::Io::Flow::V0::Models::CreditPayment.new(x))
|
14130
|
+
end
|
14131
|
+
|
14132
|
+
def to_json
|
14133
|
+
JSON.dump(to_hash)
|
14134
|
+
end
|
14135
|
+
|
14136
|
+
def copy(incoming={})
|
14137
|
+
CreditPaymentVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
14138
|
+
end
|
14139
|
+
|
14140
|
+
def to_hash
|
14141
|
+
{
|
14142
|
+
:id => id,
|
14143
|
+
:timestamp => timestamp,
|
14144
|
+
:type => type.value,
|
14145
|
+
:credit_payment => credit_payment.to_hash
|
14146
|
+
}
|
14147
|
+
end
|
14148
|
+
|
14149
|
+
end
|
14150
|
+
|
13691
14151
|
# ISO 4217 3-character currency code. See
|
13692
14152
|
# https://api.flow.io/reference/currencies
|
13693
14153
|
class Currency
|
@@ -13876,72 +14336,6 @@ module Io
|
|
13876
14336
|
|
13877
14337
|
end
|
13878
14338
|
|
13879
|
-
# Represents a collection of items, the available delivery option tier for that
|
13880
|
-
# collection of items, and metadata about those options
|
13881
|
-
class Delivery
|
13882
|
-
|
13883
|
-
attr_reader :id, :center, :items, :options
|
13884
|
-
|
13885
|
-
def initialize(incoming={})
|
13886
|
-
opts = HttpClient::Helper.symbolize_keys(incoming)
|
13887
|
-
HttpClient::Preconditions.require_keys(opts, [:id, :items, :options], 'Delivery')
|
13888
|
-
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
13889
|
-
@center = (x = opts.delete(:center); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::CenterSummary) ? x : ::Io::Flow::V0::Models::CenterSummary.new(x)))
|
13890
|
-
@items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x)) }
|
13891
|
-
@options = HttpClient::Preconditions.assert_class('options', opts.delete(:options), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::DeliveryOption) ? x : ::Io::Flow::V0::Models::DeliveryOption.new(x)) }
|
13892
|
-
end
|
13893
|
-
|
13894
|
-
def to_json
|
13895
|
-
JSON.dump(to_hash)
|
13896
|
-
end
|
13897
|
-
|
13898
|
-
def copy(incoming={})
|
13899
|
-
Delivery.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
13900
|
-
end
|
13901
|
-
|
13902
|
-
def to_hash
|
13903
|
-
{
|
13904
|
-
:id => id,
|
13905
|
-
:center => center.nil? ? nil : center.to_hash,
|
13906
|
-
:items => items.map { |o| o.to_hash },
|
13907
|
-
:options => options.map { |o| o.to_hash }
|
13908
|
-
}
|
13909
|
-
end
|
13910
|
-
|
13911
|
-
end
|
13912
|
-
|
13913
|
-
# Represents a collection of items, the available delivery option tier for that
|
13914
|
-
# collection of items, and metadata about those options
|
13915
|
-
class DeliveryForm
|
13916
|
-
|
13917
|
-
attr_reader :quote, :items, :destination
|
13918
|
-
|
13919
|
-
def initialize(incoming={})
|
13920
|
-
opts = HttpClient::Helper.symbolize_keys(incoming)
|
13921
|
-
HttpClient::Preconditions.require_keys(opts, [:quote, :items, :destination], 'DeliveryForm')
|
13922
|
-
@quote = HttpClient::Preconditions.assert_class('quote', opts.delete(:quote), String)
|
13923
|
-
@items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x)) }
|
13924
|
-
@destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
|
13925
|
-
end
|
13926
|
-
|
13927
|
-
def to_json
|
13928
|
-
JSON.dump(to_hash)
|
13929
|
-
end
|
13930
|
-
|
13931
|
-
def copy(incoming={})
|
13932
|
-
DeliveryForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
13933
|
-
end
|
13934
|
-
|
13935
|
-
def to_hash
|
13936
|
-
{
|
13937
|
-
:quote => quote,
|
13938
|
-
:items => items.map { |o| o.to_hash },
|
13939
|
-
:destination => destination.to_hash
|
13940
|
-
}
|
13941
|
-
end
|
13942
|
-
|
13943
|
-
end
|
13944
|
-
|
13945
14339
|
# Represents a way to fulfill a delivery, including an estimates for the date
|
13946
14340
|
# range and cost
|
13947
14341
|
class DeliveryOption
|
@@ -14272,6 +14666,37 @@ module Io
|
|
14272
14666
|
|
14273
14667
|
end
|
14274
14668
|
|
14669
|
+
# Represents a collection of items that are digitally available and do not
|
14670
|
+
# require a physical shipment
|
14671
|
+
class DigitalDelivery < Delivery
|
14672
|
+
|
14673
|
+
attr_reader :id, :items
|
14674
|
+
|
14675
|
+
def initialize(incoming={})
|
14676
|
+
super(:discriminator => Delivery::Types::DIGITAL_DELIVERY)
|
14677
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
14678
|
+
HttpClient::Preconditions.require_keys(opts, [:id, :items], 'DigitalDelivery')
|
14679
|
+
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
14680
|
+
@items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x)) }
|
14681
|
+
end
|
14682
|
+
|
14683
|
+
def to_json
|
14684
|
+
JSON.dump(to_hash)
|
14685
|
+
end
|
14686
|
+
|
14687
|
+
def copy(incoming={})
|
14688
|
+
DigitalDelivery.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
14689
|
+
end
|
14690
|
+
|
14691
|
+
def subtype_to_hash
|
14692
|
+
{
|
14693
|
+
:id => id,
|
14694
|
+
:items => items.map { |o| o.to_hash }
|
14695
|
+
}
|
14696
|
+
end
|
14697
|
+
|
14698
|
+
end
|
14699
|
+
|
14275
14700
|
class Dimension
|
14276
14701
|
|
14277
14702
|
attr_reader :depth, :diameter, :length, :weight, :width
|
@@ -19641,11 +20066,12 @@ module Io
|
|
19641
20066
|
# checkout, then to submit that order as part of the user submitting their
|
19642
20067
|
# order. Note that Flow will automatically mark an order submitted if we see a
|
19643
20068
|
# payment authorization for an order.
|
19644
|
-
class Order
|
20069
|
+
class Order < ExpandableOrder
|
19645
20070
|
|
19646
20071
|
attr_reader :id, :number, :experience, :customer, :delivered_duty, :destination, :expires_at, :items, :deliveries, :selections, :prices, :total, :attributes, :submitted_at, :lines, :identifiers, :promotions, :payments, :balance
|
19647
20072
|
|
19648
20073
|
def initialize(incoming={})
|
20074
|
+
super(:discriminator => ExpandableOrder::Types::ORDER)
|
19649
20075
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
19650
20076
|
HttpClient::Preconditions.require_keys(opts, [:id, :number, :customer, :delivered_duty, :destination, :expires_at, :items, :deliveries, :selections, :prices, :total, :attributes], 'Order')
|
19651
20077
|
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
@@ -19656,7 +20082,7 @@ module Io
|
|
19656
20082
|
@destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::OrderAddress) ? x : ::Io::Flow::V0::Models::OrderAddress.new(x))
|
19657
20083
|
@expires_at = HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:expires_at)), DateTime)
|
19658
20084
|
@items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LocalizedLineItem) ? x : ::Io::Flow::V0::Models::LocalizedLineItem.new(x)) }
|
19659
|
-
@deliveries = HttpClient::Preconditions.assert_class('deliveries', opts.delete(:deliveries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Delivery) ? x : ::Io::Flow::V0::Models::Delivery.
|
20085
|
+
@deliveries = HttpClient::Preconditions.assert_class('deliveries', opts.delete(:deliveries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Delivery) ? x : ::Io::Flow::V0::Models::Delivery.from_json(x)) }
|
19660
20086
|
@selections = HttpClient::Preconditions.assert_class('selections', opts.delete(:selections), Array).map { |v| HttpClient::Preconditions.assert_class('selections', v, String) }
|
19661
20087
|
@prices = HttpClient::Preconditions.assert_class('prices', opts.delete(:prices), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::OrderPriceDetail) ? x : ::Io::Flow::V0::Models::OrderPriceDetail.new(x)) }
|
19662
20088
|
@total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::LocalizedTotal) ? x : ::Io::Flow::V0::Models::LocalizedTotal.new(x))
|
@@ -19674,10 +20100,10 @@ module Io
|
|
19674
20100
|
end
|
19675
20101
|
|
19676
20102
|
def copy(incoming={})
|
19677
|
-
Order.new(
|
20103
|
+
Order.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
19678
20104
|
end
|
19679
20105
|
|
19680
|
-
def
|
20106
|
+
def subtype_to_hash
|
19681
20107
|
{
|
19682
20108
|
:id => id,
|
19683
20109
|
:number => number,
|
@@ -19820,7 +20246,7 @@ module Io
|
|
19820
20246
|
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
19821
20247
|
@items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LocalizedLineItem) ? x : ::Io::Flow::V0::Models::LocalizedLineItem.new(x)) }
|
19822
20248
|
@destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::OrderAddress) ? x : ::Io::Flow::V0::Models::OrderAddress.new(x))
|
19823
|
-
@deliveries = HttpClient::Preconditions.assert_class('deliveries', opts.delete(:deliveries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Delivery) ? x : ::Io::Flow::V0::Models::Delivery.
|
20249
|
+
@deliveries = HttpClient::Preconditions.assert_class('deliveries', opts.delete(:deliveries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Delivery) ? x : ::Io::Flow::V0::Models::Delivery.from_json(x)) }
|
19824
20250
|
@prices = HttpClient::Preconditions.assert_class('prices', opts.delete(:prices), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::OrderPriceDetail) ? x : ::Io::Flow::V0::Models::OrderPriceDetail.new(x)) }
|
19825
20251
|
@selections = HttpClient::Preconditions.assert_class('selections', opts.delete(:selections), Array).map { |v| HttpClient::Preconditions.assert_class('selections', v, String) }
|
19826
20252
|
@total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::LocalizedTotal) ? x : ::Io::Flow::V0::Models::LocalizedTotal.new(x))
|
@@ -20298,11 +20724,12 @@ module Io
|
|
20298
20724
|
|
20299
20725
|
end
|
20300
20726
|
|
20301
|
-
class OrderReference
|
20727
|
+
class OrderReference < ExpandableOrder
|
20302
20728
|
|
20303
20729
|
attr_reader :id, :number
|
20304
20730
|
|
20305
20731
|
def initialize(incoming={})
|
20732
|
+
super(:discriminator => ExpandableOrder::Types::ORDER_REFERENCE)
|
20306
20733
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
20307
20734
|
HttpClient::Preconditions.require_keys(opts, [:id, :number], 'OrderReference')
|
20308
20735
|
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
@@ -20314,10 +20741,10 @@ module Io
|
|
20314
20741
|
end
|
20315
20742
|
|
20316
20743
|
def copy(incoming={})
|
20317
|
-
OrderReference.new(
|
20744
|
+
OrderReference.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
20318
20745
|
end
|
20319
20746
|
|
20320
|
-
def
|
20747
|
+
def subtype_to_hash
|
20321
20748
|
{
|
20322
20749
|
:id => id,
|
20323
20750
|
:number => number
|
@@ -21706,6 +22133,41 @@ module Io
|
|
21706
22133
|
|
21707
22134
|
end
|
21708
22135
|
|
22136
|
+
# Represents a collection of items, the available delivery option tier for that
|
22137
|
+
# collection of items, and metadata about those options
|
22138
|
+
class PhysicalDelivery < Delivery
|
22139
|
+
|
22140
|
+
attr_reader :id, :center, :items, :options
|
22141
|
+
|
22142
|
+
def initialize(incoming={})
|
22143
|
+
super(:discriminator => Delivery::Types::PHYSICAL_DELIVERY)
|
22144
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
22145
|
+
HttpClient::Preconditions.require_keys(opts, [:id, :items, :options], 'PhysicalDelivery')
|
22146
|
+
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
22147
|
+
@center = (x = opts.delete(:center); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::CenterSummary) ? x : ::Io::Flow::V0::Models::CenterSummary.new(x)))
|
22148
|
+
@items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x)) }
|
22149
|
+
@options = HttpClient::Preconditions.assert_class('options', opts.delete(:options), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::DeliveryOption) ? x : ::Io::Flow::V0::Models::DeliveryOption.new(x)) }
|
22150
|
+
end
|
22151
|
+
|
22152
|
+
def to_json
|
22153
|
+
JSON.dump(to_hash)
|
22154
|
+
end
|
22155
|
+
|
22156
|
+
def copy(incoming={})
|
22157
|
+
PhysicalDelivery.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
22158
|
+
end
|
22159
|
+
|
22160
|
+
def subtype_to_hash
|
22161
|
+
{
|
22162
|
+
:id => id,
|
22163
|
+
:center => center.nil? ? nil : center.to_hash,
|
22164
|
+
:items => items.map { |o| o.to_hash },
|
22165
|
+
:options => options.map { |o| o.to_hash }
|
22166
|
+
}
|
22167
|
+
end
|
22168
|
+
|
22169
|
+
end
|
22170
|
+
|
21709
22171
|
# Represents an amount-currency pair for a basic price
|
21710
22172
|
class Price
|
21711
22173
|
|
@@ -22319,7 +22781,7 @@ module Io
|
|
22319
22781
|
HttpClient::Preconditions.require_keys(opts, [:id, :destination, :deliveries, :selections], 'Quote')
|
22320
22782
|
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
22321
22783
|
@destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
|
22322
|
-
@deliveries = HttpClient::Preconditions.assert_class('deliveries', opts.delete(:deliveries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Delivery) ? x : ::Io::Flow::V0::Models::Delivery.
|
22784
|
+
@deliveries = HttpClient::Preconditions.assert_class('deliveries', opts.delete(:deliveries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Delivery) ? x : ::Io::Flow::V0::Models::Delivery.from_json(x)) }
|
22323
22785
|
@selections = HttpClient::Preconditions.assert_class('selections', opts.delete(:selections), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::DeliveryOptionReference) ? x : ::Io::Flow::V0::Models::DeliveryOptionReference.new(x)) }
|
22324
22786
|
@delivered_duty = (x = (x = opts.delete(:delivered_duty); x.nil? ? "paid" : x); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
|
22325
22787
|
end
|
@@ -26193,6 +26655,44 @@ module Io
|
|
26193
26655
|
|
26194
26656
|
end
|
26195
26657
|
|
26658
|
+
# Combines HS10 export and catalog item export for items that require
|
26659
|
+
# harmonization.
|
26660
|
+
class UnharmonizedItemExportType < ExportType
|
26661
|
+
|
26662
|
+
attr_reader :origin, :destination, :numbers, :has_codes, :has_origins, :sort
|
26663
|
+
|
26664
|
+
def initialize(incoming={})
|
26665
|
+
super(:discriminator => ExportType::Types::UNHARMONIZED_ITEM_EXPORT_TYPE)
|
26666
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
26667
|
+
@origin = (x = opts.delete(:origin); x.nil? ? nil : HttpClient::Preconditions.assert_class('origin', x, String))
|
26668
|
+
@destination = (x = opts.delete(:destination); x.nil? ? nil : HttpClient::Preconditions.assert_class('destination', x, String))
|
26669
|
+
@numbers = (x = opts.delete(:numbers); x.nil? ? nil : HttpClient::Preconditions.assert_class('numbers', x, Array).map { |v| HttpClient::Preconditions.assert_class('numbers', v, String) })
|
26670
|
+
@has_codes = (x = opts.delete(:has_codes); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('has_codes', x))
|
26671
|
+
@has_origins = (x = opts.delete(:has_origins); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('has_origins', x))
|
26672
|
+
@sort = (x = opts.delete(:sort); x.nil? ? nil : HttpClient::Preconditions.assert_class('sort', x, String))
|
26673
|
+
end
|
26674
|
+
|
26675
|
+
def to_json
|
26676
|
+
JSON.dump(to_hash)
|
26677
|
+
end
|
26678
|
+
|
26679
|
+
def copy(incoming={})
|
26680
|
+
UnharmonizedItemExportType.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
26681
|
+
end
|
26682
|
+
|
26683
|
+
def subtype_to_hash
|
26684
|
+
{
|
26685
|
+
:origin => origin,
|
26686
|
+
:destination => destination,
|
26687
|
+
:numbers => numbers.nil? ? nil : numbers,
|
26688
|
+
:has_codes => has_codes,
|
26689
|
+
:has_origins => has_origins,
|
26690
|
+
:sort => sort
|
26691
|
+
}
|
26692
|
+
end
|
26693
|
+
|
26694
|
+
end
|
26695
|
+
|
26196
26696
|
# Provides the ability to upload a file to a URL (an expiring s3 url, usually
|
26197
26697
|
# valid for 1 week)
|
26198
26698
|
class Upload
|
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.
|
4
|
+
version: 0.2.21
|
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: 2017-06-
|
11
|
+
date: 2017-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|