flowcommerce 0.0.77 → 0.0.78

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: b76be0dc4c9ca328974c06dcaa6fb13e0f748e41
4
- data.tar.gz: 6c116ed6b4767c6a17dea5fefc3fed3a2948aab5
3
+ metadata.gz: fc41c4adc3c81f70314a4e72a8f0d23aff8f929f
4
+ data.tar.gz: 46d5b340280048a5a5d8aae1841af75c8d4c1ad3
5
5
  SHA512:
6
- metadata.gz: 4b2f8b114b7eb2f6c45fc9d7f821defbb379ccf11cca7a4087eef3325c85d24c6e7b1720f5a954f6a81e8b25f4629f82945e500baee0c9f97334358a82abf705
7
- data.tar.gz: 95d25c8615906fe90300786c93d95f3dbb3df3af80897bcf239496eda7deb59268275b88b784efb12670abd1eb40a663cadc936343773ee59cbd993b540d649e
6
+ metadata.gz: ef26e94306a215afe1063070dc207942f9f31f504fe8833798ba66f3fe9ea0b70e1c43f442742c33991f9f16b248188f2298e6cf3202a398f5f6a3c6e83efec8
7
+ data.tar.gz: 1b59a32288b3ec041c9e74620fcb643c85815a9bf9c9ff2a8be0312617bb7e0420ba075cca9b9bc45debe38c88ec0718fe734dd9196cc4ee6ae61b065ed39b62
@@ -1,6 +1,6 @@
1
1
  # Generated by apidoc - http://www.apidoc.me
2
2
  # Service version: 0.1.77
3
- # apidoc:0.11.38 http://www.apidoc.me/flow/api/0.1.82/ruby_client
3
+ # apidoc:0.11.38 http://www.apidoc.me/flow/api/0.1.83/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.38 http://www.apidoc.me/flow/api/0.1.82/ruby_client' unless defined?(Constants::USER_AGENT)
28
+ USER_AGENT = 'apidoc:0.11.38 http://www.apidoc.me/flow/api/0.1.83/ruby_client' unless defined?(Constants::USER_AGENT)
29
29
  VERSION = '0.1.77' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
@@ -301,6 +301,10 @@ module Io
301
301
  @healthchecks ||= ::Io::Flow::V0::Clients::Healthchecks.new(self)
302
302
  end
303
303
 
304
+ def imports
305
+ @imports ||= ::Io::Flow::V0::Clients::Imports.new(self)
306
+ end
307
+
304
308
  def invitations
305
309
  @invitations ||= ::Io::Flow::V0::Clients::Invitations.new(self)
306
310
  end
@@ -3373,6 +3377,68 @@ module Io
3373
3377
 
3374
3378
  end
3375
3379
 
3380
+ class Imports
3381
+
3382
+ def initialize(client)
3383
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
3384
+ end
3385
+
3386
+ # Search imports. Always paginated.
3387
+ def get(organization, incoming={})
3388
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3389
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3390
+ query = {
3391
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3392
+ :created_by_user_id => (x = opts.delete(:created_by_user_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('created_by_user_id', x, String)),
3393
+ :type => (x = opts.delete(:type); x.nil? ? nil : HttpClient::Preconditions.assert_class('type', x, String)),
3394
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3395
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3396
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
3397
+ }.delete_if { |k, v| v.nil? }
3398
+ r = @client.request("/#{CGI.escape(organization)}/imports").with_query(query).get
3399
+ r.map { |x| ::Io::Flow::V0::Models::Import.new(x) }
3400
+ end
3401
+
3402
+ # Create an import.
3403
+ def post(organization, import_form)
3404
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3405
+ HttpClient::Preconditions.assert_class('import_form', import_form, ::Io::Flow::V0::Models::ImportForm)
3406
+ r = @client.request("/#{CGI.escape(organization)}/imports").with_json(import_form.to_json).post
3407
+ ::Io::Flow::V0::Models::Import.new(r)
3408
+ end
3409
+
3410
+ # Get a single import.
3411
+ def get_by_id(organization, id)
3412
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3413
+ HttpClient::Preconditions.assert_class('id', id, String)
3414
+ r = @client.request("/#{CGI.escape(organization)}/imports/#{CGI.escape(id)}").get
3415
+ ::Io::Flow::V0::Models::Import.new(r)
3416
+ end
3417
+
3418
+ def delete_by_id(organization, id)
3419
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3420
+ HttpClient::Preconditions.assert_class('id', id, String)
3421
+ r = @client.request("/#{CGI.escape(organization)}/imports/#{CGI.escape(id)}").delete
3422
+ nil
3423
+ end
3424
+
3425
+ # Provides visibility into recent changes of each import, including deletion.
3426
+ def get_versions(organization, incoming={})
3427
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3428
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3429
+ query = {
3430
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3431
+ :import_id => (x = opts.delete(:import_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('import_id', x, Array).map { |v| HttpClient::Preconditions.assert_class('import_id', v, String) }),
3432
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3433
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3434
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
3435
+ }.delete_if { |k, v| v.nil? }
3436
+ r = @client.request("/#{CGI.escape(organization)}/imports/versions").with_query(query).get
3437
+ r.map { |x| ::Io::Flow::V0::Models::ImportVersion.new(x) }
3438
+ end
3439
+
3440
+ end
3441
+
3376
3442
  class Invitations
3377
3443
 
3378
3444
  def initialize(client)
@@ -5544,6 +5610,45 @@ module Io
5544
5610
 
5545
5611
  end
5546
5612
 
5613
+ class ImportType
5614
+
5615
+ attr_reader :value
5616
+
5617
+ def initialize(value)
5618
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
5619
+ end
5620
+
5621
+ # Returns the instance of ImportType for this value, creating a new instance for an unknown value
5622
+ def ImportType.apply(value)
5623
+ if value.instance_of?(ImportType)
5624
+ value
5625
+ else
5626
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
5627
+ value.nil? ? nil : (from_string(value) || ImportType.new(value))
5628
+ end
5629
+ end
5630
+
5631
+ # Returns the instance of ImportType for this value, or nil if not found
5632
+ def ImportType.from_string(value)
5633
+ HttpClient::Preconditions.assert_class('value', value, String)
5634
+ ImportType.ALL.find { |v| v.value == value }
5635
+ end
5636
+
5637
+ def ImportType.ALL
5638
+ @@all ||= [ImportType.harmonization_codes]
5639
+ end
5640
+
5641
+ # Provides upload of HS-6 and HS-10 codes for the items in a catalog
5642
+ def ImportType.harmonization_codes
5643
+ @@_harmonization_codes ||= ImportType.new('harmonization_codes')
5644
+ end
5645
+
5646
+ def to_hash
5647
+ value
5648
+ end
5649
+
5650
+ end
5651
+
5547
5652
  class LevyComponent
5548
5653
 
5549
5654
  attr_reader :value
@@ -11319,6 +11424,117 @@ module Io
11319
11424
 
11320
11425
  end
11321
11426
 
11427
+ # Imports allow you to upload data to Flow via files in batch. Each import
11428
+ # fetches data from a given URL. The type of the import determines which file
11429
+ # format to expect and what data to update
11430
+ class Import
11431
+
11432
+ attr_reader :id, :type, :source_url, :status, :created_at, :started_at, :completed_at, :results_url, :deliveries
11433
+
11434
+ def initialize(incoming={})
11435
+ opts = HttpClient::Helper.symbolize_keys(incoming)
11436
+ HttpClient::Preconditions.require_keys(opts, [:id, :type, :source_url, :status, :created_at, :deliveries], 'Import')
11437
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
11438
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ImportType) ? x : ::Io::Flow::V0::Models::ImportType.apply(x))
11439
+ @source_url = HttpClient::Preconditions.assert_class('source_url', opts.delete(:source_url), String)
11440
+ @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::ExportStatus) ? x : ::Io::Flow::V0::Models::ExportStatus.apply(x))
11441
+ @created_at = HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:created_at)), DateTime)
11442
+ @started_at = (x = opts.delete(:started_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('started_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
11443
+ @completed_at = (x = opts.delete(:completed_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('completed_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
11444
+ @results_url = (x = opts.delete(:results_url); x.nil? ? nil : HttpClient::Preconditions.assert_class('results_url', x, String))
11445
+ @deliveries = HttpClient::Preconditions.assert_class('deliveries', opts.delete(:deliveries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExportDelivery) ? x : ::Io::Flow::V0::Models::ExportDelivery.from_json(x)) }
11446
+ end
11447
+
11448
+ def to_json
11449
+ JSON.dump(to_hash)
11450
+ end
11451
+
11452
+ def copy(incoming={})
11453
+ Import.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
11454
+ end
11455
+
11456
+ def to_hash
11457
+ {
11458
+ :id => id,
11459
+ :type => type.value,
11460
+ :source_url => source_url,
11461
+ :status => status.value,
11462
+ :created_at => created_at,
11463
+ :started_at => started_at,
11464
+ :completed_at => completed_at,
11465
+ :results_url => results_url,
11466
+ :deliveries => deliveries.map { |o| o.to_hash }
11467
+ }
11468
+ end
11469
+
11470
+ end
11471
+
11472
+ # Import forms create imports. The import type defines both the type of the
11473
+ # import (e.g. the CSV File format) and the URL at which the source data are
11474
+ # available. If you do not have a URL readily available, you can first upload a
11475
+ # file via the Flow API - see the resource named 'Upload'
11476
+ class ImportForm
11477
+
11478
+ attr_reader :type, :source_url, :emails
11479
+
11480
+ def initialize(incoming={})
11481
+ opts = HttpClient::Helper.symbolize_keys(incoming)
11482
+ HttpClient::Preconditions.require_keys(opts, [:type, :source_url], 'ImportForm')
11483
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ImportType) ? x : ::Io::Flow::V0::Models::ImportType.apply(x))
11484
+ @source_url = HttpClient::Preconditions.assert_class('source_url', opts.delete(:source_url), String)
11485
+ @emails = (x = opts.delete(:emails); x.nil? ? nil : HttpClient::Preconditions.assert_class('emails', x, Array).map { |v| HttpClient::Preconditions.assert_class('emails', v, String) })
11486
+ end
11487
+
11488
+ def to_json
11489
+ JSON.dump(to_hash)
11490
+ end
11491
+
11492
+ def copy(incoming={})
11493
+ ImportForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
11494
+ end
11495
+
11496
+ def to_hash
11497
+ {
11498
+ :type => type.value,
11499
+ :source_url => source_url,
11500
+ :emails => emails.nil? ? nil : emails
11501
+ }
11502
+ end
11503
+
11504
+ end
11505
+
11506
+ class ImportVersion
11507
+
11508
+ attr_reader :id, :timestamp, :type, :import
11509
+
11510
+ def initialize(incoming={})
11511
+ opts = HttpClient::Helper.symbolize_keys(incoming)
11512
+ HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :import], 'ImportVersion')
11513
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
11514
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
11515
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
11516
+ @import = (x = opts.delete(:import); x.is_a?(::Io::Flow::V0::Models::Import) ? x : ::Io::Flow::V0::Models::Import.new(x))
11517
+ end
11518
+
11519
+ def to_json
11520
+ JSON.dump(to_hash)
11521
+ end
11522
+
11523
+ def copy(incoming={})
11524
+ ImportVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
11525
+ end
11526
+
11527
+ def to_hash
11528
+ {
11529
+ :id => id,
11530
+ :timestamp => timestamp,
11531
+ :type => type.value,
11532
+ :import => import.to_hash
11533
+ }
11534
+ end
11535
+
11536
+ end
11537
+
11322
11538
  # Enables backorders, setting an optional number of units that we allow for
11323
11539
  # backorder. For example, a backorder w/ quantity 10 will enable selling until
11324
11540
  # the actual inventory quantity is -10.
@@ -16863,14 +17079,15 @@ module Io
16863
17079
 
16864
17080
  class TargetingQuery
16865
17081
 
16866
- attr_reader :id, :q, :outcome_id
17082
+ attr_reader :id, :q, :outcome_id, :position
16867
17083
 
16868
17084
  def initialize(incoming={})
16869
17085
  opts = HttpClient::Helper.symbolize_keys(incoming)
16870
- HttpClient::Preconditions.require_keys(opts, [:id, :q, :outcome_id], 'TargetingQuery')
17086
+ HttpClient::Preconditions.require_keys(opts, [:id, :q, :outcome_id, :position], 'TargetingQuery')
16871
17087
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
16872
17088
  @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
16873
17089
  @outcome_id = HttpClient::Preconditions.assert_class('outcome_id', opts.delete(:outcome_id), String)
17090
+ @position = HttpClient::Preconditions.assert_class('position', opts.delete(:position), Integer)
16874
17091
  end
16875
17092
 
16876
17093
  def to_json
@@ -16885,7 +17102,8 @@ module Io
16885
17102
  {
16886
17103
  :id => id,
16887
17104
  :q => q,
16888
- :outcome_id => outcome_id
17105
+ :outcome_id => outcome_id,
17106
+ :position => position
16889
17107
  }
16890
17108
  end
16891
17109
 
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.0.77
4
+ version: 0.0.78
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: 2016-10-03 00:00:00.000000000 Z
11
+ date: 2016-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json