flowcommerce 0.2.19 → 0.2.20

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: afc95c1997b26e43995dcb615a80a2da52d561b6
4
- data.tar.gz: 65b268ec436733976c79b6dcea4421632dd3aa02
3
+ metadata.gz: 8428501e2efb49365c317cad3ab87935641a633c
4
+ data.tar.gz: 6e2c51771003a515df1f9dbb1ac4e374f03874e2
5
5
  SHA512:
6
- metadata.gz: 63fd6e67c8b29f727623fbdb97f09f1e88baf87387fb4d48cad18a5bdf5e53227efe773aa0202c5bae3e3a8fa01bbe66b87f25e3a31548df8557ae6b64097784
7
- data.tar.gz: 38c2917e4a1e35e67c09eb7e42d670f3af2fca18e6493979b8a6a0c8a38aad20e9ec9efe0791b44f8da663fe48d39112b49a568ea150cfaf48fae50173ec5276
6
+ metadata.gz: 1ef2330e31b6c91229e54c590057d27ecbccdd3b879e731f5eadd22ed979fdc4073d5010be47c0a211bad3909697dff8041d10997d3d24ca8ae3332a93ebf4d3
7
+ data.tar.gz: 8950cc292dd9e72b7b35a5db2cd127cd9192d888aa384ad3616ac141a5632f02581a7c8b4aeeea678227048906d1e20c01330c1fe34ae86122e259bdf2df207d
@@ -1,6 +1,6 @@
1
1
  # Generated by apidoc - http://www.apidoc.me
2
2
  # Service version: 0.3.28
3
- # apidoc:0.11.89 http://www.apidoc.me/flow/api/0.3.34/ruby_client
3
+ # apidoc:0.11.92 http://www.apidoc.me/flow/api/0.3.34/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.89 http://www.apidoc.me/flow/api/0.3.34/ruby_client' unless defined?(Constants::USER_AGENT)
28
+ USER_AGENT = 'apidoc:0.11.92 http://www.apidoc.me/flow/api/0.3.34/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
 
@@ -212,6 +212,10 @@ module Io
212
212
  @inventory_updates ||= ::Io::Flow::V0::Clients::InventoryUpdates.new(self)
213
213
  end
214
214
 
215
+ def manifests
216
+ @manifests ||= ::Io::Flow::V0::Clients::Manifests.new(self)
217
+ end
218
+
215
219
  def quotes
216
220
  @quotes ||= ::Io::Flow::V0::Clients::Quotes.new(self)
217
221
  end
@@ -2721,6 +2725,58 @@ module Io
2721
2725
 
2722
2726
  end
2723
2727
 
2728
+ class Manifests
2729
+
2730
+ def initialize(client)
2731
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2732
+ end
2733
+
2734
+ def get(organization, incoming={})
2735
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2736
+ opts = HttpClient::Helper.symbolize_keys(incoming)
2737
+ query = {
2738
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2739
+ :carrier_tracking_number => (x = opts.delete(:carrier_tracking_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('carrier_tracking_number', x, Array).map { |v| HttpClient::Preconditions.assert_class('carrier_tracking_number', v, String) }),
2740
+ :flow_tracking_number => (x = opts.delete(:flow_tracking_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('flow_tracking_number', x, Array).map { |v| HttpClient::Preconditions.assert_class('flow_tracking_number', v, String) }),
2741
+ :service => (x = opts.delete(:service); x.nil? ? nil : HttpClient::Preconditions.assert_class('service', x, Array).map { |v| HttpClient::Preconditions.assert_class('service', v, String) }),
2742
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2743
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2744
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2745
+ }.delete_if { |k, v| v.nil? }
2746
+ r = @client.request("/#{CGI.escape(organization)}/manifests").with_query(query).get
2747
+ r.map { |x| ::Io::Flow::V0::Models::Manifest.new(x) }
2748
+ end
2749
+
2750
+ def get_by_id(organization, id)
2751
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2752
+ HttpClient::Preconditions.assert_class('id', id, String)
2753
+ r = @client.request("/#{CGI.escape(organization)}/manifests/#{CGI.escape(id)}").get
2754
+ ::Io::Flow::V0::Models::Manifest.new(r)
2755
+ end
2756
+
2757
+ # Generates a new manifest with all outstanding labels and redirects to a
2758
+ # downloadable PDF of carrier-generated manifest or bill of lading (BOL). If
2759
+ # no outstanding labels, this will generate a 422 error.
2760
+ def get_type_and_all(organization, incoming={})
2761
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2762
+ opts = HttpClient::Helper.symbolize_keys(incoming)
2763
+ query = {
2764
+ :service => HttpClient::Preconditions.assert_class('service', opts.delete(:service), String)
2765
+ }.delete_if { |k, v| v.nil? }
2766
+ r = @client.request("/#{CGI.escape(organization)}/manifests/type/all").with_query(query).get
2767
+ r
2768
+ end
2769
+
2770
+ # Generate a new manifest/carrier BOL with specific tracking numbers
2771
+ def post_type_and_list(organization, manifest_form)
2772
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2773
+ (x = manifest_form; x.is_a?(::Io::Flow::V0::Models::ManifestForm) ? x : ::Io::Flow::V0::Models::ManifestForm.new(x))
2774
+ r = @client.request("/#{CGI.escape(organization)}/manifests/type/list").with_json(manifest_form.to_json).post
2775
+ ::Io::Flow::V0::Models::Manifest.new(r)
2776
+ end
2777
+
2778
+ end
2779
+
2724
2780
  class Quotes
2725
2781
 
2726
2782
  def initialize(client)
@@ -8539,6 +8595,51 @@ module Io
8539
8595
 
8540
8596
  end
8541
8597
 
8598
+ class ManifestType
8599
+
8600
+ attr_reader :value
8601
+
8602
+ def initialize(value)
8603
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
8604
+ end
8605
+
8606
+ # Returns the instance of ManifestType for this value, creating a new instance for an unknown value
8607
+ def ManifestType.apply(value)
8608
+ if value.instance_of?(ManifestType)
8609
+ value
8610
+ else
8611
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
8612
+ value.nil? ? nil : (from_string(value) || ManifestType.new(value))
8613
+ end
8614
+ end
8615
+
8616
+ # Returns the instance of ManifestType for this value, or nil if not found
8617
+ def ManifestType.from_string(value)
8618
+ HttpClient::Preconditions.assert_class('value', value, String)
8619
+ ManifestType.ALL.find { |v| v.value == value }
8620
+ end
8621
+
8622
+ def ManifestType.ALL
8623
+ @@all ||= [ManifestType.all, ManifestType.list]
8624
+ end
8625
+
8626
+ # Manifest all open shipping labels that are not part of a manifest yet for the
8627
+ # organization and carrier service
8628
+ def ManifestType.all
8629
+ @@_all ||= ManifestType.new('all')
8630
+ end
8631
+
8632
+ # Manifest only the list of specified labels
8633
+ def ManifestType.list
8634
+ @@_list ||= ManifestType.new('list')
8635
+ end
8636
+
8637
+ def to_hash
8638
+ value
8639
+ end
8640
+
8641
+ end
8642
+
8542
8643
  class MarginType
8543
8644
 
8544
8645
  attr_reader :value
@@ -10354,6 +10455,48 @@ module Io
10354
10455
 
10355
10456
  end
10356
10457
 
10458
+ class TrackingNumberType
10459
+
10460
+ attr_reader :value
10461
+
10462
+ def initialize(value)
10463
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
10464
+ end
10465
+
10466
+ # Returns the instance of TrackingNumberType for this value, creating a new instance for an unknown value
10467
+ def TrackingNumberType.apply(value)
10468
+ if value.instance_of?(TrackingNumberType)
10469
+ value
10470
+ else
10471
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
10472
+ value.nil? ? nil : (from_string(value) || TrackingNumberType.new(value))
10473
+ end
10474
+ end
10475
+
10476
+ # Returns the instance of TrackingNumberType for this value, or nil if not found
10477
+ def TrackingNumberType.from_string(value)
10478
+ HttpClient::Preconditions.assert_class('value', value, String)
10479
+ TrackingNumberType.ALL.find { |v| v.value == value }
10480
+ end
10481
+
10482
+ def TrackingNumberType.ALL
10483
+ @@all ||= [TrackingNumberType.flow, TrackingNumberType.carrier]
10484
+ end
10485
+
10486
+ def TrackingNumberType.flow
10487
+ @@_flow ||= TrackingNumberType.new('flow')
10488
+ end
10489
+
10490
+ def TrackingNumberType.carrier
10491
+ @@_carrier ||= TrackingNumberType.new('carrier')
10492
+ end
10493
+
10494
+ def to_hash
10495
+ value
10496
+ end
10497
+
10498
+ end
10499
+
10357
10500
  class TrackingStatus
10358
10501
 
10359
10502
  attr_reader :value
@@ -18704,6 +18847,74 @@ module Io
18704
18847
 
18705
18848
  end
18706
18849
 
18850
+ # Represents closeout of a group of labels that have been transfered to the
18851
+ # carrier for shipping
18852
+ class Manifest
18853
+
18854
+ attr_reader :id, :type, :service, :timestamp, :shipping_labels, :pdf
18855
+
18856
+ def initialize(incoming={})
18857
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18858
+ HttpClient::Preconditions.require_keys(opts, [:id, :type, :service, :timestamp, :shipping_labels], 'Manifest')
18859
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
18860
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ManifestType) ? x : ::Io::Flow::V0::Models::ManifestType.apply(x))
18861
+ @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::ServiceSummary) ? x : ::Io::Flow::V0::Models::ServiceSummary.new(x))
18862
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
18863
+ @shipping_labels = HttpClient::Preconditions.assert_class('shipping_labels', opts.delete(:shipping_labels), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLabelSummary) ? x : ::Io::Flow::V0::Models::ShippingLabelSummary.new(x)) }
18864
+ @pdf = (x = opts.delete(:pdf); x.nil? ? nil : HttpClient::Preconditions.assert_class('pdf', x, String))
18865
+ end
18866
+
18867
+ def to_json
18868
+ JSON.dump(to_hash)
18869
+ end
18870
+
18871
+ def copy(incoming={})
18872
+ Manifest.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18873
+ end
18874
+
18875
+ def to_hash
18876
+ {
18877
+ :id => id,
18878
+ :type => type.value,
18879
+ :service => service.to_hash,
18880
+ :timestamp => timestamp,
18881
+ :shipping_labels => shipping_labels.map { |o| o.to_hash },
18882
+ :pdf => pdf
18883
+ }
18884
+ end
18885
+
18886
+ end
18887
+
18888
+ class ManifestForm
18889
+
18890
+ attr_reader :service, :tracking_number_type, :tracking_numbers
18891
+
18892
+ def initialize(incoming={})
18893
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18894
+ HttpClient::Preconditions.require_keys(opts, [:service, :tracking_number_type, :tracking_numbers], 'ManifestForm')
18895
+ @service = HttpClient::Preconditions.assert_class('service', opts.delete(:service), String)
18896
+ @tracking_number_type = (x = opts.delete(:tracking_number_type); x.is_a?(::Io::Flow::V0::Models::TrackingNumberType) ? x : ::Io::Flow::V0::Models::TrackingNumberType.apply(x))
18897
+ @tracking_numbers = HttpClient::Preconditions.assert_class('tracking_numbers', opts.delete(:tracking_numbers), Array).map { |v| HttpClient::Preconditions.assert_class('tracking_numbers', v, String) }
18898
+ end
18899
+
18900
+ def to_json
18901
+ JSON.dump(to_hash)
18902
+ end
18903
+
18904
+ def copy(incoming={})
18905
+ ManifestForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18906
+ end
18907
+
18908
+ def to_hash
18909
+ {
18910
+ :service => service,
18911
+ :tracking_number_type => tracking_number_type.value,
18912
+ :tracking_numbers => tracking_numbers
18913
+ }
18914
+ end
18915
+
18916
+ end
18917
+
18707
18918
  class Margin
18708
18919
 
18709
18920
  attr_reader :type, :value
@@ -23686,6 +23897,36 @@ module Io
23686
23897
 
23687
23898
  end
23688
23899
 
23900
+ class ShippingLabelSummary
23901
+
23902
+ attr_reader :id, :flow_tracking_number, :carrier_tracking_number
23903
+
23904
+ def initialize(incoming={})
23905
+ opts = HttpClient::Helper.symbolize_keys(incoming)
23906
+ HttpClient::Preconditions.require_keys(opts, [:id, :flow_tracking_number, :carrier_tracking_number], 'ShippingLabelSummary')
23907
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
23908
+ @flow_tracking_number = HttpClient::Preconditions.assert_class('flow_tracking_number', opts.delete(:flow_tracking_number), String)
23909
+ @carrier_tracking_number = HttpClient::Preconditions.assert_class('carrier_tracking_number', opts.delete(:carrier_tracking_number), String)
23910
+ end
23911
+
23912
+ def to_json
23913
+ JSON.dump(to_hash)
23914
+ end
23915
+
23916
+ def copy(incoming={})
23917
+ ShippingLabelSummary.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
23918
+ end
23919
+
23920
+ def to_hash
23921
+ {
23922
+ :id => id,
23923
+ :flow_tracking_number => flow_tracking_number,
23924
+ :carrier_tracking_number => carrier_tracking_number
23925
+ }
23926
+ end
23927
+
23928
+ end
23929
+
23689
23930
  class ShippingLabelVersion
23690
23931
 
23691
23932
  attr_reader :id, :timestamp, :type, :shipping_label
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.19
4
+ version: 0.2.20
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-09 00:00:00.000000000 Z
11
+ date: 2017-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json