bigcommerce 0.10.0 → 1.0.0.beta
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +17 -0
- data/.rspec +2 -0
- data/.rubocop.yml +620 -0
- data/.travis.yml +15 -0
- data/CHANGELOG.md +11 -0
- data/CONTRIBUTING.md +119 -0
- data/DEPENDENCIES.md +7 -0
- data/Gemfile +15 -0
- data/Guardfile +22 -0
- data/LICENSE +15 -15
- data/README.md +61 -70
- data/RELEASING.md +64 -0
- data/Rakefile +8 -6
- data/bigcommerce.gemspec +22 -53
- data/examples/README.md +148 -0
- data/examples/configuration/legacy_auth.rb +12 -0
- data/examples/configuration/oauth.rb +9 -0
- data/examples/content/blog_post.rb +39 -0
- data/examples/content/blog_tag.rb +10 -0
- data/examples/content/redirect.rb +43 -0
- data/examples/customers/customer.rb +36 -0
- data/examples/customers/customer_address.rb +50 -0
- data/examples/customers/customer_group.rb +35 -0
- data/examples/exception_handling.rb +50 -0
- data/examples/geography/country.rb +16 -0
- data/examples/geography/state.rb +19 -0
- data/examples/marketing/coupon.rb +44 -0
- data/examples/orders/order.rb +53 -0
- data/examples/orders/order_coupon.rb +17 -0
- data/examples/orders/order_message.rb +17 -0
- data/examples/orders/order_product.rb +23 -0
- data/examples/orders/order_shipping_address.rb +23 -0
- data/examples/orders/order_status.rb +15 -0
- data/examples/orders/order_tax.rb +17 -0
- data/examples/orders/shipment.rb +57 -0
- data/examples/payments/payment_method.rb +10 -0
- data/examples/products/brand.rb +36 -0
- data/examples/products/bulk_pricing_rule.rb +47 -0
- data/examples/products/category.rb +37 -0
- data/examples/products/configurable_field.rb +29 -0
- data/examples/products/custom_field.rb +44 -0
- data/examples/products/google_product_search_mapping.rb +12 -0
- data/examples/products/option.rb +37 -0
- data/examples/products/option_set.rb +35 -0
- data/examples/products/option_set_option.rb +50 -0
- data/examples/products/option_value.rb +43 -0
- data/examples/products/product.rb +44 -0
- data/examples/products/product_image.rb +42 -0
- data/examples/products/product_option.rb +17 -0
- data/examples/products/product_review.rb +12 -0
- data/examples/products/product_rule.rb +54 -0
- data/examples/products/product_video.rb +45 -0
- data/examples/products/sku.rb +48 -0
- data/examples/shipping/shipping_method.rb +13 -0
- data/examples/store/store_info.rb +10 -0
- data/examples/system/time.rb +10 -0
- data/examples/tax/tax_class.rb +13 -0
- data/examples/webhooks/webhook.rb +29 -0
- data/lib/bigcommerce.rb +50 -8
- data/lib/bigcommerce/exception.rb +51 -0
- data/lib/bigcommerce/middleware/auth.rb +16 -0
- data/lib/bigcommerce/middleware/http_exception.rb +14 -0
- data/lib/bigcommerce/request.rb +89 -0
- data/lib/bigcommerce/resource_actions.rb +51 -0
- data/lib/bigcommerce/resources/content/blog_post.rb +31 -0
- data/lib/bigcommerce/resources/content/blog_tag.rb +17 -0
- data/lib/bigcommerce/resources/content/redirect.rb +21 -0
- data/lib/bigcommerce/resources/customers/customer.rb +30 -0
- data/lib/bigcommerce/resources/customers/customer_address.rb +34 -0
- data/lib/bigcommerce/resources/customers/customer_group.rb +21 -0
- data/lib/bigcommerce/resources/geography/country.rb +22 -0
- data/lib/bigcommerce/resources/geography/state.rb +25 -0
- data/lib/bigcommerce/resources/marketing/coupon.rb +30 -0
- data/lib/bigcommerce/resources/orders/order.rb +73 -0
- data/lib/bigcommerce/resources/orders/order_coupon.rb +20 -0
- data/lib/bigcommerce/resources/orders/order_message.rb +23 -0
- data/lib/bigcommerce/resources/orders/order_product.rb +64 -0
- data/lib/bigcommerce/resources/orders/order_shipping_address.rb +50 -0
- data/lib/bigcommerce/resources/orders/order_status.rb +16 -0
- data/lib/bigcommerce/resources/orders/order_tax.rb +23 -0
- data/lib/bigcommerce/resources/orders/shipment.rb +30 -0
- data/lib/bigcommerce/resources/payments/payment_method.rb +17 -0
- data/lib/bigcommerce/resources/products/brand.rb +23 -0
- data/lib/bigcommerce/resources/products/bulk_pricing_rule.rb +26 -0
- data/lib/bigcommerce/resources/products/category.rb +29 -0
- data/lib/bigcommerce/resources/products/configurable_field.rb +30 -0
- data/lib/bigcommerce/resources/products/custom_field.rb +24 -0
- data/lib/bigcommerce/resources/products/google_product_search_mapping.rb +26 -0
- data/lib/bigcommerce/resources/products/option.rb +20 -0
- data/lib/bigcommerce/resources/products/option_set.rb +18 -0
- data/lib/bigcommerce/resources/products/option_set_option.rb +19 -0
- data/lib/bigcommerce/resources/products/option_value.rb +15 -0
- data/lib/bigcommerce/resources/products/product.rb +97 -0
- data/lib/bigcommerce/resources/products/product_image.rb +31 -0
- data/lib/bigcommerce/resources/products/product_option.rb +17 -0
- data/lib/bigcommerce/resources/products/product_review.rb +22 -0
- data/lib/bigcommerce/resources/products/product_rule.rb +31 -0
- data/lib/bigcommerce/resources/products/product_video.rb +24 -0
- data/lib/bigcommerce/resources/products/sku.rb +29 -0
- data/lib/bigcommerce/resources/resource.rb +10 -0
- data/lib/bigcommerce/resources/shipping/shipping_method.rb +15 -0
- data/lib/bigcommerce/resources/store/store_information.rb +37 -0
- data/lib/bigcommerce/resources/system/time.rb +15 -0
- data/lib/bigcommerce/resources/tax/tax_class.rb +15 -0
- data/lib/bigcommerce/resources/webhooks/webhook.rb +22 -0
- data/lib/bigcommerce/subresource_actions.rb +43 -0
- data/lib/bigcommerce/version.rb +1 -4
- data/spec/bigcommerce/bigcommerce_spec.rb +76 -0
- data/spec/bigcommerce/unit/actions_spec.rb +151 -0
- data/spec/bigcommerce/unit/exception_spec.rb +53 -0
- data/spec/bigcommerce/unit/middleware/auth_spec.rb +18 -0
- data/spec/bigcommerce/unit/middleware/http_exception_spec.rb +40 -0
- data/spec/bigcommerce/unit/request_spec.rb +180 -0
- data/spec/bigcommerce/unit/resources/content/blog_post_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/content/blog_tag_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/content/redirect_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/customers/customer_address_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/customers/customer_group_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/customers/customer_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/geography/country_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/geography/state_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/marketing/coupon_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/orders/order_product_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/orders/order_shipping_address_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/orders/order_spec.rb +13 -0
- data/spec/bigcommerce/unit/resources/orders/shipment_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/payments/payment_method_spec.rb +23 -0
- data/spec/bigcommerce/unit/resources/products/brand_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/products/bulk_pricing_rule_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/products/category_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/products/configurable_field_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/products/custom_field_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/products/google_product_search_mapping_spec.rb +14 -0
- data/spec/bigcommerce/unit/resources/products/option_set_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/products/option_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/products/product_image_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/products/product_review_spec.rb +14 -0
- data/spec/bigcommerce/unit/resources/products/product_rule_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/products/product_spec.rb +13 -0
- data/spec/bigcommerce/unit/resources/products/product_video_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/products/sku_spec.rb +21 -0
- data/spec/bigcommerce/unit/resources/resource_spec.rb +4 -0
- data/spec/bigcommerce/unit/resources/store_info/store_information_spec.rb +12 -0
- data/spec/bigcommerce/unit/resources/system/time_spec.rb +12 -0
- data/spec/bigcommerce/unit/version_spec.rb +7 -0
- data/spec/spec_helper.rb +9 -25
- metadata +203 -127
- data/lib/big_commerce.rb +0 -1
- data/lib/bigcommerce/api.rb +0 -473
- data/lib/bigcommerce/connection.rb +0 -171
- data/lib/bigcommerce/product.rb +0 -13
- data/lib/bigcommerce/resource.rb +0 -50
- data/spec/big_commerce_spec.rb +0 -9
- data/spec/integration/orders_spec.rb +0 -18
- data/spec/support/integration_context.rb +0 -13
- data/spec/support/mock_api_context.rb +0 -10
- data/spec/unit/api_request_spec.rb +0 -34
- data/spec/unit/api_spec.rb +0 -49
- data/spec/unit/connection_spec.rb +0 -23
- data/spec/unit/date_time_spec.rb +0 -31
- data/spec/unit/version_spec.rb +0 -13
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
require 'securerandom'
|
3
|
+
|
4
|
+
Bigcommerce.configure do |config|
|
5
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
6
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
7
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
8
|
+
end
|
9
|
+
|
10
|
+
@product = Bigcommerce::Product.all[0]
|
11
|
+
|
12
|
+
# Create a products bulk pricing rule
|
13
|
+
@bulk_pricing_rule = Bigcommerce::BulkPricingRule.create(
|
14
|
+
@product.id,
|
15
|
+
min: 1,
|
16
|
+
max: 5,
|
17
|
+
type: 'price',
|
18
|
+
type_value: 2
|
19
|
+
)
|
20
|
+
puts @bulk_pricing_rule
|
21
|
+
|
22
|
+
# List bulk pricing rules
|
23
|
+
puts Bigcommerce::BulkPricingRule.all(@product.id)
|
24
|
+
|
25
|
+
# Get a product bulk pricing rule
|
26
|
+
puts Bigcommerce::BulkPricingRule.find(@product.id, @bulk_pricing_rule.id)
|
27
|
+
|
28
|
+
# Get a count of bulk pricing rules
|
29
|
+
puts Bigcommerce::BulkPricingRule.count(@product.id)
|
30
|
+
|
31
|
+
# Get a count of all bulk pricing rules for all products
|
32
|
+
puts Bigcommerce::BulkPricingRule.count_all
|
33
|
+
|
34
|
+
# Update a bulk pricing rule
|
35
|
+
puts Bigcommerce::BulkPricingRule.update(
|
36
|
+
@product.id,
|
37
|
+
@bulk_pricing_rule.id,
|
38
|
+
min: 2,
|
39
|
+
type: 'price',
|
40
|
+
type_value: 2
|
41
|
+
)
|
42
|
+
|
43
|
+
# Delete a product bulk pricing rule
|
44
|
+
puts Bigcommerce::BulkPricingRule.destroy(@product.id, @bulk_pricing_rule.id)
|
45
|
+
|
46
|
+
# Delete multiple bulk pricing rules
|
47
|
+
# puts Bigcommerce::BulkPricingRule.destroy(@product.id)
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
require 'securerandom'
|
3
|
+
|
4
|
+
Bigcommerce.configure do |config|
|
5
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
6
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
7
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
8
|
+
end
|
9
|
+
|
10
|
+
# List categories
|
11
|
+
@categories = Bigcommerce::Category.all
|
12
|
+
puts @categories
|
13
|
+
|
14
|
+
# Get a category
|
15
|
+
@category = @categories[0]
|
16
|
+
puts Bigcommerce::Category.find(@category.id)
|
17
|
+
|
18
|
+
# Get a count of categories
|
19
|
+
puts Bigcommerce::Category.count
|
20
|
+
|
21
|
+
# Create a category
|
22
|
+
@category = Bigcommerce::Category.create(
|
23
|
+
name: SecureRandom.hex
|
24
|
+
)
|
25
|
+
puts @category
|
26
|
+
|
27
|
+
# Update a category
|
28
|
+
puts Bigcommerce::Category.update(
|
29
|
+
@category.id,
|
30
|
+
name: 'Foobar'
|
31
|
+
)
|
32
|
+
|
33
|
+
# Delete a category
|
34
|
+
puts Bigcommerce::Category.destroy(@category.id)
|
35
|
+
|
36
|
+
# Delete all categories
|
37
|
+
# Bigcommerce::Category.destroy_all
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
|
3
|
+
Bigcommerce.configure do |config|
|
4
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
5
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
6
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
7
|
+
end
|
8
|
+
|
9
|
+
@product = Bigcommerce::Product.all[0]
|
10
|
+
|
11
|
+
# List configurable fields
|
12
|
+
@configurable_fields = Bigcommerce::ConfigurableField.all(@product.id)
|
13
|
+
puts @configurable_fields
|
14
|
+
|
15
|
+
# Get a configurable field
|
16
|
+
@configurable_field = @configurable_fields[0]
|
17
|
+
puts Bigcommerce::ConfigurableField.all(@product.id, @configurable_field.id)
|
18
|
+
|
19
|
+
# Get a count of configurable fields
|
20
|
+
puts Bigcommerce::ConfigurableField.count(@product.id)
|
21
|
+
|
22
|
+
# Get a count of all configurable fields for all products
|
23
|
+
puts Bigcommerce::ConfigurableField.count(@product.id)
|
24
|
+
|
25
|
+
# Delete a configurable field
|
26
|
+
puts Bigcommerce::ConfigurableField.destroy(@product.id, @configurable_field.id)
|
27
|
+
|
28
|
+
# Delete multiple configurable fields
|
29
|
+
# puts Bigcommerce::ConfigurableField.destroy_all(@product.id)
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
require 'securerandom'
|
3
|
+
|
4
|
+
Bigcommerce.configure do |config|
|
5
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
6
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
7
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
8
|
+
end
|
9
|
+
|
10
|
+
@product = Bigcommerce::Product.all[0]
|
11
|
+
|
12
|
+
# Create a custom field
|
13
|
+
@custom_field = Bigcommerce::CustomField.create(
|
14
|
+
@product.id,
|
15
|
+
name: SecureRandom.hex,
|
16
|
+
text: SecureRandom.hex
|
17
|
+
)
|
18
|
+
puts @custom_field
|
19
|
+
|
20
|
+
# List custom fields
|
21
|
+
puts Bigcommerce::CustomField.all(@product.id)
|
22
|
+
|
23
|
+
# Get a custom field
|
24
|
+
puts Bigcommerce::CustomField.find(@product.id, @custom_field.id)
|
25
|
+
|
26
|
+
# Get a count of custom fields
|
27
|
+
puts Bigcommerce::CustomField.count(@product.id)
|
28
|
+
|
29
|
+
# Get a count of custom fields for all products
|
30
|
+
puts Bigcommerce::CustomField.count_all
|
31
|
+
|
32
|
+
# Update a custom field
|
33
|
+
puts Bigcommerce::CustomField.update(
|
34
|
+
@product.id,
|
35
|
+
@custom_field.id,
|
36
|
+
name: ':)',
|
37
|
+
text: ':)'
|
38
|
+
)
|
39
|
+
|
40
|
+
# Delete a custom field
|
41
|
+
puts Bigcommerce::CustomField.destroy(@product.id, @custom_field.id)
|
42
|
+
|
43
|
+
# Delete multiple custom fields
|
44
|
+
# puts Bigcommerce::CustomField.destroy_all(@product.id)
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
|
3
|
+
Bigcommerce.configure do |config|
|
4
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
5
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
6
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
7
|
+
end
|
8
|
+
|
9
|
+
@product = Bigcommerce::Product.all[0]
|
10
|
+
|
11
|
+
# List Google product search mappings
|
12
|
+
puts Bigcommerce::GoogleProductSearchMapping.all(@product.id)
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
require 'securerandom'
|
3
|
+
|
4
|
+
Bigcommerce.configure do |config|
|
5
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
6
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
7
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
8
|
+
end
|
9
|
+
|
10
|
+
# Create an option
|
11
|
+
@option = Bigcommerce::Option.create(
|
12
|
+
name: SecureRandom.hex,
|
13
|
+
type: 'CS'
|
14
|
+
)
|
15
|
+
puts @option
|
16
|
+
|
17
|
+
# List options
|
18
|
+
puts Bigcommerce::Option.all
|
19
|
+
|
20
|
+
# Get an option
|
21
|
+
puts Bigcommerce::Option.find(@option.id)
|
22
|
+
|
23
|
+
# Get a count of options
|
24
|
+
puts Bigcommerce::Option.count
|
25
|
+
|
26
|
+
# Update an option
|
27
|
+
puts Bigcommerce::Option.update(
|
28
|
+
@option.id,
|
29
|
+
name: ':)',
|
30
|
+
type: 'CS'
|
31
|
+
)
|
32
|
+
|
33
|
+
# Delete an option
|
34
|
+
puts Bigcommerce::Option.destroy(@option.id)
|
35
|
+
|
36
|
+
# Delete all options
|
37
|
+
# Bigcommerce::Option.destroy_all
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
require 'securerandom'
|
3
|
+
|
4
|
+
Bigcommerce.configure do |config|
|
5
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
6
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
7
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
8
|
+
end
|
9
|
+
|
10
|
+
# Create an option set
|
11
|
+
@option_set = Bigcommerce::OptionSet.create(
|
12
|
+
name: SecureRandom.hex
|
13
|
+
)
|
14
|
+
puts @option_set
|
15
|
+
|
16
|
+
# List option sets
|
17
|
+
puts Bigcommerce::OptionSet.all
|
18
|
+
|
19
|
+
# Get an option set
|
20
|
+
puts Bigcommerce::OptionSet.find(@option_set.id)
|
21
|
+
|
22
|
+
# Get a count of option sets
|
23
|
+
puts Bigcommerce::OptionSet.count
|
24
|
+
|
25
|
+
# Update an option set
|
26
|
+
puts Bigcommerce::OptionSet.update(
|
27
|
+
@option_set.id,
|
28
|
+
name: ':)'
|
29
|
+
)
|
30
|
+
|
31
|
+
# Delete an option set
|
32
|
+
puts Bigcommerce::OptionSet.destroy(@option_set.id)
|
33
|
+
|
34
|
+
# Delete all option sets
|
35
|
+
# Bigcommerce::OptionSet.destroy_all
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
require 'securerandom'
|
3
|
+
|
4
|
+
Bigcommerce.configure do |config|
|
5
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
6
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
7
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
8
|
+
end
|
9
|
+
|
10
|
+
@option_set = Bigcommerce::OptionSet.create(
|
11
|
+
name: SecureRandom.hex
|
12
|
+
)
|
13
|
+
|
14
|
+
@option = Bigcommerce::Option.create(
|
15
|
+
name: SecureRandom.hex,
|
16
|
+
type: 'CS'
|
17
|
+
)
|
18
|
+
|
19
|
+
# Create an option set option
|
20
|
+
@option_set_option = Bigcommerce::OptionSetOption.create(
|
21
|
+
@option_set.id,
|
22
|
+
option_id: @option.id,
|
23
|
+
display_name: SecureRandom.hex,
|
24
|
+
sort_order: 1,
|
25
|
+
is_required: true
|
26
|
+
)
|
27
|
+
puts @option_set_option
|
28
|
+
|
29
|
+
# List option set options
|
30
|
+
puts Bigcommerce::OptionSetOption.all(@option_set.id)
|
31
|
+
|
32
|
+
puts Bigcommerce::OptionSetOption.count(@option_set.id)
|
33
|
+
|
34
|
+
# Get an option set option
|
35
|
+
puts Bigcommerce::OptionSetOption.find(@option_set.id, @option_set_option.id)
|
36
|
+
|
37
|
+
# Update an option set option
|
38
|
+
puts Bigcommerce::OptionSetOption.update(
|
39
|
+
@option_set.id,
|
40
|
+
@option_set_option.id,
|
41
|
+
display_name: 'Pick a color...',
|
42
|
+
sort_order: 2,
|
43
|
+
is_required: false
|
44
|
+
)
|
45
|
+
|
46
|
+
# Delete an option set option
|
47
|
+
puts Bigcommerce::OptionSetOption.destroy(@option_set.id, @option_set_option.id)
|
48
|
+
|
49
|
+
# Delete multiple option set options
|
50
|
+
# puts Bigcommerce::OptionSetOption.destroy_all(@option_set.id)
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
require 'securerandom'
|
3
|
+
|
4
|
+
Bigcommerce.configure do |config|
|
5
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
6
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
7
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
8
|
+
end
|
9
|
+
|
10
|
+
@option = Bigcommerce::Option.create(
|
11
|
+
name: SecureRandom.hex,
|
12
|
+
type: 'CS'
|
13
|
+
)
|
14
|
+
|
15
|
+
# Create an option value
|
16
|
+
@option_value = Bigcommerce::OptionValue.create(
|
17
|
+
@option.id,
|
18
|
+
label: SecureRandom.hex,
|
19
|
+
sort_order: 0,
|
20
|
+
value: '#FFFFFF'
|
21
|
+
)
|
22
|
+
puts @option_value
|
23
|
+
|
24
|
+
# List option values
|
25
|
+
puts Bigcommerce::OptionValue.all(@option.id)
|
26
|
+
|
27
|
+
# Get an option value
|
28
|
+
puts Bigcommerce::OptionValue.find(@option.id, @option_value.id)
|
29
|
+
|
30
|
+
# Update an option value
|
31
|
+
puts Bigcommerce::OptionValue.update(
|
32
|
+
@option.id,
|
33
|
+
@option_value.id,
|
34
|
+
label: SecureRandom.hex,
|
35
|
+
sort_order: 0,
|
36
|
+
value: '#000000'
|
37
|
+
)
|
38
|
+
|
39
|
+
# Delete an option value
|
40
|
+
puts Bigcommerce::OptionValue.destroy(@option.id, @option_value.id)
|
41
|
+
|
42
|
+
# Delete multiple option values
|
43
|
+
# puts Bigcommerce::OptionValue.destroy_all(@option.id)
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
require 'securerandom'
|
3
|
+
|
4
|
+
Bigcommerce.configure do |config|
|
5
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
6
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
7
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
8
|
+
end
|
9
|
+
|
10
|
+
# List products
|
11
|
+
@products = Bigcommerce::Product.all
|
12
|
+
puts @products
|
13
|
+
|
14
|
+
# Get a product
|
15
|
+
@product = @products[0]
|
16
|
+
puts Bigcommerce::Product.find(@product.id)
|
17
|
+
|
18
|
+
# Get products count
|
19
|
+
puts Bigcommerce::Product.count
|
20
|
+
|
21
|
+
# Create a product
|
22
|
+
@category = Bigcommerce::Category.all[0]
|
23
|
+
@product = Bigcommerce::Product.create(
|
24
|
+
name: SecureRandom.hex,
|
25
|
+
type: 'physical',
|
26
|
+
description: SecureRandom.hex,
|
27
|
+
price: '19.95',
|
28
|
+
categories: [@category.id],
|
29
|
+
availability: 'available',
|
30
|
+
weight: '0.5'
|
31
|
+
)
|
32
|
+
puts @product
|
33
|
+
|
34
|
+
# Update a product
|
35
|
+
puts Bigcommerce::Product.update(
|
36
|
+
@product.id,
|
37
|
+
custom_url: '/foo-bar/'
|
38
|
+
)
|
39
|
+
|
40
|
+
# Delete a product
|
41
|
+
puts Bigcommerce::Product.destroy(@product.id)
|
42
|
+
|
43
|
+
# Delete all products
|
44
|
+
# puts Bigcommerce::Product.destroy_all
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
|
3
|
+
Bigcommerce.configure do |config|
|
4
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
5
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
6
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
7
|
+
end
|
8
|
+
|
9
|
+
@product = Bigcommerce::Product.all[0]
|
10
|
+
|
11
|
+
# List product images
|
12
|
+
@product_images = Bigcommerce::ProductImage.all(@product.id)
|
13
|
+
puts @product_images
|
14
|
+
|
15
|
+
# Get a count of product images
|
16
|
+
puts Bigcommerce::ProductImage.count(@product.id)
|
17
|
+
|
18
|
+
# Get a count of all product images for all products
|
19
|
+
puts Bigcommerce::ProductImage.count_all
|
20
|
+
|
21
|
+
# Create a product image
|
22
|
+
@product_image = Bigcommerce::ProductImage.create(
|
23
|
+
@product.id,
|
24
|
+
image_file: 'http://i.imgur.com/Z5aV28x.gif'
|
25
|
+
)
|
26
|
+
puts @product_image
|
27
|
+
|
28
|
+
# Get a product image
|
29
|
+
puts Bigcommerce::ProductImage.find(@product.id, @product_image.id)
|
30
|
+
|
31
|
+
# Update a product image
|
32
|
+
puts Bigcommerce::ProductImage.update(
|
33
|
+
@product.id,
|
34
|
+
@product_image.id,
|
35
|
+
image_file: 'http://i.imgur.com/4Dl6Y9d.gif'
|
36
|
+
)
|
37
|
+
|
38
|
+
# Delete a product image
|
39
|
+
puts Bigcommerce::ProductImage.destroy(@product.id, @product_image.id)
|
40
|
+
|
41
|
+
# Delete all product images
|
42
|
+
# puts Bigcommerce::ProductImage.destroy_all(@product.id)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'bigcommerce'
|
2
|
+
|
3
|
+
Bigcommerce.configure do |config|
|
4
|
+
config.store_hash = ENV['BC_STORE_HASH']
|
5
|
+
config.client_id = ENV['BC_CLIENT_ID']
|
6
|
+
config.access_token = ENV['BC_ACCESS_TOKEN']
|
7
|
+
end
|
8
|
+
|
9
|
+
@product = Bigcommerce::Product.all[0]
|
10
|
+
|
11
|
+
# List product options
|
12
|
+
@product_options = Bigcommerce::ProductOption.all(@product.id)
|
13
|
+
puts @product_options
|
14
|
+
|
15
|
+
# Get a product option
|
16
|
+
@product_option = @product_options[0]
|
17
|
+
puts Bigcommerce::ProductOption.find(@product.id, @product_option.id)
|